@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,162 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCompositeItem } from "../composite/composite-item.js";
|
|
3
|
+
import { useTagContext } from "./tag-context.js";
|
|
4
|
+
import { createElement, createHook, forwardRef, useBooleanEvent, useEvent, useMergeRefs } from "@ariakit/react-utils";
|
|
5
|
+
import { UndoManager, getInputType, getTextboxSelection, invariant, setSelectionRange, toArray } from "@ariakit/utils";
|
|
6
|
+
import { useStoreState } from "@ariakit/react-store";
|
|
7
|
+
//#region src/tag/tag-input.tsx
|
|
8
|
+
const TagName = "input";
|
|
9
|
+
const DEFAULT_DELIMITER = [
|
|
10
|
+
"\n",
|
|
11
|
+
";",
|
|
12
|
+
",",
|
|
13
|
+
/\s/
|
|
14
|
+
];
|
|
15
|
+
function getDelimiters(delimiter, defaultDelimiter = DEFAULT_DELIMITER) {
|
|
16
|
+
const finalDelimiter = delimiter === void 0 ? defaultDelimiter : delimiter;
|
|
17
|
+
if (!finalDelimiter) return [];
|
|
18
|
+
return toArray(finalDelimiter);
|
|
19
|
+
}
|
|
20
|
+
function splitValueByDelimiter(value, delimiters) {
|
|
21
|
+
for (const delimiter of delimiters) {
|
|
22
|
+
let match = value.match(delimiter);
|
|
23
|
+
while (match?.index === 0) {
|
|
24
|
+
value = value.slice(match[0].length);
|
|
25
|
+
match = value.match(delimiter);
|
|
26
|
+
}
|
|
27
|
+
if (!match) continue;
|
|
28
|
+
return value.split(delimiter);
|
|
29
|
+
}
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns props to create a `TagInput` component.
|
|
34
|
+
* @see https://ariakit.com/components/tag
|
|
35
|
+
* @example
|
|
36
|
+
* ```jsx
|
|
37
|
+
* const props = useTagInput();
|
|
38
|
+
* <Role.input {...props} />
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
const useTagInput = createHook(function useTagInput({ store, tabbable = true, delimiter, addValueOnPaste = true, addValueOnChange = true, setValueOnChange = true, removeOnBackspace = true, ...props }) {
|
|
42
|
+
const context = useTagContext();
|
|
43
|
+
store = store || context;
|
|
44
|
+
invariant(store, "TagInput must receive a `store` prop or be wrapped in a TagProvider component.");
|
|
45
|
+
const value = useStoreState(store, "value");
|
|
46
|
+
const onPasteProp = props.onPaste;
|
|
47
|
+
const addValueOnPasteProp = useBooleanEvent(addValueOnPaste);
|
|
48
|
+
const onPaste = useEvent((event) => {
|
|
49
|
+
onPasteProp?.(event);
|
|
50
|
+
if (event.defaultPrevented) return;
|
|
51
|
+
const text = event.clipboardData.getData("text");
|
|
52
|
+
const delimiters = getDelimiters(delimiter);
|
|
53
|
+
const values = splitValueByDelimiter(text.trim(), delimiters).map((value) => value.trim()).filter((value) => value !== "");
|
|
54
|
+
if (!addValueOnPasteProp(Object.assign(event, { values }))) return;
|
|
55
|
+
if (!values.length) return;
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
for (const tagValue of values) store.addValue(tagValue);
|
|
58
|
+
});
|
|
59
|
+
const onChangeProp = props.onChange;
|
|
60
|
+
const setValueOnChangeProp = useBooleanEvent(setValueOnChange);
|
|
61
|
+
const addValueOnChangeProp = useBooleanEvent(addValueOnChange);
|
|
62
|
+
const onChange = useEvent((event) => {
|
|
63
|
+
onChangeProp?.(event);
|
|
64
|
+
if (event.defaultPrevented) return;
|
|
65
|
+
if (!store) return;
|
|
66
|
+
const { value: prevValue } = store.getState();
|
|
67
|
+
const inputType = getInputType(event);
|
|
68
|
+
const currentTarget = event.currentTarget;
|
|
69
|
+
const { start, end } = getTextboxSelection(currentTarget);
|
|
70
|
+
const { value } = currentTarget;
|
|
71
|
+
if (setValueOnChangeProp(event)) UndoManager.execute(() => {
|
|
72
|
+
store.setValue(value);
|
|
73
|
+
queueMicrotask(() => {
|
|
74
|
+
setSelectionRange(currentTarget, start, end);
|
|
75
|
+
});
|
|
76
|
+
if (value === prevValue) return;
|
|
77
|
+
return () => store.setValue(prevValue);
|
|
78
|
+
}, inputType);
|
|
79
|
+
if (start === end && start === value.length) {
|
|
80
|
+
let values = splitValueByDelimiter(value, getDelimiters(delimiter));
|
|
81
|
+
const trailingvalue = values.pop() || "";
|
|
82
|
+
values = values.map((value) => value.trim()).filter((value) => value !== "");
|
|
83
|
+
const eventWithValues = Object.assign(event, { values });
|
|
84
|
+
if (values.length && addValueOnChangeProp(eventWithValues)) {
|
|
85
|
+
event.preventDefault();
|
|
86
|
+
for (const tagValue of values) store.addValue(tagValue);
|
|
87
|
+
UndoManager.execute(() => {
|
|
88
|
+
store.setValue(trailingvalue);
|
|
89
|
+
if (trailingvalue === prevValue) return;
|
|
90
|
+
return () => store.setValue(prevValue);
|
|
91
|
+
}, inputType);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
const onKeyDownProp = props.onKeyDown;
|
|
96
|
+
const removeOnBackspaceProp = useBooleanEvent(removeOnBackspace);
|
|
97
|
+
const onKeyDown = useEvent((event) => {
|
|
98
|
+
onKeyDownProp?.(event);
|
|
99
|
+
if (event.defaultPrevented) return;
|
|
100
|
+
if (event.key === "Backspace" && removeOnBackspaceProp(event)) {
|
|
101
|
+
const { start, end } = getTextboxSelection(event.currentTarget);
|
|
102
|
+
if (!(start === end && start === 0)) return;
|
|
103
|
+
store.setValues((values) => {
|
|
104
|
+
if (!values.length) return values;
|
|
105
|
+
return values.slice(0, -1);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
props = {
|
|
110
|
+
value,
|
|
111
|
+
...props,
|
|
112
|
+
ref: useMergeRefs(store.setInputElement, props.ref),
|
|
113
|
+
onPaste,
|
|
114
|
+
onChange,
|
|
115
|
+
onKeyDown
|
|
116
|
+
};
|
|
117
|
+
props = useCompositeItem({
|
|
118
|
+
store,
|
|
119
|
+
tabbable,
|
|
120
|
+
...props
|
|
121
|
+
});
|
|
122
|
+
return props;
|
|
123
|
+
});
|
|
124
|
+
/**
|
|
125
|
+
* Renders an input element within a
|
|
126
|
+
* [`TagList`](https://ariakit.com/reference/tag-list) component. This component
|
|
127
|
+
* lets users input tag values that are added to the store when the input value
|
|
128
|
+
* changes or when the user pastes text into the input element, based on the
|
|
129
|
+
* [`delimiter`](https://ariakit.com/reference/tag-input#delimiter) prop.
|
|
130
|
+
*
|
|
131
|
+
* This component can be combined with a
|
|
132
|
+
* [`Combobox`](https://ariakit.com/reference/combobox) component using the
|
|
133
|
+
* [`render`](https://ariakit.com/reference/tag-input#render) prop to create a
|
|
134
|
+
* tag input with suggestions.
|
|
135
|
+
* @see https://ariakit.com/components/tag
|
|
136
|
+
* @example
|
|
137
|
+
* ```jsx {14}
|
|
138
|
+
* <TagProvider>
|
|
139
|
+
* <TagListLabel>Invitees</TagListLabel>
|
|
140
|
+
* <TagList>
|
|
141
|
+
* <TagValues>
|
|
142
|
+
* {(values) =>
|
|
143
|
+
* values.map((value) => (
|
|
144
|
+
* <Tag key={value} value={value}>
|
|
145
|
+
* {value}
|
|
146
|
+
* <TagRemove />
|
|
147
|
+
* </Tag>
|
|
148
|
+
* ))
|
|
149
|
+
* }
|
|
150
|
+
* </TagValues>
|
|
151
|
+
* <TagInput />
|
|
152
|
+
* </TagList>
|
|
153
|
+
* </TagProvider>
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
const TagInput = forwardRef(function TagInput(props) {
|
|
157
|
+
return createElement(TagName, useTagInput(props));
|
|
158
|
+
});
|
|
159
|
+
//#endregion
|
|
160
|
+
export { TagInput, useTagInput };
|
|
161
|
+
|
|
162
|
+
//# sourceMappingURL=tag-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-input.js","names":[],"sources":["../../src/tag/tag-input.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport {\n toArray,\n getTextboxSelection,\n setSelectionRange,\n getInputType,\n invariant,\n UndoManager,\n} from \"@ariakit/utils\";\nimport type { BooleanOrCallback } from \"@ariakit/utils\";\nimport type {\n ChangeEvent,\n ClipboardEvent,\n ElementType,\n KeyboardEvent,\n SyntheticEvent,\n} from \"react\";\nimport type { CompositeItemOptions } from \"../composite/composite-item.tsx\";\nimport { useCompositeItem } from \"../composite/composite-item.tsx\";\nimport { useTagContext } from \"./tag-context.tsx\";\nimport type { TagStore } from \"./tag-store.ts\";\n\nconst TagName = \"input\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\ntype EventWithValues<T extends SyntheticEvent> = T & {\n values: string[];\n};\n\nconst DEFAULT_DELIMITER = [\"\\n\", \";\", \",\", /\\s/];\n\nfunction getDelimiters(\n delimiter: TagInputOptions[\"delimiter\"],\n defaultDelimiter: TagInputOptions[\"delimiter\"] = DEFAULT_DELIMITER,\n) {\n const finalDelimiter = delimiter === undefined ? defaultDelimiter : delimiter;\n if (!finalDelimiter) return [];\n return toArray(finalDelimiter);\n}\n\nfunction splitValueByDelimiter(value: string, delimiters: (string | RegExp)[]) {\n for (const delimiter of delimiters) {\n let match = value.match(delimiter);\n // Remove delimiter from the start of the string\n while (match?.index === 0) {\n value = value.slice(match[0].length);\n match = value.match(delimiter);\n }\n if (!match) continue;\n return value.split(delimiter);\n }\n return [];\n}\n\n/**\n * Returns props to create a `TagInput` component.\n * @see https://ariakit.com/components/tag\n * @example\n * ```jsx\n * const props = useTagInput();\n * <Role.input {...props} />\n * ```\n */\nexport const useTagInput = createHook<TagName, TagInputOptions>(\n function useTagInput({\n store,\n tabbable = true,\n delimiter,\n addValueOnPaste = true,\n addValueOnChange = true,\n setValueOnChange = true,\n removeOnBackspace = true,\n ...props\n }) {\n const context = useTagContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"TagInput must receive a `store` prop or be wrapped in a TagProvider component.\",\n );\n\n const value = useStoreState(store, \"value\");\n\n const onPasteProp = props.onPaste;\n const addValueOnPasteProp = useBooleanEvent(addValueOnPaste);\n\n const onPaste = useEvent((event: ClipboardEvent<HTMLType>) => {\n onPasteProp?.(event);\n if (event.defaultPrevented) return;\n const text = event.clipboardData.getData(\"text\");\n const delimiters = getDelimiters(delimiter);\n const values = splitValueByDelimiter(text.trim(), delimiters)\n .map((value) => value.trim())\n .filter((value) => value !== \"\");\n // Create a new event with the values extracted from the clipboard text so\n // that the user can use the values in the event handler.\n const eventWithValues = Object.assign(event, { values });\n if (!addValueOnPasteProp(eventWithValues)) return;\n if (!values.length) return;\n // Prevent pasting the text into the input\n event.preventDefault();\n for (const tagValue of values) {\n store.addValue(tagValue);\n }\n });\n\n const onChangeProp = props.onChange;\n const setValueOnChangeProp = useBooleanEvent(setValueOnChange);\n const addValueOnChangeProp = useBooleanEvent(addValueOnChange);\n\n const onChange = useEvent((event: ChangeEvent<HTMLType>) => {\n onChangeProp?.(event);\n if (event.defaultPrevented) return;\n if (!store) return;\n const { value: prevValue } = store.getState();\n const inputType = getInputType(event);\n const currentTarget = event.currentTarget;\n const { start, end } = getTextboxSelection(currentTarget);\n const { value } = currentTarget;\n // Set the value in the store if the value changes\n if (setValueOnChangeProp(event)) {\n void UndoManager.execute(() => {\n store.setValue(value);\n // When the value is not set synchronously, the selection range may be\n // lost.\n queueMicrotask(() => {\n setSelectionRange(currentTarget, start, end);\n });\n if (value === prevValue) return;\n return () => store.setValue(prevValue);\n }, inputType);\n }\n // Add values to the store if the input value ends with a delimiter\n const isTrailingCaret = start === end && start === value.length;\n if (isTrailingCaret) {\n const delimiters = getDelimiters(delimiter);\n // Split values and get the trailing value that will remain in the input\n let values = splitValueByDelimiter(value, delimiters);\n const trailingvalue = values.pop() || \"\";\n values = values\n .map((value) => value.trim())\n .filter((value) => value !== \"\");\n const eventWithValues = Object.assign(event, { values });\n if (values.length && addValueOnChangeProp(eventWithValues)) {\n // We need to prevent the default behavior here in case the tag input\n // component is combined with another component that also listens to the\n // change event and updates the store value, such as Combobox. In this\n // case, the tag input logic should take precedence even if this event\n // handler is called first.\n event.preventDefault();\n for (const tagValue of values) {\n store.addValue(tagValue);\n }\n void UndoManager.execute(() => {\n store.setValue(trailingvalue);\n if (trailingvalue === prevValue) return;\n return () => store.setValue(prevValue);\n }, inputType);\n }\n }\n });\n\n const onKeyDownProp = props.onKeyDown;\n const removeOnBackspaceProp = useBooleanEvent(removeOnBackspace);\n\n const onKeyDown = useEvent((event: KeyboardEvent<HTMLType>) => {\n onKeyDownProp?.(event);\n if (event.defaultPrevented) return;\n if (event.key === \"Backspace\" && removeOnBackspaceProp(event)) {\n const { start, end } = getTextboxSelection(event.currentTarget);\n const isLeadingCaret = start === end && start === 0;\n if (!isLeadingCaret) return;\n store.setValues((values) => {\n if (!values.length) return values;\n return values.slice(0, -1);\n });\n }\n });\n\n props = {\n value,\n ...props,\n ref: useMergeRefs(store.setInputElement, props.ref),\n onPaste,\n onChange,\n onKeyDown,\n };\n\n props = useCompositeItem<TagName>({ store, tabbable, ...props });\n\n return props;\n },\n);\n\n/**\n * Renders an input element within a\n * [`TagList`](https://ariakit.com/reference/tag-list) component. This component\n * lets users input tag values that are added to the store when the input value\n * changes or when the user pastes text into the input element, based on the\n * [`delimiter`](https://ariakit.com/reference/tag-input#delimiter) prop.\n *\n * This component can be combined with a\n * [`Combobox`](https://ariakit.com/reference/combobox) component using the\n * [`render`](https://ariakit.com/reference/tag-input#render) prop to create a\n * tag input with suggestions.\n * @see https://ariakit.com/components/tag\n * @example\n * ```jsx {14}\n * <TagProvider>\n * <TagListLabel>Invitees</TagListLabel>\n * <TagList>\n * <TagValues>\n * {(values) =>\n * values.map((value) => (\n * <Tag key={value} value={value}>\n * {value}\n * <TagRemove />\n * </Tag>\n * ))\n * }\n * </TagValues>\n * <TagInput />\n * </TagList>\n * </TagProvider>\n * ```\n */\nexport const TagInput = forwardRef(function TagInput(props: TagInputProps) {\n const htmlProps = useTagInput(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface TagInputOptions<\n T extends ElementType = TagName,\n> extends CompositeItemOptions<T> {\n /**\n * Object returned by the\n * [`useTagStore`](https://ariakit.com/reference/use-tag-store) hook. If not\n * provided, the closest\n * [`TagProvider`](https://ariakit.com/reference/tag-provider) component's\n * context will be used.\n */\n store?: TagStore;\n /**\n * The string or pattern employed to break the input value into multiple tags.\n * This could be a string, a regular expression, an array of strings and\n * regular expressions, or `null` to prevent splitting on input.\n *\n * When an array is given, the input value is split by the first matching\n * delimiter. All other delimiters are disregarded for the same input event.\n * For example, if the delimiters are `[\"\\n\", \",\"]` and the user pastes text\n * containing commas and newlines, the text will be split solely by newlines.\n * The commas will be preserved in the tag values. If you want to split by\n * both commas and newlines, you should use a regular expression that matches\n * both characters (e.g., `/[\\n,]/`).\n * @default [\"\\n\", \";\", \",\", /\\s/]\n */\n delimiter?: string | RegExp | null | (string | RegExp)[];\n /**\n * Determines if tag values should be added to the store when the input value\n * is pasted. The values are extracted from the clipboard text and\n * automatically processed with the\n * [`delimiter`](https://ariakit.com/reference/tag-input#delimiter) prop.\n *\n * This can be either a boolean or a callback that receives an event with an\n * extra `values` property and should return a boolean.\n * @default true\n */\n addValueOnPaste?: BooleanOrCallback<\n EventWithValues<ClipboardEvent<HTMLElement>>\n >;\n /**\n * Determines if the tag value should be added to the store when the input\n * value changes. The tag value is automatically processed with the\n * [`delimiter`](https://ariakit.com/reference/tag-input#delimiter) prop.\n *\n * This can be either a boolean or a callback that receives an event with an\n * extra `values` property and should return a boolean.\n * @default true\n */\n addValueOnChange?: BooleanOrCallback<\n EventWithValues<ChangeEvent<HTMLElement>>\n >;\n /**\n * Whether the tag\n * [`value`](https://ariakit.com/reference/tag-provider#value) state\n * should be updated when the input value changes. This is useful if you want\n * to customize how the store\n * [`value`](https://ariakit.com/reference/tag-provider#value) is updated\n * based on the input element's value.\n * @default true\n */\n setValueOnChange?: BooleanOrCallback<ChangeEvent<HTMLElement>>;\n /**\n * Determines whether the last tag value should be removed from the store when\n * the `Backspace` key is pressed and the cursor is at the start of the input\n * value.\n * @default true\n */\n removeOnBackspace?: BooleanOrCallback<KeyboardEvent<HTMLElement>>;\n /**\n * @default true\n */\n tabbable?: CompositeItemOptions<T>[\"tabbable\"];\n}\n\nexport type TagInputProps<T extends ElementType = TagName> = Props<\n T,\n TagInputOptions<T>\n>;\n"],"mappings":";;;;;;;AAuCA,MAAM,UAAA;MAAqB,oBAAA;CAAM;CAAK;CAAK;CAAI;AAE/C;SAIQ,cAAA,WAAiB,mBAA0B,mBAAmB;CACpE,MAAK,iBAAgB,cAAQ,KAAA,IAAA,mBAAA;CAC7B,IAAA,CAAA,gBAAe,OAAA,CAAc;CAC/B,OAAA,QAAA,cAAA;AAEA;SACO,sBAAmB,OAAY,YAAA;MAC9B,MAAA,aAAc,YAAe;EAEjC,IAAA,QAAO,MAAO,MAAU,SAAG;SACzB,OAAQ,UAAY,GAAM;GAC1B,QAAQ,MAAM,MAAM,MAAA,GAAS,MAAA;GAC/B,QAAA,MAAA,MAAA,SAAA;EACA;EACA,IAAA,CAAA,OAAO;EACT,OAAA,MAAA,MAAA,SAAA;CACA;CACF,OAAA,CAAA;;;;;;;;;;;MAsBI,cAAgB,WAAc,SAAA,YAAA,EAAA,OAAA,WAAA,MAAA,WAAA,kBAAA,MAAA,mBAAA,MAAA,mBAAA,MAAA,oBAAA,MAAA,GAAA,SAAA;CAC9B,MAAA,UAAQ,cAAS;CAEjB,QAAA,SAGI;CAGJ,UAAM,OAAQ,gFAA4B;CAE1C,MAAM,QAAA,cAAoB,OAAA,OAAA;CAC1B,MAAM,cAAA,MAAA;CAEN,MAAM,sBAAoB,gBAAoC,eAAA;OAC5D,UAAc,UAAK,UAAA;EACnB,cAAU,KAAA;EACV,IAAA,MAAM,kBAAa;EACnB,MAAM,OAAA,MAAa,cAAc,QAAA,MAAS;EAC1C,MAAM,aAAS,cAAA,SAA2B;EAM1C,MAAK,SAAA,sBAD0B,KAAO,KAAO,GAAE,UACJ,EAAA,KAAA,UAAA,MAAA,KAAA,CAAA,EAAA,QAAA,UAAA,UAAA,EAAA;EAC3C,IAAI,CAAC,oBAAe,OAAA,OAAA,OAAA,EAAA,OAAA,CAAA,CAAA,GAAA;EAEpB,IAAA,CAAA,OAAM,QAAA;EACN,MAAK,eAAM;EAGZ,KAAA,MAAA,YAAA,QAAA,MAAA,SAAA,QAAA;CAED,CAAA;CACA,MAAM,eAAA,MAAA;CACN,MAAM,uBAAuB,gBAAgB,gBAAgB;CAE7D,MAAM,uBAAqB,gBAAiC,gBAAA;OAC1D,WAAe,UAAK,UAAA;EACpB,eAAU,KAAA;EACV,IAAI,MAAC,kBAAO;EACZ,IAAA,CAAA,OAAQ;EACR,MAAM,EAAA,OAAA,cAAY,MAAa,SAAK;EACpC,MAAM,YAAA,aAAsB,KAAA;EAC5B,MAAM,gBAAS,MAAQ;EACvB,MAAM,EAAE,OAAA,QAAU,oBAAA,aAAA;EAElB,MAAI,EAAA,UAAA;MAEA,qBAAoB,KAAA,GAAA,YAAA,cAAA;GAGpB,MAAA,SAAA,KAAA;wBACoB;IACnB,kBAAA,eAAA,OAAA,GAAA;GACD,CAAA;GACA,IAAA,UAAa,WAAM;GACrB,aAAY,MAAA,SAAA,SAAA;EAId,GAAA,SADwB;MAItB,UAAa,OAAA,UAAA,MAAsB,QAFhB;GAGnB,IAAA,SAAM,sBAA2B,OAAK,cAAA,SAAA,CAAA;GACtC,MAAA,gBACQ,OAAA,IAAU,KAAM;GAExB,SAAM,OAAA,KAAA,UAAyB,MAAA,KAAO,CAAA,EAAO,QAAE,UAAQ,UAAA,EAAA;GACvD,MAAI,kBAAiB,OAAA,OAAA,OAAqB,EAAA,OAAA,CAAA;OAMxC,OAAM,UAAA,qBAAe,eAAA,GAAA;IACrB,MAAK,eAAM;IAGX,KAAK,MAAA,YAAY,QAAc,MAAA,SAAA,QAAA;gBACvB,cAAS;KACf,MAAI,SAAA,aAAkB;KACtB,IAAA,kBAAmB,WAAS;KAC9B,aAAY,MAAA,SAAA,SAAA;IACd,GAAA,SAAA;GACF;EACD;CAED,CAAA;CACA,MAAM,gBAAA,MAAA;CAEN,MAAM,wBAAsB,gBAAmC,iBAAA;OAC7D,YAAgB,UAAK,UAAA;EACrB,gBAAU,KAAA;EACV,IAAI,MAAM,kBAAQ;MAChB,MAAQ,QAAO,eAAQ,sBAA0B,KAAA,GAAa;GAE9D,MADuB,EAAA,OAAA,QAAiB,oBACnB,MAAA,aAAA;GACrB,IAAA,EAAM,UAAA,OAAW,UAAW,IAAA;SACrB,WAAO,WAAe;IAC3B,IAAA,CAAA,OAAO,QAAa,OAAK;IAC1B,OAAA,OAAA,MAAA,GAAA,EAAA;GACH,CAAA;EACD;CAED,CAAA;SACE;EACA;EACA,GAAA;EACA,KAAA,aAAA,MAAA,iBAAA,MAAA,GAAA;EACA;EACA;EACF;CAEA;SAAoC,iBAAA;EAAO;EAAU;EAAU,GAAA;CAE/D,CAAA;CAEJ,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoCE,WAAO,WAAc,SADH,SAAY,OACS;CACxC,OAAA,cAAA,SAAA,YAAA,KAAA,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { t as TagStore } from "../tag-store-xANOvuGo.js";
|
|
2
|
+
import { n as CompositeOptions } from "../composite-DLvyFHMq.js";
|
|
3
|
+
import { Props } from "@ariakit/react-utils";
|
|
4
|
+
import { ElementType } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/tag/tag-list-label.d.ts
|
|
7
|
+
declare const TagName = "label";
|
|
8
|
+
type TagName = typeof TagName;
|
|
9
|
+
/**
|
|
10
|
+
* Returns props to create a `TagListLabel` component.
|
|
11
|
+
* @see https://ariakit.com/components/tag
|
|
12
|
+
* @example
|
|
13
|
+
* ```jsx
|
|
14
|
+
* const props = useTagListLabel();
|
|
15
|
+
* <Role.label {...props} />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
declare const useTagListLabel: import("@ariakit/react-utils").Hook<"label", TagListLabelOptions<"label">>;
|
|
19
|
+
/**
|
|
20
|
+
* Renders a label element for the
|
|
21
|
+
* [`TagInput`](https://ariakit.com/reference/tag-input) and also acts as the
|
|
22
|
+
* accessible name for the listbox element rendered by
|
|
23
|
+
* [`TagList`](https://ariakit.com/reference/tag-list).
|
|
24
|
+
* @see https://ariakit.com/components/tag
|
|
25
|
+
* @example
|
|
26
|
+
* ```jsx {2}
|
|
27
|
+
* <TagProvider>
|
|
28
|
+
* <TagListLabel>Invitees</TagListLabel>
|
|
29
|
+
* <TagList>
|
|
30
|
+
* <TagValues>
|
|
31
|
+
* {(values) =>
|
|
32
|
+
* values.map((value) => (
|
|
33
|
+
* <Tag key={value} value={value}>
|
|
34
|
+
* {value}
|
|
35
|
+
* <TagRemove />
|
|
36
|
+
* </Tag>
|
|
37
|
+
* ))
|
|
38
|
+
* }
|
|
39
|
+
* </TagValues>
|
|
40
|
+
* <TagInput />
|
|
41
|
+
* </TagList>
|
|
42
|
+
* </TagProvider>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare const TagListLabel: (props: TagListLabelProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
46
|
+
interface TagListLabelOptions<T extends ElementType = TagName> extends CompositeOptions<T> {
|
|
47
|
+
/**
|
|
48
|
+
* Object returned by the
|
|
49
|
+
* [`useTagStore`](https://ariakit.com/reference/use-tag-store) hook. If not
|
|
50
|
+
* provided, the closest
|
|
51
|
+
* [`TagProvider`](https://ariakit.com/reference/tag-provider) component's
|
|
52
|
+
* context will be used.
|
|
53
|
+
*/
|
|
54
|
+
store?: TagStore;
|
|
55
|
+
}
|
|
56
|
+
type TagListLabelProps<T extends ElementType = TagName> = Props<T, TagListLabelOptions<T>>;
|
|
57
|
+
//#endregion
|
|
58
|
+
export { TagListLabel, TagListLabelOptions, TagListLabelProps, useTagListLabel };
|
|
59
|
+
//# sourceMappingURL=tag-list-label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-list-label.d.ts","names":["Props","ElementType","CompositeOptions","TagStore","TagName","useTagListLabel","TagListLabelOptions","Hook","TagListLabel","TagListLabelProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/tag/tag-list-label.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAFkB;;;;AAC1B;AAAA;;;;AAD0B,cAY1BC,eAAAA,iCAAgDE,IAAAA,UAAcD,mBAAmB;AAAtG;;;;AAAsG;AA2BtG;;;;;;;;;AAAiJ;AACjJ;;;;;;;;;;;AA5BA,cA2BqBE,YAAAA,GAAeE,KAAAA,EAAOD,iBAAiB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UAC3GN,mBAAAA,WAA8BL,WAAAA,GAAcG,OAAAA,UAAiBF,gBAAAA,CAAiBW,CAAAA;EAAjBX;;;;;AAQ1D;AAEpB;EAFIY,KAAAA,GAAQX,QAAAA;AAAAA;AAAAA,KAEAM,iBAAAA,WAA4BR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,mBAAAA,CAAoBO,CAAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useTagContext } from "./tag-context.js";
|
|
3
|
+
import { createElement, createHook, forwardRef, useId, useMergeRefs } from "@ariakit/react-utils";
|
|
4
|
+
import { invariant } from "@ariakit/utils";
|
|
5
|
+
import { useStoreState } from "@ariakit/react-store";
|
|
6
|
+
//#region src/tag/tag-list-label.tsx
|
|
7
|
+
const TagName = "label";
|
|
8
|
+
/**
|
|
9
|
+
* Returns props to create a `TagListLabel` component.
|
|
10
|
+
* @see https://ariakit.com/components/tag
|
|
11
|
+
* @example
|
|
12
|
+
* ```jsx
|
|
13
|
+
* const props = useTagListLabel();
|
|
14
|
+
* <Role.label {...props} />
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
const useTagListLabel = createHook(function useTagListLabel({ store, ...props }) {
|
|
18
|
+
const context = useTagContext();
|
|
19
|
+
store = store || context;
|
|
20
|
+
invariant(store, "TagListLabel must receive a `store` prop or be wrapped in a TagProvider component.");
|
|
21
|
+
const id = useId(props.id);
|
|
22
|
+
props = {
|
|
23
|
+
htmlFor: useStoreState(store, (state) => state.inputElement?.id),
|
|
24
|
+
...props,
|
|
25
|
+
id,
|
|
26
|
+
ref: useMergeRefs(store.setLabelElement, props.ref)
|
|
27
|
+
};
|
|
28
|
+
return props;
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Renders a label element for the
|
|
32
|
+
* [`TagInput`](https://ariakit.com/reference/tag-input) and also acts as the
|
|
33
|
+
* accessible name for the listbox element rendered by
|
|
34
|
+
* [`TagList`](https://ariakit.com/reference/tag-list).
|
|
35
|
+
* @see https://ariakit.com/components/tag
|
|
36
|
+
* @example
|
|
37
|
+
* ```jsx {2}
|
|
38
|
+
* <TagProvider>
|
|
39
|
+
* <TagListLabel>Invitees</TagListLabel>
|
|
40
|
+
* <TagList>
|
|
41
|
+
* <TagValues>
|
|
42
|
+
* {(values) =>
|
|
43
|
+
* values.map((value) => (
|
|
44
|
+
* <Tag key={value} value={value}>
|
|
45
|
+
* {value}
|
|
46
|
+
* <TagRemove />
|
|
47
|
+
* </Tag>
|
|
48
|
+
* ))
|
|
49
|
+
* }
|
|
50
|
+
* </TagValues>
|
|
51
|
+
* <TagInput />
|
|
52
|
+
* </TagList>
|
|
53
|
+
* </TagProvider>
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
const TagListLabel = forwardRef(function TagListLabel(props) {
|
|
57
|
+
return createElement(TagName, useTagListLabel(props));
|
|
58
|
+
});
|
|
59
|
+
//#endregion
|
|
60
|
+
export { TagListLabel, useTagListLabel };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=tag-list-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-list-label.js","names":[],"sources":["../../src/tag/tag-list-label.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useId,\n useMergeRefs,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { invariant } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport type { CompositeOptions } from \"../composite/composite.tsx\";\nimport { useTagContext } from \"./tag-context.tsx\";\nimport type { TagStore } from \"./tag-store.ts\";\n\nconst TagName = \"label\" satisfies ElementType;\ntype TagName = typeof TagName;\n\n/**\n * Returns props to create a `TagListLabel` component.\n * @see https://ariakit.com/components/tag\n * @example\n * ```jsx\n * const props = useTagListLabel();\n * <Role.label {...props} />\n * ```\n */\nexport const useTagListLabel = createHook<TagName, TagListLabelOptions>(\n function useTagListLabel({ store, ...props }) {\n const context = useTagContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"TagListLabel must receive a `store` prop or be wrapped in a TagProvider component.\",\n );\n\n const id = useId(props.id);\n const htmlFor = useStoreState(store, (state) => state.inputElement?.id);\n\n props = {\n htmlFor,\n ...props,\n id,\n ref: useMergeRefs(store.setLabelElement, props.ref),\n };\n\n return props;\n },\n);\n\n/**\n * Renders a label element for the\n * [`TagInput`](https://ariakit.com/reference/tag-input) and also acts as the\n * accessible name for the listbox element rendered by\n * [`TagList`](https://ariakit.com/reference/tag-list).\n * @see https://ariakit.com/components/tag\n * @example\n * ```jsx {2}\n * <TagProvider>\n * <TagListLabel>Invitees</TagListLabel>\n * <TagList>\n * <TagValues>\n * {(values) =>\n * values.map((value) => (\n * <Tag key={value} value={value}>\n * {value}\n * <TagRemove />\n * </Tag>\n * ))\n * }\n * </TagValues>\n * <TagInput />\n * </TagList>\n * </TagProvider>\n * ```\n */\nexport const TagListLabel = forwardRef(function TagListLabel(\n props: TagListLabelProps,\n) {\n const htmlProps = useTagListLabel(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface TagListLabelOptions<\n T extends ElementType = TagName,\n> extends CompositeOptions<T> {\n /**\n * Object returned by the\n * [`useTagStore`](https://ariakit.com/reference/use-tag-store) hook. If not\n * provided, the closest\n * [`TagProvider`](https://ariakit.com/reference/tag-provider) component's\n * context will be used.\n */\n store?: TagStore;\n}\n\nexport type TagListLabelProps<T extends ElementType = TagName> = Props<\n T,\n TagListLabelOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;MA6BI,kBAAgB,WAAc,SAAA,gBAAA,EAAA,OAAA,GAAA,SAAA;CAC9B,MAAA,UAAQ,cAAS;CAEjB,QAAA,SAGI;CAGJ,UAAM,OAAW,oFAAQ;CAGzB,MAAA,KAAQ,MAAA,MAAA,EAAA;SACN;EACA,SAAG,cAAA,QAAA,UAAA,MAAA,cAAA,EAAA;EACH,GAAA;EACA;EACF,KAAA,aAAA,MAAA,iBAAA,MAAA,GAAA;CAEA;CAEJ,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCE,eAAO,WADW,SAAA,aACqB,OAAA;CACxC,OAAA,cAAA,SAAA,gBAAA,KAAA,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { t as TagStore } from "../tag-store-xANOvuGo.js";
|
|
2
|
+
import { n as CompositeOptions } from "../composite-DLvyFHMq.js";
|
|
3
|
+
import { Props } from "@ariakit/react-utils";
|
|
4
|
+
import { ElementType } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/tag/tag-list.d.ts
|
|
7
|
+
declare const TagName = "div";
|
|
8
|
+
type TagName = typeof TagName;
|
|
9
|
+
/**
|
|
10
|
+
* Returns props to create a `TagList` component.
|
|
11
|
+
* @see https://ariakit.com/components/tag
|
|
12
|
+
* @example
|
|
13
|
+
* ```jsx
|
|
14
|
+
* const props = useTagList();
|
|
15
|
+
* <Role.div {...props} />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
declare const useTagList: import("@ariakit/react-utils").Hook<"div", TagListOptions<"div">>;
|
|
19
|
+
/**
|
|
20
|
+
* Renders a wrapper for [`Tag`](https://ariakit.com/reference/tag) and
|
|
21
|
+
* [`TagInput`](https://ariakit.com/reference/tag-input) components. This
|
|
22
|
+
* component is typically styled as an input field.
|
|
23
|
+
*
|
|
24
|
+
* The [`TagListLabel`](https://ariakit.com/reference/tag-list-label) component
|
|
25
|
+
* can be used to provide an accessible name for the listbox element that owns
|
|
26
|
+
* the tags.
|
|
27
|
+
* @see https://ariakit.com/components/tag
|
|
28
|
+
* @example
|
|
29
|
+
* ```jsx {3-15}
|
|
30
|
+
* <TagProvider>
|
|
31
|
+
* <TagListLabel>Invitees</TagListLabel>
|
|
32
|
+
* <TagList>
|
|
33
|
+
* <TagValues>
|
|
34
|
+
* {(values) =>
|
|
35
|
+
* values.map((value) => (
|
|
36
|
+
* <Tag key={value} value={value}>
|
|
37
|
+
* {value}
|
|
38
|
+
* <TagRemove />
|
|
39
|
+
* </Tag>
|
|
40
|
+
* ))
|
|
41
|
+
* }
|
|
42
|
+
* </TagValues>
|
|
43
|
+
* <TagInput />
|
|
44
|
+
* </TagList>
|
|
45
|
+
* </TagProvider>
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
declare const TagList: (props: TagListProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
49
|
+
interface TagListOptions<T extends ElementType = TagName> extends CompositeOptions<T> {
|
|
50
|
+
/**
|
|
51
|
+
* Object returned by the
|
|
52
|
+
* [`useTagStore`](https://ariakit.com/reference/use-tag-store) hook. If not
|
|
53
|
+
* provided, the closest
|
|
54
|
+
* [`TagProvider`](https://ariakit.com/reference/tag-provider) component's
|
|
55
|
+
* context will be used.
|
|
56
|
+
*/
|
|
57
|
+
store?: TagStore;
|
|
58
|
+
}
|
|
59
|
+
type TagListProps<T extends ElementType = TagName> = Props<T, TagListOptions<T>>;
|
|
60
|
+
//#endregion
|
|
61
|
+
export { TagList, TagListOptions, TagListProps, useTagList };
|
|
62
|
+
//# sourceMappingURL=tag-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-list.d.ts","names":["Props","ElementType","CompositeOptions","TagStore","TagName","useTagList","TagListOptions","Hook","TagList","TagListProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/tag/tag-list.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAFkB;;;;AAC1B;AAAA;;;;AAD0B,cAY1BC,UAAAA,iCAA2CE,IAAAA,QAAYD,cAAc;AAA1F;;;;AAA0F;AA8B1F;;;;;;;;;AAAuI;AACvI;;;;;;;;;;;;;;AA/BA,cA8BqBE,OAAAA,GAAUE,KAAAA,EAAOD,YAAY,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UACjGN,cAAAA,WAAyBL,WAAAA,GAAcG,OAAAA,UAAiBF,gBAAAA,CAAiBW,CAAAA;EAQ9EV;;AAAQ;AAEpB;;;;EAFIW,KAAAA,GAAQX,QAAAA;AAAAA;AAAAA,KAEAM,YAAAA,WAAuBR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,cAAAA,CAAeO,CAAAA"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TagScopedContextProvider, useTagProviderContext } from "./tag-context.js";
|
|
3
|
+
import { useComposite } from "../composite/composite.js";
|
|
4
|
+
import { useTouchDevice } from "./utils.js";
|
|
5
|
+
import { createElement, createHook, forwardRef, useEvent, useWrapElement } from "@ariakit/react-utils";
|
|
6
|
+
import { UndoManager, getClosestFocusable, invariant, isApple, queueBeforeEvent } from "@ariakit/utils";
|
|
7
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { useStoreState } from "@ariakit/react-store";
|
|
9
|
+
//#region src/tag/tag-list.tsx
|
|
10
|
+
const TagName = "div";
|
|
11
|
+
/**
|
|
12
|
+
* Returns props to create a `TagList` component.
|
|
13
|
+
* @see https://ariakit.com/components/tag
|
|
14
|
+
* @example
|
|
15
|
+
* ```jsx
|
|
16
|
+
* const props = useTagList();
|
|
17
|
+
* <Role.div {...props} />
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
const useTagList = createHook(function useTagList({ store, ...props }) {
|
|
21
|
+
const context = useTagProviderContext();
|
|
22
|
+
store = store || context;
|
|
23
|
+
invariant(store, "TagList must receive a `store` prop or be wrapped in a TagProvider component.");
|
|
24
|
+
const onMouseDownProp = props.onMouseDown;
|
|
25
|
+
const onMouseDown = useEvent((event) => {
|
|
26
|
+
onMouseDownProp?.(event);
|
|
27
|
+
if (event.defaultPrevented) return;
|
|
28
|
+
const target = event.target;
|
|
29
|
+
const currentTarget = event.currentTarget;
|
|
30
|
+
const focusableTarget = getClosestFocusable(target);
|
|
31
|
+
if (!(focusableTarget === currentTarget) && currentTarget.contains(focusableTarget)) return;
|
|
32
|
+
const { inputElement } = store.getState();
|
|
33
|
+
queueBeforeEvent(event.currentTarget, "mouseup", () => {
|
|
34
|
+
inputElement?.focus();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
const onKeyDownProp = props.onKeyDown;
|
|
38
|
+
const onKeyDown = useEvent((event) => {
|
|
39
|
+
onKeyDownProp?.(event);
|
|
40
|
+
if (event.defaultPrevented) return;
|
|
41
|
+
const pc = !isApple();
|
|
42
|
+
const z = event.key === "z" || event.key === "Z";
|
|
43
|
+
const mod = pc ? event.ctrlKey : event.metaKey;
|
|
44
|
+
const shiftZ = event.shiftKey && z || pc && event.key === "y";
|
|
45
|
+
if (mod && shiftZ) {
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
UndoManager.redo();
|
|
48
|
+
} else if (mod && z) {
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
UndoManager.undo();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
props = useWrapElement(props, (element) => /* @__PURE__ */ jsx(TagScopedContextProvider, {
|
|
54
|
+
value: store,
|
|
55
|
+
children: element
|
|
56
|
+
}), [store]);
|
|
57
|
+
props = {
|
|
58
|
+
...props,
|
|
59
|
+
onMouseDown,
|
|
60
|
+
onKeyDown
|
|
61
|
+
};
|
|
62
|
+
props = useComposite({
|
|
63
|
+
store,
|
|
64
|
+
...props
|
|
65
|
+
});
|
|
66
|
+
const orientation = useStoreState(store, (state) => state.orientation === "both" ? void 0 : state.orientation);
|
|
67
|
+
const itemIds = useStoreState(store, (state) => state.renderedItems).filter((item) => !!item.value).map((item) => item.id);
|
|
68
|
+
const labelId = useStoreState(store, (state) => state.labelElement?.id);
|
|
69
|
+
const listboxProps = {};
|
|
70
|
+
for (const key in props) if (key === "role" || key.startsWith("aria-")) {
|
|
71
|
+
const prop = key;
|
|
72
|
+
listboxProps[prop] = props[prop];
|
|
73
|
+
delete props[prop];
|
|
74
|
+
}
|
|
75
|
+
const children = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
76
|
+
role: useTouchDevice() ? "list" : "listbox",
|
|
77
|
+
"aria-live": "polite",
|
|
78
|
+
"aria-relevant": "all",
|
|
79
|
+
"aria-atomic": true,
|
|
80
|
+
"aria-labelledby": listboxProps["aria-label"] != null ? void 0 : labelId,
|
|
81
|
+
"aria-orientation": orientation,
|
|
82
|
+
"aria-owns": itemIds.join(" "),
|
|
83
|
+
...listboxProps,
|
|
84
|
+
style: { position: "fixed" }
|
|
85
|
+
}), props.children] });
|
|
86
|
+
props = {
|
|
87
|
+
...props,
|
|
88
|
+
children
|
|
89
|
+
};
|
|
90
|
+
return props;
|
|
91
|
+
});
|
|
92
|
+
/**
|
|
93
|
+
* Renders a wrapper for [`Tag`](https://ariakit.com/reference/tag) and
|
|
94
|
+
* [`TagInput`](https://ariakit.com/reference/tag-input) components. This
|
|
95
|
+
* component is typically styled as an input field.
|
|
96
|
+
*
|
|
97
|
+
* The [`TagListLabel`](https://ariakit.com/reference/tag-list-label) component
|
|
98
|
+
* can be used to provide an accessible name for the listbox element that owns
|
|
99
|
+
* the tags.
|
|
100
|
+
* @see https://ariakit.com/components/tag
|
|
101
|
+
* @example
|
|
102
|
+
* ```jsx {3-15}
|
|
103
|
+
* <TagProvider>
|
|
104
|
+
* <TagListLabel>Invitees</TagListLabel>
|
|
105
|
+
* <TagList>
|
|
106
|
+
* <TagValues>
|
|
107
|
+
* {(values) =>
|
|
108
|
+
* values.map((value) => (
|
|
109
|
+
* <Tag key={value} value={value}>
|
|
110
|
+
* {value}
|
|
111
|
+
* <TagRemove />
|
|
112
|
+
* </Tag>
|
|
113
|
+
* ))
|
|
114
|
+
* }
|
|
115
|
+
* </TagValues>
|
|
116
|
+
* <TagInput />
|
|
117
|
+
* </TagList>
|
|
118
|
+
* </TagProvider>
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
const TagList = forwardRef(function TagList(props) {
|
|
122
|
+
return createElement(TagName, useTagList(props));
|
|
123
|
+
});
|
|
124
|
+
//#endregion
|
|
125
|
+
export { TagList, useTagList };
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=tag-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-list.js","names":[],"sources":["../../src/tag/tag-list.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useEvent,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport {\n queueBeforeEvent,\n getClosestFocusable,\n invariant,\n isApple,\n UndoManager,\n} from \"@ariakit/utils\";\nimport type { ElementType, KeyboardEvent, MouseEvent } from \"react\";\nimport type { CompositeOptions } from \"../composite/composite.tsx\";\nimport { useComposite } from \"../composite/composite.tsx\";\nimport {\n TagScopedContextProvider,\n useTagProviderContext,\n} from \"./tag-context.tsx\";\nimport type { TagStore } from \"./tag-store.ts\";\nimport { useTouchDevice } from \"./utils.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\n/**\n * Returns props to create a `TagList` component.\n * @see https://ariakit.com/components/tag\n * @example\n * ```jsx\n * const props = useTagList();\n * <Role.div {...props} />\n * ```\n */\nexport const useTagList = createHook<TagName, TagListOptions>(\n function useTagList({ store, ...props }) {\n const context = useTagProviderContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"TagList must receive a `store` prop or be wrapped in a TagProvider component.\",\n );\n\n const onMouseDownProp = props.onMouseDown;\n\n // Focus on the input element when clicking on the tag list.\n const onMouseDown = useEvent((event: MouseEvent<HTMLType>) => {\n onMouseDownProp?.(event);\n if (event.defaultPrevented) return;\n const target = event.target as HTMLElement;\n const currentTarget = event.currentTarget;\n const focusableTarget = getClosestFocusable(target);\n const isSelfFocusable = focusableTarget === currentTarget;\n // If the user clicked on an element that's already focusable, don't focus\n // the input element.\n if (!isSelfFocusable && currentTarget.contains(focusableTarget)) return;\n const { inputElement } = store.getState();\n // We can't immediately focus on mousedown, otherwise the input element\n // will lose focus to the body as an effect of the mousedown event.\n queueBeforeEvent(event.currentTarget, \"mouseup\", () => {\n inputElement?.focus();\n });\n });\n\n const onKeyDownProp = props.onKeyDown;\n\n const onKeyDown = useEvent((event: KeyboardEvent<HTMLType>) => {\n onKeyDownProp?.(event);\n if (event.defaultPrevented) return;\n const pc = !isApple();\n const z = event.key === \"z\" || event.key === \"Z\";\n const mod = pc ? event.ctrlKey : event.metaKey;\n const shiftZ = (event.shiftKey && z) || (pc && event.key === \"y\");\n if (mod && shiftZ) {\n event.preventDefault();\n void UndoManager.redo();\n } else if (mod && z) {\n event.preventDefault();\n void UndoManager.undo();\n }\n });\n\n props = useWrapElement(\n props,\n (element) => (\n <TagScopedContextProvider value={store}>\n {element}\n </TagScopedContextProvider>\n ),\n [store],\n );\n\n props = {\n ...props,\n onMouseDown,\n onKeyDown,\n };\n\n props = useComposite({ store, ...props });\n\n const orientation = useStoreState(store, (state) =>\n state.orientation === \"both\" ? undefined : state.orientation,\n );\n const items = useStoreState(store, (state) => state.renderedItems);\n const itemIds = items.filter((item) => !!item.value).map((item) => item.id);\n const labelId = useStoreState(store, (state) => state.labelElement?.id);\n\n // Remove aria attributes from tha TagList element and add them to a\n // separate div that will serve as the accessible listbox element.\n const listboxProps: typeof props = {};\n for (const key in props) {\n if (key === \"role\" || key.startsWith(\"aria-\")) {\n const prop = key as keyof typeof props;\n listboxProps[prop] = props[prop];\n delete props[prop];\n }\n }\n\n const touchDevice = useTouchDevice();\n\n // We can't render TagList as a listbox because it may include an input\n // (textbox) for styling purposes (it must be a sibling of the tags). The\n // listbox role accepts only options as children, so we render a separate\n // listbox element using aria-owns to reference the options.\n const children = (\n <>\n <div\n role={touchDevice ? \"list\" : \"listbox\"}\n aria-live=\"polite\"\n aria-relevant=\"all\"\n aria-atomic\n aria-labelledby={\n listboxProps[\"aria-label\"] != null ? undefined : labelId\n }\n aria-orientation={orientation}\n aria-owns={itemIds.join(\" \")}\n {...listboxProps}\n style={{ position: \"fixed\" }}\n />\n {props.children}\n </>\n );\n\n props = {\n ...props,\n children,\n };\n\n return props;\n },\n);\n\n/**\n * Renders a wrapper for [`Tag`](https://ariakit.com/reference/tag) and\n * [`TagInput`](https://ariakit.com/reference/tag-input) components. This\n * component is typically styled as an input field.\n *\n * The [`TagListLabel`](https://ariakit.com/reference/tag-list-label) component\n * can be used to provide an accessible name for the listbox element that owns\n * the tags.\n * @see https://ariakit.com/components/tag\n * @example\n * ```jsx {3-15}\n * <TagProvider>\n * <TagListLabel>Invitees</TagListLabel>\n * <TagList>\n * <TagValues>\n * {(values) =>\n * values.map((value) => (\n * <Tag key={value} value={value}>\n * {value}\n * <TagRemove />\n * </Tag>\n * ))\n * }\n * </TagValues>\n * <TagInput />\n * </TagList>\n * </TagProvider>\n * ```\n */\nexport const TagList = forwardRef(function TagList(props: TagListProps) {\n const htmlProps = useTagList(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface TagListOptions<\n T extends ElementType = TagName,\n> extends CompositeOptions<T> {\n /**\n * Object returned by the\n * [`useTagStore`](https://ariakit.com/reference/use-tag-store) hook. If not\n * provided, the closest\n * [`TagProvider`](https://ariakit.com/reference/tag-provider) component's\n * context will be used.\n */\n store?: TagStore;\n}\n\nexport type TagListProps<T extends ElementType = TagName> = Props<\n T,\n TagListOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;MAyCI,aAAgB,WAAA,SAAsB,WAAA,EAAA,OAAA,GAAA,SAAA;CACtC,MAAA,UAAQ,sBAAS;CAEjB,QAAA,SAGI;CAGJ,UAAM,OAAA,+EAAwB;CAG9B,MAAM,kBAAc,MAAU;OAC5B,cAAkB,UAAK,UAAA;EACvB,kBAAU,KAAA;EACV,IAAA,MAAM,kBAAe;EACrB,MAAM,SAAA,MAAA;EACN,MAAM,gBAAA,MAAkB;EAIxB,MAHwB,kBAAA,oBAGA,MAAA;EACxB,IAAA,EAAM,oBAAmB,kBAAe,cAAA,SAAA,eAAA,GAAA;EAGxC,MAAA,EAAA,iBAAuB,MAAA,SAAe;mBACtB,MAAM,eAAA,iBAAA;GACrB,cAAA,MAAA;EACF,CAAA;CAED,CAAA;CAEA,MAAM,gBAAY,MAAU;OAC1B,YAAgB,UAAK,UAAA;EACrB,gBAAU,KAAA;EACV,IAAA,MAAM,kBAAc;EACpB,MAAM,KAAI,CAAA,QAAM;EAChB,MAAM,IAAA,MAAM,QAAW,OAAA,MAAU,QAAM;EACvC,MAAM,MAAA,KAAU,MAAM,UAAY,MAAO;EACzC,MAAI,SAAO,MAAQ,YAAA,KAAA,MAAA,MAAA,QAAA;MACjB,OAAM,QAAA;GACN,MAAK,eAAiB;GACxB,YAAW,KAAO;SACV,IAAA,OAAA,GAAA;GACN,MAAK,eAAiB;GACxB,YAAA,KAAA;EACD;CAED,CAAA;SAGqC,eAAA,QAAA,YAAA,oBAAA,0BAAA;;EAEP,UAG9B;CAEA,CAAA,GAAA,CAAA,KAAQ,CAAA;SACH;EACH,GAAA;EACA;EACF;CAEA;SAAuB,aAAA;EAAO;EAAU,GAAA;CAExC,CAAA;CAIA,MAAM,cADQ,cAAc,QAAQ,UAAU,MAAM,gBAC9B,SAAQ,KAAW,IAAA,MAAU,WAAO;CAC1D,MAAM,UAAU,cAAc,QAAQ,UAAU,MAAM,aAAA,EAAc,QAAE,SAAA,CAAA,CAAA,KAAA,KAAA,EAAA,KAAA,SAAA,KAAA,EAAA;CAItE,MAAM,UAAA,cAA8B,QAAA,UAAA,MAAA,cAAA,EAAA;CACpC,MAAK,eAAa,CAAA;MAEd,MAAM,OAAO,OAAA,IAAA,QAAA,UAAA,IAAA,WAAA,OAAA,GAAA;EACb,MAAA,OAAa;EACb,aAAa,QAAA,MAAA;EACf,OAAA,MAAA;CASF;OAGM,WAAoB,qBAAS,UAAA,EAAA,UAAA,CAAA,oBAAA,OAAA;EAC7B,MAAA,eAAU,IAAA,SAAA;EACV,aAAA;EACA,iBAAA;EACA,eAAA;EAGA,mBAAA,aAAkB,iBAAA,OAAA,KAAA,IAAA;EAClB,oBAAW;EACX,aAAI,QAAA,KAAA,GAAA;EACJ,GAAA;EACD,OACA,EAAM,UACP,QAAA;CAGJ,CAAA,GAAA,MAAQ,QAAA,EAAA,CAAA;SACH;EACH,GAAA;EACF;CAEA;CAEJ,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCE,UAAO,WAAc,SADH,QAAW,OACU;CACxC,OAAA,cAAA,SAAA,WAAA,KAAA,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { a as TagStoreProps } from "../tag-store-xANOvuGo.js";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/tag/tag-provider.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Provides a tag store to [Tag](https://ariakit.com/components/tag) components.
|
|
7
|
+
* @see https://ariakit.com/components/tag
|
|
8
|
+
* @example
|
|
9
|
+
* ```jsx
|
|
10
|
+
* <TagProvider>
|
|
11
|
+
* <TagListLabel>Invitees</TagListLabel>
|
|
12
|
+
* <TagList>
|
|
13
|
+
* <TagValues>
|
|
14
|
+
* {(values) =>
|
|
15
|
+
* values.map((value) => (
|
|
16
|
+
* <Tag key={value} value={value}>
|
|
17
|
+
* {value}
|
|
18
|
+
* <TagRemove />
|
|
19
|
+
* </Tag>
|
|
20
|
+
* ))
|
|
21
|
+
* }
|
|
22
|
+
* </TagValues>
|
|
23
|
+
* <TagInput />
|
|
24
|
+
* </TagList>
|
|
25
|
+
* </TagProvider>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
declare function TagProvider(props?: TagProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
interface TagProviderProps extends TagStoreProps {
|
|
30
|
+
children?: ReactNode;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { TagProvider, TagProviderProps };
|
|
34
|
+
//# sourceMappingURL=tag-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-provider.d.ts","names":["ReactNode","TagStoreProps","TagProvider","TagProviderProps","props","JSX","Element","children"],"sources":["../../src/tag/tag-provider.d.ts"],"mappings":";;;;;;AAyBA;;;;;;;;;AAAsG;AACtG;;;;;;;;AACwB;;;iBAFAE,WAAAA,CAAYE,KAAAA,GAAQD,gBAAgB,+BAA+BE,GAAAA,CAAIC,OAAAA;AAAAA,UAC9EH,gBAAAA,SAAyBF,aAAa;EACnDM,QAAAA,GAAWP,SAAAA;AAAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TagContextProvider } from "./tag-context.js";
|
|
3
|
+
import { useTagStore } from "./tag-store.js";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/tag/tag-provider.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Provides a tag store to [Tag](https://ariakit.com/components/tag) components.
|
|
8
|
+
* @see https://ariakit.com/components/tag
|
|
9
|
+
* @example
|
|
10
|
+
* ```jsx
|
|
11
|
+
* <TagProvider>
|
|
12
|
+
* <TagListLabel>Invitees</TagListLabel>
|
|
13
|
+
* <TagList>
|
|
14
|
+
* <TagValues>
|
|
15
|
+
* {(values) =>
|
|
16
|
+
* values.map((value) => (
|
|
17
|
+
* <Tag key={value} value={value}>
|
|
18
|
+
* {value}
|
|
19
|
+
* <TagRemove />
|
|
20
|
+
* </Tag>
|
|
21
|
+
* ))
|
|
22
|
+
* }
|
|
23
|
+
* </TagValues>
|
|
24
|
+
* <TagInput />
|
|
25
|
+
* </TagList>
|
|
26
|
+
* </TagProvider>
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
function TagProvider(props = {}) {
|
|
30
|
+
return /* @__PURE__ */ jsx(TagContextProvider, {
|
|
31
|
+
value: useTagStore(props),
|
|
32
|
+
children: props.children
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { TagProvider };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=tag-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-provider.js","names":[],"sources":["../../src/tag/tag-provider.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { TagContextProvider } from \"./tag-context.tsx\";\nimport type { TagStoreProps } from \"./tag-store.ts\";\nimport { useTagStore } from \"./tag-store.ts\";\n\n/**\n * Provides a tag store to [Tag](https://ariakit.com/components/tag) components.\n * @see https://ariakit.com/components/tag\n * @example\n * ```jsx\n * <TagProvider>\n * <TagListLabel>Invitees</TagListLabel>\n * <TagList>\n * <TagValues>\n * {(values) =>\n * values.map((value) => (\n * <Tag key={value} value={value}>\n * {value}\n * <TagRemove />\n * </Tag>\n * ))\n * }\n * </TagValues>\n * <TagInput />\n * </TagList>\n * </TagProvider>\n * ```\n */\nexport function TagProvider(props: TagProviderProps = {}) {\n const store = useTagStore(props);\n return (\n <TagContextProvider value={store}>{props.children}</TagContextProvider>\n );\n}\n\nexport interface TagProviderProps extends TagStoreProps {\n children?: ReactNode;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;SA+BI,YAAA,QAAC,CAAA,GAAA;QAFuB,oBAEO,oBAAA;qBAAU,KAAA;EAA6B,UAAA,MAAA;CAE1E,CAAA"}
|