@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,19 @@
|
|
|
1
|
+
import { addGlobalEventListener } from "@ariakit/utils";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
|
|
4
|
+
export function usePreviousMouseDownRef(enabled?: boolean, scope?: Window) {
|
|
5
|
+
const previousMouseDownRef = useRef<EventTarget | null>(null);
|
|
6
|
+
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (!enabled) {
|
|
9
|
+
previousMouseDownRef.current = null;
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const onMouseDown = (event: MouseEvent) => {
|
|
13
|
+
previousMouseDownRef.current = event.target;
|
|
14
|
+
};
|
|
15
|
+
return addGlobalEventListener("mousedown", onMouseDown, true, scope);
|
|
16
|
+
}, [enabled, scope]);
|
|
17
|
+
|
|
18
|
+
return previousMouseDownRef;
|
|
19
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useForceUpdate } from "@ariakit/react-utils";
|
|
2
|
+
import { getDocument } from "@ariakit/utils";
|
|
3
|
+
import { useCallback, useEffect } from "react";
|
|
4
|
+
import { flushSync } from "react-dom";
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
attribute: string;
|
|
8
|
+
contentId?: string;
|
|
9
|
+
contentElement?: HTMLElement | null;
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function useRootDialog({
|
|
14
|
+
attribute,
|
|
15
|
+
contentId,
|
|
16
|
+
contentElement,
|
|
17
|
+
enabled,
|
|
18
|
+
}: Props) {
|
|
19
|
+
const [updated, retry] = useForceUpdate();
|
|
20
|
+
|
|
21
|
+
const isRootDialog = useCallback(() => {
|
|
22
|
+
if (!enabled) return false;
|
|
23
|
+
if (!contentElement) return false;
|
|
24
|
+
const { body } = getDocument(contentElement);
|
|
25
|
+
const id = body.getAttribute(attribute);
|
|
26
|
+
return !id || id === contentId;
|
|
27
|
+
// oxlint-disable-next-line exhaustive-deps
|
|
28
|
+
}, [updated, enabled, contentElement, attribute, contentId]);
|
|
29
|
+
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (!enabled) return;
|
|
32
|
+
if (!contentId) return;
|
|
33
|
+
if (!contentElement) return;
|
|
34
|
+
const { body } = getDocument(contentElement);
|
|
35
|
+
if (isRootDialog()) {
|
|
36
|
+
body.setAttribute(attribute, contentId);
|
|
37
|
+
return () => body.removeAttribute(attribute);
|
|
38
|
+
}
|
|
39
|
+
// If the dialog is not the root, there may be another dialog that will be
|
|
40
|
+
// closed soon, which will remove the root attribute from the body. We
|
|
41
|
+
// observe this change and retry to see if this dialog is now the root.
|
|
42
|
+
const observer = new MutationObserver(() => flushSync(retry));
|
|
43
|
+
observer.observe(body, { attributeFilter: [attribute] });
|
|
44
|
+
return () => observer.disconnect();
|
|
45
|
+
// oxlint-disable-next-line exhaustive-deps
|
|
46
|
+
}, [updated, enabled, contentId, contentElement, isRootDialog, attribute]);
|
|
47
|
+
|
|
48
|
+
return isRootDialog;
|
|
49
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { contains, getDocument, chain } from "@ariakit/utils";
|
|
2
|
+
import { setProperty } from "./orchestrate.ts";
|
|
3
|
+
|
|
4
|
+
type Elements = Array<Element | null>;
|
|
5
|
+
|
|
6
|
+
// We don't need to walk through certain tags.
|
|
7
|
+
const ignoreTags = ["SCRIPT", "STYLE"];
|
|
8
|
+
|
|
9
|
+
function getSnapshotPropertyName(id: string) {
|
|
10
|
+
return `__ariakit-dialog-snapshot-${id}` as keyof Element;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function inSnapshot(id: string, element: Element) {
|
|
14
|
+
const doc = getDocument(element);
|
|
15
|
+
const propertyName = getSnapshotPropertyName(id);
|
|
16
|
+
if (!doc.body[propertyName]) return true;
|
|
17
|
+
do {
|
|
18
|
+
if (element === doc.body) return false;
|
|
19
|
+
if (element[propertyName]) return true;
|
|
20
|
+
if (!element.parentElement) return false;
|
|
21
|
+
element = element.parentElement;
|
|
22
|
+
// oxlint-disable-next-line no-constant-condition
|
|
23
|
+
} while (true);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function isValidElement(
|
|
27
|
+
id: string,
|
|
28
|
+
element: Element,
|
|
29
|
+
ignoredElements: Elements,
|
|
30
|
+
) {
|
|
31
|
+
if (ignoreTags.includes(element.tagName)) return false;
|
|
32
|
+
if (!inSnapshot(id, element)) return false;
|
|
33
|
+
return !ignoredElements.some(
|
|
34
|
+
(enabledElement) => enabledElement && contains(element, enabledElement),
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function walkTreeOutside(
|
|
39
|
+
id: string,
|
|
40
|
+
elements: Elements,
|
|
41
|
+
callback: (element: Element, originalElement: Element) => void,
|
|
42
|
+
ancestorCallback?: (element: Element, originalElement: Element) => void,
|
|
43
|
+
) {
|
|
44
|
+
for (let element of elements) {
|
|
45
|
+
if (!element?.isConnected) continue;
|
|
46
|
+
// If the element has already an ancestor element in the list, we skip it.
|
|
47
|
+
const hasAncestorAlready = elements.some((maybeAncestor) => {
|
|
48
|
+
if (!maybeAncestor) return false;
|
|
49
|
+
if (maybeAncestor === element) return false;
|
|
50
|
+
return maybeAncestor.contains(element);
|
|
51
|
+
});
|
|
52
|
+
const doc = getDocument(element);
|
|
53
|
+
const originalElement = element;
|
|
54
|
+
// Loops through the parent elements and then through each of their
|
|
55
|
+
// children.
|
|
56
|
+
while (element.parentElement && element !== doc.body) {
|
|
57
|
+
ancestorCallback?.(element.parentElement, originalElement);
|
|
58
|
+
if (!hasAncestorAlready) {
|
|
59
|
+
for (const child of element.parentElement.children) {
|
|
60
|
+
if (isValidElement(id, child, elements)) {
|
|
61
|
+
callback(child, originalElement);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
element = element.parentElement;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function createWalkTreeSnapshot(id: string, elements: Elements) {
|
|
71
|
+
const { body } = getDocument(elements[0]);
|
|
72
|
+
const cleanups: Array<() => void> = [];
|
|
73
|
+
|
|
74
|
+
const markElement = (element: Element) => {
|
|
75
|
+
cleanups.push(setProperty(element, getSnapshotPropertyName(id), true));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
walkTreeOutside(id, elements, markElement);
|
|
79
|
+
|
|
80
|
+
return chain(setProperty(body, getSnapshotPropertyName(id), true), () => {
|
|
81
|
+
for (const cleanup of cleanups) {
|
|
82
|
+
cleanup();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import { useStoreState } from "@ariakit/react-store";
|
|
2
|
+
import {
|
|
3
|
+
useId,
|
|
4
|
+
useMergeRefs,
|
|
5
|
+
useSafeLayoutEffect,
|
|
6
|
+
useWrapElement,
|
|
7
|
+
createElement,
|
|
8
|
+
createHook,
|
|
9
|
+
forwardRef,
|
|
10
|
+
} from "@ariakit/react-utils";
|
|
11
|
+
import type { Options, Props } from "@ariakit/react-utils";
|
|
12
|
+
import { invariant, removeUndefinedValues } from "@ariakit/utils";
|
|
13
|
+
import type { ElementType } from "react";
|
|
14
|
+
import { useMemo, useRef, useState } from "react";
|
|
15
|
+
import { flushSync } from "react-dom";
|
|
16
|
+
import { DialogScopedContextProvider } from "../dialog/dialog-context.tsx";
|
|
17
|
+
import { useDisclosureProviderContext } from "./disclosure-context.tsx";
|
|
18
|
+
import type { DisclosureStore } from "./disclosure-store.ts";
|
|
19
|
+
|
|
20
|
+
const TagName = "div" satisfies ElementType;
|
|
21
|
+
type TagName = typeof TagName;
|
|
22
|
+
type HTMLType = HTMLElementTagNameMap[TagName];
|
|
23
|
+
type TransitionState = "enter" | "leave" | null;
|
|
24
|
+
|
|
25
|
+
function afterTimeout(timeoutMs: number, cb: () => void) {
|
|
26
|
+
const timeoutId = setTimeout(cb, timeoutMs);
|
|
27
|
+
return () => clearTimeout(timeoutId);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function afterPaint(cb: () => void) {
|
|
31
|
+
let raf = requestAnimationFrame(() => {
|
|
32
|
+
raf = requestAnimationFrame(cb);
|
|
33
|
+
});
|
|
34
|
+
return () => cancelAnimationFrame(raf);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function parseCSSTime(...times: string[]) {
|
|
38
|
+
return times
|
|
39
|
+
.join(", ")
|
|
40
|
+
.split(", ")
|
|
41
|
+
.reduce((longestTime, currentTimeString) => {
|
|
42
|
+
const multiplier = currentTimeString.endsWith("ms") ? 1 : 1000;
|
|
43
|
+
const currentTime =
|
|
44
|
+
Number.parseFloat(currentTimeString || "0s") * multiplier;
|
|
45
|
+
// When multiple times are specified, we want to use the longest one so we
|
|
46
|
+
// wait until the longest transition has finished.
|
|
47
|
+
if (currentTime > longestTime) return currentTime;
|
|
48
|
+
return longestTime;
|
|
49
|
+
}, 0);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function isHidden(
|
|
53
|
+
mounted: boolean,
|
|
54
|
+
hidden?: boolean | null,
|
|
55
|
+
alwaysVisible?: boolean | null,
|
|
56
|
+
) {
|
|
57
|
+
return !alwaysVisible && hidden !== false && (!mounted || !!hidden);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Returns props to create a `DislosureContent` component.
|
|
62
|
+
* @see https://ariakit.com/components/disclosure
|
|
63
|
+
* @example
|
|
64
|
+
* ```jsx
|
|
65
|
+
* const store = useDisclosureStore();
|
|
66
|
+
* const props = useDisclosureContent({ store });
|
|
67
|
+
* <Disclosure store={store}>Disclosure</Disclosure>
|
|
68
|
+
* <Role {...props}>Content</Role>
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export const useDisclosureContent = createHook<
|
|
72
|
+
TagName,
|
|
73
|
+
DisclosureContentOptions
|
|
74
|
+
>(function useDisclosureContent({ store, alwaysVisible, ...props }) {
|
|
75
|
+
const context = useDisclosureProviderContext();
|
|
76
|
+
store = store || context;
|
|
77
|
+
|
|
78
|
+
invariant(
|
|
79
|
+
store,
|
|
80
|
+
process.env.NODE_ENV !== "production" &&
|
|
81
|
+
"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.",
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
const ref = useRef<HTMLType>(null);
|
|
85
|
+
const id = useId(props.id);
|
|
86
|
+
const [transition, setTransition] = useState<TransitionState>(null);
|
|
87
|
+
const open = useStoreState(store, "open");
|
|
88
|
+
const mounted = useStoreState(store, "mounted");
|
|
89
|
+
const animated = useStoreState(store, "animated");
|
|
90
|
+
const contentElement = useStoreState(store, "contentElement");
|
|
91
|
+
const otherElement = useStoreState(store.disclosure, "contentElement");
|
|
92
|
+
const hasClosedRef = useRef(false);
|
|
93
|
+
|
|
94
|
+
// This is a workaround to avoid the content element from being reset to null
|
|
95
|
+
// on fast refresh.
|
|
96
|
+
useSafeLayoutEffect(() => {
|
|
97
|
+
if (!ref.current) return;
|
|
98
|
+
store?.setContentElement(ref.current);
|
|
99
|
+
}, [store]);
|
|
100
|
+
|
|
101
|
+
// When the disclosure content element is rendered, we automatically set the
|
|
102
|
+
// animated state to true. If there's no enter animation, the animated state
|
|
103
|
+
// will be set to false later on.
|
|
104
|
+
useSafeLayoutEffect(() => {
|
|
105
|
+
let previousAnimated: boolean | number | undefined;
|
|
106
|
+
store?.setState("animated", (animated) => {
|
|
107
|
+
previousAnimated = animated;
|
|
108
|
+
return true;
|
|
109
|
+
});
|
|
110
|
+
return () => {
|
|
111
|
+
if (previousAnimated === undefined) return;
|
|
112
|
+
store?.setState("animated", previousAnimated);
|
|
113
|
+
};
|
|
114
|
+
}, [store]);
|
|
115
|
+
|
|
116
|
+
useSafeLayoutEffect(() => {
|
|
117
|
+
if (!animated) {
|
|
118
|
+
// When animation detection has disabled animations (e.g., no CSS
|
|
119
|
+
// transition was detected on the content element), manage data-enter
|
|
120
|
+
// so wrapper elements using :has([data-enter]) work correctly even
|
|
121
|
+
// when the content element itself has no transitions.
|
|
122
|
+
if (!open) {
|
|
123
|
+
hasClosedRef.current = true;
|
|
124
|
+
setTransition(null);
|
|
125
|
+
} else if (hasClosedRef.current) {
|
|
126
|
+
// On reopen after animation detection disabled animations, restore
|
|
127
|
+
// data-enter so enter styles are re-applied.
|
|
128
|
+
hasClosedRef.current = false;
|
|
129
|
+
setTransition("enter");
|
|
130
|
+
}
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
// When the disclosure content element is rendered in a portal, we need to
|
|
134
|
+
// wait for the portal to be mounted and connected to the DOM before we
|
|
135
|
+
// can start the animation.
|
|
136
|
+
if (!contentElement?.isConnected) {
|
|
137
|
+
setTransition(null);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
// Double requestAnimationFrame is necessary here to avoid potential bugs
|
|
141
|
+
// when the data attribute is added before the element is fully rendered
|
|
142
|
+
// in the DOM, which wouldn't trigger the animation.
|
|
143
|
+
return afterPaint(() => {
|
|
144
|
+
setTransition(open ? "enter" : mounted ? "leave" : null);
|
|
145
|
+
});
|
|
146
|
+
}, [animated, contentElement, open, mounted]);
|
|
147
|
+
|
|
148
|
+
useSafeLayoutEffect(() => {
|
|
149
|
+
if (!store) return;
|
|
150
|
+
if (!animated) return;
|
|
151
|
+
if (!transition) return;
|
|
152
|
+
if (!contentElement) return;
|
|
153
|
+
const stopAnimation = () => store?.setState("animating", false);
|
|
154
|
+
const stopAnimationSync = () => flushSync(stopAnimation);
|
|
155
|
+
// Ignore transition states that don't match the current open state. This
|
|
156
|
+
// may happen because transitions are updated asynchronously using
|
|
157
|
+
// requestAnimationFrame.
|
|
158
|
+
if (transition === "leave" && open) return;
|
|
159
|
+
if (transition === "enter" && !open) return;
|
|
160
|
+
// When the animated state is a number, the user has manually set the
|
|
161
|
+
// animation timeout, so we just respect it.
|
|
162
|
+
if (typeof animated === "number") {
|
|
163
|
+
const timeout = animated;
|
|
164
|
+
return afterTimeout(timeout, stopAnimationSync);
|
|
165
|
+
}
|
|
166
|
+
// We need to parse the CSS transition/animation duration and delay to know
|
|
167
|
+
// when the animation ends. This is safer than relying on the
|
|
168
|
+
// transitionend/animationend events because it's not guaranteed that these
|
|
169
|
+
// events will fire. For example, if the element is removed from the DOM
|
|
170
|
+
// before the animation ends or if the animation wasn't triggered in the
|
|
171
|
+
// first place, the events won't fire. Besides, there may be multiple
|
|
172
|
+
// transitions or animations with different durations and delays, and we
|
|
173
|
+
// need to consider the longest one.
|
|
174
|
+
const {
|
|
175
|
+
transitionDuration,
|
|
176
|
+
animationDuration,
|
|
177
|
+
transitionDelay,
|
|
178
|
+
animationDelay,
|
|
179
|
+
} = getComputedStyle(contentElement);
|
|
180
|
+
// If we're rendering a dialog backdrop, otherElement will be the dialog
|
|
181
|
+
// element itself. We need to consider both the backdrop and the dialog
|
|
182
|
+
// animation/transition durations and delays because the dialog may be
|
|
183
|
+
// animated while the backdrop is not.
|
|
184
|
+
const {
|
|
185
|
+
transitionDuration: transitionDuration2 = "0",
|
|
186
|
+
animationDuration: animationDuration2 = "0",
|
|
187
|
+
transitionDelay: transitionDelay2 = "0",
|
|
188
|
+
animationDelay: animationDelay2 = "0",
|
|
189
|
+
} = otherElement ? getComputedStyle(otherElement) : {};
|
|
190
|
+
const delay = parseCSSTime(
|
|
191
|
+
transitionDelay,
|
|
192
|
+
animationDelay,
|
|
193
|
+
transitionDelay2,
|
|
194
|
+
animationDelay2,
|
|
195
|
+
);
|
|
196
|
+
const duration = parseCSSTime(
|
|
197
|
+
transitionDuration,
|
|
198
|
+
animationDuration,
|
|
199
|
+
transitionDuration2,
|
|
200
|
+
animationDuration2,
|
|
201
|
+
);
|
|
202
|
+
const timeout = delay + duration;
|
|
203
|
+
// If the timeout is zero, there's no animation or transition, either
|
|
204
|
+
// because they weren't defined in the CSS or the duration was explicitly
|
|
205
|
+
// set to zero. In this scenario, we can halt the animation right away
|
|
206
|
+
// and, if we're entering, we can set the animated state to false so
|
|
207
|
+
// the element unmounts immediately on close without waiting for a
|
|
208
|
+
// leave animation.
|
|
209
|
+
if (!timeout) {
|
|
210
|
+
if (transition === "enter") {
|
|
211
|
+
store.setState("animated", false);
|
|
212
|
+
}
|
|
213
|
+
stopAnimation();
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
// Since setTimeout may be delayed by a few milliseconds, we need to
|
|
217
|
+
// subtract a frame duration from the timeout to make sure the animation is
|
|
218
|
+
// stopped right after it ends, preventing flickering.
|
|
219
|
+
const frameRate = 1000 / 60;
|
|
220
|
+
const maxTimeout = Math.max(timeout - frameRate, 0);
|
|
221
|
+
return afterTimeout(maxTimeout, stopAnimationSync);
|
|
222
|
+
}, [store, animated, contentElement, otherElement, open, transition]);
|
|
223
|
+
|
|
224
|
+
props = useWrapElement(
|
|
225
|
+
props,
|
|
226
|
+
(element) => (
|
|
227
|
+
<DialogScopedContextProvider value={store}>
|
|
228
|
+
{element}
|
|
229
|
+
</DialogScopedContextProvider>
|
|
230
|
+
),
|
|
231
|
+
[store],
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
const hidden = isHidden(mounted, props.hidden, alwaysVisible);
|
|
235
|
+
const styleProp = props.style;
|
|
236
|
+
const style = useMemo(() => {
|
|
237
|
+
if (hidden) {
|
|
238
|
+
return { ...styleProp, display: "none" };
|
|
239
|
+
}
|
|
240
|
+
return styleProp;
|
|
241
|
+
}, [hidden, styleProp]);
|
|
242
|
+
|
|
243
|
+
props = {
|
|
244
|
+
"data-open": open || undefined,
|
|
245
|
+
"data-enter": transition === "enter" || undefined,
|
|
246
|
+
"data-leave": transition === "leave" || undefined,
|
|
247
|
+
hidden,
|
|
248
|
+
...props,
|
|
249
|
+
id,
|
|
250
|
+
ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),
|
|
251
|
+
style,
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
return removeUndefinedValues(props);
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
const DisclosureContentImpl = forwardRef(function DisclosureContentImpl(
|
|
258
|
+
props: DisclosureContentProps,
|
|
259
|
+
) {
|
|
260
|
+
const htmlProps = useDisclosureContent(props);
|
|
261
|
+
return createElement(TagName, htmlProps);
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Renders an element that can be shown or hidden by a
|
|
266
|
+
* [`Disclosure`](https://ariakit.com/components/disclosure) component.
|
|
267
|
+
* @see https://ariakit.com/components/disclosure
|
|
268
|
+
* @example
|
|
269
|
+
* ```jsx {3}
|
|
270
|
+
* <DisclosureProvider>
|
|
271
|
+
* <Disclosure>Disclosure</Disclosure>
|
|
272
|
+
* <DisclosureContent>Content</DisclosureContent>
|
|
273
|
+
* </DisclosureProvider>
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
export const DisclosureContent = forwardRef(function DisclosureContent({
|
|
277
|
+
unmountOnHide,
|
|
278
|
+
...props
|
|
279
|
+
}: DisclosureContentProps) {
|
|
280
|
+
const context = useDisclosureProviderContext();
|
|
281
|
+
const store = props.store || context;
|
|
282
|
+
const mounted = useStoreState(
|
|
283
|
+
store,
|
|
284
|
+
(state) => !unmountOnHide || state?.mounted,
|
|
285
|
+
);
|
|
286
|
+
if (mounted === false) return null;
|
|
287
|
+
return <DisclosureContentImpl {...props} />;
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
export interface DisclosureContentOptions<
|
|
291
|
+
_T extends ElementType = TagName,
|
|
292
|
+
> extends Options {
|
|
293
|
+
/**
|
|
294
|
+
* Object returned by the
|
|
295
|
+
* [`useDisclosureStore`](https://ariakit.com/reference/use-disclosure-store)
|
|
296
|
+
* hook. If not provided, the closest
|
|
297
|
+
* [`DisclosureProvider`](https://ariakit.com/reference/disclosure-provider)
|
|
298
|
+
* component's context will be used.
|
|
299
|
+
*/
|
|
300
|
+
store?: DisclosureStore;
|
|
301
|
+
/**
|
|
302
|
+
* Determines whether the content element should remain visible even when the
|
|
303
|
+
* [`open`](https://ariakit.com/reference/disclosure-provider#open) state is
|
|
304
|
+
* `false`. If this prop is set to `true`, the `hidden` prop and the `display:
|
|
305
|
+
* none` style will not be applied, unless explicitly set otherwise.
|
|
306
|
+
*
|
|
307
|
+
* This prop is particularly useful when using third-party animation libraries
|
|
308
|
+
* such as Motion or React Spring, where the element needs to be
|
|
309
|
+
* visible for exit animations to work.
|
|
310
|
+
*
|
|
311
|
+
* Live examples:
|
|
312
|
+
* - [Dialog with
|
|
313
|
+
* Motion](https://ariakit.com/examples/dialog-framer-motion)
|
|
314
|
+
* - [Menu with
|
|
315
|
+
* Motion](https://ariakit.com/examples/menu-framer-motion)
|
|
316
|
+
* - [Tooltip with
|
|
317
|
+
* Motion](https://ariakit.com/examples/tooltip-framer-motion)
|
|
318
|
+
* - [Dialog with details &
|
|
319
|
+
* summary](https://ariakit.com/examples/dialog-details)
|
|
320
|
+
* @default false
|
|
321
|
+
*/
|
|
322
|
+
alwaysVisible?: boolean;
|
|
323
|
+
/**
|
|
324
|
+
* When set to `true`, the content element will be unmounted and removed from
|
|
325
|
+
* the DOM when it's hidden.
|
|
326
|
+
*
|
|
327
|
+
* Live examples:
|
|
328
|
+
* - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)
|
|
329
|
+
* - [Combobox with integrated
|
|
330
|
+
* filter](https://ariakit.com/examples/combobox-filtering-integrated)
|
|
331
|
+
* - [Textarea with inline
|
|
332
|
+
* Combobox](https://ariakit.com/examples/combobox-textarea)
|
|
333
|
+
* - [Standalone Popover](https://ariakit.com/examples/popover-standalone)
|
|
334
|
+
* - [Animated Select](https://ariakit.com/examples/select-animated)
|
|
335
|
+
* - [Multi-Select](https://ariakit.com/examples/select-multiple)
|
|
336
|
+
* @default false
|
|
337
|
+
*/
|
|
338
|
+
unmountOnHide?: boolean;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export type DisclosureContentProps<T extends ElementType = TagName> = Props<
|
|
342
|
+
T,
|
|
343
|
+
DisclosureContentOptions<T>
|
|
344
|
+
>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createStoreContext } from "@ariakit/react-utils";
|
|
2
|
+
import type { DisclosureStore } from "./disclosure-store.ts";
|
|
3
|
+
|
|
4
|
+
const ctx = createStoreContext<DisclosureStore>();
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Returns the disclosure store from the nearest disclosure container.
|
|
8
|
+
* @example
|
|
9
|
+
* function Disclosure() {
|
|
10
|
+
* const store = useDisclosureContext();
|
|
11
|
+
*
|
|
12
|
+
* if (!store) {
|
|
13
|
+
* throw new Error("Disclosure must be wrapped in DisclosureProvider");
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* // Use the store...
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
export const useDisclosureContext = ctx.useContext;
|
|
20
|
+
|
|
21
|
+
export const useDisclosureScopedContext = ctx.useScopedContext;
|
|
22
|
+
|
|
23
|
+
export const useDisclosureProviderContext = ctx.useProviderContext;
|
|
24
|
+
|
|
25
|
+
export const DisclosureContextProvider = ctx.ContextProvider;
|
|
26
|
+
|
|
27
|
+
export const DisclosureScopedContextProvider = ctx.ScopedContextProvider;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { DisclosureContextProvider } from "./disclosure-context.tsx";
|
|
3
|
+
import type { DisclosureStoreProps } from "./disclosure-store.ts";
|
|
4
|
+
import { useDisclosureStore } from "./disclosure-store.ts";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Provides a disclosure store to
|
|
8
|
+
* [Disclosure](https://ariakit.com/components/disclosure) components.
|
|
9
|
+
* @see https://ariakit.com/components/disclosure
|
|
10
|
+
* @example
|
|
11
|
+
* ```jsx
|
|
12
|
+
* <DisclosureProvider>
|
|
13
|
+
* <Disclosure />
|
|
14
|
+
* <DisclosureContent />
|
|
15
|
+
* </DisclosureProvider>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export function DisclosureProvider(props: DisclosureProviderProps = {}) {
|
|
19
|
+
const store = useDisclosureStore(props);
|
|
20
|
+
return (
|
|
21
|
+
<DisclosureContextProvider value={store}>
|
|
22
|
+
{props.children}
|
|
23
|
+
</DisclosureContextProvider>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface DisclosureProviderProps extends DisclosureStoreProps {
|
|
28
|
+
children?: ReactNode;
|
|
29
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as Core from "@ariakit/components/disclosure/disclosure-store";
|
|
2
|
+
import { useStore, useStoreProps } from "@ariakit/react-store";
|
|
3
|
+
import type { Store } from "@ariakit/react-store";
|
|
4
|
+
import { useUpdateEffect } from "@ariakit/react-utils";
|
|
5
|
+
|
|
6
|
+
export function useDisclosureStoreProps<T extends Core.DisclosureStore>(
|
|
7
|
+
store: T,
|
|
8
|
+
update: () => void,
|
|
9
|
+
props: DisclosureStoreProps,
|
|
10
|
+
) {
|
|
11
|
+
useUpdateEffect(update, [props.store, props.disclosure]);
|
|
12
|
+
useStoreProps(store, props, "open", "setOpen");
|
|
13
|
+
useStoreProps(store, props, "mounted", "setMounted");
|
|
14
|
+
useStoreProps(store, props, "animated");
|
|
15
|
+
|
|
16
|
+
return Object.assign(store, { disclosure: props.disclosure });
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Creates a disclosure store to control the state of
|
|
21
|
+
* [Disclosure](https://ariakit.com/components/disclosure) components.
|
|
22
|
+
* @see https://ariakit.com/components/disclosure
|
|
23
|
+
* @example
|
|
24
|
+
* ```jsx
|
|
25
|
+
* const disclosure = useDisclosureStore();
|
|
26
|
+
*
|
|
27
|
+
* <Disclosure store={disclosure}>Disclosure</Disclosure>
|
|
28
|
+
* <DisclosureContent store={disclosure}>Content</DisclosureContent>
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function useDisclosureStore(
|
|
32
|
+
props: DisclosureStoreProps = {},
|
|
33
|
+
): DisclosureStore {
|
|
34
|
+
const [store, update] = useStore(Core.createDisclosureStore, props);
|
|
35
|
+
return useDisclosureStoreProps(store, update, props);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface DisclosureStoreState extends Core.DisclosureStoreState {}
|
|
39
|
+
|
|
40
|
+
export interface DisclosureStoreFunctions
|
|
41
|
+
extends
|
|
42
|
+
Pick<DisclosureStoreOptions, "disclosure">,
|
|
43
|
+
Omit<Core.DisclosureStoreFunctions, "disclosure"> {}
|
|
44
|
+
|
|
45
|
+
export interface DisclosureStoreOptions extends Core.DisclosureStoreOptions {
|
|
46
|
+
/**
|
|
47
|
+
* A callback that gets called when the
|
|
48
|
+
* [`open`](https://ariakit.com/reference/disclosure-provider#open) state
|
|
49
|
+
* changes.
|
|
50
|
+
* @example
|
|
51
|
+
* const [open, setOpen] = useState(false);
|
|
52
|
+
* const disclosure = useDisclosureStore({ open, setOpen });
|
|
53
|
+
*/
|
|
54
|
+
setOpen?: (open: DisclosureStoreState["open"]) => void;
|
|
55
|
+
/**
|
|
56
|
+
* A callback that gets called when the `mounted` state changes.
|
|
57
|
+
* @example
|
|
58
|
+
* const [mounted, setMounted] = useState(false);
|
|
59
|
+
* const disclosure = useDisclosureStore({ setMounted });
|
|
60
|
+
*/
|
|
61
|
+
setMounted?: (mounted: DisclosureStoreState["mounted"]) => void;
|
|
62
|
+
/**
|
|
63
|
+
* A reference to another disclosure store that controls another disclosure
|
|
64
|
+
* component to keep them in sync. Element states like `contentElement` and
|
|
65
|
+
* `disclosureElement` won't be synced. For that, use the
|
|
66
|
+
* [`store`](https://ariakit.com/reference/disclosure-provider#store) prop
|
|
67
|
+
* instead.
|
|
68
|
+
*
|
|
69
|
+
* Live examples:
|
|
70
|
+
* - [Command Menu](https://ariakit.com/examples/dialog-combobox-command-menu)
|
|
71
|
+
* - [Command Menu with
|
|
72
|
+
* Tabs](https://ariakit.com/examples/dialog-combobox-tab-command-menu)
|
|
73
|
+
*/
|
|
74
|
+
disclosure?: DisclosureStore | null;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface DisclosureStoreProps
|
|
78
|
+
extends
|
|
79
|
+
DisclosureStoreOptions,
|
|
80
|
+
Omit<Core.DisclosureStoreProps, "disclosure"> {}
|
|
81
|
+
|
|
82
|
+
export interface DisclosureStore
|
|
83
|
+
extends
|
|
84
|
+
DisclosureStoreFunctions,
|
|
85
|
+
Omit<Store<Core.DisclosureStore>, "disclosure"> {}
|