Changelog
All notable changes to this project will be documented in this file.
All notable changes to this project will be documented in this file.
@zag-js dependencies to their latest versions, enhancing performance
for all components.<ComponentName>RootProps. Like shown for the Avatar component below:- import type { AvatarProps } from "@ark-ui/react"
+ import type { AvatarRootProps } from "@ark-ui/react".Root suffix for provider component like
Presence and Environment.- <Presence.Root>...</Presence.Root>
+ <Presence>...</Presence>Breaking Change: Renamed the indicator part to view in the Progress
component to more accurately reflect its functionality.
Added the ItemPreview component to the TagsInput component. See the
example below:
<TagsInput.Item key={index} index={index} value={value}>
+  <TagsInput.ItemPreview>
    <TagsInput.ItemText>{value}</TagsInput.ItemText>
    <TagsInput.ItemDeleteTrigger>Delete</TagsInput.ItemDeleteTrigger>
+ </TagsInput.ItemPreview>
  <TagsInput.ItemInput />
</TagsInput.Item>Progress component to use div elements instead of nav for
semantic correctness.Combobox,
Menu, or Select triggered a click event on the element behind the
portalled content.PinInput where pasting a value filled all inputs instead
of populating them one per input.Progress component.valueAsString to onValueChange in DatePicker callback detailsAccordionValueChangeDetails or
DialogOpenChangeDetailsPortal component to support getRootNode and disabled propsRadioGroup,
SegmentGroup, and Tabs.placeholder prop to SelectValueTextProps type.PopoverDescriptionProps type from div to pSelect component with Next.js or Remix
useSearchParamsdisabled on Combobox does not reflect in
combobox itemCombobox when clicking on the input while the
menu is openDatePicker initial value isn’t set when using
controlled contextMenu option item could not be activated by keyboardark factory type was not being exported
correctly.ToastGroup component.ark factory at @ark-ui/react/factoryFileUpload component. Check out the
documentation for more
information.Portal component to resolve an issue
with online code editors.present prop in the disclosure-type component
was not being respected.ark function would log a warning when the
asChild prop was set to false.Menu.Portal component.NumberInput componentFileUpload componentColorPicker component. Check out the
documentation for more
information.Toast component would throw a warning when
multiple toasts were rendered at the same time.Dialog component would not animate on exit.Menu when lazy mounted.MenuTrigger could still work even when disabled.Dialog, Popover etc would not
invoke onExitCompleteCombobox could be incorrect when lazy
mounted.We are happy to announce the release of @ark-ui/react@1.0.0. This release
includes a number of breaking changes, new features, and bug fixes. Since our
last release over two months ago, we will only highlight some key changes.
Please refer to the documentation for each component to learn more.
Presence component: lazyMount and unmountOnExit have been
added at the root level. For some disclosure components like Tabs and
Accordion, this constitutes a breaking change.Accordion, ColorPicker,
DatePicker, Dialog, RadioGroup, SegmentGroup, TagsInput, Toast,
and ToggleGroup to achieve a consistent and more intuitive API.With the release of version 1.0.0, we are moving towards a more stable version
of @ark-ui/react. Future updates will strive to avoid breaking changes,
ensuring a smoother experience for our users. If you encounter any issues while
upgrading, please do not hesitate to open an issue on our
GitHub repository. Your feedback is
invaluable in helping us improve.
ToggleGroup componenttype HTMLArkProps that can be used together with the ark factory fn
to create a type that can be used with asChild prop.Comoobox component to support multiple selectionSelect component to support multiple selectionflushSync did not have a stable
reference, resulting in a noticable blocking re-renders.
Affected components:
Slider,RangeSlider,NumberInput,ColorPicker
MenuItem from a button to a div element.Accordion: Remove support for passing value as string. The value property
must be an array of strings.Combobox: Remove selectInputOnFocus option in favor of userland controlTagsInput: Rename onHighlight to onFocusChange'use client' annotation from compose-refs function.Switchinput. This component is no longer required.TagsInput: RemovedonTagUpdate use onChange instead.Switch: Removed defaultChecked in favor of defaultIsChecked'use client' annotation from factory function.SegmentIndicator to SegmentGroupIndicator to match the
naming convention of other components.defaultChecked to Checkbox component.defaultChecked to Switch component.ark factory function.EditableCancelTrigger component.RadioInput. This component is no longer required.SegmentInput. This component is no longer required.ComboboxOptionGroup and ComboboxClearTrigger components to the
Combobox component.DatePickerPositioner component to the DatePicker component to help
with positioning the calendar.ComboboxOptionGroupLabel to the Combobox component. This component
can be used to render a label for a group of options in the
ComboboxOptionGroup component.TagsInputField to TagsInputInput to match the naming
convention of other input components.NumberInputField to NumberInputInput to match the naming
convention of other input components.PinInputField to PinInputInput to match the naming
convention of other input components.CheckboxInput. This component is no longer required.Toast components in their
application, ensuring a consistent look and feel across the board.onChange handler to allow synchronous updates to the
value when using the scrubber.ref property when dealing with both
intrinsic HTML elements and custom React components.AccordionContent, ComboboxContent, DialogBackdrop,
DialogContent, HoverCardContent, PopoverContent, SelectContent, and
TooltipContent components. The lazyMount property allows for on-demand
rendering of content, while the unmountOnExit property enables the removal
of the component from the DOM once it’s no longer required, ensuring better
resource management and cleaner code.use client annotation.isOpen from Popover. Please use open instead.Carousel component: Introduced CarouselIndicator and
CarouselIndicatorGroup components. These sub-components offer finer control
over the carousel navigation, enabling users to directly access desired
carousel slides.Presence component, a new utility designed to delay the unmount
of child components to assist with animation processes.Dialog, Tooltip and Popover elements using
the Presence component. Check out the documentation for these components to
learn more.use<X>Context for all components that use context.SegmentGroup component would not animate on the
first click.Toast component would not render custom content.@ark-ui/react/src/srctabs instead of the full
@ark-ui/react package. This is a significant feature for those working with
bundlers that do not support tree-shaking. By allowing imports of individual
components, we ensure a reduced bundle size when the full package import is
not necessary.SegmentGroup componentAvatar componentdefaulPage property to PaginationdefaultSize property to SplitteronLongPress property to PressableSplitter component’s internal API, enabling
more control over the component’s state@zag-js dependencies to their latest versionsAccordionIconDatePickerCheckbox. Control indeterminate state in checked propSwitchProps typeSwitchasChildColorPickerAccordionCarouselCheckboxComboboxDatePickerDialogEditableHoverCardMenuNumberInputPaginationPinInputPopoverPressableRadioGroupRangeSliderRatingGroupSelectSliderSplitterTabsTagsInputToastTooltip