@blakesteve/roster 4.12.0 → 4.13.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/README.md +3 -3
- package/dist/_virtual/use-sync-external-store-with-selector.development.cjs +1 -0
- package/dist/_virtual/use-sync-external-store-with-selector.development.js +4 -0
- package/dist/_virtual/use-sync-external-store-with-selector.production.cjs +1 -0
- package/dist/_virtual/use-sync-external-store-with-selector.production.js +4 -0
- package/dist/_virtual/with-selector.cjs +1 -0
- package/dist/_virtual/with-selector.js +5 -0
- package/dist/_virtual/with-selector2.cjs +1 -0
- package/dist/_virtual/with-selector2.js +4 -0
- package/dist/components/atoms/Avatar/Avatar.cjs +1 -0
- package/dist/components/atoms/Avatar/Avatar.js +62 -0
- package/dist/components/atoms/Avatar/avatar-variants.cjs +1 -0
- package/dist/components/atoms/Avatar/avatar-variants.js +37 -0
- package/dist/components/atoms/AvatarStrip/AvatarStrip.cjs +1 -0
- package/dist/components/atoms/AvatarStrip/AvatarStrip.js +99 -0
- package/dist/components/atoms/Badge/Badge.cjs +1 -0
- package/dist/components/atoms/Badge/Badge.js +36 -0
- package/dist/components/atoms/Badge/badge-variants.cjs +1 -0
- package/dist/components/atoms/Badge/badge-variants.js +84 -0
- package/dist/components/atoms/Button/Button.cjs +1 -0
- package/dist/components/atoms/Button/Button.js +49 -0
- package/dist/components/atoms/Button/button-variants.cjs +1 -0
- package/dist/components/atoms/Button/button-variants.d.ts +15 -0
- package/dist/components/atoms/Button/button-variants.js +94 -0
- package/dist/components/atoms/Card/Card.cjs +1 -0
- package/dist/components/atoms/Card/Card.js +50 -0
- package/dist/components/atoms/Card/card-variants.cjs +1 -0
- package/dist/components/atoms/Card/card-variants.js +43 -0
- package/dist/components/atoms/Checkbox/Checkbox.cjs +1 -0
- package/dist/components/atoms/Checkbox/Checkbox.js +62 -0
- package/dist/components/atoms/Checkbox/checkbox-variants.cjs +1 -0
- package/dist/components/atoms/Checkbox/checkbox-variants.js +66 -0
- package/dist/components/atoms/Chip/Chip.cjs +1 -0
- package/dist/components/atoms/Chip/Chip.js +118 -0
- package/dist/components/atoms/Chip/chip-variants.cjs +1 -0
- package/dist/components/atoms/Chip/chip-variants.js +85 -0
- package/dist/components/atoms/CollapsibleSection/CollapsibleSection.cjs +1 -0
- package/dist/components/atoms/CollapsibleSection/CollapsibleSection.js +53 -0
- package/dist/components/atoms/Combobox/Combobox.cjs +1 -0
- package/dist/components/atoms/Combobox/Combobox.js +149 -0
- package/dist/components/atoms/Disclosure/Disclosure.cjs +1 -0
- package/dist/components/atoms/Disclosure/Disclosure.js +81 -0
- package/dist/components/atoms/Disclosure/disclosure-variants.cjs +1 -0
- package/dist/components/atoms/Disclosure/disclosure-variants.js +38 -0
- package/dist/components/atoms/Eyebrow/Eyebrow.cjs +1 -0
- package/dist/components/atoms/Eyebrow/Eyebrow.js +26 -0
- package/dist/components/atoms/Eyebrow/eyebrow-variants.cjs +1 -0
- package/dist/components/atoms/Eyebrow/eyebrow-variants.js +28 -0
- package/dist/components/atoms/InlineCode/InlineCode.cjs +1 -0
- package/dist/components/atoms/InlineCode/InlineCode.js +19 -0
- package/dist/components/atoms/InlineCode/inline-code-variants.cjs +1 -0
- package/dist/components/atoms/InlineCode/inline-code-variants.js +18 -0
- package/dist/components/atoms/Input/Input.cjs +1 -0
- package/dist/components/atoms/Input/Input.js +108 -0
- package/dist/components/atoms/Input/input-variants.cjs +1 -0
- package/dist/components/atoms/Input/input-variants.js +89 -0
- package/dist/components/atoms/LabeledDivider/LabeledDivider.cjs +1 -0
- package/dist/components/atoms/LabeledDivider/LabeledDivider.js +16 -0
- package/dist/components/atoms/Link/Link.cjs +1 -0
- package/dist/components/atoms/Link/Link.js +65 -0
- package/dist/components/atoms/Link/link-variants.cjs +1 -0
- package/dist/components/atoms/Link/link-variants.js +32 -0
- package/dist/components/atoms/LiquidTabs/LiquidTabs.cjs +1 -0
- package/dist/components/atoms/LiquidTabs/LiquidTabs.js +119 -0
- package/dist/components/atoms/MultiSelect/MultiSelect.cjs +1 -0
- package/dist/components/atoms/MultiSelect/MultiSelect.js +230 -0
- package/dist/components/atoms/PasswordInput/PasswordInput.cjs +1 -0
- package/dist/components/atoms/PasswordInput/PasswordInput.js +68 -0
- package/dist/components/atoms/Pill/Pill.cjs +1 -0
- package/dist/components/atoms/Pill/Pill.js +47 -0
- package/dist/components/atoms/Pill/pill-variants.cjs +1 -0
- package/dist/components/atoms/Pill/pill-variants.js +82 -0
- package/dist/components/atoms/SegmentBar/SegmentBar.cjs +1 -0
- package/dist/components/atoms/SegmentBar/SegmentBar.js +72 -0
- package/dist/components/atoms/Select/Select.cjs +1 -0
- package/dist/components/atoms/Select/Select.js +151 -0
- package/dist/components/atoms/Select/select-variants.cjs +1 -0
- package/dist/components/atoms/Select/select-variants.js +94 -0
- package/dist/components/atoms/Spinner/Spinner.cjs +1 -0
- package/dist/components/atoms/Spinner/Spinner.js +49 -0
- package/dist/components/atoms/Stat/Stat.cjs +1 -0
- package/dist/components/atoms/Stat/Stat.js +16 -0
- package/dist/components/atoms/Stat/stat-variants.cjs +1 -0
- package/dist/components/atoms/Stat/stat-variants.js +25 -0
- package/dist/components/atoms/Switch/Switch.cjs +1 -0
- package/dist/components/atoms/Switch/Switch.js +72 -0
- package/dist/components/atoms/Switch/switch-variants.cjs +1 -0
- package/dist/components/atoms/Switch/switch-variants.js +43 -0
- package/dist/components/atoms/Textarea/Textarea.cjs +1 -0
- package/dist/components/atoms/Textarea/Textarea.js +65 -0
- package/dist/components/atoms/Textarea/textarea-variants.cjs +1 -0
- package/dist/components/atoms/Textarea/textarea-variants.js +60 -0
- package/dist/components/atoms/ThemeToggle/ThemeToggle.cjs +1 -0
- package/dist/components/atoms/ThemeToggle/ThemeToggle.js +75 -0
- package/dist/components/atoms/Tooltip/Tooltip.cjs +1 -0
- package/dist/components/atoms/Tooltip/Tooltip.js +59 -0
- package/dist/components/molecules/Accordion/Accordion.cjs +1 -0
- package/dist/components/molecules/Accordion/Accordion.js +37 -0
- package/dist/components/molecules/Alert/Alert.cjs +1 -0
- package/dist/components/molecules/Alert/Alert.js +67 -0
- package/dist/components/molecules/Alert/alert-variants.cjs +1 -0
- package/dist/components/molecules/Alert/alert-variants.js +80 -0
- package/dist/components/molecules/Breadcrumbs/Breadcrumbs.cjs +1 -0
- package/dist/components/molecules/Breadcrumbs/Breadcrumbs.js +88 -0
- package/dist/components/molecules/Breadcrumbs/breadcrumb-variants.cjs +1 -0
- package/dist/components/molecules/Breadcrumbs/breadcrumb-variants.js +19 -0
- package/dist/components/molecules/CallToAction/CallToAction.cjs +1 -0
- package/dist/components/molecules/CallToAction/CallToAction.js +40 -0
- package/dist/components/molecules/CallToAction/call-to-action-variants.cjs +1 -0
- package/dist/components/molecules/CallToAction/call-to-action-variants.js +72 -0
- package/dist/components/molecules/CheckboxGroup/CheckboxGroup.cjs +1 -0
- package/dist/components/molecules/CheckboxGroup/CheckboxGroup.js +145 -0
- package/dist/components/molecules/CheckboxGroup/checkbox-group-variants.cjs +1 -0
- package/dist/components/molecules/CheckboxGroup/checkbox-group-variants.js +72 -0
- package/dist/components/molecules/DescriptionList/DescriptionList.cjs +1 -0
- package/dist/components/molecules/DescriptionList/DescriptionList.js +31 -0
- package/dist/components/molecules/DescriptionList/description-list-variants.cjs +1 -0
- package/dist/components/molecules/DescriptionList/description-list-variants.js +21 -0
- package/dist/components/molecules/EmptyState/EmptyState.cjs +1 -0
- package/dist/components/molecules/EmptyState/EmptyState.js +21 -0
- package/dist/components/molecules/EmptyState/empty-state-variants.cjs +1 -0
- package/dist/components/molecules/EmptyState/empty-state-variants.js +18 -0
- package/dist/components/molecules/ErrorState/ErrorState.cjs +1 -0
- package/dist/components/molecules/ErrorState/ErrorState.js +48 -0
- package/dist/components/molecules/ErrorState/error-state-variants.cjs +1 -0
- package/dist/components/molecules/ErrorState/error-state-variants.js +18 -0
- package/dist/components/molecules/MatchupCard/MatchupCard.cjs +1 -0
- package/dist/components/molecules/MatchupCard/MatchupCard.js +101 -0
- package/dist/components/molecules/Pullquote/Pullquote.cjs +1 -0
- package/dist/components/molecules/Pullquote/Pullquote.js +29 -0
- package/dist/components/molecules/Pullquote/pullquote-variants.cjs +1 -0
- package/dist/components/molecules/Pullquote/pullquote-variants.js +32 -0
- package/dist/components/molecules/RadioGroup/RadioGroup.cjs +1 -0
- package/dist/components/molecules/RadioGroup/RadioGroup.js +165 -0
- package/dist/components/molecules/RadioGroup/radio-group-variants.cjs +1 -0
- package/dist/components/molecules/RadioGroup/radio-group-variants.js +94 -0
- package/dist/components/molecules/Toast/Toast.cjs +1 -0
- package/dist/components/molecules/Toast/Toast.js +63 -0
- package/dist/components/molecules/Toast/Toaster.cjs +1 -0
- package/dist/components/molecules/Toast/Toaster.js +69 -0
- package/dist/components/molecules/Toast/toast-api.cjs +1 -0
- package/dist/components/molecules/Toast/toast-api.js +26 -0
- package/dist/components/molecules/Toast/toast-variants.cjs +1 -0
- package/dist/components/molecules/Toast/toast-variants.js +83 -0
- package/dist/components/organisms/ActionBar/ActionBar.cjs +1 -0
- package/dist/components/organisms/ActionBar/ActionBar.js +39 -0
- package/dist/components/organisms/ActionBar/action-bar-variants.cjs +1 -0
- package/dist/components/organisms/ActionBar/action-bar-variants.js +26 -0
- package/dist/components/organisms/Countdown/Countdown.cjs +1 -0
- package/dist/components/organisms/Countdown/Countdown.js +97 -0
- package/dist/components/organisms/Countdown/countdown-variants.cjs +1 -0
- package/dist/components/organisms/Countdown/countdown-variants.js +65 -0
- package/dist/components/organisms/DataTable/DataTable.cjs +1 -0
- package/dist/components/organisms/DataTable/DataTable.js +159 -0
- package/dist/components/organisms/Dialog/Dialog.cjs +1 -0
- package/dist/components/organisms/Dialog/Dialog.js +151 -0
- package/dist/components/organisms/Footer/Footer.cjs +1 -0
- package/dist/components/organisms/Footer/Footer.js +40 -0
- package/dist/components/organisms/Footer/footer-variants.cjs +1 -0
- package/dist/components/organisms/Footer/footer-variants.js +25 -0
- package/dist/components/organisms/Navbar/Navbar.cjs +1 -0
- package/dist/components/organisms/Navbar/Navbar.js +538 -0
- package/dist/components/organisms/Navbar/navbar-variants.cjs +1 -0
- package/dist/components/organisms/Navbar/navbar-variants.js +35 -0
- package/dist/components/organisms/Table/Table.cjs +1 -0
- package/dist/components/organisms/Table/Table.js +117 -0
- package/dist/components/organisms/Table/table-variants.cjs +1 -0
- package/dist/components/organisms/Table/table-variants.js +117 -0
- package/dist/data-table.cjs +1 -0
- package/dist/data-table.js +5 -0
- package/dist/hooks/useCountdown.cjs +1 -0
- package/dist/hooks/useCountdown.js +32 -0
- package/dist/hooks/useKeySequence.cjs +1 -0
- package/dist/hooks/useKeySequence.js +54 -0
- package/dist/internal/PopupOption.cjs +1 -0
- package/dist/internal/PopupOption.js +38 -0
- package/dist/internal/popup.cjs +1 -0
- package/dist/internal/popup.js +28 -0
- package/dist/lib/utils.cjs +1 -0
- package/dist/lib/utils.js +27 -0
- package/dist/meta.json +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +1 -0
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +532 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +1 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +403 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.cjs +1 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +368 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.cjs +1 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +13 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +1 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +209 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +136 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +130 -0
- package/dist/node_modules/@fortawesome/fontawesome-svg-core/index.cjs +558 -0
- package/dist/node_modules/@fortawesome/fontawesome-svg-core/index.js +3101 -0
- package/dist/node_modules/@fortawesome/free-solid-svg-icons/index.cjs +1 -0
- package/dist/node_modules/@fortawesome/free-solid-svg-icons/index.js +120 -0
- package/dist/node_modules/@fortawesome/react-fontawesome/dist/index.cjs +1 -0
- package/dist/node_modules/@fortawesome/react-fontawesome/dist/index.js +261 -0
- package/dist/node_modules/@headlessui/react/dist/components/button/button.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/button/button.js +16 -0
- package/dist/node_modules/@headlessui/react/dist/components/checkbox/checkbox.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/checkbox/checkbox.js +38 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox-machine-glue.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox-machine-glue.js +21 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox-machine.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox-machine.js +165 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox.js +287 -0
- package/dist/node_modules/@headlessui/react/dist/components/description/description.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/description/description.js +44 -0
- package/dist/node_modules/@headlessui/react/dist/components/dialog/dialog.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/dialog/dialog.js +109 -0
- package/dist/node_modules/@headlessui/react/dist/components/field/field.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/field/field.js +17 -0
- package/dist/node_modules/@headlessui/react/dist/components/fieldset/fieldset.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/fieldset/fieldset.js +17 -0
- package/dist/node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js +132 -0
- package/dist/node_modules/@headlessui/react/dist/components/input/input.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/input/input.js +18 -0
- package/dist/node_modules/@headlessui/react/dist/components/keyboard.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/keyboard.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/components/label/label.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/label/label.js +61 -0
- package/dist/node_modules/@headlessui/react/dist/components/legend/legend.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/legend/legend.js +10 -0
- package/dist/node_modules/@headlessui/react/dist/components/listbox/listbox-machine-glue.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/listbox/listbox-machine-glue.js +21 -0
- package/dist/node_modules/@headlessui/react/dist/components/listbox/listbox-machine.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/listbox/listbox-machine.js +171 -0
- package/dist/node_modules/@headlessui/react/dist/components/listbox/listbox.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/listbox/listbox.js +205 -0
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine-glue.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine-glue.js +21 -0
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine.js +120 -0
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/menu/menu.js +197 -0
- package/dist/node_modules/@headlessui/react/dist/components/mouse.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/mouse.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/components/popover/popover-machine-glue.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/popover/popover-machine-glue.js +21 -0
- package/dist/node_modules/@headlessui/react/dist/components/popover/popover-machine.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/popover/popover-machine.js +49 -0
- package/dist/node_modules/@headlessui/react/dist/components/popover/popover.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/popover/popover.js +234 -0
- package/dist/node_modules/@headlessui/react/dist/components/portal/portal.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/portal/portal.js +63 -0
- package/dist/node_modules/@headlessui/react/dist/components/radio-group/radio-group.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/radio-group/radio-group.js +126 -0
- package/dist/node_modules/@headlessui/react/dist/components/switch/switch.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/switch/switch.js +55 -0
- package/dist/node_modules/@headlessui/react/dist/components/textarea/textarea.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/textarea/textarea.js +18 -0
- package/dist/node_modules/@headlessui/react/dist/components/transition/transition.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/transition/transition.js +135 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js +14 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js +52 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js +38 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.js +33 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-by-comparator.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-by-comparator.js +16 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.js +10 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-default-value.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-default-value.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js +9 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js +15 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-element-size.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-element-size.js +26 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-escape.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-escape.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event-listener.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event-listener.js +15 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +9 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-handle-toggle.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-handle-toggle.js +15 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-inert-others.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-inert-others.js +41 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js +13 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-touch-device.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-touch-device.js +16 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-on-disappear.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js +28 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-on-unmount.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js +14 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js +38 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-quick-release.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-quick-release.js +32 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-refocusable-input.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-refocusable-input.js +24 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-resolved-tag.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-resolved-tag.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-root-containers.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-root-containers.js +38 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js +16 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-store.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-store.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +20 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tab-direction.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tab-direction.js +13 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-text-value.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-text-value.js +17 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js +16 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.cjs +2 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js +73 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js +18 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.js +15 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js +15 -0
- package/dist/node_modules/@headlessui/react/dist/internal/close-provider.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/close-provider.js +9 -0
- package/dist/node_modules/@headlessui/react/dist/internal/disabled.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/disabled.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/internal/floating.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/floating.js +154 -0
- package/dist/node_modules/@headlessui/react/dist/internal/form-fields.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/form-fields.js +40 -0
- package/dist/node_modules/@headlessui/react/dist/internal/frozen.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/frozen.js +14 -0
- package/dist/node_modules/@headlessui/react/dist/internal/hidden.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/hidden.js +13 -0
- package/dist/node_modules/@headlessui/react/dist/internal/id.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/id.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/internal/open-closed.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js +19 -0
- package/dist/node_modules/@headlessui/react/dist/internal/portal-force-root.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/portal-force-root.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/machine.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/machine.js +74 -0
- package/dist/node_modules/@headlessui/react/dist/machines/stack-machine.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/machines/stack-machine.js +33 -0
- package/dist/node_modules/@headlessui/react/dist/react-glue.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/react-glue.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.js +15 -0
- package/dist/node_modules/@headlessui/react/dist/utils/bugs.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/bugs.js +19 -0
- package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js +40 -0
- package/dist/node_modules/@headlessui/react/dist/utils/class-names.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/utils/default-map.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/default-map.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/utils/disposables.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +40 -0
- package/dist/node_modules/@headlessui/react/dist/utils/document-ready.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/document-ready.js +9 -0
- package/dist/node_modules/@headlessui/react/dist/utils/dom.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/dom.js +46 -0
- package/dist/node_modules/@headlessui/react/dist/utils/element-movement.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/element-movement.js +21 -0
- package/dist/node_modules/@headlessui/react/dist/utils/env.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/env.js +34 -0
- package/dist/node_modules/@headlessui/react/dist/utils/focus-management.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js +97 -0
- package/dist/node_modules/@headlessui/react/dist/utils/form.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/form.js +32 -0
- package/dist/node_modules/@headlessui/react/dist/utils/get-text-value.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/get-text-value.js +31 -0
- package/dist/node_modules/@headlessui/react/dist/utils/match.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/match.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/utils/micro-task.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/utils/owner.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/owner.js +22 -0
- package/dist/node_modules/@headlessui/react/dist/utils/platform.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/platform.js +14 -0
- package/dist/node_modules/@headlessui/react/dist/utils/render.cjs +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/render.js +126 -0
- package/dist/node_modules/@headlessui/react/dist/utils/store.cjs +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/store.js +14 -0
- package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/primitive/dist/index.js +9 -0
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +24 -0
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -0
- package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-context/dist/index.js +53 -0
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +127 -0
- package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-id/dist/index.js +13 -0
- package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js +219 -0
- package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-portal/dist/index.js +15 -0
- package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js +70 -0
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +36 -0
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +55 -0
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js +338 -0
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +10 -0
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +52 -0
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +14 -0
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +6 -0
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +27 -0
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +1 -0
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +32 -0
- package/dist/node_modules/@react-aria/focus/dist/useFocusRing.cjs +1 -0
- package/dist/node_modules/@react-aria/focus/dist/useFocusRing.js +38 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.js +30 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.js +97 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.js +57 -0
- package/dist/node_modules/@react-aria/interactions/dist/useHover.cjs +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/useHover.js +86 -0
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs +1 -0
- package/dist/node_modules/@react-aria/interactions/dist/utils.js +66 -0
- package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.js +27 -0
- package/dist/node_modules/@react-aria/utils/dist/domHelpers.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/domHelpers.js +15 -0
- package/dist/node_modules/@react-aria/utils/dist/focusWithoutScrolling.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/focusWithoutScrolling.js +45 -0
- package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.js +7 -0
- package/dist/node_modules/@react-aria/utils/dist/openLink.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/openLink.js +28 -0
- package/dist/node_modules/@react-aria/utils/dist/platform.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/platform.js +47 -0
- package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.js +34 -0
- package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.cjs +1 -0
- package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.js +6 -0
- package/dist/node_modules/@react-stately/flags/dist/import.cjs +1 -0
- package/dist/node_modules/@react-stately/flags/dist/import.js +7 -0
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.cjs +1 -0
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js +38 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.cjs +1 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +533 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.cjs +4 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +52 -0
- package/dist/node_modules/class-variance-authority/dist/index.cjs +1 -0
- package/dist/node_modules/class-variance-authority/dist/index.js +35 -0
- package/dist/node_modules/clsx/dist/clsx.cjs +1 -0
- package/dist/node_modules/clsx/dist/clsx.js +16 -0
- package/dist/node_modules/date-fns/_lib/getRoundingMethod.cjs +1 -0
- package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +9 -0
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.cjs +1 -0
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +18 -0
- package/dist/node_modules/date-fns/_lib/normalizeDates.cjs +1 -0
- package/dist/node_modules/date-fns/_lib/normalizeDates.js +11 -0
- package/dist/node_modules/date-fns/_lib/normalizeInterval.cjs +1 -0
- package/dist/node_modules/date-fns/_lib/normalizeInterval.js +8 -0
- package/dist/node_modules/date-fns/add.cjs +1 -0
- package/dist/node_modules/date-fns/add.js +19 -0
- package/dist/node_modules/date-fns/addDays.cjs +1 -0
- package/dist/node_modules/date-fns/addDays.js +9 -0
- package/dist/node_modules/date-fns/addMonths.cjs +1 -0
- package/dist/node_modules/date-fns/addMonths.js +19 -0
- package/dist/node_modules/date-fns/compareAsc.cjs +1 -0
- package/dist/node_modules/date-fns/compareAsc.js +8 -0
- package/dist/node_modules/date-fns/constants.cjs +1 -0
- package/dist/node_modules/date-fns/constants.js +7 -0
- package/dist/node_modules/date-fns/constructFrom.cjs +1 -0
- package/dist/node_modules/date-fns/constructFrom.js +7 -0
- package/dist/node_modules/date-fns/differenceInCalendarDays.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInCalendarDays.js +15 -0
- package/dist/node_modules/date-fns/differenceInCalendarMonths.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInCalendarMonths.js +12 -0
- package/dist/node_modules/date-fns/differenceInCalendarYears.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInCalendarYears.js +12 -0
- package/dist/node_modules/date-fns/differenceInDays.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInDays.js +21 -0
- package/dist/node_modules/date-fns/differenceInHours.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInHours.js +14 -0
- package/dist/node_modules/date-fns/differenceInMilliseconds.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInMilliseconds.js +7 -0
- package/dist/node_modules/date-fns/differenceInMinutes.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInMinutes.js +10 -0
- package/dist/node_modules/date-fns/differenceInMonths.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInMonths.js +23 -0
- package/dist/node_modules/date-fns/differenceInSeconds.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInSeconds.js +9 -0
- package/dist/node_modules/date-fns/differenceInYears.cjs +1 -0
- package/dist/node_modules/date-fns/differenceInYears.js +16 -0
- package/dist/node_modules/date-fns/endOfDay.cjs +1 -0
- package/dist/node_modules/date-fns/endOfDay.js +8 -0
- package/dist/node_modules/date-fns/endOfMonth.cjs +1 -0
- package/dist/node_modules/date-fns/endOfMonth.js +8 -0
- package/dist/node_modules/date-fns/intervalToDuration.cjs +1 -0
- package/dist/node_modules/date-fns/intervalToDuration.js +25 -0
- package/dist/node_modules/date-fns/isAfter.cjs +1 -0
- package/dist/node_modules/date-fns/isAfter.js +7 -0
- package/dist/node_modules/date-fns/isLastDayOfMonth.cjs +1 -0
- package/dist/node_modules/date-fns/isLastDayOfMonth.js +10 -0
- package/dist/node_modules/date-fns/startOfDay.cjs +1 -0
- package/dist/node_modules/date-fns/startOfDay.js +8 -0
- package/dist/node_modules/date-fns/toDate.cjs +1 -0
- package/dist/node_modules/date-fns/toDate.js +7 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -0
- package/dist/{utils-koxKGlVV.js → node_modules/tailwind-merge/dist/bundle-mjs.js} +216 -244
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.cjs +1 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +57 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.cjs +1 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +56 -0
- package/dist/node_modules/use-sync-external-store/with-selector.cjs +1 -0
- package/dist/node_modules/use-sync-external-store/with-selector.js +10 -0
- package/dist/preflight.cjs +1 -0
- package/dist/preflight.js +1 -0
- package/dist/roster.cjs +1 -0
- package/dist/roster.js +185 -0
- package/dist/tokens.cjs +1 -0
- package/dist/tokens.js +1 -0
- package/dist/utils.cjs +1 -0
- package/dist/utils.js +4 -0
- package/package.json +11 -8
- package/dist/Table-D-C0ivz2.js +0 -4949
- package/dist/Table-pfb9MJtO.cjs +0 -566
- package/dist/data-table.cjs.js +0 -1
- package/dist/data-table.es.js +0 -156
- package/dist/preflight.cjs.js +0 -1
- package/dist/preflight.es.js +0 -1
- package/dist/roster.cjs.js +0 -5
- package/dist/roster.es.js +0 -11334
- package/dist/tokens.cjs.js +0 -1
- package/dist/tokens.es.js +0 -1
- package/dist/utils-B4q42wBM.cjs +0 -1
- package/dist/utils.cjs.js +0 -1
- package/dist/utils.es.js +0 -4
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { useFocusRing as me } from "../../../../../@react-aria/focus/dist/useFocusRing.js";
|
|
2
|
+
import { useHover as de } from "../../../../../@react-aria/interactions/dist/useHover.js";
|
|
3
|
+
import O, { useId as K, useCallback as G, Fragment as oe, useRef as W, useState as fe, useEffect as ve } from "react";
|
|
4
|
+
import { flushSync as Y } from "react-dom";
|
|
5
|
+
import { useActivePress as ge } from "../../hooks/use-active-press.js";
|
|
6
|
+
import { useDisposables as be } from "../../hooks/use-disposables.js";
|
|
7
|
+
import { useElementSize as ye } from "../../hooks/use-element-size.js";
|
|
8
|
+
import { useEvent as M } from "../../hooks/use-event.js";
|
|
9
|
+
import { useHandleToggle as Me } from "../../hooks/use-handle-toggle.js";
|
|
10
|
+
import { useInertOthers as Pe } from "../../hooks/use-inert-others.js";
|
|
11
|
+
import { useIsoMorphicEffect as B } from "../../hooks/use-iso-morphic-effect.js";
|
|
12
|
+
import { useOnDisappear as $e } from "../../hooks/use-on-disappear.js";
|
|
13
|
+
import { useOutsideClick as he } from "../../hooks/use-outside-click.js";
|
|
14
|
+
import { useOwnerDocument as X } from "../../hooks/use-owner.js";
|
|
15
|
+
import { useQuickRelease as Ie, Action as U } from "../../hooks/use-quick-release.js";
|
|
16
|
+
import { useResolveButtonType as Se } from "../../hooks/use-resolve-button-type.js";
|
|
17
|
+
import { useScrollLock as Ee } from "../../hooks/use-scroll-lock.js";
|
|
18
|
+
import { useSlot as z } from "../../hooks/use-slot.js";
|
|
19
|
+
import { useSyncRefs as Q } from "../../hooks/use-sync-refs.js";
|
|
20
|
+
import { useTextValue as Te } from "../../hooks/use-text-value.js";
|
|
21
|
+
import { useTrackedPointer as Fe } from "../../hooks/use-tracked-pointer.js";
|
|
22
|
+
import { useTransition as De, transitionDataAttributes as Oe } from "../../hooks/use-transition.js";
|
|
23
|
+
import { useTreeWalker as ke } from "../../hooks/use-tree-walker.js";
|
|
24
|
+
import { FloatingProvider as we, useFloatingReferenceProps as Ce, useFloatingReference as Re, useResolvedAnchor as Ae, useFloatingPanel as xe, useFloatingPanelProps as Le } from "../../internal/floating.js";
|
|
25
|
+
import { OpenClosedProvider as _e, State as V, useOpenClosed as He } from "../../internal/open-closed.js";
|
|
26
|
+
import { stackMachines as Ne } from "../../machines/stack-machine.js";
|
|
27
|
+
import { useSlice as T } from "../../react-glue.js";
|
|
28
|
+
import { Focus as h } from "../../utils/calculate-active-index.js";
|
|
29
|
+
import { disposables as Ge } from "../../utils/disposables.js";
|
|
30
|
+
import { isHTMLElement as Ke } from "../../utils/dom.js";
|
|
31
|
+
import { isFocusableElement as Ue, FocusableMode as Be, focusFrom as Ve, Focus as ee, restoreFocusIfNecessary as se } from "../../utils/focus-management.js";
|
|
32
|
+
import { match as ze } from "../../utils/match.js";
|
|
33
|
+
import { isActiveElement as Qe } from "../../utils/owner.js";
|
|
34
|
+
import { forwardRefWithAs as k, useRender as w, RenderFeatures as te, mergeProps as re } from "../../utils/render.js";
|
|
35
|
+
import { useDescriptions as We } from "../description/description.js";
|
|
36
|
+
import { Keys as c } from "../keyboard.js";
|
|
37
|
+
import { useLabelContext as Ye, useLabels as ne } from "../label/label.js";
|
|
38
|
+
import { Portal as Ze } from "../portal/portal.js";
|
|
39
|
+
import { MenuState as v, ActionTypes as r, ActivationTrigger as Z } from "./menu-machine.js";
|
|
40
|
+
import { useMenuMachine as je, MenuContext as qe, useMenuMachineContext as j } from "./menu-machine-glue.js";
|
|
41
|
+
let Je = oe;
|
|
42
|
+
function Xe(m, b) {
|
|
43
|
+
let l = K(), { __demoMode: a = !1, ...i } = m, u = je({ id: l, __demoMode: a }), [o, I, g] = T(u, (d) => [d.menuState, d.itemsElement, d.buttonElement]), S = Q(b), t = Ne.get(null), D = T(t, G((d) => t.selectors.isTop(d, l), [t, l]));
|
|
44
|
+
he(D, [g, I], (d, f) => {
|
|
45
|
+
var y;
|
|
46
|
+
u.send({ type: r.CloseMenu }), Ue(f, Be.Loose) || (d.preventDefault(), (y = u.state.buttonElement) == null || y.focus());
|
|
47
|
+
});
|
|
48
|
+
let E = M(() => {
|
|
49
|
+
u.send({ type: r.CloseMenu });
|
|
50
|
+
}), P = z({ open: o === v.Open, close: E }), p = { ref: S }, $ = w();
|
|
51
|
+
return O.createElement(we, null, O.createElement(qe.Provider, { value: u }, O.createElement(_e, { value: ze(o, { [v.Open]: V.Open, [v.Closed]: V.Closed }) }, $({ ourProps: p, theirProps: i, slot: P, defaultTag: Je, name: "Menu" }))));
|
|
52
|
+
}
|
|
53
|
+
let et = "button";
|
|
54
|
+
function tt(m, b) {
|
|
55
|
+
let l = j("Menu.Button"), a = K(), { id: i = `headlessui-menu-button-${a}`, disabled: u = !1, autoFocus: o = !1, ...I } = m, g = W(null), S = Ce(), t = Q(b, g, Re(), M((s) => l.send({ type: r.SetButtonElement, element: s }))), D = M((s) => {
|
|
56
|
+
switch (s.key) {
|
|
57
|
+
case c.Space:
|
|
58
|
+
case c.Enter:
|
|
59
|
+
case c.ArrowDown:
|
|
60
|
+
s.preventDefault(), s.stopPropagation(), l.send({ type: r.OpenMenu, focus: { focus: h.First } });
|
|
61
|
+
break;
|
|
62
|
+
case c.ArrowUp:
|
|
63
|
+
s.preventDefault(), s.stopPropagation(), l.send({ type: r.OpenMenu, focus: { focus: h.Last } });
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}), E = M((s) => {
|
|
67
|
+
s.key === c.Space && s.preventDefault();
|
|
68
|
+
}), [P, p, $] = T(l, (s) => [s.menuState, s.buttonElement, s.itemsElement]), d = P === v.Open;
|
|
69
|
+
Ie(d, { trigger: p, action: G((s) => {
|
|
70
|
+
if (p != null && p.contains(s.target)) return U.Ignore;
|
|
71
|
+
let n = s.target.closest('[role="menuitem"]:not([data-disabled])');
|
|
72
|
+
return Ke(n) ? U.Select(n) : $ != null && $.contains(s.target) ? U.Ignore : U.Close;
|
|
73
|
+
}, [p, $]), close: G(() => l.send({ type: r.CloseMenu }), []), select: G((s) => s.click(), []) });
|
|
74
|
+
let f = Me((s) => {
|
|
75
|
+
var n;
|
|
76
|
+
u || (P === v.Open ? (Y(() => l.send({ type: r.CloseMenu })), (n = g.current) == null || n.focus({ preventScroll: !0 })) : (s.preventDefault(), l.send({ type: r.OpenMenu, focus: { focus: h.Nothing }, trigger: Z.Pointer })));
|
|
77
|
+
}), { isFocusVisible: y, focusProps: C } = me({ autoFocus: o }), { isHovered: x, hoverProps: R } = de({ isDisabled: u }), { pressed: F, pressProps: L } = ge({ disabled: u }), A = z({ open: P === v.Open, active: F || P === v.Open, disabled: u, hover: x, focus: y, autofocus: o }), _ = re(S(), { ref: t, id: i, type: Se(m, g.current), "aria-haspopup": "menu", "aria-controls": $?.id, "aria-expanded": P === v.Open, disabled: u || void 0, autoFocus: o, onKeyDown: D, onKeyUp: E }, f, C, R, L);
|
|
78
|
+
return w()({ ourProps: _, theirProps: I, slot: A, defaultTag: et, name: "Menu.Button" });
|
|
79
|
+
}
|
|
80
|
+
let ot = "div", st = te.RenderStrategy | te.Static;
|
|
81
|
+
function rt(m, b) {
|
|
82
|
+
let l = K(), { id: a = `headlessui-menu-items-${l}`, anchor: i, portal: u = !1, modal: o = !0, transition: I = !1, ...g } = m, S = Ae(i), t = j("Menu.Items"), [D, E] = xe(S), P = Le(), [p, $] = fe(null), d = Q(b, S ? D : null, M((e) => t.send({ type: r.SetItemsElement, element: e })), $), [f, y] = T(t, (e) => [e.menuState, e.buttonElement]), C = X(y), x = X(p);
|
|
83
|
+
S && (u = !0);
|
|
84
|
+
let R = He(), [F, L] = De(I, p, R !== null ? (R & V.Open) === V.Open : f === v.Open);
|
|
85
|
+
$e(F, y, () => {
|
|
86
|
+
t.send({ type: r.CloseMenu });
|
|
87
|
+
});
|
|
88
|
+
let A = T(t, (e) => e.__demoMode), _ = A ? !1 : o && f === v.Open;
|
|
89
|
+
Ee(_, x);
|
|
90
|
+
let s = A ? !1 : o && f === v.Open;
|
|
91
|
+
Pe(s, { allowed: G(() => [y, p], [y, p]) });
|
|
92
|
+
let n = T(t, t.selectors.didButtonMove) ? !1 : F;
|
|
93
|
+
ve(() => {
|
|
94
|
+
let e = p;
|
|
95
|
+
e && f === v.Open && (Qe(e) || e.focus({ preventScroll: !0 }));
|
|
96
|
+
}, [f, p]), ke(f === v.Open, { container: p, accept(e) {
|
|
97
|
+
return e.getAttribute("role") === "menuitem" ? NodeFilter.FILTER_REJECT : e.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
|
|
98
|
+
}, walk(e) {
|
|
99
|
+
e.setAttribute("role", "none");
|
|
100
|
+
} });
|
|
101
|
+
let H = be(), ae = M((e) => {
|
|
102
|
+
var N, q, J;
|
|
103
|
+
switch (H.dispose(), e.key) {
|
|
104
|
+
case c.Space:
|
|
105
|
+
if (t.state.searchQuery !== "") return e.preventDefault(), e.stopPropagation(), t.send({ type: r.Search, value: e.key });
|
|
106
|
+
case c.Enter:
|
|
107
|
+
if (e.preventDefault(), e.stopPropagation(), t.state.activeItemIndex !== null) {
|
|
108
|
+
let { dataRef: ce } = t.state.items[t.state.activeItemIndex];
|
|
109
|
+
(q = (N = ce.current) == null ? void 0 : N.domRef.current) == null || q.click();
|
|
110
|
+
}
|
|
111
|
+
t.send({ type: r.CloseMenu }), se(t.state.buttonElement);
|
|
112
|
+
break;
|
|
113
|
+
case c.ArrowDown:
|
|
114
|
+
return e.preventDefault(), e.stopPropagation(), t.send({ type: r.GoToItem, focus: h.Next });
|
|
115
|
+
case c.ArrowUp:
|
|
116
|
+
return e.preventDefault(), e.stopPropagation(), t.send({ type: r.GoToItem, focus: h.Previous });
|
|
117
|
+
case c.Home:
|
|
118
|
+
case c.PageUp:
|
|
119
|
+
return e.preventDefault(), e.stopPropagation(), t.send({ type: r.GoToItem, focus: h.First });
|
|
120
|
+
case c.End:
|
|
121
|
+
case c.PageDown:
|
|
122
|
+
return e.preventDefault(), e.stopPropagation(), t.send({ type: r.GoToItem, focus: h.Last });
|
|
123
|
+
case c.Escape:
|
|
124
|
+
e.preventDefault(), e.stopPropagation(), Y(() => t.send({ type: r.CloseMenu })), (J = t.state.buttonElement) == null || J.focus({ preventScroll: !0 });
|
|
125
|
+
break;
|
|
126
|
+
case c.Tab:
|
|
127
|
+
e.preventDefault(), e.stopPropagation(), Y(() => t.send({ type: r.CloseMenu })), Ve(t.state.buttonElement, e.shiftKey ? ee.Previous : ee.Next);
|
|
128
|
+
break;
|
|
129
|
+
default:
|
|
130
|
+
e.key.length === 1 && (t.send({ type: r.Search, value: e.key }), H.setTimeout(() => t.send({ type: r.ClearSearch }), 350));
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
}), ue = M((e) => {
|
|
134
|
+
e.key === c.Space && e.preventDefault();
|
|
135
|
+
}), le = z({ open: f === v.Open }), ie = re(S ? P() : {}, { "aria-activedescendant": T(t, t.selectors.activeDescendantId), "aria-labelledby": T(t, (e) => {
|
|
136
|
+
var N;
|
|
137
|
+
return (N = e.buttonElement) == null ? void 0 : N.id;
|
|
138
|
+
}), id: a, onKeyDown: ae, onKeyUp: ue, role: "menu", tabIndex: f === v.Open ? 0 : void 0, ref: d, style: { ...g.style, ...E, "--button-width": ye(F, y, !0).width }, ...Oe(L) }), pe = w();
|
|
139
|
+
return O.createElement(Ze, { enabled: u ? m.static || F : !1, ownerDocument: C }, pe({ ourProps: ie, theirProps: g, slot: le, defaultTag: ot, features: st, visible: n, name: "Menu.Items" }));
|
|
140
|
+
}
|
|
141
|
+
let nt = oe;
|
|
142
|
+
function at(m, b) {
|
|
143
|
+
let l = K(), { id: a = `headlessui-menu-item-${l}`, disabled: i = !1, ...u } = m, o = j("Menu.Item"), I = T(o, (n) => o.selectors.isActive(n, a)), g = W(null), S = Q(b, g), t = T(o, (n) => o.selectors.shouldScrollIntoView(n, a));
|
|
144
|
+
B(() => {
|
|
145
|
+
if (t) return Ge().requestAnimationFrame(() => {
|
|
146
|
+
var n, H;
|
|
147
|
+
(H = (n = g.current) == null ? void 0 : n.scrollIntoView) == null || H.call(n, { block: "nearest" });
|
|
148
|
+
});
|
|
149
|
+
}, [t, g]);
|
|
150
|
+
let D = Te(g), E = W({ disabled: i, domRef: g, get textValue() {
|
|
151
|
+
return D();
|
|
152
|
+
} });
|
|
153
|
+
B(() => {
|
|
154
|
+
E.current.disabled = i;
|
|
155
|
+
}, [E, i]), B(() => (o.actions.registerItem(a, E), () => o.actions.unregisterItem(a)), [E, a]);
|
|
156
|
+
let P = M(() => {
|
|
157
|
+
o.send({ type: r.CloseMenu });
|
|
158
|
+
}), p = M((n) => {
|
|
159
|
+
if (i) return n.preventDefault();
|
|
160
|
+
o.send({ type: r.CloseMenu }), se(o.state.buttonElement);
|
|
161
|
+
}), $ = M(() => {
|
|
162
|
+
if (i) return o.send({ type: r.GoToItem, focus: h.Nothing });
|
|
163
|
+
o.send({ type: r.GoToItem, focus: h.Specific, id: a });
|
|
164
|
+
}), d = Fe(), f = M((n) => d.update(n)), y = M((n) => {
|
|
165
|
+
d.wasMoved(n) && (i || I || o.send({ type: r.GoToItem, focus: h.Specific, id: a, trigger: Z.Pointer }));
|
|
166
|
+
}), C = M((n) => {
|
|
167
|
+
d.wasMoved(n) && (i || I && o.state.activationTrigger === Z.Pointer && o.send({ type: r.GoToItem, focus: h.Nothing }));
|
|
168
|
+
}), [x, R] = ne(), [F, L] = We(), A = z({ active: I, focus: I, disabled: i, close: P }), _ = { id: a, ref: S, role: "menuitem", tabIndex: i === !0 ? void 0 : -1, "aria-disabled": i === !0 ? !0 : void 0, "aria-labelledby": x, "aria-describedby": F, disabled: void 0, onClick: p, onFocus: $, onPointerEnter: f, onMouseEnter: f, onPointerMove: y, onMouseMove: y, onPointerLeave: C, onMouseLeave: C }, s = w();
|
|
169
|
+
return O.createElement(R, null, O.createElement(L, null, s({ ourProps: _, theirProps: u, slot: A, defaultTag: nt, name: "Menu.Item" })));
|
|
170
|
+
}
|
|
171
|
+
let ut = "div";
|
|
172
|
+
function lt(m, b) {
|
|
173
|
+
let [l, a] = ne(), i = m, u = { ref: b, "aria-labelledby": l, role: "group" }, o = w();
|
|
174
|
+
return O.createElement(a, null, o({ ourProps: u, theirProps: i, slot: {}, defaultTag: ut, name: "Menu.Section" }));
|
|
175
|
+
}
|
|
176
|
+
let it = "header";
|
|
177
|
+
function pt(m, b) {
|
|
178
|
+
let l = K(), { id: a = `headlessui-menu-heading-${l}`, ...i } = m, u = Ye();
|
|
179
|
+
B(() => u.register(a), [a, u.register]);
|
|
180
|
+
let o = { id: a, ref: b, role: "presentation", ...u.props };
|
|
181
|
+
return w()({ ourProps: o, theirProps: i, slot: {}, defaultTag: it, name: "Menu.Heading" });
|
|
182
|
+
}
|
|
183
|
+
let ct = "div";
|
|
184
|
+
function mt(m, b) {
|
|
185
|
+
let l = m, a = { ref: b, role: "separator" };
|
|
186
|
+
return w()({ ourProps: a, theirProps: l, slot: {}, defaultTag: ct, name: "Menu.Separator" });
|
|
187
|
+
}
|
|
188
|
+
let dt = k(Xe), ft = k(tt), vt = k(rt), gt = k(at), bt = k(lt), yt = k(pt), Mt = k(mt), ao = Object.assign(dt, { Button: ft, Items: vt, Item: gt, Section: bt, Heading: yt, Separator: Mt });
|
|
189
|
+
export {
|
|
190
|
+
ao as Menu,
|
|
191
|
+
ft as MenuButton,
|
|
192
|
+
yt as MenuHeading,
|
|
193
|
+
gt as MenuItem,
|
|
194
|
+
vt as MenuItems,
|
|
195
|
+
bt as MenuSection,
|
|
196
|
+
Mt as MenuSeparator
|
|
197
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=(t=>(t[t.Left=0]="Left",t[t.Right=2]="Right",t))(e||{});exports.MouseButton=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),c=require("../../hooks/use-on-unmount.cjs"),i=require("./popover-machine.cjs"),n=t.createContext(null);function u(r){let o=t.useContext(n);if(o===null){let e=new Error(`<${r} /> is missing a parent <Popover /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(e,u),e}return o}function a({id:r,__demoMode:o=!1}){let e=t.useMemo(()=>i.PopoverMachine.new({id:r,__demoMode:o}),[]);return c.useOnUnmount(()=>e.dispose()),e}exports.PopoverContext=n;exports.usePopoverMachine=a;exports.usePopoverMachineContext=u;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useMemo as t, createContext as n, useContext as a } from "react";
|
|
2
|
+
import { useOnUnmount as s } from "../../hooks/use-on-unmount.js";
|
|
3
|
+
import { PopoverMachine as c } from "./popover-machine.js";
|
|
4
|
+
const i = n(null);
|
|
5
|
+
function u(r) {
|
|
6
|
+
let o = a(i);
|
|
7
|
+
if (o === null) {
|
|
8
|
+
let e = new Error(`<${r} /> is missing a parent <Popover /> component.`);
|
|
9
|
+
throw Error.captureStackTrace && Error.captureStackTrace(e, u), e;
|
|
10
|
+
}
|
|
11
|
+
return o;
|
|
12
|
+
}
|
|
13
|
+
function f({ id: r, __demoMode: o = !1 }) {
|
|
14
|
+
let e = t(() => c.new({ id: r, __demoMode: o }), []);
|
|
15
|
+
return s(() => e.dispose()), e;
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
i as PopoverContext,
|
|
19
|
+
f as usePopoverMachine,
|
|
20
|
+
u as usePopoverMachineContext
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../machine.cjs"),m=require("../../machines/stack-machine.cjs"),i=require("../../utils/dom.cjs"),I=require("../../utils/focus-management.cjs"),P=require("../../utils/match.cjs"),y=require("../../utils/owner.cjs");var M=Object.defineProperty,g=(e,n,t)=>n in e?M(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,p=(e,n,t)=>(g(e,typeof n!="symbol"?n+"":n,t),t),c=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(c||{}),d=(e=>(e[e.OpenPopover=0]="OpenPopover",e[e.ClosePopover=1]="ClosePopover",e[e.SetButton=2]="SetButton",e[e.SetButtonId=3]="SetButtonId",e[e.SetPanel=4]="SetPanel",e[e.SetPanelId=5]="SetPanelId",e))(d||{});let O={0:e=>e.popoverState===0?e:{...e,popoverState:0,__demoMode:!1},1(e){return e.popoverState===1?e:{...e,popoverState:1,__demoMode:!1}},2(e,n){return e.button===n.button?e:{...e,button:n.button}},3(e,n){return e.buttonId===n.buttonId?e:{...e,buttonId:n.buttonId}},4(e,n){return e.panel===n.panel?e:{...e,panel:n.panel}},5(e,n){return e.panelId===n.panelId?e:{...e,panelId:n.panelId}}};class r extends f.Machine{constructor(n){super(n),p(this,"actions",{close:()=>this.send({type:1}),refocusableClose:t=>{this.actions.close();let o=t?i.isHTMLElement(t)?t:"current"in t&&i.isHTMLElement(t.current)?t.current:this.state.button:this.state.button;o?.focus()},open:()=>this.send({type:0}),setButtonId:t=>this.send({type:3,buttonId:t}),setButton:t=>this.send({type:2,button:t}),setPanelId:t=>this.send({type:5,panelId:t}),setPanel:t=>this.send({type:4,panel:t})}),p(this,"selectors",{isPortalled:t=>{var o;if(!t.button||!t.panel)return!1;let s=(o=y.getOwnerDocument(t.button))!=null?o:document;for(let u of s.querySelectorAll("body > *"))if(Number(u?.contains(t.button))^Number(u?.contains(t.panel)))return!0;let l=I.getFocusableElements(s),a=l.indexOf(t.button),b=(a+l.length-1)%l.length,h=(a+1)%l.length,v=l[b],S=l[h];return!t.panel.contains(v)&&!t.panel.contains(S)}});{let t=this.state.id,o=m.stackMachines.get(null);this.on(0,()=>o.actions.push(t)),this.on(1,()=>o.actions.pop(t))}}static new({id:n,__demoMode:t=!1}){return new r({id:n,__demoMode:t,popoverState:t?0:1,buttons:{current:[]},button:null,buttonId:null,panel:null,panelId:null,beforePanelSentinel:{current:null},afterPanelSentinel:{current:null},afterButtonSentinel:{current:null}})}reduce(n,t){return P.match(t.type,O,n,t)}}exports.ActionTypes=d;exports.PopoverMachine=r;exports.PopoverStates=c;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Machine as f } from "../../machine.js";
|
|
2
|
+
import { stackMachines as h } from "../../machines/stack-machine.js";
|
|
3
|
+
import { isHTMLElement as a } from "../../utils/dom.js";
|
|
4
|
+
import { getFocusableElements as v } from "../../utils/focus-management.js";
|
|
5
|
+
import { match as S } from "../../utils/match.js";
|
|
6
|
+
import { getOwnerDocument as I } from "../../utils/owner.js";
|
|
7
|
+
var P = Object.defineProperty, y = (t, n, e) => n in t ? P(t, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[n] = e, p = (t, n, e) => (y(t, typeof n != "symbol" ? n + "" : n, e), e), M = ((t) => (t[t.Open = 0] = "Open", t[t.Closed = 1] = "Closed", t))(M || {}), g = ((t) => (t[t.OpenPopover = 0] = "OpenPopover", t[t.ClosePopover = 1] = "ClosePopover", t[t.SetButton = 2] = "SetButton", t[t.SetButtonId = 3] = "SetButtonId", t[t.SetPanel = 4] = "SetPanel", t[t.SetPanelId = 5] = "SetPanelId", t))(g || {});
|
|
8
|
+
let B = { 0: (t) => t.popoverState === 0 ? t : { ...t, popoverState: 0, __demoMode: !1 }, 1(t) {
|
|
9
|
+
return t.popoverState === 1 ? t : { ...t, popoverState: 1, __demoMode: !1 };
|
|
10
|
+
}, 2(t, n) {
|
|
11
|
+
return t.button === n.button ? t : { ...t, button: n.button };
|
|
12
|
+
}, 3(t, n) {
|
|
13
|
+
return t.buttonId === n.buttonId ? t : { ...t, buttonId: n.buttonId };
|
|
14
|
+
}, 4(t, n) {
|
|
15
|
+
return t.panel === n.panel ? t : { ...t, panel: n.panel };
|
|
16
|
+
}, 5(t, n) {
|
|
17
|
+
return t.panelId === n.panelId ? t : { ...t, panelId: n.panelId };
|
|
18
|
+
} };
|
|
19
|
+
class i extends f {
|
|
20
|
+
constructor(n) {
|
|
21
|
+
super(n), p(this, "actions", { close: () => this.send({ type: 1 }), refocusableClose: (e) => {
|
|
22
|
+
this.actions.close();
|
|
23
|
+
let o = e ? a(e) ? e : "current" in e && a(e.current) ? e.current : this.state.button : this.state.button;
|
|
24
|
+
o?.focus();
|
|
25
|
+
}, open: () => this.send({ type: 0 }), setButtonId: (e) => this.send({ type: 3, buttonId: e }), setButton: (e) => this.send({ type: 2, button: e }), setPanelId: (e) => this.send({ type: 5, panelId: e }), setPanel: (e) => this.send({ type: 4, panel: e }) }), p(this, "selectors", { isPortalled: (e) => {
|
|
26
|
+
var o;
|
|
27
|
+
if (!e.button || !e.panel) return !1;
|
|
28
|
+
let s = (o = I(e.button)) != null ? o : document;
|
|
29
|
+
for (let r of s.querySelectorAll("body > *")) if (Number(r?.contains(e.button)) ^ Number(r?.contains(e.panel))) return !0;
|
|
30
|
+
let l = v(s), u = l.indexOf(e.button), d = (u + l.length - 1) % l.length, c = (u + 1) % l.length, b = l[d], m = l[c];
|
|
31
|
+
return !e.panel.contains(b) && !e.panel.contains(m);
|
|
32
|
+
} });
|
|
33
|
+
{
|
|
34
|
+
let e = this.state.id, o = h.get(null);
|
|
35
|
+
this.on(0, () => o.actions.push(e)), this.on(1, () => o.actions.pop(e));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
static new({ id: n, __demoMode: e = !1 }) {
|
|
39
|
+
return new i({ id: n, __demoMode: e, popoverState: e ? 0 : 1, buttons: { current: [] }, button: null, buttonId: null, panel: null, panelId: null, beforePanelSentinel: { current: null }, afterPanelSentinel: { current: null }, afterButtonSentinel: { current: null } });
|
|
40
|
+
}
|
|
41
|
+
reduce(n, e) {
|
|
42
|
+
return S(e.type, B, n, e);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
g as ActionTypes,
|
|
47
|
+
i as PopoverMachine,
|
|
48
|
+
M as PopoverStates
|
|
49
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ie=require("../../../../../@react-aria/focus/dist/useFocusRing.cjs"),ke=require("../../../../../@react-aria/interactions/dist/useHover.cjs"),e=require("react"),qe=require("../../hooks/use-active-press.cjs"),we=require("../../hooks/use-element-size.cjs"),F=require("../../hooks/use-event.cjs"),Be=require("../../hooks/use-event-listener.cjs"),Te=require("../../hooks/use-iso-morphic-effect.cjs"),be=require("../../hooks/use-latest-value.cjs"),Me=require("../../hooks/use-on-disappear.cjs"),Ae=require("../../hooks/use-outside-click.cjs"),ve=require("../../hooks/use-owner.cjs"),xe=require("../../hooks/use-resolve-button-type.cjs"),le=require("../../hooks/use-root-containers.cjs"),Le=require("../../hooks/use-scroll-lock.cjs"),se=require("../../hooks/use-slot.cjs"),$=require("../../hooks/use-sync-refs.cjs"),M=require("../../hooks/use-tab-direction.cjs"),ce=require("../../hooks/use-transition.cjs"),Se=require("../../internal/close-provider.cjs"),oe=require("../../internal/floating.cjs"),z=require("../../internal/hidden.cjs"),A=require("../../internal/open-closed.cjs"),U=require("../../react-glue.cjs"),me=require("../../utils/bugs.cjs"),ge=require("../../utils/dom.cjs"),d=require("../../utils/focus-management.cjs"),ne=require("../../utils/match.cjs"),_=require("../../utils/owner.cjs"),P=require("../../utils/render.cjs"),N=require("../keyboard.cjs"),Fe=require("../portal/portal.cjs"),f=require("./popover-machine.cjs"),re=require("./popover-machine-glue.cjs");let fe=e.createContext(null);fe.displayName="PopoverGroupContext";function he(){return e.useContext(fe)}let ie=e.createContext(null);ie.displayName="PopoverPanelContext";function Ge(){return e.useContext(ie)}let He="div";function _e(S,B){var m;let h=e.useId(),{__demoMode:b=!1,...E}=S,u=re.usePopoverMachine({id:h,__demoMode:b}),t=e.useRef(null),I=$.useSyncRefs(B,$.optionalRef(r=>{t.current=r})),[R,n,y,g,k]=U.useSlice(u,e.useCallback(r=>[r.popoverState,r.button,r.panel,r.buttonId,r.panelId],[])),q=ve.useRootDocument((m=t.current)!=null?m:n),c=be.useLatestValue(g),i=be.useLatestValue(k),p=e.useMemo(()=>({buttonId:c,panelId:i,close:u.actions.close}),[c,i,u]),v=he(),s=v?.registerPopover,C=F.useEvent(()=>{var r,D;let w=_.getActiveElement((r=t.current)!=null?r:n);return(D=v?.isFocusWithinPopoverGroup())!=null?D:w&&(n?.contains(w)||y?.contains(w))});e.useEffect(()=>s?.(p),[s,p]);let[J,X]=Fe.useNestedPortals(),K=le.useMainTreeNode(n),G=le.useRootContainers({mainTreeNode:K,portals:J,defaultContainers:[{get current(){return u.state.button}},{get current(){return u.state.panel}}]});Be.useEventListener(q,"focus",r=>{var D,w,x,Q,L,Z;r.target!==window&&ge.isHTMLorSVGElement(r.target)&&u.state.popoverState===f.PopoverStates.Open&&(C()||u.state.button&&u.state.panel&&(G.contains(r.target)||(w=(D=u.state.beforePanelSentinel.current)==null?void 0:D.contains)!=null&&w.call(D,r.target)||(Q=(x=u.state.afterPanelSentinel.current)==null?void 0:x.contains)!=null&&Q.call(x,r.target)||(Z=(L=u.state.afterButtonSentinel.current)==null?void 0:L.contains)!=null&&Z.call(L,r.target)||u.actions.close()))},!0);let V=R===f.PopoverStates.Open;Ae.useOutsideClick(V,G.resolveContainers,(r,D)=>{u.actions.close(),d.isFocusableElement(D,d.FocusableMode.Loose)||(r.preventDefault(),n?.focus())});let ee=se.useSlot({open:R===f.PopoverStates.Open,close:u.actions.refocusableClose}),te=U.useSlice(u,e.useCallback(r=>ne.match(r.popoverState,{[f.PopoverStates.Open]:A.State.Open,[f.PopoverStates.Closed]:A.State.Closed}),[])),j={ref:I},Y=P.useRender();return e.createElement(le.MainTreeProvider,{node:K},e.createElement(oe.FloatingProvider,null,e.createElement(ie.Provider,{value:null},e.createElement(re.PopoverContext.Provider,{value:u},e.createElement(Se.CloseProvider,{value:u.actions.refocusableClose},e.createElement(A.OpenClosedProvider,{value:te},e.createElement(X,null,Y({ourProps:j,theirProps:E,slot:ee,defaultTag:He,name:"Popover"}))))))))}let Ke="button";function We(S,B){let m=e.useId(),{id:h=`headlessui-popover-button-${m}`,disabled:b=!1,autoFocus:E=!1,...u}=S,t=re.usePopoverMachineContext("Popover.Button"),[I,R,n,y,g,k,q]=U.useSlice(t,e.useCallback(o=>[o.popoverState,t.selectors.isPortalled(o),o.button,o.buttonId,o.panel,o.panelId,o.afterButtonSentinel],[])),c=e.useRef(null),i=`headlessui-focus-sentinel-${e.useId()}`,p=he(),v=p?.closeOthers,s=Ge()!==null;e.useEffect(()=>{if(!s)return t.actions.setButtonId(h),()=>t.actions.setButtonId(null)},[s,h,t]);let[C]=e.useState(()=>Symbol()),J=$.useSyncRefs(c,B,oe.useFloatingReference(),F.useEvent(o=>{if(!s){if(o)t.state.buttons.current.push(C);else{let a=t.state.buttons.current.indexOf(C);a!==-1&&t.state.buttons.current.splice(a,1)}t.state.buttons.current.length>1&&console.warn("You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported."),o&&t.actions.setButton(o)}})),X=$.useSyncRefs(c,B),K=F.useEvent(o=>{var a,O,T;if(s){if(t.state.popoverState===f.PopoverStates.Closed)return;switch(o.key){case N.Keys.Space:case N.Keys.Enter:o.preventDefault(),(O=(a=o.target).click)==null||O.call(a),t.actions.close(),(T=t.state.button)==null||T.focus();break}}else switch(o.key){case N.Keys.Space:case N.Keys.Enter:o.preventDefault(),o.stopPropagation(),t.state.popoverState===f.PopoverStates.Closed?(v?.(t.state.buttonId),t.actions.open()):t.actions.close();break;case N.Keys.Escape:if(t.state.popoverState!==f.PopoverStates.Open)return v?.(t.state.buttonId);if(!c.current)return;let H=_.getActiveElement(c.current);if(H&&!c.current.contains(H))return;o.preventDefault(),o.stopPropagation(),t.actions.close();break}}),G=F.useEvent(o=>{s||o.key===N.Keys.Space&&o.preventDefault()}),V=F.useEvent(o=>{var a,O;me.isDisabledReactIssue7711(o.currentTarget)||b||(s?(t.actions.close(),(a=t.state.button)==null||a.focus()):(o.preventDefault(),o.stopPropagation(),t.state.popoverState===f.PopoverStates.Closed?(v?.(t.state.buttonId),t.actions.open()):t.actions.close(),(O=t.state.button)==null||O.focus()))}),ee=F.useEvent(o=>{o.preventDefault(),o.stopPropagation()}),{isFocusVisible:te,focusProps:j}=Ie.useFocusRing({autoFocus:E}),{isHovered:Y,hoverProps:r}=ke.useHover({isDisabled:b}),{pressed:D,pressProps:w}=qe.useActivePress({disabled:b}),x=I===f.PopoverStates.Open,Q=se.useSlot({open:x,active:D||x,disabled:b,hover:Y,focus:te,autofocus:E}),L=xe.useResolveButtonType(S,n),Z=s?P.mergeProps({ref:X,type:L,onKeyDown:K,onClick:V,disabled:b||void 0,autoFocus:E},j,r,w):P.mergeProps({ref:J,id:y,type:L,"aria-expanded":I===f.PopoverStates.Open,"aria-controls":g?k:void 0,disabled:b||void 0,autoFocus:E,onKeyDown:K,onKeyUp:G,onClick:V,onMouseDown:ee},j,r,w),ue=M.useTabDirection(),de=F.useEvent(()=>{if(!ge.isHTMLElement(t.state.panel))return;let o=t.state.panel;function a(){ne.match(ue.current,{[M.Direction.Forwards]:()=>d.focusIn(o,d.Focus.First),[M.Direction.Backwards]:()=>d.focusIn(o,d.Focus.Last)})===d.FocusResult.Error&&d.focusIn(d.getFocusableElements(_.getRootNode(t.state.button)).filter(O=>O.dataset.headlessuiFocusGuard!=="true"),ne.match(ue.current,{[M.Direction.Forwards]:d.Focus.Next,[M.Direction.Backwards]:d.Focus.Previous}),{relativeTo:t.state.button})}a()}),l=P.useRender();return e.createElement(e.Fragment,null,l({ourProps:Z,theirProps:u,slot:Q,defaultTag:Ke,name:"Popover.Button"}),x&&!s&&R&&e.createElement(z.Hidden,{id:i,ref:q,features:z.HiddenFeatures.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:de}))}let Ne="div",$e=P.RenderFeatures.RenderStrategy|P.RenderFeatures.Static;function Ee(S,B){let m=e.useId(),{id:h=`headlessui-popover-backdrop-${m}`,transition:b=!1,...E}=S,u=re.usePopoverMachineContext("Popover.Backdrop"),t=U.useSlice(u,e.useCallback(p=>p.popoverState,[])),[I,R]=e.useState(null),n=$.useSyncRefs(B,R),y=A.useOpenClosed(),[g,k]=ce.useTransition(b,I,y!==null?(y&A.State.Open)===A.State.Open:t===f.PopoverStates.Open),q=F.useEvent(p=>{if(me.isDisabledReactIssue7711(p.currentTarget))return p.preventDefault();u.actions.close()}),c=se.useSlot({open:t===f.PopoverStates.Open}),i={ref:n,id:h,"aria-hidden":!0,onClick:q,...ce.transitionDataAttributes(k)};return P.useRender()({ourProps:i,theirProps:E,slot:c,defaultTag:Ne,features:$e,visible:g,name:"Popover.Backdrop"})}let Ve="div",je=P.RenderFeatures.RenderStrategy|P.RenderFeatures.Static;function Ye(S,B){let m=e.useId(),{id:h=`headlessui-popover-panel-${m}`,focus:b=!1,anchor:E,portal:u=!1,modal:t=!1,transition:I=!1,...R}=S,n=re.usePopoverMachineContext("Popover.Panel"),y=U.useSlice(n,n.selectors.isPortalled),[g,k,q,c,i]=U.useSlice(n,e.useCallback(l=>[l.popoverState,l.button,l.__demoMode,l.beforePanelSentinel,l.afterPanelSentinel],[])),p=`headlessui-focus-sentinel-before-${m}`,v=`headlessui-focus-sentinel-after-${m}`,s=e.useRef(null),C=oe.useResolvedAnchor(E),[J,X]=oe.useFloatingPanel(C),K=oe.useFloatingPanelProps();C&&(u=!0);let[G,V]=e.useState(null),ee=$.useSyncRefs(s,B,C?J:null,n.actions.setPanel,V),te=ve.useOwnerDocument(k),j=ve.useOwnerDocument(s.current);Te.useIsoMorphicEffect(()=>(n.actions.setPanelId(h),()=>n.actions.setPanelId(null)),[h,n]);let Y=A.useOpenClosed(),[r,D]=ce.useTransition(I,G,Y!==null?(Y&A.State.Open)===A.State.Open:g===f.PopoverStates.Open);Me.useOnDisappear(r,k,n.actions.close),Le.useScrollLock(q?!1:t&&r,j);let w=F.useEvent(l=>{var o;switch(l.key){case N.Keys.Escape:if(n.state.popoverState!==f.PopoverStates.Open||!s.current)return;let a=_.getActiveElement(s.current);if(a&&!s.current.contains(a))return;l.preventDefault(),l.stopPropagation(),n.actions.close(),(o=n.state.button)==null||o.focus();break}});e.useEffect(()=>{var l;S.static||g===f.PopoverStates.Closed&&((l=S.unmount)==null||l)&&n.actions.setPanel(null)},[g,S.unmount,S.static,n]),e.useEffect(()=>{if(q||!b||g!==f.PopoverStates.Open||!s.current)return;let l=_.getActiveElement(s.current);s.current.contains(l)||d.focusIn(s.current,d.Focus.First)},[q,b,s.current,g]);let x=se.useSlot({open:g===f.PopoverStates.Open,close:n.actions.refocusableClose}),Q=P.mergeProps(C?K():{},{ref:ee,id:h,onKeyDown:w,onBlur:b&&g===f.PopoverStates.Open?l=>{var o,a,O,T,H;let W=l.relatedTarget;W&&s.current&&((o=s.current)!=null&&o.contains(W)||(n.actions.close(),((O=(a=c.current)==null?void 0:a.contains)!=null&&O.call(a,W)||(H=(T=i.current)==null?void 0:T.contains)!=null&&H.call(T,W))&&W.focus({preventScroll:!0})))}:void 0,tabIndex:-1,style:{...R.style,...X,"--button-width":we.useElementSize(r,k,!0).width},...ce.transitionDataAttributes(D)}),L=M.useTabDirection(),Z=F.useEvent(()=>{let l=s.current;if(!l)return;function o(){ne.match(L.current,{[M.Direction.Forwards]:()=>{var a;d.focusIn(l,d.Focus.First)===d.FocusResult.Error&&((a=n.state.afterPanelSentinel.current)==null||a.focus())},[M.Direction.Backwards]:()=>{var a;(a=n.state.button)==null||a.focus({preventScroll:!0})}})}o()}),ue=F.useEvent(()=>{let l=s.current;if(!l)return;function o(){ne.match(L.current,{[M.Direction.Forwards]:()=>{var a;if(!n.state.button)return;let O=(a=_.getRootNode(n.state.button))!=null?a:document.body,T=d.getFocusableElements(O),H=T.indexOf(n.state.button),W=T.slice(0,H+1),ae=[...T.slice(H+1),...W];for(let pe of ae.slice())if(pe.dataset.headlessuiFocusGuard==="true"||G!=null&&G.contains(pe)){let Pe=ae.indexOf(pe);Pe!==-1&&ae.splice(Pe,1)}d.focusIn(ae,d.Focus.First,{sorted:!1})},[M.Direction.Backwards]:()=>{var a;d.focusIn(l,d.Focus.Previous)===d.FocusResult.Error&&((a=n.state.button)==null||a.focus())}})}o()}),de=P.useRender();return e.createElement(A.ResetOpenClosedProvider,null,e.createElement(ie.Provider,{value:h},e.createElement(Se.CloseProvider,{value:n.actions.refocusableClose},e.createElement(Fe.Portal,{enabled:u?S.static||r:!1,ownerDocument:te},r&&y&&e.createElement(z.Hidden,{id:p,ref:c,features:z.HiddenFeatures.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:Z}),de({ourProps:Q,theirProps:R,slot:x,defaultTag:Ve,features:je,visible:r,name:"Popover.Panel"}),r&&y&&e.createElement(z.Hidden,{id:v,ref:i,features:z.HiddenFeatures.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:ue})))))}let Qe="div";function Ze(S,B){let m=e.useRef(null),h=$.useSyncRefs(m,B),[b,E]=e.useState([]),u=F.useEvent(c=>{E(i=>{let p=i.indexOf(c);if(p!==-1){let v=i.slice();return v.splice(p,1),v}return i})}),t=F.useEvent(c=>(E(i=>[...i,c]),()=>u(c))),I=F.useEvent(()=>{var c;let i=_.getRootNode(m.current);if(!i)return!1;let p=_.getActiveElement(m.current);return(c=m.current)!=null&&c.contains(p)?!0:b.some(v=>{var s,C;return((s=i.getElementById(v.buttonId.current))==null?void 0:s.contains(p))||((C=i.getElementById(v.panelId.current))==null?void 0:C.contains(p))})}),R=F.useEvent(c=>{for(let i of b)i.buttonId.current!==c&&i.close()}),n=e.useMemo(()=>({registerPopover:t,unregisterPopover:u,isFocusWithinPopoverGroup:I,closeOthers:R}),[t,u,I,R]),y=se.useSlot({}),g=S,k={ref:h},q=P.useRender();return e.createElement(le.MainTreeProvider,null,e.createElement(fe.Provider,{value:n},q({ourProps:k,theirProps:g,slot:y,defaultTag:Qe,name:"Popover.Group"})))}let ze=P.forwardRefWithAs(_e),Re=P.forwardRefWithAs(We),ye=P.forwardRefWithAs(Ee),Ce=P.forwardRefWithAs(Ee),De=P.forwardRefWithAs(Ye),Oe=P.forwardRefWithAs(Ze),Ue=Object.assign(ze,{Button:Re,Backdrop:Ce,Overlay:ye,Panel:De,Group:Oe});exports.Popover=Ue;exports.PopoverBackdrop=Ce;exports.PopoverButton=Re;exports.PopoverGroup=Oe;exports.PopoverOverlay=ye;exports.PopoverPanel=De;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { useFocusRing as Le } from "../../../../../@react-aria/focus/dist/useFocusRing.js";
|
|
2
|
+
import { useHover as He } from "../../../../../@react-aria/interactions/dist/useHover.js";
|
|
3
|
+
import f, { createContext as Ee, useId as te, useRef as pe, useCallback as oe, useMemo as Be, useEffect as ie, useState as de, useContext as ke } from "react";
|
|
4
|
+
import { useActivePress as Ne } from "../../hooks/use-active-press.js";
|
|
5
|
+
import { useElementSize as Ve } from "../../hooks/use-element-size.js";
|
|
6
|
+
import { useEvent as $ } from "../../hooks/use-event.js";
|
|
7
|
+
import { useEventListener as Ke } from "../../hooks/use-event-listener.js";
|
|
8
|
+
import { useIsoMorphicEffect as We } from "../../hooks/use-iso-morphic-effect.js";
|
|
9
|
+
import { useLatestValue as Ce } from "../../hooks/use-latest-value.js";
|
|
10
|
+
import { useOnDisappear as je } from "../../hooks/use-on-disappear.js";
|
|
11
|
+
import { useOutsideClick as Ye } from "../../hooks/use-outside-click.js";
|
|
12
|
+
import { useRootDocument as Qe, useOwnerDocument as Oe } from "../../hooks/use-owner.js";
|
|
13
|
+
import { useResolveButtonType as Ze } from "../../hooks/use-resolve-button-type.js";
|
|
14
|
+
import { useMainTreeNode as ze, useRootContainers as Ue, MainTreeProvider as De } from "../../hooks/use-root-containers.js";
|
|
15
|
+
import { useScrollLock as qe } from "../../hooks/use-scroll-lock.js";
|
|
16
|
+
import { useSlot as ae } from "../../hooks/use-slot.js";
|
|
17
|
+
import { useSyncRefs as Q, optionalRef as Je } from "../../hooks/use-sync-refs.js";
|
|
18
|
+
import { useTabDirection as Ie, Direction as A } from "../../hooks/use-tab-direction.js";
|
|
19
|
+
import { useTransition as we, transitionDataAttributes as Re } from "../../hooks/use-transition.js";
|
|
20
|
+
import { CloseProvider as Te } from "../../internal/close-provider.js";
|
|
21
|
+
import { FloatingProvider as Xe, useFloatingReference as et, useResolvedAnchor as tt, useFloatingPanel as ot, useFloatingPanelProps as rt } from "../../internal/floating.js";
|
|
22
|
+
import { Hidden as be, HiddenFeatures as Pe } from "../../internal/hidden.js";
|
|
23
|
+
import { State as Z, OpenClosedProvider as nt, useOpenClosed as xe, ResetOpenClosedProvider as at } from "../../internal/open-closed.js";
|
|
24
|
+
import { useSlice as z } from "../../react-glue.js";
|
|
25
|
+
import { isDisabledReactIssue7711 as Me } from "../../utils/bugs.js";
|
|
26
|
+
import { isHTMLorSVGElement as st, isHTMLElement as lt } from "../../utils/dom.js";
|
|
27
|
+
import { isFocusableElement as ut, FocusableMode as it, focusIn as N, Focus as _, FocusResult as $e, getFocusableElements as Ae } from "../../utils/focus-management.js";
|
|
28
|
+
import { match as re } from "../../utils/match.js";
|
|
29
|
+
import { getActiveElement as ne, getRootNode as Fe } from "../../utils/owner.js";
|
|
30
|
+
import { forwardRefWithAs as U, RenderFeatures as ce, useRender as se, mergeProps as ge } from "../../utils/render.js";
|
|
31
|
+
import { Keys as H } from "../keyboard.js";
|
|
32
|
+
import { useNestedPortals as ct, Portal as pt } from "../portal/portal.js";
|
|
33
|
+
import { PopoverStates as d } from "./popover-machine.js";
|
|
34
|
+
import { usePopoverMachine as dt, PopoverContext as ft, usePopoverMachineContext as Se } from "./popover-machine-glue.js";
|
|
35
|
+
let he = Ee(null);
|
|
36
|
+
he.displayName = "PopoverGroupContext";
|
|
37
|
+
function _e() {
|
|
38
|
+
return ke(he);
|
|
39
|
+
}
|
|
40
|
+
let fe = Ee(null);
|
|
41
|
+
fe.displayName = "PopoverPanelContext";
|
|
42
|
+
function vt() {
|
|
43
|
+
return ke(fe);
|
|
44
|
+
}
|
|
45
|
+
let mt = "div";
|
|
46
|
+
function bt(m, I) {
|
|
47
|
+
var b;
|
|
48
|
+
let g = te(), { __demoMode: v = !1, ...F } = m, a = dt({ id: g, __demoMode: v }), e = pe(null), E = Q(I, Je((r) => {
|
|
49
|
+
e.current = r;
|
|
50
|
+
})), [S, o, h, P, B] = z(a, oe((r) => [r.popoverState, r.button, r.panel, r.buttonId, r.panelId], [])), k = Qe((b = e.current) != null ? b : o), u = Ce(P), i = Ce(B), c = Be(() => ({ buttonId: u, panelId: i, close: a.actions.close }), [u, i, a]), p = _e(), n = p?.registerPopover, y = $(() => {
|
|
51
|
+
var r, C;
|
|
52
|
+
let D = ne((r = e.current) != null ? r : o);
|
|
53
|
+
return (C = p?.isFocusWithinPopoverGroup()) != null ? C : D && (o?.contains(D) || h?.contains(D));
|
|
54
|
+
});
|
|
55
|
+
ie(() => n?.(c), [n, c]);
|
|
56
|
+
let [q, J] = ct(), G = ze(o), x = Ue({ mainTreeNode: G, portals: q, defaultContainers: [{ get current() {
|
|
57
|
+
return a.state.button;
|
|
58
|
+
} }, { get current() {
|
|
59
|
+
return a.state.panel;
|
|
60
|
+
} }] });
|
|
61
|
+
Ke(k, "focus", (r) => {
|
|
62
|
+
var C, D, R, j, T, Y;
|
|
63
|
+
r.target !== window && st(r.target) && a.state.popoverState === d.Open && (y() || a.state.button && a.state.panel && (x.contains(r.target) || (D = (C = a.state.beforePanelSentinel.current) == null ? void 0 : C.contains) != null && D.call(C, r.target) || (j = (R = a.state.afterPanelSentinel.current) == null ? void 0 : R.contains) != null && j.call(R, r.target) || (Y = (T = a.state.afterButtonSentinel.current) == null ? void 0 : T.contains) != null && Y.call(T, r.target) || a.actions.close()));
|
|
64
|
+
}, !0);
|
|
65
|
+
let V = S === d.Open;
|
|
66
|
+
Ye(V, x.resolveContainers, (r, C) => {
|
|
67
|
+
a.actions.close(), ut(C, it.Loose) || (r.preventDefault(), o?.focus());
|
|
68
|
+
});
|
|
69
|
+
let X = ae({ open: S === d.Open, close: a.actions.refocusableClose }), ee = z(a, oe((r) => re(r.popoverState, { [d.Open]: Z.Open, [d.Closed]: Z.Closed }), [])), K = { ref: E }, W = se();
|
|
70
|
+
return f.createElement(De, { node: G }, f.createElement(Xe, null, f.createElement(fe.Provider, { value: null }, f.createElement(ft.Provider, { value: a }, f.createElement(Te, { value: a.actions.refocusableClose }, f.createElement(nt, { value: ee }, f.createElement(J, null, W({ ourProps: K, theirProps: F, slot: X, defaultTag: mt, name: "Popover" }))))))));
|
|
71
|
+
}
|
|
72
|
+
let Pt = "button";
|
|
73
|
+
function $t(m, I) {
|
|
74
|
+
let b = te(), { id: g = `headlessui-popover-button-${b}`, disabled: v = !1, autoFocus: F = !1, ...a } = m, e = Se("Popover.Button"), [E, S, o, h, P, B, k] = z(e, oe((t) => [t.popoverState, e.selectors.isPortalled(t), t.button, t.buttonId, t.panel, t.panelId, t.afterButtonSentinel], [])), u = pe(null), i = `headlessui-focus-sentinel-${te()}`, c = _e(), p = c?.closeOthers, n = vt() !== null;
|
|
75
|
+
ie(() => {
|
|
76
|
+
if (!n) return e.actions.setButtonId(g), () => e.actions.setButtonId(null);
|
|
77
|
+
}, [n, g, e]);
|
|
78
|
+
let [y] = de(() => /* @__PURE__ */ Symbol()), q = Q(u, I, et(), $((t) => {
|
|
79
|
+
if (!n) {
|
|
80
|
+
if (t) e.state.buttons.current.push(y);
|
|
81
|
+
else {
|
|
82
|
+
let s = e.state.buttons.current.indexOf(y);
|
|
83
|
+
s !== -1 && e.state.buttons.current.splice(s, 1);
|
|
84
|
+
}
|
|
85
|
+
e.state.buttons.current.length > 1 && console.warn("You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported."), t && e.actions.setButton(t);
|
|
86
|
+
}
|
|
87
|
+
})), J = Q(u, I), G = $((t) => {
|
|
88
|
+
var s, O, w;
|
|
89
|
+
if (n) {
|
|
90
|
+
if (e.state.popoverState === d.Closed) return;
|
|
91
|
+
switch (t.key) {
|
|
92
|
+
case H.Space:
|
|
93
|
+
case H.Enter:
|
|
94
|
+
t.preventDefault(), (O = (s = t.target).click) == null || O.call(s), e.actions.close(), (w = e.state.button) == null || w.focus();
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
} else switch (t.key) {
|
|
98
|
+
case H.Space:
|
|
99
|
+
case H.Enter:
|
|
100
|
+
t.preventDefault(), t.stopPropagation(), e.state.popoverState === d.Closed ? (p?.(e.state.buttonId), e.actions.open()) : e.actions.close();
|
|
101
|
+
break;
|
|
102
|
+
case H.Escape:
|
|
103
|
+
if (e.state.popoverState !== d.Open) return p?.(e.state.buttonId);
|
|
104
|
+
if (!u.current) return;
|
|
105
|
+
let M = ne(u.current);
|
|
106
|
+
if (M && !u.current.contains(M)) return;
|
|
107
|
+
t.preventDefault(), t.stopPropagation(), e.actions.close();
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
}), x = $((t) => {
|
|
111
|
+
n || t.key === H.Space && t.preventDefault();
|
|
112
|
+
}), V = $((t) => {
|
|
113
|
+
var s, O;
|
|
114
|
+
Me(t.currentTarget) || v || (n ? (e.actions.close(), (s = e.state.button) == null || s.focus()) : (t.preventDefault(), t.stopPropagation(), e.state.popoverState === d.Closed ? (p?.(e.state.buttonId), e.actions.open()) : e.actions.close(), (O = e.state.button) == null || O.focus()));
|
|
115
|
+
}), X = $((t) => {
|
|
116
|
+
t.preventDefault(), t.stopPropagation();
|
|
117
|
+
}), { isFocusVisible: ee, focusProps: K } = Le({ autoFocus: F }), { isHovered: W, hoverProps: r } = He({ isDisabled: v }), { pressed: C, pressProps: D } = Ne({ disabled: v }), R = E === d.Open, j = ae({ open: R, active: C || R, disabled: v, hover: W, focus: ee, autofocus: F }), T = Ze(m, o), Y = n ? ge({ ref: J, type: T, onKeyDown: G, onClick: V, disabled: v || void 0, autoFocus: F }, K, r, D) : ge({ ref: q, id: h, type: T, "aria-expanded": E === d.Open, "aria-controls": P ? B : void 0, disabled: v || void 0, autoFocus: F, onKeyDown: G, onKeyUp: x, onClick: V, onMouseDown: X }, K, r, D), le = Ie(), ve = $(() => {
|
|
118
|
+
if (!lt(e.state.panel)) return;
|
|
119
|
+
let t = e.state.panel;
|
|
120
|
+
function s() {
|
|
121
|
+
re(le.current, { [A.Forwards]: () => N(t, _.First), [A.Backwards]: () => N(t, _.Last) }) === $e.Error && N(Ae(Fe(e.state.button)).filter((O) => O.dataset.headlessuiFocusGuard !== "true"), re(le.current, { [A.Forwards]: _.Next, [A.Backwards]: _.Previous }), { relativeTo: e.state.button });
|
|
122
|
+
}
|
|
123
|
+
s();
|
|
124
|
+
}), l = se();
|
|
125
|
+
return f.createElement(f.Fragment, null, l({ ourProps: Y, theirProps: a, slot: j, defaultTag: Pt, name: "Popover.Button" }), R && !n && S && f.createElement(be, { id: i, ref: k, features: Pe.Focusable, "data-headlessui-focus-guard": !0, as: "button", type: "button", onFocus: ve }));
|
|
126
|
+
}
|
|
127
|
+
let gt = "div", Ft = ce.RenderStrategy | ce.Static;
|
|
128
|
+
function Ge(m, I) {
|
|
129
|
+
let b = te(), { id: g = `headlessui-popover-backdrop-${b}`, transition: v = !1, ...F } = m, a = Se("Popover.Backdrop"), e = z(a, oe((c) => c.popoverState, [])), [E, S] = de(null), o = Q(I, S), h = xe(), [P, B] = we(v, E, h !== null ? (h & Z.Open) === Z.Open : e === d.Open), k = $((c) => {
|
|
130
|
+
if (Me(c.currentTarget)) return c.preventDefault();
|
|
131
|
+
a.actions.close();
|
|
132
|
+
}), u = ae({ open: e === d.Open }), i = { ref: o, id: g, "aria-hidden": !0, onClick: k, ...Re(B) };
|
|
133
|
+
return se()({ ourProps: i, theirProps: F, slot: u, defaultTag: gt, features: Ft, visible: P, name: "Popover.Backdrop" });
|
|
134
|
+
}
|
|
135
|
+
let St = "div", ht = ce.RenderStrategy | ce.Static;
|
|
136
|
+
function yt(m, I) {
|
|
137
|
+
let b = te(), { id: g = `headlessui-popover-panel-${b}`, focus: v = !1, anchor: F, portal: a = !1, modal: e = !1, transition: E = !1, ...S } = m, o = Se("Popover.Panel"), h = z(o, o.selectors.isPortalled), [P, B, k, u, i] = z(o, oe((l) => [l.popoverState, l.button, l.__demoMode, l.beforePanelSentinel, l.afterPanelSentinel], [])), c = `headlessui-focus-sentinel-before-${b}`, p = `headlessui-focus-sentinel-after-${b}`, n = pe(null), y = tt(F), [q, J] = ot(y), G = rt();
|
|
138
|
+
y && (a = !0);
|
|
139
|
+
let [x, V] = de(null), X = Q(n, I, y ? q : null, o.actions.setPanel, V), ee = Oe(B), K = Oe(n.current);
|
|
140
|
+
We(() => (o.actions.setPanelId(g), () => o.actions.setPanelId(null)), [g, o]);
|
|
141
|
+
let W = xe(), [r, C] = we(E, x, W !== null ? (W & Z.Open) === Z.Open : P === d.Open);
|
|
142
|
+
je(r, B, o.actions.close), qe(k ? !1 : e && r, K);
|
|
143
|
+
let D = $((l) => {
|
|
144
|
+
var t;
|
|
145
|
+
switch (l.key) {
|
|
146
|
+
case H.Escape:
|
|
147
|
+
if (o.state.popoverState !== d.Open || !n.current) return;
|
|
148
|
+
let s = ne(n.current);
|
|
149
|
+
if (s && !n.current.contains(s)) return;
|
|
150
|
+
l.preventDefault(), l.stopPropagation(), o.actions.close(), (t = o.state.button) == null || t.focus();
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
ie(() => {
|
|
155
|
+
var l;
|
|
156
|
+
m.static || P === d.Closed && ((l = m.unmount) == null || l) && o.actions.setPanel(null);
|
|
157
|
+
}, [P, m.unmount, m.static, o]), ie(() => {
|
|
158
|
+
if (k || !v || P !== d.Open || !n.current) return;
|
|
159
|
+
let l = ne(n.current);
|
|
160
|
+
n.current.contains(l) || N(n.current, _.First);
|
|
161
|
+
}, [k, v, n.current, P]);
|
|
162
|
+
let R = ae({ open: P === d.Open, close: o.actions.refocusableClose }), j = ge(y ? G() : {}, { ref: X, id: g, onKeyDown: D, onBlur: v && P === d.Open ? (l) => {
|
|
163
|
+
var t, s, O, w, M;
|
|
164
|
+
let L = l.relatedTarget;
|
|
165
|
+
L && n.current && ((t = n.current) != null && t.contains(L) || (o.actions.close(), ((O = (s = u.current) == null ? void 0 : s.contains) != null && O.call(s, L) || (M = (w = i.current) == null ? void 0 : w.contains) != null && M.call(w, L)) && L.focus({ preventScroll: !0 })));
|
|
166
|
+
} : void 0, tabIndex: -1, style: { ...S.style, ...J, "--button-width": Ve(r, B, !0).width }, ...Re(C) }), T = Ie(), Y = $(() => {
|
|
167
|
+
let l = n.current;
|
|
168
|
+
if (!l) return;
|
|
169
|
+
function t() {
|
|
170
|
+
re(T.current, { [A.Forwards]: () => {
|
|
171
|
+
var s;
|
|
172
|
+
N(l, _.First) === $e.Error && ((s = o.state.afterPanelSentinel.current) == null || s.focus());
|
|
173
|
+
}, [A.Backwards]: () => {
|
|
174
|
+
var s;
|
|
175
|
+
(s = o.state.button) == null || s.focus({ preventScroll: !0 });
|
|
176
|
+
} });
|
|
177
|
+
}
|
|
178
|
+
t();
|
|
179
|
+
}), le = $(() => {
|
|
180
|
+
let l = n.current;
|
|
181
|
+
if (!l) return;
|
|
182
|
+
function t() {
|
|
183
|
+
re(T.current, { [A.Forwards]: () => {
|
|
184
|
+
var s;
|
|
185
|
+
if (!o.state.button) return;
|
|
186
|
+
let O = (s = Fe(o.state.button)) != null ? s : document.body, w = Ae(O), M = w.indexOf(o.state.button), L = w.slice(0, M + 1), ue = [...w.slice(M + 1), ...L];
|
|
187
|
+
for (let me of ue.slice()) if (me.dataset.headlessuiFocusGuard === "true" || x != null && x.contains(me)) {
|
|
188
|
+
let ye = ue.indexOf(me);
|
|
189
|
+
ye !== -1 && ue.splice(ye, 1);
|
|
190
|
+
}
|
|
191
|
+
N(ue, _.First, { sorted: !1 });
|
|
192
|
+
}, [A.Backwards]: () => {
|
|
193
|
+
var s;
|
|
194
|
+
N(l, _.Previous) === $e.Error && ((s = o.state.button) == null || s.focus());
|
|
195
|
+
} });
|
|
196
|
+
}
|
|
197
|
+
t();
|
|
198
|
+
}), ve = se();
|
|
199
|
+
return f.createElement(at, null, f.createElement(fe.Provider, { value: g }, f.createElement(Te, { value: o.actions.refocusableClose }, f.createElement(pt, { enabled: a ? m.static || r : !1, ownerDocument: ee }, r && h && f.createElement(be, { id: c, ref: u, features: Pe.Focusable, "data-headlessui-focus-guard": !0, as: "button", type: "button", onFocus: Y }), ve({ ourProps: j, theirProps: S, slot: R, defaultTag: St, features: ht, visible: r, name: "Popover.Panel" }), r && h && f.createElement(be, { id: p, ref: i, features: Pe.Focusable, "data-headlessui-focus-guard": !0, as: "button", type: "button", onFocus: le })))));
|
|
200
|
+
}
|
|
201
|
+
let Ct = "div";
|
|
202
|
+
function Ot(m, I) {
|
|
203
|
+
let b = pe(null), g = Q(b, I), [v, F] = de([]), a = $((u) => {
|
|
204
|
+
F((i) => {
|
|
205
|
+
let c = i.indexOf(u);
|
|
206
|
+
if (c !== -1) {
|
|
207
|
+
let p = i.slice();
|
|
208
|
+
return p.splice(c, 1), p;
|
|
209
|
+
}
|
|
210
|
+
return i;
|
|
211
|
+
});
|
|
212
|
+
}), e = $((u) => (F((i) => [...i, u]), () => a(u))), E = $(() => {
|
|
213
|
+
var u;
|
|
214
|
+
let i = Fe(b.current);
|
|
215
|
+
if (!i) return !1;
|
|
216
|
+
let c = ne(b.current);
|
|
217
|
+
return (u = b.current) != null && u.contains(c) ? !0 : v.some((p) => {
|
|
218
|
+
var n, y;
|
|
219
|
+
return ((n = i.getElementById(p.buttonId.current)) == null ? void 0 : n.contains(c)) || ((y = i.getElementById(p.panelId.current)) == null ? void 0 : y.contains(c));
|
|
220
|
+
});
|
|
221
|
+
}), S = $((u) => {
|
|
222
|
+
for (let i of v) i.buttonId.current !== u && i.close();
|
|
223
|
+
}), o = Be(() => ({ registerPopover: e, unregisterPopover: a, isFocusWithinPopoverGroup: E, closeOthers: S }), [e, a, E, S]), h = ae({}), P = m, B = { ref: g }, k = se();
|
|
224
|
+
return f.createElement(De, null, f.createElement(he.Provider, { value: o }, k({ ourProps: B, theirProps: P, slot: h, defaultTag: Ct, name: "Popover.Group" })));
|
|
225
|
+
}
|
|
226
|
+
let Et = U(bt), Bt = U($t), kt = U(Ge), Dt = U(Ge), It = U(yt), wt = U(Ot), fo = Object.assign(Et, { Button: Bt, Backdrop: Dt, Overlay: kt, Panel: It, Group: wt });
|
|
227
|
+
export {
|
|
228
|
+
fo as Popover,
|
|
229
|
+
Dt as PopoverBackdrop,
|
|
230
|
+
Bt as PopoverButton,
|
|
231
|
+
wt as PopoverGroup,
|
|
232
|
+
kt as PopoverOverlay,
|
|
233
|
+
It as PopoverPanel
|
|
234
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),y=require("react-dom"),b=require("../../hooks/use-disposables.cjs"),g=require("../../hooks/use-event.cjs"),q=require("../../hooks/use-on-unmount.cjs"),C=require("../../hooks/use-owner.cjs"),f=require("../../hooks/use-sync-refs.cjs"),S=require("../../internal/portal-force-root.cjs"),w=require("../../utils/env.cjs"),c=require("../../utils/render.cjs");function D(e){let n=S.usePortalRoot(),u=t.useContext(R),[l,o]=t.useState(()=>{var r;if(!n&&u!==null)return(r=u.current)!=null?r:null;if(w.env.isServer)return null;let s=e?.getElementById("headlessui-portal-root");if(s)return s;if(e===null)return null;let d=e.createElement("div");return d.setAttribute("id","headlessui-portal-root"),e.body.appendChild(d)});return t.useEffect(()=>{l!==null&&(e!=null&&e.body.contains(l)||e==null||e.body.appendChild(l))},[l,e]),t.useEffect(()=>{n||u!==null&&o(u.current)},[u,o,n]),l}let P=t.Fragment,O=c.forwardRefWithAs(function(e,n){let{ownerDocument:u=null,...l}=e,o=t.useRef(null),r=f.useSyncRefs(f.optionalRef(a=>{o.current=a}),n),s=C.useOwnerDocument(o.current),d=u??s,i=D(d),m=t.useContext(p),v=b.useDisposables(),E=c.useRender();return q.useOnUnmount(()=>{var a;i&&i.childNodes.length<=0&&((a=i.parentElement)==null||a.removeChild(i))}),i?y.createPortal(t.createElement("div",{"data-headlessui-portal":"",ref:a=>{v.dispose(),m&&a&&v.add(m.register(a))}},E({ourProps:{ref:r},theirProps:l,slot:{},defaultTag:P,name:"Portal"})),i):null});function x(e,n){let u=f.useSyncRefs(n),{enabled:l=!0,ownerDocument:o,...r}=e,s=c.useRender();return l?t.createElement(O,{...r,ownerDocument:o,ref:u}):s({ourProps:{ref:u},theirProps:r,slot:{},defaultTag:P,name:"Portal"})}let A=t.Fragment,R=t.createContext(null);function M(e,n){let{target:u,...l}=e,o={ref:f.useSyncRefs(n)},r=c.useRender();return t.createElement(R.Provider,{value:u},r({ourProps:o,theirProps:l,defaultTag:A,name:"Popover.Group"}))}let p=t.createContext(null);function T(){let e=t.useContext(p),n=t.useRef([]),u=g.useEvent(r=>(n.current.push(r),e&&e.register(r),()=>l(r))),l=g.useEvent(r=>{let s=n.current.indexOf(r);s!==-1&&n.current.splice(s,1),e&&e.unregister(r)}),o=t.useMemo(()=>({register:u,unregister:l,portals:n}),[u,l,n]);return[n,t.useMemo(()=>function({children:r}){return t.createElement(p.Provider,{value:o},r)},[o])]}let W=c.forwardRefWithAs(x),h=c.forwardRefWithAs(M),j=Object.assign(W,{Group:h});exports.Portal=j;exports.PortalGroup=h;exports.useNestedPortals=T;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import p, { useContext as f, useRef as y, useMemo as h, createContext as R, Fragment as C, useState as x, useEffect as E } from "react";
|
|
2
|
+
import { createPortal as O } from "react-dom";
|
|
3
|
+
import { useDisposables as S } from "../../hooks/use-disposables.js";
|
|
4
|
+
import { useEvent as b } from "../../hooks/use-event.js";
|
|
5
|
+
import { useOnUnmount as T } from "../../hooks/use-on-unmount.js";
|
|
6
|
+
import { useOwnerDocument as G } from "../../hooks/use-owner.js";
|
|
7
|
+
import { useSyncRefs as c, optionalRef as _ } from "../../hooks/use-sync-refs.js";
|
|
8
|
+
import { usePortalRoot as j } from "../../internal/portal-force-root.js";
|
|
9
|
+
import { env as A } from "../../utils/env.js";
|
|
10
|
+
import { forwardRefWithAs as d, useRender as P } from "../../utils/render.js";
|
|
11
|
+
function I(e) {
|
|
12
|
+
let t = j(), n = f($), [l, o] = x(() => {
|
|
13
|
+
var r;
|
|
14
|
+
if (!t && n !== null) return (r = n.current) != null ? r : null;
|
|
15
|
+
if (A.isServer) return null;
|
|
16
|
+
let u = e?.getElementById("headlessui-portal-root");
|
|
17
|
+
if (u) return u;
|
|
18
|
+
if (e === null) return null;
|
|
19
|
+
let i = e.createElement("div");
|
|
20
|
+
return i.setAttribute("id", "headlessui-portal-root"), e.body.appendChild(i);
|
|
21
|
+
});
|
|
22
|
+
return E(() => {
|
|
23
|
+
l !== null && (e != null && e.body.contains(l) || e == null || e.body.appendChild(l));
|
|
24
|
+
}, [l, e]), E(() => {
|
|
25
|
+
t || n !== null && o(n.current);
|
|
26
|
+
}, [n, o, t]), l;
|
|
27
|
+
}
|
|
28
|
+
let D = C, N = d(function(e, t) {
|
|
29
|
+
let { ownerDocument: n = null, ...l } = e, o = y(null), r = c(_((s) => {
|
|
30
|
+
o.current = s;
|
|
31
|
+
}), t), u = G(o.current), i = n ?? u, a = I(i), v = f(m), g = S(), w = P();
|
|
32
|
+
return T(() => {
|
|
33
|
+
var s;
|
|
34
|
+
a && a.childNodes.length <= 0 && ((s = a.parentElement) == null || s.removeChild(a));
|
|
35
|
+
}), a ? O(p.createElement("div", { "data-headlessui-portal": "", ref: (s) => {
|
|
36
|
+
g.dispose(), v && s && g.add(v.register(s));
|
|
37
|
+
} }, w({ ourProps: { ref: r }, theirProps: l, slot: {}, defaultTag: D, name: "Portal" })), a) : null;
|
|
38
|
+
});
|
|
39
|
+
function W(e, t) {
|
|
40
|
+
let n = c(t), { enabled: l = !0, ownerDocument: o, ...r } = e, u = P();
|
|
41
|
+
return l ? p.createElement(N, { ...r, ownerDocument: o, ref: n }) : u({ ourProps: { ref: n }, theirProps: r, slot: {}, defaultTag: D, name: "Portal" });
|
|
42
|
+
}
|
|
43
|
+
let B = C, $ = R(null);
|
|
44
|
+
function F(e, t) {
|
|
45
|
+
let { target: n, ...l } = e, o = { ref: c(t) }, r = P();
|
|
46
|
+
return p.createElement($.Provider, { value: n }, r({ ourProps: o, theirProps: l, defaultTag: B, name: "Popover.Group" }));
|
|
47
|
+
}
|
|
48
|
+
let m = R(null);
|
|
49
|
+
function V() {
|
|
50
|
+
let e = f(m), t = y([]), n = b((r) => (t.current.push(r), e && e.register(r), () => l(r))), l = b((r) => {
|
|
51
|
+
let u = t.current.indexOf(r);
|
|
52
|
+
u !== -1 && t.current.splice(u, 1), e && e.unregister(r);
|
|
53
|
+
}), o = h(() => ({ register: n, unregister: l, portals: t }), [n, l, t]);
|
|
54
|
+
return [t, h(() => function({ children: r }) {
|
|
55
|
+
return p.createElement(m.Provider, { value: o }, r);
|
|
56
|
+
}, [o])];
|
|
57
|
+
}
|
|
58
|
+
let J = d(W), K = d(F), Z = Object.assign(J, { Group: K });
|
|
59
|
+
export {
|
|
60
|
+
Z as Portal,
|
|
61
|
+
K as PortalGroup,
|
|
62
|
+
V as useNestedPortals
|
|
63
|
+
};
|