@ariakit/react-components 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/button/button.d.ts +2 -0
- package/dist/button/button.js +53 -0
- package/dist/button/button.js.map +1 -0
- package/dist/button-Cp853csH.d.ts +34 -0
- package/dist/button-Cp853csH.d.ts.map +1 -0
- package/dist/checkbox/checkbox-check.d.ts +56 -0
- package/dist/checkbox/checkbox-check.d.ts.map +1 -0
- package/dist/checkbox/checkbox-check.js +77 -0
- package/dist/checkbox/checkbox-check.js.map +1 -0
- package/dist/checkbox/checkbox-checked-context.d.ts +5 -0
- package/dist/checkbox/checkbox-checked-context.d.ts.map +1 -0
- package/dist/checkbox/checkbox-checked-context.js +8 -0
- package/dist/checkbox/checkbox-checked-context.js.map +1 -0
- package/dist/checkbox/checkbox-context.d.ts +24 -0
- package/dist/checkbox/checkbox-context.d.ts.map +1 -0
- package/dist/checkbox/checkbox-context.js +26 -0
- package/dist/checkbox/checkbox-context.js.map +1 -0
- package/dist/checkbox/checkbox-provider.d.ts +35 -0
- package/dist/checkbox/checkbox-provider.d.ts.map +1 -0
- package/dist/checkbox/checkbox-provider.js +15 -0
- package/dist/checkbox/checkbox-provider.js.map +1 -0
- package/dist/checkbox/checkbox-store.d.ts +2 -0
- package/dist/checkbox/checkbox-store.js +18 -0
- package/dist/checkbox/checkbox-store.js.map +1 -0
- package/dist/checkbox/checkbox.d.ts +91 -0
- package/dist/checkbox/checkbox.d.ts.map +1 -0
- package/dist/checkbox/checkbox.js +148 -0
- package/dist/checkbox/checkbox.js.map +1 -0
- package/dist/checkbox-store-CYZPR4N4.d.ts +38 -0
- package/dist/checkbox-store-CYZPR4N4.d.ts.map +1 -0
- package/dist/collection/collection-context.d.ts +24 -0
- package/dist/collection/collection-context.d.ts.map +1 -0
- package/dist/collection/collection-context.js +26 -0
- package/dist/collection/collection-context.js.map +1 -0
- package/dist/collection/collection-item-offscreen.d.ts +2 -0
- package/dist/collection/collection-item-offscreen.js +88 -0
- package/dist/collection/collection-item-offscreen.js.map +1 -0
- package/dist/collection/collection-item.d.ts +2 -0
- package/dist/collection/collection-item.js +69 -0
- package/dist/collection/collection-item.js.map +1 -0
- package/dist/collection/collection-provider.d.ts +26 -0
- package/dist/collection/collection-provider.d.ts.map +1 -0
- package/dist/collection/collection-provider.js +15 -0
- package/dist/collection/collection-provider.js.map +1 -0
- package/dist/collection/collection-renderer.d.ts +2 -0
- package/dist/collection/collection-renderer.js +580 -0
- package/dist/collection/collection-renderer.js.map +1 -0
- package/dist/collection/collection-store.d.ts +2 -0
- package/dist/collection/collection-store.js +18 -0
- package/dist/collection/collection-store.js.map +1 -0
- package/dist/collection/collection.d.ts +55 -0
- package/dist/collection/collection.d.ts.map +1 -0
- package/dist/collection/collection.js +55 -0
- package/dist/collection/collection.js.map +1 -0
- package/dist/collection-item-C-g2BwVF.d.ts +84 -0
- package/dist/collection-item-C-g2BwVF.d.ts.map +1 -0
- package/dist/collection-item-offscreen-DyXa-sqj.d.ts +30 -0
- package/dist/collection-item-offscreen-DyXa-sqj.d.ts.map +1 -0
- package/dist/collection-renderer-DsPD9ksD.d.ts +469 -0
- package/dist/collection-renderer-DsPD9ksD.d.ts.map +1 -0
- package/dist/collection-store-CbwzYsWf.d.ts +42 -0
- package/dist/collection-store-CbwzYsWf.d.ts.map +1 -0
- package/dist/combobox/combobox-cancel.d.ts +62 -0
- package/dist/combobox/combobox-cancel.d.ts.map +1 -0
- package/dist/combobox/combobox-cancel.js +98 -0
- package/dist/combobox/combobox-cancel.js.map +1 -0
- package/dist/combobox/combobox-context.d.ts +27 -0
- package/dist/combobox/combobox-context.d.ts.map +1 -0
- package/dist/combobox/combobox-context.js +32 -0
- package/dist/combobox/combobox-context.js.map +1 -0
- package/dist/combobox/combobox-disclosure.d.ts +63 -0
- package/dist/combobox/combobox-disclosure.d.ts.map +1 -0
- package/dist/combobox/combobox-disclosure.js +108 -0
- package/dist/combobox/combobox-disclosure.js.map +1 -0
- package/dist/combobox/combobox-group-label.d.ts +56 -0
- package/dist/combobox/combobox-group-label.d.ts.map +1 -0
- package/dist/combobox/combobox-group-label.js +47 -0
- package/dist/combobox/combobox-group-label.js.map +1 -0
- package/dist/combobox/combobox-group.d.ts +63 -0
- package/dist/combobox/combobox-group.d.ts.map +1 -0
- package/dist/combobox/combobox-group.js +67 -0
- package/dist/combobox/combobox-group.js.map +1 -0
- package/dist/combobox/combobox-item-check.d.ts +61 -0
- package/dist/combobox/combobox-item-check.d.ts.map +1 -0
- package/dist/combobox/combobox-item-check.js +62 -0
- package/dist/combobox/combobox-item-check.js.map +1 -0
- package/dist/combobox/combobox-item-offscreen.d.ts +34 -0
- package/dist/combobox/combobox-item-offscreen.d.ts.map +1 -0
- package/dist/combobox/combobox-item-offscreen.js +53 -0
- package/dist/combobox/combobox-item-offscreen.js.map +1 -0
- package/dist/combobox/combobox-item-value.d.ts +103 -0
- package/dist/combobox/combobox-item-value.d.ts.map +1 -0
- package/dist/combobox/combobox-item-value.js +143 -0
- package/dist/combobox/combobox-item-value.js.map +1 -0
- package/dist/combobox/combobox-item.d.ts +146 -0
- package/dist/combobox/combobox-item.d.ts.map +1 -0
- package/dist/combobox/combobox-item.js +157 -0
- package/dist/combobox/combobox-item.js.map +1 -0
- package/dist/combobox/combobox-label.d.ts +50 -0
- package/dist/combobox/combobox-label.d.ts.map +1 -0
- package/dist/combobox/combobox-label.js +51 -0
- package/dist/combobox/combobox-label.js.map +1 -0
- package/dist/combobox/combobox-list.d.ts +55 -0
- package/dist/combobox/combobox-list.d.ts.map +1 -0
- package/dist/combobox/combobox-list.js +106 -0
- package/dist/combobox/combobox-list.js.map +1 -0
- package/dist/combobox/combobox-popover.d.ts +46 -0
- package/dist/combobox/combobox-popover.d.ts.map +1 -0
- package/dist/combobox/combobox-popover.js +115 -0
- package/dist/combobox/combobox-popover.js.map +1 -0
- package/dist/combobox/combobox-provider.d.ts +30 -0
- package/dist/combobox/combobox-provider.d.ts.map +1 -0
- package/dist/combobox/combobox-provider.js +15 -0
- package/dist/combobox/combobox-provider.js.map +1 -0
- package/dist/combobox/combobox-row.d.ts +66 -0
- package/dist/combobox/combobox-row.d.ts.map +1 -0
- package/dist/combobox/combobox-row.js +70 -0
- package/dist/combobox/combobox-row.js.map +1 -0
- package/dist/combobox/combobox-separator.d.ts +61 -0
- package/dist/combobox/combobox-separator.d.ts.map +1 -0
- package/dist/combobox/combobox-separator.js +60 -0
- package/dist/combobox/combobox-separator.js.map +1 -0
- package/dist/combobox/combobox-store.d.ts +2 -0
- package/dist/combobox/combobox-store.js +33 -0
- package/dist/combobox/combobox-store.js.map +1 -0
- package/dist/combobox/combobox-value.d.ts +49 -0
- package/dist/combobox/combobox-value.d.ts.map +1 -0
- package/dist/combobox/combobox-value.js +40 -0
- package/dist/combobox/combobox-value.js.map +1 -0
- package/dist/combobox/combobox.d.ts +268 -0
- package/dist/combobox/combobox.d.ts.map +1 -0
- package/dist/combobox/combobox.js +399 -0
- package/dist/combobox/combobox.js.map +1 -0
- package/dist/combobox-store-DEVQ45mZ.d.ts +80 -0
- package/dist/combobox-store-DEVQ45mZ.d.ts.map +1 -0
- package/dist/command/command.d.ts +2 -0
- package/dist/command/command.js +130 -0
- package/dist/command/command.js.map +1 -0
- package/dist/command-DckndCUK.d.ts +59 -0
- package/dist/command-DckndCUK.d.ts.map +1 -0
- package/dist/composite/composite-container.d.ts +59 -0
- package/dist/composite/composite-container.d.ts.map +1 -0
- package/dist/composite/composite-container.js +164 -0
- package/dist/composite/composite-container.js.map +1 -0
- package/dist/composite/composite-context.d.ts +34 -0
- package/dist/composite/composite-context.d.ts.map +1 -0
- package/dist/composite/composite-context.js +30 -0
- package/dist/composite/composite-context.js.map +1 -0
- package/dist/composite/composite-group-label.d.ts +55 -0
- package/dist/composite/composite-group-label.d.ts.map +1 -0
- package/dist/composite/composite-group-label.js +46 -0
- package/dist/composite/composite-group-label.js.map +1 -0
- package/dist/composite/composite-group.d.ts +60 -0
- package/dist/composite/composite-group.d.ts.map +1 -0
- package/dist/composite/composite-group.js +51 -0
- package/dist/composite/composite-group.js.map +1 -0
- package/dist/composite/composite-hover.d.ts +2 -0
- package/dist/composite/composite-hover.js +114 -0
- package/dist/composite/composite-hover.js.map +1 -0
- package/dist/composite/composite-input.d.ts +55 -0
- package/dist/composite/composite-input.d.ts.map +1 -0
- package/dist/composite/composite-input.js +91 -0
- package/dist/composite/composite-input.js.map +1 -0
- package/dist/composite/composite-item-offscreen.d.ts +39 -0
- package/dist/composite/composite-item-offscreen.d.ts.map +1 -0
- package/dist/composite/composite-item-offscreen.js +72 -0
- package/dist/composite/composite-item-offscreen.js.map +1 -0
- package/dist/composite/composite-item.d.ts +2 -0
- package/dist/composite/composite-item.js +290 -0
- package/dist/composite/composite-item.js.map +1 -0
- package/dist/composite/composite-overflow-disclosure.d.ts +53 -0
- package/dist/composite/composite-overflow-disclosure.d.ts.map +1 -0
- package/dist/composite/composite-overflow-disclosure.js +84 -0
- package/dist/composite/composite-overflow-disclosure.js.map +1 -0
- package/dist/composite/composite-overflow-store.d.ts +38 -0
- package/dist/composite/composite-overflow-store.d.ts.map +1 -0
- package/dist/composite/composite-overflow-store.js +36 -0
- package/dist/composite/composite-overflow-store.js.map +1 -0
- package/dist/composite/composite-overflow.d.ts +54 -0
- package/dist/composite/composite-overflow.d.ts.map +1 -0
- package/dist/composite/composite-overflow.js +82 -0
- package/dist/composite/composite-overflow.js.map +1 -0
- package/dist/composite/composite-provider.d.ts +28 -0
- package/dist/composite/composite-provider.d.ts.map +1 -0
- package/dist/composite/composite-provider.js +15 -0
- package/dist/composite/composite-provider.js.map +1 -0
- package/dist/composite/composite-renderer.d.ts +329 -0
- package/dist/composite/composite-renderer.d.ts.map +1 -0
- package/dist/composite/composite-renderer.js +121 -0
- package/dist/composite/composite-renderer.js.map +1 -0
- package/dist/composite/composite-row.d.ts +67 -0
- package/dist/composite/composite-row.d.ts.map +1 -0
- package/dist/composite/composite-row.js +86 -0
- package/dist/composite/composite-row.js.map +1 -0
- package/dist/composite/composite-separator.d.ts +61 -0
- package/dist/composite/composite-separator.d.ts.map +1 -0
- package/dist/composite/composite-separator.js +55 -0
- package/dist/composite/composite-separator.js.map +1 -0
- package/dist/composite/composite-store.d.ts +2 -0
- package/dist/composite/composite-store.js +33 -0
- package/dist/composite/composite-store.js.map +1 -0
- package/dist/composite/composite-typeahead.d.ts +2 -0
- package/dist/composite/composite-typeahead.js +126 -0
- package/dist/composite/composite-typeahead.js.map +1 -0
- package/dist/composite/composite.d.ts +2 -0
- package/dist/composite/composite.js +273 -0
- package/dist/composite/composite.js.map +1 -0
- package/dist/composite/utils.d.ts +52 -0
- package/dist/composite/utils.d.ts.map +1 -0
- package/dist/composite/utils.js +93 -0
- package/dist/composite/utils.js.map +1 -0
- package/dist/composite-DLvyFHMq.d.ts +124 -0
- package/dist/composite-DLvyFHMq.d.ts.map +1 -0
- package/dist/composite-hover-C7ul163w.d.ts +103 -0
- package/dist/composite-hover-C7ul163w.d.ts.map +1 -0
- package/dist/composite-item-B4WTelVz.d.ts +141 -0
- package/dist/composite-item-B4WTelVz.d.ts.map +1 -0
- package/dist/composite-store-DyJc-XRA.d.ts +43 -0
- package/dist/composite-store-DyJc-XRA.d.ts.map +1 -0
- package/dist/composite-typeahead-DDhpyKqm.d.ts +63 -0
- package/dist/composite-typeahead-DDhpyKqm.d.ts.map +1 -0
- package/dist/dialog/dialog-backdrop.d.ts +16 -0
- package/dist/dialog/dialog-backdrop.d.ts.map +1 -0
- package/dist/dialog/dialog-backdrop.js +58 -0
- package/dist/dialog/dialog-backdrop.js.map +1 -0
- package/dist/dialog/dialog-context.d.ts +27 -0
- package/dist/dialog/dialog-context.d.ts.map +1 -0
- package/dist/dialog/dialog-context.js +30 -0
- package/dist/dialog/dialog-context.js.map +1 -0
- package/dist/dialog/dialog-description.d.ts +2 -0
- package/dist/dialog/dialog-description.js +53 -0
- package/dist/dialog/dialog-description.js.map +1 -0
- package/dist/dialog/dialog-disclosure.d.ts +2 -0
- package/dist/dialog/dialog-disclosure.js +52 -0
- package/dist/dialog/dialog-disclosure.js.map +1 -0
- package/dist/dialog/dialog-dismiss.d.ts +2 -0
- package/dist/dialog/dialog-dismiss.js +80 -0
- package/dist/dialog/dialog-dismiss.js.map +1 -0
- package/dist/dialog/dialog-heading.d.ts +2 -0
- package/dist/dialog/dialog-heading.js +54 -0
- package/dist/dialog/dialog-heading.js.map +1 -0
- package/dist/dialog/dialog-provider.d.ts +22 -0
- package/dist/dialog/dialog-provider.d.ts.map +1 -0
- package/dist/dialog/dialog-provider.js +26 -0
- package/dist/dialog/dialog-provider.js.map +1 -0
- package/dist/dialog/dialog-store.d.ts +2 -0
- package/dist/dialog/dialog-store.js +28 -0
- package/dist/dialog/dialog-store.js.map +1 -0
- package/dist/dialog/dialog.d.ts +2 -0
- package/dist/dialog/dialog.js +429 -0
- package/dist/dialog/dialog.js.map +1 -0
- package/dist/dialog/utils/disable-accessibility-tree-outside.d.ts +7 -0
- package/dist/dialog/utils/disable-accessibility-tree-outside.d.ts.map +1 -0
- package/dist/dialog/utils/disable-accessibility-tree-outside.js +24 -0
- package/dist/dialog/utils/disable-accessibility-tree-outside.js.map +1 -0
- package/dist/dialog/utils/disable-tree.d.ts +9 -0
- package/dist/dialog/utils/disable-tree.d.ts.map +1 -0
- package/dist/dialog/utils/disable-tree.js +48 -0
- package/dist/dialog/utils/disable-tree.js.map +1 -0
- package/dist/dialog/utils/is-backdrop.d.ts +5 -0
- package/dist/dialog/utils/is-backdrop.d.ts.map +1 -0
- package/dist/dialog/utils/is-backdrop.js +15 -0
- package/dist/dialog/utils/is-backdrop.js.map +1 -0
- package/dist/dialog/utils/is-focus-trap.d.ts +5 -0
- package/dist/dialog/utils/is-focus-trap.d.ts.map +1 -0
- package/dist/dialog/utils/is-focus-trap.js +14 -0
- package/dist/dialog/utils/is-focus-trap.js.map +1 -0
- package/dist/dialog/utils/mark-tree-outside.d.ts +9 -0
- package/dist/dialog/utils/mark-tree-outside.d.ts.map +1 -0
- package/dist/dialog/utils/mark-tree-outside.js +44 -0
- package/dist/dialog/utils/mark-tree-outside.js.map +1 -0
- package/dist/dialog/utils/orchestrate.d.ts +9 -0
- package/dist/dialog/utils/orchestrate.d.ts.map +1 -0
- package/dist/dialog/utils/orchestrate.js +77 -0
- package/dist/dialog/utils/orchestrate.js.map +1 -0
- package/dist/dialog/utils/prepend-hidden-dismiss.d.ts +5 -0
- package/dist/dialog/utils/prepend-hidden-dismiss.d.ts.map +1 -0
- package/dist/dialog/utils/prepend-hidden-dismiss.js +31 -0
- package/dist/dialog/utils/prepend-hidden-dismiss.js.map +1 -0
- package/dist/dialog/utils/supports-inert.d.ts +5 -0
- package/dist/dialog/utils/supports-inert.d.ts.map +1 -0
- package/dist/dialog/utils/supports-inert.js +9 -0
- package/dist/dialog/utils/supports-inert.js.map +1 -0
- package/dist/dialog/utils/use-hide-on-interact-outside.d.ts +9 -0
- package/dist/dialog/utils/use-hide-on-interact-outside.d.ts.map +1 -0
- package/dist/dialog/utils/use-hide-on-interact-outside.js +123 -0
- package/dist/dialog/utils/use-hide-on-interact-outside.js.map +1 -0
- package/dist/dialog/utils/use-nested-dialogs.d.ts +11 -0
- package/dist/dialog/utils/use-nested-dialogs.d.ts.map +1 -0
- package/dist/dialog/utils/use-nested-dialogs.js +40 -0
- package/dist/dialog/utils/use-nested-dialogs.js.map +1 -0
- package/dist/dialog/utils/use-prevent-body-scroll.d.ts +5 -0
- package/dist/dialog/utils/use-prevent-body-scroll.d.ts.map +1 -0
- package/dist/dialog/utils/use-prevent-body-scroll.js +60 -0
- package/dist/dialog/utils/use-prevent-body-scroll.js.map +1 -0
- package/dist/dialog/utils/use-previous-mouse-down-ref.d.ts +5 -0
- package/dist/dialog/utils/use-previous-mouse-down-ref.d.ts.map +1 -0
- package/dist/dialog/utils/use-previous-mouse-down-ref.js +22 -0
- package/dist/dialog/utils/use-previous-mouse-down-ref.js.map +1 -0
- package/dist/dialog/utils/use-root-dialog.d.ts +16 -0
- package/dist/dialog/utils/use-root-dialog.d.ts.map +1 -0
- package/dist/dialog/utils/use-root-dialog.js +47 -0
- package/dist/dialog/utils/use-root-dialog.js.map +1 -0
- package/dist/dialog/utils/walk-tree-outside.d.ts +8 -0
- package/dist/dialog/utils/walk-tree-outside.d.ts.map +1 -0
- package/dist/dialog/utils/walk-tree-outside.js +58 -0
- package/dist/dialog/utils/walk-tree-outside.js.map +1 -0
- package/dist/dialog-C__C-zX2.d.ts +267 -0
- package/dist/dialog-C__C-zX2.d.ts.map +1 -0
- package/dist/dialog-description-BCZJ1Kyd.d.ts +48 -0
- package/dist/dialog-description-BCZJ1Kyd.d.ts.map +1 -0
- package/dist/dialog-disclosure-DLD10zlb.d.ts +47 -0
- package/dist/dialog-disclosure-DLD10zlb.d.ts.map +1 -0
- package/dist/dialog-dismiss-CnwEbzc6.d.ts +48 -0
- package/dist/dialog-dismiss-CnwEbzc6.d.ts.map +1 -0
- package/dist/dialog-heading-DQvnOfZH.d.ts +49 -0
- package/dist/dialog-heading-DQvnOfZH.d.ts.map +1 -0
- package/dist/dialog-store-Cjt12T_Y.d.ts +29 -0
- package/dist/dialog-store-Cjt12T_Y.d.ts.map +1 -0
- package/dist/disclosure/disclosure-content.d.ts +2 -0
- package/dist/disclosure/disclosure-content.js +171 -0
- package/dist/disclosure/disclosure-content.js.map +1 -0
- package/dist/disclosure/disclosure-context.d.ts +24 -0
- package/dist/disclosure/disclosure-context.d.ts.map +1 -0
- package/dist/disclosure/disclosure-context.js +26 -0
- package/dist/disclosure/disclosure-context.js.map +1 -0
- package/dist/disclosure/disclosure-provider.d.ts +23 -0
- package/dist/disclosure/disclosure-provider.d.ts.map +1 -0
- package/dist/disclosure/disclosure-provider.js +27 -0
- package/dist/disclosure/disclosure-provider.js.map +1 -0
- package/dist/disclosure/disclosure-store.d.ts +2 -0
- package/dist/disclosure/disclosure-store.js +32 -0
- package/dist/disclosure/disclosure-store.js.map +1 -0
- package/dist/disclosure/disclosure.d.ts +2 -0
- package/dist/disclosure/disclosure.js +83 -0
- package/dist/disclosure/disclosure.js.map +1 -0
- package/dist/disclosure-CQ37hPVP.d.ts +60 -0
- package/dist/disclosure-CQ37hPVP.d.ts.map +1 -0
- package/dist/disclosure-content-BbPkZgAc.d.ts +88 -0
- package/dist/disclosure-content-BbPkZgAc.d.ts.map +1 -0
- package/dist/disclosure-store-BsaBaRKv.d.ts +58 -0
- package/dist/disclosure-store-BsaBaRKv.d.ts.map +1 -0
- package/dist/focus-trap/focus-trap-region.d.ts +42 -0
- package/dist/focus-trap/focus-trap-region.d.ts.map +1 -0
- package/dist/focus-trap/focus-trap-region.js +69 -0
- package/dist/focus-trap/focus-trap-region.js.map +1 -0
- package/dist/focus-trap/focus-trap.d.ts +31 -0
- package/dist/focus-trap/focus-trap.d.ts.map +1 -0
- package/dist/focus-trap/focus-trap.js +45 -0
- package/dist/focus-trap/focus-trap.js.map +1 -0
- package/dist/focusable/focusable-container.d.ts +43 -0
- package/dist/focusable/focusable-container.d.ts.map +1 -0
- package/dist/focusable/focusable-container.js +41 -0
- package/dist/focusable/focusable-container.js.map +1 -0
- package/dist/focusable/focusable-context.d.ts +5 -0
- package/dist/focusable/focusable-context.d.ts.map +1 -0
- package/dist/focusable/focusable-context.js +8 -0
- package/dist/focusable/focusable-context.js.map +1 -0
- package/dist/focusable/focusable.d.ts +2 -0
- package/dist/focusable/focusable.js +273 -0
- package/dist/focusable/focusable.js.map +1 -0
- package/dist/focusable-B00tOxtB.d.ts +142 -0
- package/dist/focusable-B00tOxtB.d.ts.map +1 -0
- package/dist/form/form-checkbox.d.ts +50 -0
- package/dist/form/form-checkbox.d.ts.map +1 -0
- package/dist/form/form-checkbox.js +73 -0
- package/dist/form/form-checkbox.js.map +1 -0
- package/dist/form/form-context.d.ts +24 -0
- package/dist/form/form-context.d.ts.map +1 -0
- package/dist/form/form-context.js +27 -0
- package/dist/form/form-context.js.map +1 -0
- package/dist/form/form-control.d.ts +100 -0
- package/dist/form/form-control.d.ts.map +1 -0
- package/dist/form/form-control.js +139 -0
- package/dist/form/form-control.js.map +1 -0
- package/dist/form/form-description.d.ts +73 -0
- package/dist/form/form-description.d.ts.map +1 -0
- package/dist/form/form-description.js +83 -0
- package/dist/form/form-description.js.map +1 -0
- package/dist/form/form-error.d.ts +82 -0
- package/dist/form/form-error.d.ts.map +1 -0
- package/dist/form/form-error.js +102 -0
- package/dist/form/form-error.js.map +1 -0
- package/dist/form/form-field.d.ts +73 -0
- package/dist/form/form-field.d.ts.map +1 -0
- package/dist/form/form-field.js +74 -0
- package/dist/form/form-field.js.map +1 -0
- package/dist/form/form-group-label.d.ts +62 -0
- package/dist/form/form-group-label.d.ts.map +1 -0
- package/dist/form/form-group-label.js +54 -0
- package/dist/form/form-group-label.js.map +1 -0
- package/dist/form/form-group.d.ts +64 -0
- package/dist/form/form-group.d.ts.map +1 -0
- package/dist/form/form-group.js +56 -0
- package/dist/form/form-group.js.map +1 -0
- package/dist/form/form-input.d.ts +50 -0
- package/dist/form/form-input.d.ts.map +1 -0
- package/dist/form/form-input.js +74 -0
- package/dist/form/form-input.js.map +1 -0
- package/dist/form/form-label.d.ts +77 -0
- package/dist/form/form-label.d.ts.map +1 -0
- package/dist/form/form-label.js +120 -0
- package/dist/form/form-label.js.map +1 -0
- package/dist/form/form-provider.d.ts +28 -0
- package/dist/form/form-provider.d.ts.map +1 -0
- package/dist/form/form-provider.js +15 -0
- package/dist/form/form-provider.js.map +1 -0
- package/dist/form/form-push.d.ts +102 -0
- package/dist/form/form-push.d.ts.map +1 -0
- package/dist/form/form-push.js +134 -0
- package/dist/form/form-push.js.map +1 -0
- package/dist/form/form-radio-group.d.ts +56 -0
- package/dist/form/form-radio-group.d.ts.map +1 -0
- package/dist/form/form-radio-group.js +68 -0
- package/dist/form/form-radio-group.js.map +1 -0
- package/dist/form/form-radio.d.ts +58 -0
- package/dist/form/form-radio.d.ts.map +1 -0
- package/dist/form/form-radio.js +90 -0
- package/dist/form/form-radio.js.map +1 -0
- package/dist/form/form-remove.d.ts +102 -0
- package/dist/form/form-remove.d.ts.map +1 -0
- package/dist/form/form-remove.js +116 -0
- package/dist/form/form-remove.js.map +1 -0
- package/dist/form/form-reset.d.ts +51 -0
- package/dist/form/form-reset.d.ts.map +1 -0
- package/dist/form/form-reset.js +54 -0
- package/dist/form/form-reset.js.map +1 -0
- package/dist/form/form-store.d.ts +2 -0
- package/dist/form/form-store.js +41 -0
- package/dist/form/form-store.js.map +1 -0
- package/dist/form/form-submit.d.ts +57 -0
- package/dist/form/form-submit.d.ts.map +1 -0
- package/dist/form/form-submit.js +59 -0
- package/dist/form/form-submit.js.map +1 -0
- package/dist/form/form.d.ts +101 -0
- package/dist/form/form.d.ts.map +1 -0
- package/dist/form/form.js +146 -0
- package/dist/form/form.js.map +1 -0
- package/dist/form-store-C4Kf5QHm.d.ts +120 -0
- package/dist/form-store-C4Kf5QHm.d.ts.map +1 -0
- package/dist/group/group-label-context.d.ts +7 -0
- package/dist/group/group-label-context.d.ts.map +1 -0
- package/dist/group/group-label-context.js +8 -0
- package/dist/group/group-label-context.js.map +1 -0
- package/dist/group/group-label.d.ts +2 -0
- package/dist/group/group-label.js +52 -0
- package/dist/group/group-label.js.map +1 -0
- package/dist/group/group.d.ts +2 -0
- package/dist/group/group.js +47 -0
- package/dist/group/group.js.map +1 -0
- package/dist/group-CamegDJA.d.ts +32 -0
- package/dist/group-CamegDJA.d.ts.map +1 -0
- package/dist/group-label-C16IDs1b.d.ts +37 -0
- package/dist/group-label-C16IDs1b.d.ts.map +1 -0
- package/dist/heading/heading-context.d.ts +7 -0
- package/dist/heading/heading-context.d.ts.map +1 -0
- package/dist/heading/heading-context.js +8 -0
- package/dist/heading/heading-context.js.map +1 -0
- package/dist/heading/heading-level.d.ts +35 -0
- package/dist/heading/heading-level.d.ts.map +1 -0
- package/dist/heading/heading-level.js +33 -0
- package/dist/heading/heading-level.js.map +1 -0
- package/dist/heading/heading.d.ts +2 -0
- package/dist/heading/heading.js +56 -0
- package/dist/heading/heading.js.map +1 -0
- package/dist/heading/utils.d.ts +2 -0
- package/dist/heading/utils.js +1 -0
- package/dist/heading-zY9g_9K-.d.ts +42 -0
- package/dist/heading-zY9g_9K-.d.ts.map +1 -0
- package/dist/hovercard/hovercard-anchor.d.ts +59 -0
- package/dist/hovercard/hovercard-anchor.d.ts.map +1 -0
- package/dist/hovercard/hovercard-anchor.js +106 -0
- package/dist/hovercard/hovercard-anchor.js.map +1 -0
- package/dist/hovercard/hovercard-arrow.d.ts +54 -0
- package/dist/hovercard/hovercard-arrow.d.ts.map +1 -0
- package/dist/hovercard/hovercard-arrow.js +51 -0
- package/dist/hovercard/hovercard-arrow.js.map +1 -0
- package/dist/hovercard/hovercard-context.d.ts +24 -0
- package/dist/hovercard/hovercard-context.d.ts.map +1 -0
- package/dist/hovercard/hovercard-context.js +27 -0
- package/dist/hovercard/hovercard-context.js.map +1 -0
- package/dist/hovercard/hovercard-description.d.ts +51 -0
- package/dist/hovercard/hovercard-description.d.ts.map +1 -0
- package/dist/hovercard/hovercard-description.js +42 -0
- package/dist/hovercard/hovercard-description.js.map +1 -0
- package/dist/hovercard/hovercard-disclosure.d.ts +51 -0
- package/dist/hovercard/hovercard-disclosure.d.ts.map +1 -0
- package/dist/hovercard/hovercard-disclosure.js +122 -0
- package/dist/hovercard/hovercard-disclosure.js.map +1 -0
- package/dist/hovercard/hovercard-dismiss.d.ts +50 -0
- package/dist/hovercard/hovercard-dismiss.d.ts.map +1 -0
- package/dist/hovercard/hovercard-dismiss.js +47 -0
- package/dist/hovercard/hovercard-dismiss.js.map +1 -0
- package/dist/hovercard/hovercard-heading.d.ts +51 -0
- package/dist/hovercard/hovercard-heading.d.ts.map +1 -0
- package/dist/hovercard/hovercard-heading.js +42 -0
- package/dist/hovercard/hovercard-heading.js.map +1 -0
- package/dist/hovercard/hovercard-provider.d.ts +23 -0
- package/dist/hovercard/hovercard-provider.d.ts.map +1 -0
- package/dist/hovercard/hovercard-provider.js +27 -0
- package/dist/hovercard/hovercard-provider.js.map +1 -0
- package/dist/hovercard/hovercard-store.d.ts +2 -0
- package/dist/hovercard/hovercard-store.js +31 -0
- package/dist/hovercard/hovercard-store.js.map +1 -0
- package/dist/hovercard/hovercard.d.ts +80 -0
- package/dist/hovercard/hovercard.d.ts.map +1 -0
- package/dist/hovercard/hovercard.js +240 -0
- package/dist/hovercard/hovercard.js.map +1 -0
- package/dist/hovercard/utils/debug-polygon.d.ts +7 -0
- package/dist/hovercard/utils/debug-polygon.d.ts.map +1 -0
- package/dist/hovercard/utils/debug-polygon.js +33 -0
- package/dist/hovercard/utils/debug-polygon.js.map +1 -0
- package/dist/hovercard/utils/polygon.d.ts +9 -0
- package/dist/hovercard/utils/polygon.d.ts.map +1 -0
- package/dist/hovercard/utils/polygon.js +70 -0
- package/dist/hovercard/utils/polygon.js.map +1 -0
- package/dist/hovercard-store-gIeoQEn_.d.ts +30 -0
- package/dist/hovercard-store-gIeoQEn_.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/menu/menu-arrow.d.ts +52 -0
- package/dist/menu/menu-arrow.d.ts.map +1 -0
- package/dist/menu/menu-arrow.js +49 -0
- package/dist/menu/menu-arrow.js.map +1 -0
- package/dist/menu/menu-bar-provider.d.ts +35 -0
- package/dist/menu/menu-bar-provider.d.ts.map +1 -0
- package/dist/menu/menu-bar-provider.js +42 -0
- package/dist/menu/menu-bar-provider.js.map +1 -0
- package/dist/menu/menu-bar-store.d.ts +25 -0
- package/dist/menu/menu-bar-store.d.ts.map +1 -0
- package/dist/menu/menu-bar-store.js +28 -0
- package/dist/menu/menu-bar-store.js.map +1 -0
- package/dist/menu/menu-bar.d.ts +61 -0
- package/dist/menu/menu-bar.d.ts.map +1 -0
- package/dist/menu/menu-bar.js +66 -0
- package/dist/menu/menu-bar.js.map +1 -0
- package/dist/menu/menu-button-arrow.d.ts +65 -0
- package/dist/menu/menu-button-arrow.d.ts.map +1 -0
- package/dist/menu/menu-button-arrow.js +62 -0
- package/dist/menu/menu-button-arrow.js.map +1 -0
- package/dist/menu/menu-button.d.ts +67 -0
- package/dist/menu/menu-button.d.ts.map +1 -0
- package/dist/menu/menu-button.js +183 -0
- package/dist/menu/menu-button.js.map +1 -0
- package/dist/menu/menu-context.d.ts +47 -0
- package/dist/menu/menu-context.d.ts.map +1 -0
- package/dist/menu/menu-context.js +52 -0
- package/dist/menu/menu-context.js.map +1 -0
- package/dist/menu/menu-description.d.ts +50 -0
- package/dist/menu/menu-description.d.ts.map +1 -0
- package/dist/menu/menu-description.js +42 -0
- package/dist/menu/menu-description.js.map +1 -0
- package/dist/menu/menu-dismiss.d.ts +49 -0
- package/dist/menu/menu-dismiss.d.ts.map +1 -0
- package/dist/menu/menu-dismiss.js +47 -0
- package/dist/menu/menu-dismiss.js.map +1 -0
- package/dist/menu/menu-group-label.d.ts +55 -0
- package/dist/menu/menu-group-label.d.ts.map +1 -0
- package/dist/menu/menu-group-label.js +47 -0
- package/dist/menu/menu-group-label.js.map +1 -0
- package/dist/menu/menu-group.d.ts +61 -0
- package/dist/menu/menu-group.d.ts.map +1 -0
- package/dist/menu/menu-group.js +53 -0
- package/dist/menu/menu-group.js.map +1 -0
- package/dist/menu/menu-heading.d.ts +50 -0
- package/dist/menu/menu-heading.d.ts.map +1 -0
- package/dist/menu/menu-heading.js +42 -0
- package/dist/menu/menu-heading.js.map +1 -0
- package/dist/menu/menu-item-check.d.ts +58 -0
- package/dist/menu/menu-item-check.d.ts.map +1 -0
- package/dist/menu/menu-item-check.js +60 -0
- package/dist/menu/menu-item-check.js.map +1 -0
- package/dist/menu/menu-item-checkbox.d.ts +104 -0
- package/dist/menu/menu-item-checkbox.d.ts.map +1 -0
- package/dist/menu/menu-item-checkbox.js +151 -0
- package/dist/menu/menu-item-checkbox.js.map +1 -0
- package/dist/menu/menu-item-radio.d.ts +91 -0
- package/dist/menu/menu-item-radio.d.ts.map +1 -0
- package/dist/menu/menu-item-radio.js +121 -0
- package/dist/menu/menu-item-radio.js.map +1 -0
- package/dist/menu/menu-item.d.ts +75 -0
- package/dist/menu/menu-item.d.ts.map +1 -0
- package/dist/menu/menu-item.js +122 -0
- package/dist/menu/menu-item.js.map +1 -0
- package/dist/menu/menu-list.d.ts +59 -0
- package/dist/menu/menu-list.d.ts.map +1 -0
- package/dist/menu/menu-list.js +168 -0
- package/dist/menu/menu-list.js.map +1 -0
- package/dist/menu/menu-provider.d.ts +29 -0
- package/dist/menu/menu-provider.d.ts.map +1 -0
- package/dist/menu/menu-provider.js +15 -0
- package/dist/menu/menu-provider.js.map +1 -0
- package/dist/menu/menu-separator.d.ts +59 -0
- package/dist/menu/menu-separator.d.ts.map +1 -0
- package/dist/menu/menu-separator.js +57 -0
- package/dist/menu/menu-separator.js.map +1 -0
- package/dist/menu/menu-store.d.ts +2 -0
- package/dist/menu/menu-store.js +40 -0
- package/dist/menu/menu-store.js.map +1 -0
- package/dist/menu/menu.d.ts +49 -0
- package/dist/menu/menu.d.ts.map +1 -0
- package/dist/menu/menu.js +169 -0
- package/dist/menu/menu.js.map +1 -0
- package/dist/menu-store-0CKKmNek.d.ts +83 -0
- package/dist/menu-store-0CKKmNek.d.ts.map +1 -0
- package/dist/menubar/menubar-context.d.ts +25 -0
- package/dist/menubar/menubar-context.d.ts.map +1 -0
- package/dist/menubar/menubar-context.js +29 -0
- package/dist/menubar/menubar-context.js.map +1 -0
- package/dist/menubar/menubar-provider.d.ts +37 -0
- package/dist/menubar/menubar-provider.d.ts.map +1 -0
- package/dist/menubar/menubar-provider.js +41 -0
- package/dist/menubar/menubar-provider.js.map +1 -0
- package/dist/menubar/menubar-store.d.ts +2 -0
- package/dist/menubar/menubar-store.js +27 -0
- package/dist/menubar/menubar-store.js.map +1 -0
- package/dist/menubar/menubar.d.ts +71 -0
- package/dist/menubar/menubar.d.ts.map +1 -0
- package/dist/menubar/menubar.js +88 -0
- package/dist/menubar/menubar.js.map +1 -0
- package/dist/menubar-store-3h0eNIbS.d.ts +26 -0
- package/dist/menubar-store-3h0eNIbS.d.ts.map +1 -0
- package/dist/popover/popover-anchor.d.ts +2 -0
- package/dist/popover/popover-anchor.js +45 -0
- package/dist/popover/popover-anchor.js.map +1 -0
- package/dist/popover/popover-arrow-path.d.ts +5 -0
- package/dist/popover/popover-arrow-path.d.ts.map +1 -0
- package/dist/popover/popover-arrow-path.js +7 -0
- package/dist/popover/popover-arrow-path.js.map +1 -0
- package/dist/popover/popover-arrow.d.ts +65 -0
- package/dist/popover/popover-arrow.d.ts.map +1 -0
- package/dist/popover/popover-arrow.js +160 -0
- package/dist/popover/popover-arrow.js.map +1 -0
- package/dist/popover/popover-context.d.ts +24 -0
- package/dist/popover/popover-context.d.ts.map +1 -0
- package/dist/popover/popover-context.js +27 -0
- package/dist/popover/popover-context.js.map +1 -0
- package/dist/popover/popover-description.d.ts +2 -0
- package/dist/popover/popover-description.js +42 -0
- package/dist/popover/popover-description.js.map +1 -0
- package/dist/popover/popover-disclosure-arrow.d.ts +62 -0
- package/dist/popover/popover-disclosure-arrow.d.ts.map +1 -0
- package/dist/popover/popover-disclosure-arrow.js +81 -0
- package/dist/popover/popover-disclosure-arrow.js.map +1 -0
- package/dist/popover/popover-disclosure.d.ts +38 -0
- package/dist/popover/popover-disclosure.d.ts.map +1 -0
- package/dist/popover/popover-disclosure.js +66 -0
- package/dist/popover/popover-disclosure.js.map +1 -0
- package/dist/popover/popover-dismiss.d.ts +2 -0
- package/dist/popover/popover-dismiss.js +47 -0
- package/dist/popover/popover-dismiss.js.map +1 -0
- package/dist/popover/popover-heading.d.ts +2 -0
- package/dist/popover/popover-heading.js +42 -0
- package/dist/popover/popover-heading.js.map +1 -0
- package/dist/popover/popover-provider.d.ts +23 -0
- package/dist/popover/popover-provider.d.ts.map +1 -0
- package/dist/popover/popover-provider.js +27 -0
- package/dist/popover/popover-provider.js.map +1 -0
- package/dist/popover/popover-store.d.ts +2 -0
- package/dist/popover/popover-store.js +30 -0
- package/dist/popover/popover-store.js.map +1 -0
- package/dist/popover/popover.d.ts +2 -0
- package/dist/popover/popover.js +312 -0
- package/dist/popover/popover.js.map +1 -0
- package/dist/popover-CCqiRKqg.d.ts +181 -0
- package/dist/popover-CCqiRKqg.d.ts.map +1 -0
- package/dist/popover-anchor-PgfeXyzs.d.ts +47 -0
- package/dist/popover-anchor-PgfeXyzs.d.ts.map +1 -0
- package/dist/popover-description-DU753dah.d.ts +51 -0
- package/dist/popover-description-DU753dah.d.ts.map +1 -0
- package/dist/popover-dismiss-DPeI6Zse.d.ts +50 -0
- package/dist/popover-dismiss-DPeI6Zse.d.ts.map +1 -0
- package/dist/popover-heading-DGsr6D5W.d.ts +51 -0
- package/dist/popover-heading-DGsr6D5W.d.ts.map +1 -0
- package/dist/popover-store-Bc-l5VVO.d.ts +29 -0
- package/dist/popover-store-Bc-l5VVO.d.ts.map +1 -0
- package/dist/portal/portal-context.d.ts +21 -0
- package/dist/portal/portal-context.d.ts.map +1 -0
- package/dist/portal/portal-context.js +24 -0
- package/dist/portal/portal-context.js.map +1 -0
- package/dist/portal/portal.d.ts +2 -0
- package/dist/portal/portal.js +242 -0
- package/dist/portal/portal.js.map +1 -0
- package/dist/portal-CMBWiayp.d.ts +149 -0
- package/dist/portal-CMBWiayp.d.ts.map +1 -0
- package/dist/radio/radio-context.d.ts +24 -0
- package/dist/radio/radio-context.d.ts.map +1 -0
- package/dist/radio/radio-context.js +27 -0
- package/dist/radio/radio-context.js.map +1 -0
- package/dist/radio/radio-group.d.ts +51 -0
- package/dist/radio/radio-group.d.ts.map +1 -0
- package/dist/radio/radio-group.js +60 -0
- package/dist/radio/radio-group.js.map +1 -0
- package/dist/radio/radio-provider.d.ts +25 -0
- package/dist/radio/radio-provider.d.ts.map +1 -0
- package/dist/radio/radio-provider.js +29 -0
- package/dist/radio/radio-provider.js.map +1 -0
- package/dist/radio/radio-store.d.ts +2 -0
- package/dist/radio/radio-store.js +33 -0
- package/dist/radio/radio-store.js.map +1 -0
- package/dist/radio/radio.d.ts +76 -0
- package/dist/radio/radio.d.ts.map +1 -0
- package/dist/radio/radio.js +143 -0
- package/dist/radio/radio.js.map +1 -0
- package/dist/radio-store-DOZ_1RSk.d.ts +36 -0
- package/dist/radio-store-DOZ_1RSk.d.ts.map +1 -0
- package/dist/role/role.d.ts +34 -0
- package/dist/role/role.d.ts.map +1 -0
- package/dist/role/role.js +68 -0
- package/dist/role/role.js.map +1 -0
- package/dist/select/select-arrow.d.ts +60 -0
- package/dist/select/select-arrow.d.ts.map +1 -0
- package/dist/select/select-arrow.js +58 -0
- package/dist/select/select-arrow.js.map +1 -0
- package/dist/select/select-context.d.ts +27 -0
- package/dist/select/select-context.d.ts.map +1 -0
- package/dist/select/select-context.js +31 -0
- package/dist/select/select-context.js.map +1 -0
- package/dist/select/select-dismiss.d.ts +59 -0
- package/dist/select/select-dismiss.d.ts.map +1 -0
- package/dist/select/select-dismiss.js +56 -0
- package/dist/select/select-dismiss.js.map +1 -0
- package/dist/select/select-group-label.d.ts +61 -0
- package/dist/select/select-group-label.d.ts.map +1 -0
- package/dist/select/select-group-label.js +52 -0
- package/dist/select/select-group-label.js.map +1 -0
- package/dist/select/select-group.d.ts +62 -0
- package/dist/select/select-group.d.ts.map +1 -0
- package/dist/select/select-group.js +53 -0
- package/dist/select/select-group.js.map +1 -0
- package/dist/select/select-heading.d.ts +59 -0
- package/dist/select/select-heading.d.ts.map +1 -0
- package/dist/select/select-heading.js +62 -0
- package/dist/select/select-heading.js.map +1 -0
- package/dist/select/select-item-check.d.ts +59 -0
- package/dist/select/select-item-check.d.ts.map +1 -0
- package/dist/select/select-item-check.js +61 -0
- package/dist/select/select-item-check.js.map +1 -0
- package/dist/select/select-item-offscreen.d.ts +37 -0
- package/dist/select/select-item-offscreen.d.ts.map +1 -0
- package/dist/select/select-item-offscreen.js +38 -0
- package/dist/select/select-item-offscreen.js.map +1 -0
- package/dist/select/select-item.d.ts +108 -0
- package/dist/select/select-item.d.ts.map +1 -0
- package/dist/select/select-item.js +143 -0
- package/dist/select/select-item.js.map +1 -0
- package/dist/select/select-label.d.ts +55 -0
- package/dist/select/select-label.d.ts.map +1 -0
- package/dist/select/select-label.js +70 -0
- package/dist/select/select-label.js.map +1 -0
- package/dist/select/select-list.d.ts +80 -0
- package/dist/select/select-list.d.ts.map +1 -0
- package/dist/select/select-list.js +143 -0
- package/dist/select/select-list.js.map +1 -0
- package/dist/select/select-popover.d.ts +44 -0
- package/dist/select/select-popover.d.ts.map +1 -0
- package/dist/select/select-popover.js +59 -0
- package/dist/select/select-popover.js.map +1 -0
- package/dist/select/select-provider.d.ts +30 -0
- package/dist/select/select-provider.d.ts.map +1 -0
- package/dist/select/select-provider.js +15 -0
- package/dist/select/select-provider.js.map +1 -0
- package/dist/select/select-renderer.d.ts +44 -0
- package/dist/select/select-renderer.d.ts.map +1 -0
- package/dist/select/select-renderer.js +61 -0
- package/dist/select/select-renderer.js.map +1 -0
- package/dist/select/select-row.d.ts +63 -0
- package/dist/select/select-row.d.ts.map +1 -0
- package/dist/select/select-row.js +67 -0
- package/dist/select/select-row.js.map +1 -0
- package/dist/select/select-separator.d.ts +60 -0
- package/dist/select/select-separator.d.ts.map +1 -0
- package/dist/select/select-separator.js +57 -0
- package/dist/select/select-separator.js.map +1 -0
- package/dist/select/select-store.d.ts +2 -0
- package/dist/select/select-store.js +31 -0
- package/dist/select/select-store.js.map +1 -0
- package/dist/select/select-value.d.ts +84 -0
- package/dist/select/select-value.d.ts.map +1 -0
- package/dist/select/select-value.js +18 -0
- package/dist/select/select-value.js.map +1 -0
- package/dist/select/select.d.ts +89 -0
- package/dist/select/select.d.ts.map +1 -0
- package/dist/select/select.js +211 -0
- package/dist/select/select.js.map +1 -0
- package/dist/select-store-BsLTAyKh.d.ts +68 -0
- package/dist/select-store-BsLTAyKh.d.ts.map +1 -0
- package/dist/separator/separator.d.ts +2 -0
- package/dist/separator/separator.js +36 -0
- package/dist/separator/separator.js.map +1 -0
- package/dist/separator--ozQfMcK.d.ts +36 -0
- package/dist/separator--ozQfMcK.d.ts.map +1 -0
- package/dist/store.d.ts +1 -0
- package/dist/store.js +2 -0
- package/dist/tab/tab-context.d.ts +24 -0
- package/dist/tab/tab-context.d.ts.map +1 -0
- package/dist/tab/tab-context.js +27 -0
- package/dist/tab/tab-context.js.map +1 -0
- package/dist/tab/tab-list.d.ts +55 -0
- package/dist/tab/tab-list.d.ts.map +1 -0
- package/dist/tab/tab-list.js +71 -0
- package/dist/tab/tab-list.js.map +1 -0
- package/dist/tab/tab-panel.d.ts +122 -0
- package/dist/tab/tab-panel.d.ts.map +1 -0
- package/dist/tab/tab-panel.js +169 -0
- package/dist/tab/tab-panel.js.map +1 -0
- package/dist/tab/tab-provider.d.ts +26 -0
- package/dist/tab/tab-provider.d.ts.map +1 -0
- package/dist/tab/tab-provider.js +30 -0
- package/dist/tab/tab-provider.js.map +1 -0
- package/dist/tab/tab-store.d.ts +77 -0
- package/dist/tab/tab-store.d.ts.map +1 -0
- package/dist/tab/tab-store.js +55 -0
- package/dist/tab/tab-store.js.map +1 -0
- package/dist/tab/tab.d.ts +56 -0
- package/dist/tab/tab.d.ts.map +1 -0
- package/dist/tab/tab.js +115 -0
- package/dist/tab/tab.js.map +1 -0
- package/dist/tag/tag-context.d.ts +26 -0
- package/dist/tag/tag-context.d.ts.map +1 -0
- package/dist/tag/tag-context.js +30 -0
- package/dist/tag/tag-context.js.map +1 -0
- package/dist/tag/tag-input.d.ts +126 -0
- package/dist/tag/tag-input.d.ts.map +1 -0
- package/dist/tag/tag-input.js +162 -0
- package/dist/tag/tag-input.js.map +1 -0
- package/dist/tag/tag-list-label.d.ts +59 -0
- package/dist/tag/tag-list-label.d.ts.map +1 -0
- package/dist/tag/tag-list-label.js +62 -0
- package/dist/tag/tag-list-label.js.map +1 -0
- package/dist/tag/tag-list.d.ts +62 -0
- package/dist/tag/tag-list.d.ts.map +1 -0
- package/dist/tag/tag-list.js +127 -0
- package/dist/tag/tag-list.js.map +1 -0
- package/dist/tag/tag-provider.d.ts +34 -0
- package/dist/tag/tag-provider.d.ts.map +1 -0
- package/dist/tag/tag-provider.js +38 -0
- package/dist/tag/tag-provider.js.map +1 -0
- package/dist/tag/tag-remove.d.ts +71 -0
- package/dist/tag/tag-remove.d.ts.map +1 -0
- package/dist/tag/tag-remove.js +102 -0
- package/dist/tag/tag-remove.js.map +1 -0
- package/dist/tag/tag-store.d.ts +2 -0
- package/dist/tag/tag-store.js +38 -0
- package/dist/tag/tag-store.js.map +1 -0
- package/dist/tag/tag-value.d.ts +49 -0
- package/dist/tag/tag-value.d.ts.map +1 -0
- package/dist/tag/tag-value.js +40 -0
- package/dist/tag/tag-value.js.map +1 -0
- package/dist/tag/tag-values.d.ts +60 -0
- package/dist/tag/tag-values.d.ts.map +1 -0
- package/dist/tag/tag-values.js +50 -0
- package/dist/tag/tag-values.js.map +1 -0
- package/dist/tag/tag.d.ts +78 -0
- package/dist/tag/tag.d.ts.map +1 -0
- package/dist/tag/tag.js +114 -0
- package/dist/tag/tag.js.map +1 -0
- package/dist/tag/utils.d.ts +5 -0
- package/dist/tag/utils.d.ts.map +1 -0
- package/dist/tag/utils.js +15 -0
- package/dist/tag/utils.js.map +1 -0
- package/dist/tag-store-xANOvuGo.d.ts +49 -0
- package/dist/tag-store-xANOvuGo.d.ts.map +1 -0
- package/dist/toolbar/toolbar-container.d.ts +41 -0
- package/dist/toolbar/toolbar-container.d.ts.map +1 -0
- package/dist/toolbar/toolbar-container.js +53 -0
- package/dist/toolbar/toolbar-container.js.map +1 -0
- package/dist/toolbar/toolbar-context.d.ts +24 -0
- package/dist/toolbar/toolbar-context.d.ts.map +1 -0
- package/dist/toolbar/toolbar-context.js +27 -0
- package/dist/toolbar/toolbar-context.js.map +1 -0
- package/dist/toolbar/toolbar-input.d.ts +39 -0
- package/dist/toolbar/toolbar-input.d.ts.map +1 -0
- package/dist/toolbar/toolbar-input.js +47 -0
- package/dist/toolbar/toolbar-input.js.map +1 -0
- package/dist/toolbar/toolbar-item.d.ts +47 -0
- package/dist/toolbar/toolbar-item.d.ts.map +1 -0
- package/dist/toolbar/toolbar-item.js +45 -0
- package/dist/toolbar/toolbar-item.js.map +1 -0
- package/dist/toolbar/toolbar-provider.d.ts +26 -0
- package/dist/toolbar/toolbar-provider.d.ts.map +1 -0
- package/dist/toolbar/toolbar-provider.js +30 -0
- package/dist/toolbar/toolbar-provider.js.map +1 -0
- package/dist/toolbar/toolbar-separator.d.ts +51 -0
- package/dist/toolbar/toolbar-separator.d.ts.map +1 -0
- package/dist/toolbar/toolbar-separator.js +49 -0
- package/dist/toolbar/toolbar-separator.js.map +1 -0
- package/dist/toolbar/toolbar-store.d.ts +2 -0
- package/dist/toolbar/toolbar-store.js +31 -0
- package/dist/toolbar/toolbar-store.js.map +1 -0
- package/dist/toolbar/toolbar.d.ts +50 -0
- package/dist/toolbar/toolbar.d.ts.map +1 -0
- package/dist/toolbar/toolbar.js +66 -0
- package/dist/toolbar/toolbar.js.map +1 -0
- package/dist/toolbar-store-Cs-9cGHx.d.ts +30 -0
- package/dist/toolbar-store-Cs-9cGHx.d.ts.map +1 -0
- package/dist/tooltip/tooltip-anchor.d.ts +53 -0
- package/dist/tooltip/tooltip-anchor.d.ts.map +1 -0
- package/dist/tooltip/tooltip-anchor.js +121 -0
- package/dist/tooltip/tooltip-anchor.js.map +1 -0
- package/dist/tooltip/tooltip-arrow.d.ts +54 -0
- package/dist/tooltip/tooltip-arrow.d.ts.map +1 -0
- package/dist/tooltip/tooltip-arrow.js +54 -0
- package/dist/tooltip/tooltip-arrow.js.map +1 -0
- package/dist/tooltip/tooltip-context.d.ts +24 -0
- package/dist/tooltip/tooltip-context.d.ts.map +1 -0
- package/dist/tooltip/tooltip-context.js +27 -0
- package/dist/tooltip/tooltip-context.js.map +1 -0
- package/dist/tooltip/tooltip-provider.d.ts +23 -0
- package/dist/tooltip/tooltip-provider.d.ts.map +1 -0
- package/dist/tooltip/tooltip-provider.js +27 -0
- package/dist/tooltip/tooltip-provider.js.map +1 -0
- package/dist/tooltip/tooltip-store.d.ts +30 -0
- package/dist/tooltip/tooltip-store.d.ts.map +1 -0
- package/dist/tooltip/tooltip-store.js +30 -0
- package/dist/tooltip/tooltip-store.js.map +1 -0
- package/dist/tooltip/tooltip.d.ts +61 -0
- package/dist/tooltip/tooltip.d.ts.map +1 -0
- package/dist/tooltip/tooltip.js +81 -0
- package/dist/tooltip/tooltip.js.map +1 -0
- package/dist/utils-DUF1aMov.d.ts +5 -0
- package/dist/utils-DUF1aMov.d.ts.map +1 -0
- package/dist/visually-hidden/visually-hidden.d.ts +37 -0
- package/dist/visually-hidden/visually-hidden.d.ts.map +1 -0
- package/dist/visually-hidden/visually-hidden.js +53 -0
- package/dist/visually-hidden/visually-hidden.js.map +1 -0
- package/license +21 -0
- package/package.json +936 -0
- package/readme.md +19 -0
- package/src/button/button.tsx +76 -0
- package/src/checkbox/checkbox-check.tsx +116 -0
- package/src/checkbox/checkbox-checked-context.tsx +3 -0
- package/src/checkbox/checkbox-context.tsx +27 -0
- package/src/checkbox/checkbox-provider.tsx +53 -0
- package/src/checkbox/checkbox-store.ts +76 -0
- package/src/checkbox/checkbox.tsx +271 -0
- package/src/collection/collection-context.tsx +27 -0
- package/src/collection/collection-item-offscreen.tsx +157 -0
- package/src/collection/collection-item.tsx +136 -0
- package/src/collection/collection-provider.tsx +47 -0
- package/src/collection/collection-renderer.tsx +994 -0
- package/src/collection/collection-store.ts +84 -0
- package/src/collection/collection.tsx +93 -0
- package/src/combobox/combobox-cancel.tsx +153 -0
- package/src/combobox/combobox-context.tsx +49 -0
- package/src/combobox/combobox-disclosure.tsx +162 -0
- package/src/combobox/combobox-group-label.tsx +74 -0
- package/src/combobox/combobox-group.tsx +100 -0
- package/src/combobox/combobox-item-check.tsx +83 -0
- package/src/combobox/combobox-item-offscreen.tsx +87 -0
- package/src/combobox/combobox-item-value.tsx +231 -0
- package/src/combobox/combobox-item.tsx +363 -0
- package/src/combobox/combobox-label.tsx +89 -0
- package/src/combobox/combobox-list.tsx +176 -0
- package/src/combobox/combobox-popover.tsx +179 -0
- package/src/combobox/combobox-provider.tsx +50 -0
- package/src/combobox/combobox-row.tsx +102 -0
- package/src/combobox/combobox-separator.tsx +90 -0
- package/src/combobox/combobox-store.ts +168 -0
- package/src/combobox/combobox-value.tsx +63 -0
- package/src/combobox/combobox.tsx +900 -0
- package/src/command/command.tsx +215 -0
- package/src/composite/composite-container.tsx +278 -0
- package/src/composite/composite-context.tsx +53 -0
- package/src/composite/composite-group-label.tsx +73 -0
- package/src/composite/composite-group.tsx +77 -0
- package/src/composite/composite-hover.tsx +230 -0
- package/src/composite/composite-input.tsx +147 -0
- package/src/composite/composite-item-offscreen.tsx +112 -0
- package/src/composite/composite-item.tsx +567 -0
- package/src/composite/composite-overflow-disclosure.ts +117 -0
- package/src/composite/composite-overflow-store.ts +61 -0
- package/src/composite/composite-overflow.tsx +123 -0
- package/src/composite/composite-provider.tsx +47 -0
- package/src/composite/composite-renderer.tsx +231 -0
- package/src/composite/composite-row.tsx +133 -0
- package/src/composite/composite-separator.tsx +96 -0
- package/src/composite/composite-store.ts +101 -0
- package/src/composite/composite-typeahead.tsx +246 -0
- package/src/composite/composite.tsx +592 -0
- package/src/composite/utils.ts +121 -0
- package/src/dialog/dialog-backdrop.tsx +71 -0
- package/src/dialog/dialog-context.tsx +43 -0
- package/src/dialog/dialog-description.tsx +86 -0
- package/src/dialog/dialog-disclosure.tsx +84 -0
- package/src/dialog/dialog-dismiss.tsx +113 -0
- package/src/dialog/dialog-heading.tsx +88 -0
- package/src/dialog/dialog-provider.tsx +28 -0
- package/src/dialog/dialog-store.ts +51 -0
- package/src/dialog/dialog.tsx +866 -0
- package/src/dialog/utils/disable-accessibility-tree-outside.ts +30 -0
- package/src/dialog/utils/disable-tree.ts +81 -0
- package/src/dialog/utils/is-backdrop.ts +12 -0
- package/src/dialog/utils/is-focus-trap.ts +11 -0
- package/src/dialog/utils/mark-tree-outside.ts +67 -0
- package/src/dialog/utils/orchestrate.ts +123 -0
- package/src/dialog/utils/prepend-hidden-dismiss.ts +35 -0
- package/src/dialog/utils/supports-inert.ts +5 -0
- package/src/dialog/utils/use-hide-on-interact-outside.ts +181 -0
- package/src/dialog/utils/use-nested-dialogs.tsx +55 -0
- package/src/dialog/utils/use-prevent-body-scroll.ts +86 -0
- package/src/dialog/utils/use-previous-mouse-down-ref.ts +19 -0
- package/src/dialog/utils/use-root-dialog.ts +49 -0
- package/src/dialog/utils/walk-tree-outside.ts +85 -0
- package/src/disclosure/disclosure-content.tsx +344 -0
- package/src/disclosure/disclosure-context.tsx +27 -0
- package/src/disclosure/disclosure-provider.tsx +29 -0
- package/src/disclosure/disclosure-store.ts +85 -0
- package/src/disclosure/disclosure.tsx +144 -0
- package/src/focus-trap/focus-trap-region.tsx +112 -0
- package/src/focus-trap/focus-trap.tsx +60 -0
- package/src/focusable/focusable-container.tsx +75 -0
- package/src/focusable/focusable-context.tsx +3 -0
- package/src/focusable/focusable.tsx +559 -0
- package/src/form/form-checkbox.tsx +106 -0
- package/src/form/form-context.tsx +34 -0
- package/src/form/form-control.tsx +227 -0
- package/src/form/form-description.tsx +142 -0
- package/src/form/form-error.tsx +156 -0
- package/src/form/form-field.tsx +94 -0
- package/src/form/form-group-label.tsx +79 -0
- package/src/form/form-group.tsx +79 -0
- package/src/form/form-input.tsx +104 -0
- package/src/form/form-label.tsx +192 -0
- package/src/form/form-provider.tsx +49 -0
- package/src/form/form-push.tsx +200 -0
- package/src/form/form-radio-group.tsx +93 -0
- package/src/form/form-radio.tsx +122 -0
- package/src/form/form-remove.tsx +198 -0
- package/src/form/form-reset.tsx +85 -0
- package/src/form/form-store.ts +195 -0
- package/src/form/form-submit.tsx +93 -0
- package/src/form/form.tsx +249 -0
- package/src/group/group-label-context.tsx +6 -0
- package/src/group/group-label.tsx +75 -0
- package/src/group/group.tsx +69 -0
- package/src/heading/heading-context.tsx +4 -0
- package/src/heading/heading-level.tsx +42 -0
- package/src/heading/heading.tsx +81 -0
- package/src/heading/utils.ts +1 -0
- package/src/hovercard/hovercard-anchor.tsx +195 -0
- package/src/hovercard/hovercard-arrow.tsx +74 -0
- package/src/hovercard/hovercard-context.tsx +34 -0
- package/src/hovercard/hovercard-description.tsx +69 -0
- package/src/hovercard/hovercard-disclosure.tsx +196 -0
- package/src/hovercard/hovercard-dismiss.tsx +70 -0
- package/src/hovercard/hovercard-heading.tsx +68 -0
- package/src/hovercard/hovercard-provider.tsx +29 -0
- package/src/hovercard/hovercard-store.ts +58 -0
- package/src/hovercard/hovercard.tsx +445 -0
- package/src/hovercard/utils/__tests__/polygon-test.ts +66 -0
- package/src/hovercard/utils/debug-polygon.ts +37 -0
- package/src/hovercard/utils/polygon.ts +96 -0
- package/src/index.ts +1 -0
- package/src/menu/menu-arrow.tsx +69 -0
- package/src/menu/menu-bar-provider.tsx +44 -0
- package/src/menu/menu-bar-store.ts +54 -0
- package/src/menu/menu-bar.tsx +84 -0
- package/src/menu/menu-button-arrow.tsx +85 -0
- package/src/menu/menu-button.tsx +338 -0
- package/src/menu/menu-context.tsx +76 -0
- package/src/menu/menu-description.tsx +67 -0
- package/src/menu/menu-dismiss.tsx +69 -0
- package/src/menu/menu-group-label.tsx +72 -0
- package/src/menu/menu-group.tsx +76 -0
- package/src/menu/menu-heading.tsx +67 -0
- package/src/menu/menu-item-check.tsx +79 -0
- package/src/menu/menu-item-checkbox.tsx +227 -0
- package/src/menu/menu-item-radio.tsx +198 -0
- package/src/menu/menu-item.tsx +223 -0
- package/src/menu/menu-list.tsx +230 -0
- package/src/menu/menu-provider.tsx +42 -0
- package/src/menu/menu-separator.tsx +79 -0
- package/src/menu/menu-store.ts +155 -0
- package/src/menu/menu.tsx +274 -0
- package/src/menubar/menubar-context.tsx +39 -0
- package/src/menubar/menubar-provider.tsx +43 -0
- package/src/menubar/menubar-store.ts +48 -0
- package/src/menubar/menubar.tsx +145 -0
- package/src/popover/popover-anchor.tsx +74 -0
- package/src/popover/popover-arrow-path.ts +21 -0
- package/src/popover/popover-arrow.tsx +228 -0
- package/src/popover/popover-context.tsx +34 -0
- package/src/popover/popover-description.tsx +69 -0
- package/src/popover/popover-disclosure-arrow.tsx +135 -0
- package/src/popover/popover-disclosure.tsx +101 -0
- package/src/popover/popover-dismiss.tsx +70 -0
- package/src/popover/popover-heading.tsx +68 -0
- package/src/popover/popover-provider.tsx +29 -0
- package/src/popover/popover-store.ts +53 -0
- package/src/popover/popover.tsx +649 -0
- package/src/portal/portal-context.tsx +19 -0
- package/src/portal/portal.tsx +493 -0
- package/src/radio/radio-context.tsx +34 -0
- package/src/radio/radio-group.tsx +103 -0
- package/src/radio/radio-provider.tsx +29 -0
- package/src/radio/radio-store.ts +64 -0
- package/src/radio/radio.tsx +242 -0
- package/src/role/role.tsx +88 -0
- package/src/select/select-arrow.tsx +80 -0
- package/src/select/select-context.tsx +46 -0
- package/src/select/select-dismiss.tsx +79 -0
- package/src/select/select-group-label.tsx +78 -0
- package/src/select/select-group.tsx +79 -0
- package/src/select/select-heading.tsx +98 -0
- package/src/select/select-item-check.tsx +80 -0
- package/src/select/select-item-offscreen.tsx +59 -0
- package/src/select/select-item.tsx +294 -0
- package/src/select/select-label.tsx +117 -0
- package/src/select/select-list.tsx +251 -0
- package/src/select/select-popover.tsx +67 -0
- package/src/select/select-provider.tsx +45 -0
- package/src/select/select-renderer.tsx +160 -0
- package/src/select/select-row.tsx +97 -0
- package/src/select/select-separator.tsx +80 -0
- package/src/select/select-store.ts +139 -0
- package/src/select/select-value.tsx +108 -0
- package/src/select/select.tsx +371 -0
- package/src/separator/separator.tsx +54 -0
- package/src/store.ts +1 -0
- package/src/tab/tab-context.tsx +34 -0
- package/src/tab/tab-list.tsx +120 -0
- package/src/tab/tab-panel.tsx +314 -0
- package/src/tab/tab-provider.tsx +30 -0
- package/src/tab/tab-store.ts +124 -0
- package/src/tab/tab.tsx +208 -0
- package/src/tag/tag-context.tsx +40 -0
- package/src/tag/tag-input.tsx +321 -0
- package/src/tag/tag-list-label.tsx +102 -0
- package/src/tag/tag-list.tsx +210 -0
- package/src/tag/tag-provider.tsx +38 -0
- package/src/tag/tag-remove.tsx +174 -0
- package/src/tag/tag-store.ts +72 -0
- package/src/tag/tag-value.tsx +63 -0
- package/src/tag/tag-values.tsx +74 -0
- package/src/tag/tag.tsx +199 -0
- package/src/tag/utils.ts +12 -0
- package/src/toolbar/toolbar-container.tsx +67 -0
- package/src/toolbar/toolbar-context.tsx +34 -0
- package/src/toolbar/toolbar-input.tsx +64 -0
- package/src/toolbar/toolbar-item.tsx +72 -0
- package/src/toolbar/toolbar-provider.tsx +32 -0
- package/src/toolbar/toolbar-separator.tsx +71 -0
- package/src/toolbar/toolbar-store.ts +52 -0
- package/src/toolbar/toolbar.tsx +119 -0
- package/src/tooltip/tooltip-anchor.tsx +210 -0
- package/src/tooltip/tooltip-arrow.tsx +84 -0
- package/src/tooltip/tooltip-context.tsx +34 -0
- package/src/tooltip/tooltip-provider.tsx +29 -0
- package/src/tooltip/tooltip-store.ts +53 -0
- package/src/tooltip/tooltip.tsx +153 -0
- package/src/visually-hidden/visually-hidden.tsx +67 -0
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
import { useStoreState } from "@ariakit/react-store";
|
|
2
|
+
import {
|
|
3
|
+
useBooleanEvent,
|
|
4
|
+
useEvent,
|
|
5
|
+
useMergeRefs,
|
|
6
|
+
useSafeLayoutEffect,
|
|
7
|
+
useTransactionState,
|
|
8
|
+
useWrapElement,
|
|
9
|
+
createElement,
|
|
10
|
+
createHook,
|
|
11
|
+
forwardRef,
|
|
12
|
+
} from "@ariakit/react-utils";
|
|
13
|
+
import type { Props } from "@ariakit/react-utils";
|
|
14
|
+
import {
|
|
15
|
+
flatten2DArray,
|
|
16
|
+
reverseArray,
|
|
17
|
+
getActiveElement,
|
|
18
|
+
isTextField,
|
|
19
|
+
fireBlurEvent,
|
|
20
|
+
fireKeyboardEvent,
|
|
21
|
+
isSelfTarget,
|
|
22
|
+
focusIntoView,
|
|
23
|
+
hasFocus,
|
|
24
|
+
invariant,
|
|
25
|
+
} from "@ariakit/utils";
|
|
26
|
+
import type { BooleanOrCallback } from "@ariakit/utils";
|
|
27
|
+
import type {
|
|
28
|
+
ElementType,
|
|
29
|
+
FocusEvent,
|
|
30
|
+
KeyboardEventHandler,
|
|
31
|
+
KeyboardEvent as ReactKeyboardEvent,
|
|
32
|
+
RefObject,
|
|
33
|
+
} from "react";
|
|
34
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
35
|
+
import type { FocusableOptions } from "../focusable/focusable.tsx";
|
|
36
|
+
import { useFocusable } from "../focusable/focusable.tsx";
|
|
37
|
+
import {
|
|
38
|
+
CompositeContextProvider,
|
|
39
|
+
useCompositeProviderContext,
|
|
40
|
+
} from "./composite-context.tsx";
|
|
41
|
+
import type { CompositeStore, CompositeStoreItem } from "./composite-store.ts";
|
|
42
|
+
import {
|
|
43
|
+
findFirstEnabledItem,
|
|
44
|
+
getEnabledItem,
|
|
45
|
+
groupItemsByRows,
|
|
46
|
+
isItem,
|
|
47
|
+
silentlyFocused,
|
|
48
|
+
} from "./utils.ts";
|
|
49
|
+
|
|
50
|
+
const TagName = "div" satisfies ElementType;
|
|
51
|
+
type TagName = typeof TagName;
|
|
52
|
+
type HTMLType = HTMLElementTagNameMap[TagName];
|
|
53
|
+
|
|
54
|
+
function isGrid(items: CompositeStoreItem[]) {
|
|
55
|
+
return items.some((item) => !!item.rowId);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function isPrintableKey(event: KeyboardEvent | ReactKeyboardEvent): boolean {
|
|
59
|
+
const target = event.target as Element | null;
|
|
60
|
+
if (target && !isTextField(target)) return false;
|
|
61
|
+
return event.key.length === 1 && !event.ctrlKey && !event.metaKey;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function isModifierKey(event: KeyboardEvent | ReactKeyboardEvent) {
|
|
65
|
+
return (
|
|
66
|
+
event.key === "Shift" ||
|
|
67
|
+
event.key === "Control" ||
|
|
68
|
+
event.key === "Alt" ||
|
|
69
|
+
event.key === "Meta"
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function useKeyboardEventProxy(
|
|
74
|
+
store: CompositeStore,
|
|
75
|
+
onKeyboardEvent?: KeyboardEventHandler,
|
|
76
|
+
previousElementRef?: RefObject<HTMLElement | null>,
|
|
77
|
+
) {
|
|
78
|
+
return useEvent((event: ReactKeyboardEvent) => {
|
|
79
|
+
onKeyboardEvent?.(event);
|
|
80
|
+
if (event.defaultPrevented) return;
|
|
81
|
+
if (event.isPropagationStopped()) return;
|
|
82
|
+
if (!isSelfTarget(event)) return;
|
|
83
|
+
if (isModifierKey(event)) return;
|
|
84
|
+
if (isPrintableKey(event)) return;
|
|
85
|
+
const state = store.getState();
|
|
86
|
+
const activeElement = getEnabledItem(store, state.activeId)?.element;
|
|
87
|
+
if (!activeElement) return;
|
|
88
|
+
const { view, ...eventInit } = event;
|
|
89
|
+
const previousElement = previousElementRef?.current;
|
|
90
|
+
// If the active item element is not the previous element, this means that
|
|
91
|
+
// it hasn't been focused (for example, when using composite hover). So we
|
|
92
|
+
// focus on it before firing the keyboard event.
|
|
93
|
+
if (activeElement !== previousElement) {
|
|
94
|
+
activeElement.focus();
|
|
95
|
+
}
|
|
96
|
+
if (!fireKeyboardEvent(activeElement, event.type, eventInit)) {
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
}
|
|
99
|
+
// The event will be triggered on the composite item and then propagated up
|
|
100
|
+
// to this composite element again, so we can pretend that it wasn't called
|
|
101
|
+
// on this component in the first place.
|
|
102
|
+
if (event.currentTarget.contains(activeElement)) {
|
|
103
|
+
event.stopPropagation();
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function findFirstEnabledItemInTheLastRow(items: CompositeStoreItem[]) {
|
|
109
|
+
return findFirstEnabledItem(
|
|
110
|
+
flatten2DArray(reverseArray(groupItemsByRows(items))),
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// When virtual focus briefly moves DOM focus from a text input to an
|
|
115
|
+
// item and back, browsers reset the input's internal scroll position
|
|
116
|
+
// (e.g., scrollLeft). This helper preserves and restores scroll across
|
|
117
|
+
// such focus transitions. Only applies to text field base elements to
|
|
118
|
+
// avoid undoing intentional scrollIntoView on scrollable containers.
|
|
119
|
+
function withBaseScrollPreserved(store: CompositeStore, callback: () => void) {
|
|
120
|
+
const { virtualFocus, baseElement } = store.getState();
|
|
121
|
+
if (!virtualFocus || !baseElement || !isTextField(baseElement)) {
|
|
122
|
+
callback();
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const savedScrollLeft = baseElement.scrollLeft;
|
|
126
|
+
const savedScrollTop = baseElement.scrollTop;
|
|
127
|
+
callback();
|
|
128
|
+
baseElement.scrollLeft = savedScrollLeft;
|
|
129
|
+
baseElement.scrollTop = savedScrollTop;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function useScheduleFocus(store: CompositeStore) {
|
|
133
|
+
const [scheduled, setScheduled] = useState(false);
|
|
134
|
+
const schedule = useCallback(() => setScheduled(true), []);
|
|
135
|
+
const activeItem = useStoreState(store, (state) =>
|
|
136
|
+
getEnabledItem(store, state.activeId),
|
|
137
|
+
);
|
|
138
|
+
useEffect(() => {
|
|
139
|
+
const activeElement = activeItem?.element;
|
|
140
|
+
if (!scheduled) return;
|
|
141
|
+
if (!activeElement) return;
|
|
142
|
+
setScheduled(false);
|
|
143
|
+
withBaseScrollPreserved(store, () => {
|
|
144
|
+
activeElement.focus({ preventScroll: true });
|
|
145
|
+
});
|
|
146
|
+
}, [store, activeItem, scheduled]);
|
|
147
|
+
return schedule;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Returns props to create a `Composite` component.
|
|
152
|
+
* @see https://ariakit.com/components/composite
|
|
153
|
+
* @example
|
|
154
|
+
* ```jsx
|
|
155
|
+
* const store = useCompositeStore();
|
|
156
|
+
* const props = useComposite({ store });
|
|
157
|
+
* <Role {...props}>
|
|
158
|
+
* <CompositeItem>Item 1</CompositeItem>
|
|
159
|
+
* <CompositeItem>Item 2</CompositeItem>
|
|
160
|
+
* </Role>
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
export const useComposite = createHook<TagName, CompositeOptions>(
|
|
164
|
+
function useComposite({
|
|
165
|
+
store,
|
|
166
|
+
composite = true,
|
|
167
|
+
focusOnMove = composite,
|
|
168
|
+
moveOnKeyPress = true,
|
|
169
|
+
...props
|
|
170
|
+
}) {
|
|
171
|
+
const context = useCompositeProviderContext();
|
|
172
|
+
store = store || context;
|
|
173
|
+
|
|
174
|
+
invariant(
|
|
175
|
+
store,
|
|
176
|
+
process.env.NODE_ENV !== "production" &&
|
|
177
|
+
"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.",
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
const ref = useRef<HTMLType>(null);
|
|
181
|
+
const previousElementRef = useRef<HTMLElement | null>(null);
|
|
182
|
+
const scheduleFocus = useScheduleFocus(store);
|
|
183
|
+
const moves = useStoreState(store, "moves");
|
|
184
|
+
|
|
185
|
+
const [, setBaseElement] = useTransactionState(
|
|
186
|
+
composite ? store.setBaseElement : null,
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
// Focus on the active item element.
|
|
190
|
+
useEffect(() => {
|
|
191
|
+
if (!store) return;
|
|
192
|
+
if (!moves) return;
|
|
193
|
+
if (!composite) return;
|
|
194
|
+
if (!focusOnMove) return;
|
|
195
|
+
const { activeId } = store.getState();
|
|
196
|
+
const itemElement = getEnabledItem(store, activeId)?.element;
|
|
197
|
+
if (!itemElement) return;
|
|
198
|
+
withBaseScrollPreserved(store, () => focusIntoView(itemElement));
|
|
199
|
+
}, [store, moves, composite, focusOnMove]);
|
|
200
|
+
|
|
201
|
+
// If composite.move(null) has been called, the composite container (this
|
|
202
|
+
// element) should receive focus.
|
|
203
|
+
useSafeLayoutEffect(() => {
|
|
204
|
+
if (!store) return;
|
|
205
|
+
if (!moves) return;
|
|
206
|
+
if (!composite) return;
|
|
207
|
+
const { baseElement, activeId } = store.getState();
|
|
208
|
+
const isSelfAcive = activeId === null;
|
|
209
|
+
if (!isSelfAcive) return;
|
|
210
|
+
if (!baseElement) return;
|
|
211
|
+
const previousElement = previousElementRef.current;
|
|
212
|
+
// We have to clean up the previous element ref so an additional blur
|
|
213
|
+
// event is not fired on it, for example, when looping through items while
|
|
214
|
+
// includesBaseElement is true.
|
|
215
|
+
previousElementRef.current = null;
|
|
216
|
+
if (previousElement) {
|
|
217
|
+
// We fire a blur event on the previous active item before moving focus
|
|
218
|
+
// to the composite element so the events are dispatched in the right
|
|
219
|
+
// order (blur, then focus).
|
|
220
|
+
fireBlurEvent(previousElement, { relatedTarget: baseElement });
|
|
221
|
+
}
|
|
222
|
+
if (!hasFocus(baseElement)) {
|
|
223
|
+
baseElement.focus();
|
|
224
|
+
}
|
|
225
|
+
}, [store, moves, composite]);
|
|
226
|
+
|
|
227
|
+
const activeId = useStoreState(store, "activeId");
|
|
228
|
+
const virtualFocus = useStoreState(store, "virtualFocus");
|
|
229
|
+
|
|
230
|
+
// At this point, if the activeId has changed and we still have a
|
|
231
|
+
// previousElement, this means that the previousElement hasn't been blurred,
|
|
232
|
+
// so we do it here. This will be the scenario when moving through items, in
|
|
233
|
+
// which case the onFocusCapture below event will stop propagation.
|
|
234
|
+
useSafeLayoutEffect(() => {
|
|
235
|
+
if (!store) return;
|
|
236
|
+
if (!composite) return;
|
|
237
|
+
if (!virtualFocus) return;
|
|
238
|
+
const previousElement = previousElementRef.current;
|
|
239
|
+
previousElementRef.current = null;
|
|
240
|
+
if (!previousElement) return;
|
|
241
|
+
const activeElement = getEnabledItem(store, activeId)?.element;
|
|
242
|
+
const relatedTarget = activeElement || getActiveElement(previousElement);
|
|
243
|
+
if (relatedTarget === previousElement) return;
|
|
244
|
+
fireBlurEvent(previousElement, { relatedTarget });
|
|
245
|
+
}, [store, activeId, virtualFocus, composite]);
|
|
246
|
+
|
|
247
|
+
const onKeyDownCapture = useKeyboardEventProxy(
|
|
248
|
+
store,
|
|
249
|
+
props.onKeyDownCapture,
|
|
250
|
+
previousElementRef,
|
|
251
|
+
);
|
|
252
|
+
|
|
253
|
+
const onKeyUpCapture = useKeyboardEventProxy(
|
|
254
|
+
store,
|
|
255
|
+
props.onKeyUpCapture,
|
|
256
|
+
previousElementRef,
|
|
257
|
+
);
|
|
258
|
+
|
|
259
|
+
const onFocusCaptureProp = props.onFocusCapture;
|
|
260
|
+
|
|
261
|
+
const onFocusCapture = useEvent((event: FocusEvent<HTMLType>) => {
|
|
262
|
+
onFocusCaptureProp?.(event);
|
|
263
|
+
if (event.defaultPrevented) return;
|
|
264
|
+
if (!store) return;
|
|
265
|
+
const { virtualFocus } = store.getState();
|
|
266
|
+
if (!virtualFocus) return;
|
|
267
|
+
const previousActiveElement = event.relatedTarget as HTMLElement | null;
|
|
268
|
+
const isSilentlyFocused = silentlyFocused(event.currentTarget);
|
|
269
|
+
if (isSelfTarget(event) && isSilentlyFocused) {
|
|
270
|
+
// Composite has been focused as a result of an item receiving focus.
|
|
271
|
+
// The composite item will move focus back to the composite container.
|
|
272
|
+
// In this case, we don't want to propagate this additional event nor
|
|
273
|
+
// call the onFocus handler passed to <Composite onFocus={...} />.
|
|
274
|
+
event.stopPropagation();
|
|
275
|
+
// We keep track of the previous active item element so we can manually
|
|
276
|
+
// fire a blur event on it later when the focus is moved to another item
|
|
277
|
+
// on the onBlurCapture event below.
|
|
278
|
+
previousElementRef.current = previousActiveElement;
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
const onFocusProp = props.onFocus;
|
|
283
|
+
|
|
284
|
+
const onFocus = useEvent((event: FocusEvent<HTMLType>) => {
|
|
285
|
+
onFocusProp?.(event);
|
|
286
|
+
if (event.defaultPrevented) return;
|
|
287
|
+
if (!composite) return;
|
|
288
|
+
if (!store) return;
|
|
289
|
+
const { relatedTarget } = event;
|
|
290
|
+
const { virtualFocus } = store.getState();
|
|
291
|
+
if (virtualFocus) {
|
|
292
|
+
// This means that the composite element has been focused while the
|
|
293
|
+
// composite item has not. For example, by clicking on the composite
|
|
294
|
+
// element without touching any item, or by tabbing into the composite
|
|
295
|
+
// element. In this case, we want to trigger focus on the item, just
|
|
296
|
+
// like it would happen with roving tabindex. When it receives focus,
|
|
297
|
+
// the composite item will move focus back to the composite element.
|
|
298
|
+
if (isSelfTarget(event) && !isItem(store, relatedTarget)) {
|
|
299
|
+
// By queueing a microtask, we ensure the scheduleFocus effect will be
|
|
300
|
+
// triggered after all the other effects that might have changed the
|
|
301
|
+
// active item. This also accounts for when the composite container is
|
|
302
|
+
// focused right after it gets mounted (for example, in a dialog), in
|
|
303
|
+
// which case state.items will not be populated yet.
|
|
304
|
+
queueMicrotask(scheduleFocus);
|
|
305
|
+
}
|
|
306
|
+
} else if (isSelfTarget(event)) {
|
|
307
|
+
// When the roving tabindex composite gets intentionally focused (for
|
|
308
|
+
// example, by clicking directly on it, and not on an item), we make
|
|
309
|
+
// sure to set the activeId to null (which means the composite element
|
|
310
|
+
// itself has focus).
|
|
311
|
+
store.setActiveId(null);
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
const onBlurCaptureProp = props.onBlurCapture;
|
|
316
|
+
|
|
317
|
+
const onBlurCapture = useEvent((event: FocusEvent<HTMLType>) => {
|
|
318
|
+
onBlurCaptureProp?.(event);
|
|
319
|
+
if (event.defaultPrevented) return;
|
|
320
|
+
if (!store) return;
|
|
321
|
+
const { virtualFocus, activeId } = store.getState();
|
|
322
|
+
if (!virtualFocus) return;
|
|
323
|
+
// When virtualFocus is set to true, we move focus from the composite
|
|
324
|
+
// container (this element) to the composite item that is being selected.
|
|
325
|
+
// Then we move focus back to the composite container. This is so we can
|
|
326
|
+
// provide the same API as the roving tabindex method, which means people
|
|
327
|
+
// can attach onFocus/onBlur handlers on the CompositeItem component
|
|
328
|
+
// regardless of whether virtualFocus is set to true or false. This
|
|
329
|
+
// sequence of blurring and focusing on items and on the composite element
|
|
330
|
+
// may be confusing, so we ignore intermediate focus and blur events by
|
|
331
|
+
// stopping their propagation.
|
|
332
|
+
const activeElement = getEnabledItem(store, activeId)?.element;
|
|
333
|
+
const nextActiveElement = event.relatedTarget;
|
|
334
|
+
const nextActiveElementIsItem = isItem(store, nextActiveElement);
|
|
335
|
+
const previousElement = previousElementRef.current;
|
|
336
|
+
previousElementRef.current = null;
|
|
337
|
+
// This is an intermediate blur event: blurring the composite container
|
|
338
|
+
// to focus on an item (nextActiveElement).
|
|
339
|
+
if (isSelfTarget(event) && nextActiveElementIsItem) {
|
|
340
|
+
// The next active element will be the same as the active item in the
|
|
341
|
+
// store in these two scenarios:
|
|
342
|
+
// - Moving focus with keyboard: the state is updated before the blur
|
|
343
|
+
// event is triggered, so here the active item is already pointing to
|
|
344
|
+
// the next active element.
|
|
345
|
+
// - Clicking on the active item with a pointer: this will trigger blur
|
|
346
|
+
// on the composite element and then the next active element will be
|
|
347
|
+
// the same as the active item. Clicking on an item other than the
|
|
348
|
+
// active one doesn't end up here as the activeItem state will be
|
|
349
|
+
// updated only after that.
|
|
350
|
+
if (nextActiveElement === activeElement) {
|
|
351
|
+
// If there's a previous active item and it's not a click action, then
|
|
352
|
+
// we fire a blur event on it so it will work just like if it had DOM
|
|
353
|
+
// focus before (like when using roving tabindex).
|
|
354
|
+
if (previousElement && previousElement !== nextActiveElement) {
|
|
355
|
+
fireBlurEvent(previousElement, event);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// This will be true when the next active element is not the active
|
|
360
|
+
// element, but there's an active item. This will only happen when
|
|
361
|
+
// clicking with a pointer on a different item, when there's already an
|
|
362
|
+
// item selected, in which case activeElement is the item that is
|
|
363
|
+
// getting blurred, and nextActiveElement is the item that is being
|
|
364
|
+
// clicked.
|
|
365
|
+
else if (activeElement) {
|
|
366
|
+
fireBlurEvent(activeElement, event);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
// Finally, if we still have a previousElement, this means that the
|
|
370
|
+
// store is being composed with another composite store and we're moving
|
|
371
|
+
// with keyboard. In this case, the state won't be updated before the
|
|
372
|
+
// blur event. TODO: Test this.
|
|
373
|
+
else if (previousElement) {
|
|
374
|
+
fireBlurEvent(previousElement, event);
|
|
375
|
+
}
|
|
376
|
+
// We want to ignore intermediate blur events, so we stop the
|
|
377
|
+
// propagation of this event.
|
|
378
|
+
event.stopPropagation();
|
|
379
|
+
} else {
|
|
380
|
+
const targetIsItem = isItem(store, event.target);
|
|
381
|
+
// If target is not a composite item, it may be the composite element
|
|
382
|
+
// itself (isSelfTarget) or a tabbable element inside the composite
|
|
383
|
+
// element. This may be triggered by clicking outside of the composite
|
|
384
|
+
// element or by tabbing out of it. In either cases, we want to fire a
|
|
385
|
+
// blur event on the active item.
|
|
386
|
+
if (!targetIsItem && activeElement) {
|
|
387
|
+
fireBlurEvent(activeElement, event);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
|
|
392
|
+
const onKeyDownProp = props.onKeyDown;
|
|
393
|
+
const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);
|
|
394
|
+
|
|
395
|
+
const onKeyDown = useEvent((event: ReactKeyboardEvent<HTMLType>) => {
|
|
396
|
+
onKeyDownProp?.(event);
|
|
397
|
+
// https://github.com/ariakit/ariakit/issues/4388
|
|
398
|
+
if (event.nativeEvent.isComposing) return;
|
|
399
|
+
if (event.defaultPrevented) return;
|
|
400
|
+
if (!store) return;
|
|
401
|
+
if (!isSelfTarget(event)) return;
|
|
402
|
+
const { orientation, renderedItems, activeId } = store.getState();
|
|
403
|
+
const activeItem = getEnabledItem(store, activeId);
|
|
404
|
+
if (activeItem?.element?.isConnected) return;
|
|
405
|
+
const isVertical = orientation !== "horizontal";
|
|
406
|
+
const isHorizontal = orientation !== "vertical";
|
|
407
|
+
const grid = isGrid(renderedItems);
|
|
408
|
+
// If the event is coming from a text field and no item is selected,
|
|
409
|
+
// horizontal keys should perform their default action on the text field
|
|
410
|
+
// instead of moving focus to an item.
|
|
411
|
+
const isHorizontalKey =
|
|
412
|
+
event.key === "ArrowLeft" ||
|
|
413
|
+
event.key === "ArrowRight" ||
|
|
414
|
+
event.key === "Home" ||
|
|
415
|
+
event.key === "End";
|
|
416
|
+
if (isHorizontalKey && isTextField(event.currentTarget)) return;
|
|
417
|
+
const up = () => {
|
|
418
|
+
if (grid) {
|
|
419
|
+
const item = findFirstEnabledItemInTheLastRow(renderedItems);
|
|
420
|
+
return item?.id;
|
|
421
|
+
}
|
|
422
|
+
return store?.last();
|
|
423
|
+
};
|
|
424
|
+
const keyMap = {
|
|
425
|
+
ArrowUp: (grid || isVertical) && up,
|
|
426
|
+
ArrowRight: (grid || isHorizontal) && store.first,
|
|
427
|
+
ArrowDown: (grid || isVertical) && store.first,
|
|
428
|
+
ArrowLeft: (grid || isHorizontal) && store.last,
|
|
429
|
+
Home: store.first,
|
|
430
|
+
End: store.last,
|
|
431
|
+
PageUp: store.first,
|
|
432
|
+
PageDown: store.last,
|
|
433
|
+
};
|
|
434
|
+
const action = keyMap[event.key as keyof typeof keyMap];
|
|
435
|
+
if (action) {
|
|
436
|
+
const id = action();
|
|
437
|
+
if (id !== undefined) {
|
|
438
|
+
if (!moveOnKeyPressProp(event)) return;
|
|
439
|
+
event.preventDefault();
|
|
440
|
+
store.move(id);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
props = useWrapElement(
|
|
446
|
+
props,
|
|
447
|
+
(element) => (
|
|
448
|
+
<CompositeContextProvider value={store}>
|
|
449
|
+
{element}
|
|
450
|
+
</CompositeContextProvider>
|
|
451
|
+
),
|
|
452
|
+
[store],
|
|
453
|
+
);
|
|
454
|
+
|
|
455
|
+
const activeDescendant = useStoreState(store, (state) => {
|
|
456
|
+
if (!store) return;
|
|
457
|
+
if (!composite) return;
|
|
458
|
+
if (!state.virtualFocus) return;
|
|
459
|
+
return getEnabledItem(store, state.activeId)?.id;
|
|
460
|
+
});
|
|
461
|
+
|
|
462
|
+
props = {
|
|
463
|
+
"aria-activedescendant": activeDescendant,
|
|
464
|
+
...props,
|
|
465
|
+
ref: useMergeRefs(ref, setBaseElement, props.ref),
|
|
466
|
+
onKeyDownCapture,
|
|
467
|
+
onKeyUpCapture,
|
|
468
|
+
onFocusCapture,
|
|
469
|
+
onFocus,
|
|
470
|
+
onBlurCapture,
|
|
471
|
+
onKeyDown,
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
const focusable = useStoreState(
|
|
475
|
+
store,
|
|
476
|
+
(state) => composite && (state.virtualFocus || state.activeId === null),
|
|
477
|
+
);
|
|
478
|
+
|
|
479
|
+
props = useFocusable({ focusable, ...props });
|
|
480
|
+
|
|
481
|
+
return props;
|
|
482
|
+
},
|
|
483
|
+
);
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Renders a composite widget.
|
|
487
|
+
* @see https://ariakit.com/components/composite
|
|
488
|
+
* @example
|
|
489
|
+
* ```jsx
|
|
490
|
+
* const composite = useCompositeStore();
|
|
491
|
+
* <Composite store={composite}>
|
|
492
|
+
* <CompositeItem>Item 1</CompositeItem>
|
|
493
|
+
* <CompositeItem>Item 2</CompositeItem>
|
|
494
|
+
* </Composite>
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
export const Composite = forwardRef(function Composite(props: CompositeProps) {
|
|
498
|
+
const htmlProps = useComposite(props);
|
|
499
|
+
return createElement(TagName, htmlProps);
|
|
500
|
+
});
|
|
501
|
+
|
|
502
|
+
export interface CompositeOptions<
|
|
503
|
+
T extends ElementType = TagName,
|
|
504
|
+
> extends FocusableOptions<T> {
|
|
505
|
+
/**
|
|
506
|
+
* Object returned by the
|
|
507
|
+
* [`useCompositeStore`](https://ariakit.com/reference/use-composite-store)
|
|
508
|
+
* hook. If not provided, the closest
|
|
509
|
+
* [`CompositeProvider`](https://ariakit.com/reference/composite-provider)
|
|
510
|
+
* component's context will be used.
|
|
511
|
+
*/
|
|
512
|
+
store?: CompositeStore;
|
|
513
|
+
/**
|
|
514
|
+
* Determines if the component should act as a composite widget. This prop
|
|
515
|
+
* needs to be set to `false` when merging various composite widgets where
|
|
516
|
+
* only one should function in that manner.
|
|
517
|
+
*
|
|
518
|
+
* If disabled, this component will stop managing focus and keyboard
|
|
519
|
+
* navigation for its items and itself. Additionally, composite ARIA
|
|
520
|
+
* attributes won't be applied. These responsibilities should be taken over by
|
|
521
|
+
* another composite component.
|
|
522
|
+
*
|
|
523
|
+
* **Note**: In most cases, this prop doesn't need to be set manually. For
|
|
524
|
+
* example, when composing [Menu with
|
|
525
|
+
* Combobox](https://ariakit.com/examples/menu-combobox) or [Select with
|
|
526
|
+
* Combobox](https://ariakit.com/examples/select-combobox), this prop will be
|
|
527
|
+
* set to `false` automatically on the
|
|
528
|
+
* [`Menu`](https://ariakit.com/reference/menu) and
|
|
529
|
+
* [`SelectPopover`](https://ariakit.com/reference/select-popover) components
|
|
530
|
+
* so the [`Combobox`](https://ariakit.com/reference/combobox) component can
|
|
531
|
+
* take over the composite widget responsibilities.
|
|
532
|
+
*
|
|
533
|
+
* Live examples:
|
|
534
|
+
* - [Menu with Combobox](https://ariakit.com/examples/menu-combobox)
|
|
535
|
+
* - [Select with Combobox](https://ariakit.com/examples/select-combobox)
|
|
536
|
+
* @default true
|
|
537
|
+
*/
|
|
538
|
+
composite?: boolean;
|
|
539
|
+
/**
|
|
540
|
+
* Determines whether the composite widget should move focus to an item when
|
|
541
|
+
* arrow keys are pressed, given that the composite element is focused and
|
|
542
|
+
* there's no active item.
|
|
543
|
+
*
|
|
544
|
+
* **Note**: To entirely disable focus moving within a composite widget, you
|
|
545
|
+
* can use the
|
|
546
|
+
* [`focusOnMove`](https://ariakit.com/reference/composite#focusonmove) prop
|
|
547
|
+
* instead. If you want to control the behavior _only when arrow keys are
|
|
548
|
+
* pressed_, where
|
|
549
|
+
* [`focusOnMove`](https://ariakit.com/reference/composite#focusonmove) may
|
|
550
|
+
* not be applicable, this prop must be set on composite items as well.
|
|
551
|
+
* @default true
|
|
552
|
+
* @example
|
|
553
|
+
* ```jsx
|
|
554
|
+
* <Composite moveOnKeyPress={false}>
|
|
555
|
+
* <CompositeItem moveOnKeyPress={false} />
|
|
556
|
+
* <CompositeItem moveOnKeyPress={false} />
|
|
557
|
+
* </Composite>
|
|
558
|
+
* ```
|
|
559
|
+
*/
|
|
560
|
+
moveOnKeyPress?: BooleanOrCallback<ReactKeyboardEvent<HTMLElement>>;
|
|
561
|
+
/**
|
|
562
|
+
* Determines if the active composite item should receive focus (or virtual
|
|
563
|
+
* focus if the
|
|
564
|
+
* [`virtualFocus`](https://ariakit.com/reference/composite-provider#virtualfocus)
|
|
565
|
+
* option is enabled) when moving through items. This typically happens when
|
|
566
|
+
* navigating through items with arrow keys, but it can also happen when
|
|
567
|
+
* calling the
|
|
568
|
+
* [`move`](https://ariakit.com/reference/use-composite-store#move) method
|
|
569
|
+
* directly.
|
|
570
|
+
*
|
|
571
|
+
* Unlike the
|
|
572
|
+
* [`composite`](https://ariakit.com/reference/composite#composite-1) prop,
|
|
573
|
+
* this option doesn't disable the entire composite widget behavior. It only
|
|
574
|
+
* stops this component from managing focus when navigating through items.
|
|
575
|
+
*
|
|
576
|
+
* **Note**: If you want to control the behavior only _when arrow keys are
|
|
577
|
+
* pressed_, use the
|
|
578
|
+
* [`moveOnKeyPress`](https://ariakit.com/reference/composite#moveonkeypress)
|
|
579
|
+
* prop instead.
|
|
580
|
+
* @default true
|
|
581
|
+
*/
|
|
582
|
+
focusOnMove?: boolean;
|
|
583
|
+
/**
|
|
584
|
+
* @see https://ariakit.com/reference/focusable
|
|
585
|
+
*/
|
|
586
|
+
focusable?: FocusableOptions<T>["focusable"];
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
export type CompositeProps<T extends ElementType = TagName> = Props<
|
|
590
|
+
T,
|
|
591
|
+
CompositeOptions<T>
|
|
592
|
+
>;
|