Add coexistence checks to all enqueue methods to prevent loading both React and Grid.js assets simultaneously. Changes: - ReactAdmin.php: Only enqueue React assets when ?react=1 - Init.php: Skip Grid.js when React active on admin pages - Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0 - Customer.php, Product.php, License.php: Add coexistence checks Now the toggle between Classic and React versions works correctly. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
10 KiB
@ariakit/core
0.3.11
Improved performance of large collections
Components like MenuItem, ComboboxItem, and SelectItem should now offer improved performance when rendering large collections.
Other updates
- Improved JSDocs.
0.3.10
- Fixed
CompositeItemtriggering blur on focus. - Improved JSDocs.
0.3.9
- Fixed
Maximum update depth exceededwarning when rendering multiple collection items on the page. - Improved JSDocs.
0.3.8
- Fixed
CollectionItemelements getting out of order when composing stores. - Fixed unmounted
SelectPopovernot re-opening when itsopenstate is initially set totrue. - Fixed TypeScript build errors.
0.3.7
Multi-selectable Combobox
We've added support for the Combobox with multiple selection capabilities using a new selectedValue prop, along with defaultSelectedValue and setSelectedValue.
This works similarly to the value prop on Select components. If it receives an array, the combobox will allow multiple selections. By default, it's a string that represents the selected value in a single-select combobox.
Check out the Multi-selectable Combobox example to see it in action.
Other updates
- Added
resetValueOnSelectstate to Combobox components.
0.3.6
- Fixed
setSelectionRangeerror when used with unsupported input types.
0.3.5
- Added new
menubarmodule.
0.3.4
Patch Changes
-
#2935Fixed TypeScript declaration files in CommonJS projects usingNodeNextformoduleResolution. -
#2945Added newdisabledFromPropsfunction to@ariakit/core/utils/misc. -
#2948Added"use client"directive to all modules. -
Improved JSDocs.
0.3.3
Patch Changes
-
#2909Fixed Disclosure and related components not waiting for the exit animation to complete before hiding the content element. -
Improved JSDocs.
0.3.2
Patch Changes
- Improved JSDocs.
0.3.1
Patch Changes
#2801Fixedvalues.sliceerror that would occur when clicking onFormCheckboxthat uses an integer-like field name.
0.3.0
Minor Changes
-
#2783BREAKING (This should affect very few people): Theselectandmenuprops onuseComboboxStorehave been removed. If you need to composeComboboxwithSelectorMenu, use thecomboboxprop onuseSelectStoreoruseMenuStoreinstead. -
#2745Component stores will now throw an error if they receive another store prop in conjunction with default prop values.
Patch Changes
-
#2782Fixed form store not synchrozining validate and submit callbacks with another form store through thestoreproperty. -
#2783Component store objects now contain properties for the composed stores passed to them as props. For instance,useSelectStore({ combobox })will return acomboboxproperty if thecomboboxprop is specified. -
#2785Addedparentandmenubarproperties to the menu store. These properties are automatically set when rendering nested menus or menus within a menubar.Now, it also supports rendering nested menus that aren't nested in the React tree. In this case, you would have to supply the parent menu store manually to the child menu store.
These properties are also included in the returned menu store object, allowing you to verify whether the menu is nested. For instance:
const menu = useMenuStore(props); const isNested = Boolean(menu.parent); -
#2796Composed store props such asuseSelectStore({ combobox })now acceptnullas a value.
0.2.9
Patch Changes
#2709FixedaddGlobalEventListenerfunction when used in a document with sandbox iframes.
0.2.8
Patch Changes
-
Removed private properties from the store object. (#2706)
Instead of accessing
store.setup,store.sync,store.subscribe, etc. directly, use the equivalent functions exported by the@ariakit/core/utils/storemodule.
0.2.7
Patch Changes
- Added new
EmptyObjecttype export to@ariakit/core/utils/types. (#2553)
0.2.6
Patch Changes
- Fixed
defaultItemspassed to the collection store being overriden when new items are added. (#2559)
0.2.5
Patch Changes
- Added new
disclosureprop to theDisclosurestore. (#2518)
0.2.4
Patch Changes
- Added missing
typesfield to proxy package.json files. (#2489)
0.2.3
Patch Changes
- Added
.cjsand.jsextensions to paths in proxy package.json files to support bundlers that can't automaically resolve them. (#2487)
0.2.2
Patch Changes
-
Updated the
SelectPopovercomponent so thecompositeandtypeaheadprops are automatically set tofalsewhen combining it with aComboboxcomponent using thecomboboxprop from the select store. (#2428)This means you'll not need to explicitly pass
composite={false}when building a Select with Combobox component. -
Updated
getScrollingElementfunction so it also considers horizontal scrolling elements. -
Fixed
StringWithValueutility type. -
Fixed
activeIdstate onTabnot updating correctly when settingselectedIdwith the Next.js App Router. (#2443)
0.2.1
Patch Changes
- Fixed
useHovercardStoreanduseTooltipStorenot updating the state when thetimeout,showTimeoutorhideTimeoutprops changed. (#2421)
0.2.0
Minor Changes
-
BREAKING: Moved props from the
usePopoverStorehook to thePopovercomponent:fixed,gutter,shift,flip,slide,overlap,sameWidth,fitViewport,arrowPadding,overflowPadding,getAnchorRect,renderCallback(renamed toupdatePosition). (#2279)The exception is the
placementprop that should still be passed to the store.Before:
const popover = usePopoverStore({ placement: "bottom", fixed: true, gutter: 8, shift: 8, flip: true, slide: true, overlap: true, sameWidth: true, fitViewport: true, arrowPadding: 8, overflowPadding: 8, getAnchorRect: (anchor) => anchor?.getBoundingClientRect(), renderCallback: (props) => props.defaultRenderCallback(), }); <Popover store={popover} />;After:
const popover = usePopoverStore({ placement: "bottom" }); <Popover store={popover} fixed gutter={8} shift={8} flip slide overlap sameWidth fitViewport arrowPadding={8} overflowPadding={8} getAnchorRect={(anchor) => anchor?.getBoundingClientRect()} updatePosition={(props) => props.updatePosition()} />;This change affects all the hooks and components that use
usePopoverStoreandPopoverunderneath:useComboboxStore,ComboboxPopover,useHovercardStore,Hovercard,useMenuStore,Menu,useSelectStore,SelectPopover,useTooltipStore,Tooltip.With this change, the underlying
@floating-ui/domdependency has been also moved to thePopovercomponent, which means it can be lazy loaded. See the Lazy Popover example.
0.1.5
Patch Changes
-
Updated
isFocusablefunction to returnfalsewhen the element isinertor is a descendant of aninertelement. (#2339) -
Fixed build target. (#2355)
-
Updated JSDocs.
0.1.4
Patch Changes
- Updated JSDocs.
0.1.3
Patch Changes
-
Added support for native radio buttons within forms, that work with roving tabindex, to all
focusutilities. (#2313) -
Updated validate and submit callbacks on
Formso they always run in a consistent order. (#2319) -
Marked internal store functions as deprecated/experimental. (#2316)
0.1.2
Patch Changes
- Added
isFalsyBooleanCallbackmethod.
0.1.1
Patch Changes
- Added missing
defaultValueprop back touseRadioStore. (#2265)
0.1.0
Minor Changes
-
Updated package names to include the
@ariakitscope, providing a more distinct and specific namespace for our packages.Additionally, we've made a change to the versioning system, moving from
v2.0.0-beta.xtov0.x.x. This alteration means that although the library is still in beta, we can release breaking changes in minor versions without disrupting projects that don't set exact versions in theirpackage.json.- npm i ariakit + npm i @ariakit/react
Patch Changes
- Packages are now ESM by default (commonjs modules are still available with the
.cjsextension).