Releases: chakra-ui/ark
Releases · chakra-ui/ark
@ark-ui/solid@5.0.0
Ark UI just got a major performance boost! 🚀
What’s new in v5?
- Blazing-fast performance – Every component runs smoother and renders faster.
- Smaller bundle size – Leaner components and adapters for a more efficient build.
We made this happen by using Solid's native reactive primitives instead of external stores.
In our stress tests with 10,000 components, Ark v5 delivered 1.5x–4x better performance across the board.
A quick note on tests
Most component updates are non-breaking, but due to this change, some tests may need adjustments. For example:
// Before
it('should open by default', () => {
render(() => <ComponentUnderTest defaultOpen />)
expect(screen.getByRole('dialog')).toBeInTheDocument()
})
// After
it('should open by default', async () => {
render(() => <ComponentUnderTest defaultOpen />)
expect(await screen.findByRole('dialog')).toBeInTheDocument()
})
Added
- Carousel:
⚠️ Breaking change: Added required propslideCount
toCarousel.Root
component. - Clipboard: Added
onValueChange
anddefaultValue
props. - ColorPicker: Added
defaultFormat
prop. - Combobox: Added
defaultHighlightedValue
anddefaultInputValue
props. - DatePicker: Added
defaultFocusedValue
prop,getViewProps
, andvisibleRangeText
. - HoverCard: Expanded interaction handlers.
- Menu: Added
defaultHighlightedValue
prop. - Pagination: Added
defaultPageSize
prop. - PinInput: Added
count
prop for better SSR aria-label. - Progress: Added
locale
andformatOptions
props. - QrCode: Added
pixelSize
prop. - Select: Added
defaultHighlightedValue
prop. - TagsInput: Added
defaultInputValue
prop. - Toggle: Reintroduced toggle machine.
Fixed
- Accordion: Fixed issue in Safari where clicking triggers didn't show content.
- Avatar: Fixed
api.setSrc
not working. - Carousel: Fixed pagination sync and initial page issues.
- File Upload: Fixed drag-and-drop when
directory: true
. - Menu: Fixed context menu positioning not updating on right-click.
- Number Input: Fixed
value
prop not being consumed. - Pin Input: Fixed focus warnings and editing issues.
- Progress: Allowed more precise (decimal) values.
- Radio Group, Switch: Improved focus behavior in Safari.
- Select: Fixed regression where
multiple: true
didn't work. - Steps: Ensured ARIA attributes use valid values and wrapped
<li>
elements correctly within<ul>
or<ol>
. - Textarea: Fixed
ResizeObserver
warning. - Timer: Fixed stopping issue when switching tabs; resolved issue where
action
prop was passed toActionTrigger
. - Toast: Fixed keyboard navigation skipping close button.
- Toggle Group: Fixed
data-focus
not being removed on blur.
@ark-ui/react@5.0.0
Ark UI just got a major performance boost! 🚀
What’s new in v5?
- Blazing-fast performance – Every component runs smoother and renders faster.
- Smaller bundle size – Leaner components and adapters for a more efficient build.
We made this happen by using React’s native reactive primitives instead of external stores.
In our stress tests with 10,000 components, Ark v5 delivered 1.5x–4x better performance across the board.
A quick note on tests
Most component updates are non-breaking, but due to this change, some tests may need adjustments. For example:
// Before
it('should open by default', () => {
render(<ComponentUnderTest defaultOpen />)
expect(screen.getByRole('dialog')).toBeInTheDocument()
})
// After
it('should open by default', async () => {
render(<ComponentUnderTest defaultOpen />)
expect(await screen.findByRole('dialog')).toBeInTheDocument()
})
Added
- Carousel:
⚠️ Breaking change: Added required propslideCount
toCarousel.Root
component. - Clipboard: Added
onValueChange
anddefaultValue
props. - ColorPicker: Added
defaultFormat
prop. - Combobox: Added
defaultHighlightedValue
anddefaultInputValue
props. - DatePicker: Added
defaultFocusedValue
prop,getViewProps
, andvisibleRangeText
. - HoverCard: Expanded interaction handlers.
- Menu: Added
defaultHighlightedValue
prop. - Pagination: Added
defaultPageSize
prop. - PinInput: Added
count
prop for better SSR aria-label. - Progress: Added
locale
andformatOptions
props. - QrCode: Added
pixelSize
prop. - Select: Added
defaultHighlightedValue
prop. - TagsInput: Added
defaultInputValue
prop. - Toggle: Reintroduced toggle machine.
Fixed
- Accordion: Fixed issue in Safari where clicking triggers didn't show content.
- Avatar: Fixed
api.setSrc
not working. - Carousel: Fixed pagination sync and initial page issues.
- File Upload: Fixed drag-and-drop when
directory: true
. - Menu: Fixed context menu positioning not updating on right-click.
- Number Input: Fixed
value
prop not being consumed. - Pin Input: Fixed focus warnings and editing issues.
- Progress: Allowed more precise (decimal) values.
- Radio Group, Switch: Improved focus behavior in Safari.
- Select: Fixed regression where
multiple: true
didn't work. - Steps: Ensured ARIA attributes use valid values and wrapped
<li>
elements correctly within<ul>
or<ol>
. - Textarea: Fixed
ResizeObserver
warning. - Timer: Fixed stopping issue when switching tabs; resolved issue where
action
prop was passed toActionTrigger
. - Toast: Fixed keyboard navigation skipping close button.
- Toggle Group: Fixed
data-focus
not being removed on blur.
@ark-ui/vue@4.9.2
Fixed
- Field: Resolved an issue where the
data-disabled
attribute wasn't set on the field helper
text when the field is disabled.
@ark-ui/solid@4.10.2
Fixed
- Field: Resolved an issue where the
data-disabled
attribute wasn't set on the field helper
text when the field is disabled.
@ark-ui/react@4.9.2
Fixed
- FocusTrap: Added missing
FocusTrap
component to theindex
file. - Field: Resolved an issue where the
data-disabled
attribute wasn't set on the field helper
text when the field is disabled.
@ark-ui/vue@4.9.1
Fixed
- FileUpload: Resolved an issue where multiple files were added during a single upload
operation.
@ark-ui/solid@4.10.1
Fixed
- FileUpload: Resolved an issue where multiple files were added during a single upload
operation.
@ark-ui/react@4.9.1
Fixed
- FileUpload: Resolved an issue where multiple files were added during a single upload
operation. - DatePicker: Fixed an issue where the
defaultView
property did not correctly switch to the
specified view.
@ark-ui/vue@4.9.0
Added
- DatePicker:
- Added
minView
andmaxView
options for better control over the displayed views, allowing to
create Month and Year pickers. - Introduced a new
parse
method to convert input values into valid dates, complementing the
format
option for enhanced UX - Added
locale
andtimeZone
options to theformat
method - Introduced
placeholder
context property to customize the input's placeholder text
- Added
Fixed
- ColorPicker, HoverCard, Tooltip:
- Fixed intermittent placement shifts caused by updates to the
data-placement
attribute
- Fixed intermittent placement shifts caused by updates to the
- FileUpload:
- Resolved an issue where the change event wasn’t triggered when files were dropped into the
dropzone - Fixed an issue where
context.setClipboardFiles(...)
was called despite file upload being
disabled - Addressed an issue where the machine transitioned to the
dragging
state even when disabled - Fixed an issue preventing rejected files from being deleted via the item delete trigger
- Exposed the disabled state via
context.disabled
- Resolved an issue where the change event wasn’t triggered when files were dropped into the
- Tour:
- Fixed an issue where the dialog tour step did not synchronize its z-index with the content
- Date Picker:
- Fixed a crash that occurred when entering very large invalid dates in the input field
- Fixed an issue in the year view where selecting a year was not possible when the
min
andmax
dates were less than one year apart and overlapped two distinct years
@ark-ui/solid@4.10.0
Added
- DatePicker:
- Added
minView
andmaxView
options for better control over the displayed views, allowing to
create Month and Year pickers. - Introduced a new
parse
method to convert input values into valid dates, complementing the
format
option for enhanced UX - Added
locale
andtimeZone
options to theformat
method - Introduced
placeholder
context property to customize the input's placeholder text
- Added
Fixed
- ColorPicker, HoverCard, Tooltip:
- Fixed intermittent placement shifts caused by updates to the
data-placement
attribute
- Fixed intermittent placement shifts caused by updates to the
- FileUpload:
- Resolved an issue where the change event wasn’t triggered when files were dropped into the
dropzone - Fixed an issue where
context.setClipboardFiles(...)
was called despite file upload being
disabled - Addressed an issue where the machine transitioned to the
dragging
state even when disabled - Fixed an issue preventing rejected files from being deleted via the item delete trigger
- Exposed the disabled state via
context.disabled
- Resolved an issue where the change event wasn’t triggered when files were dropped into the
- Tour:
- Fixed an issue where the dialog tour step did not synchronize its z-index with the content
- Date Picker:
- Fixed a crash that occurred when entering very large invalid dates in the input field
- Fixed an issue in the year view where selecting a year was not possible when the
min
andmax
dates were less than one year apart and overlapped two distinct years