@moduix/react-tailwind 1.0.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/LICENSE.md +9 -0
- package/README.md +130 -0
- package/THIRD_PARTY_NOTICES.md +49 -0
- package/dist/components/accordion/Accordion.d.ts +13 -0
- package/dist/components/accordion/Accordion.js +78 -0
- package/dist/components/accordion/index.d.ts +1 -0
- package/dist/components/accordion/index.js +1 -0
- package/dist/components/alert/Alert.d.ts +14 -0
- package/dist/components/alert/Alert.js +93 -0
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/index.js +1 -0
- package/dist/components/angle-slider/AngleSlider.d.ts +26 -0
- package/dist/components/angle-slider/AngleSlider.js +107 -0
- package/dist/components/angle-slider/index.d.ts +1 -0
- package/dist/components/angle-slider/index.js +1 -0
- package/dist/components/aspect-ratio/AspectRatio.d.ts +8 -0
- package/dist/components/aspect-ratio/AspectRatio.js +23 -0
- package/dist/components/aspect-ratio/index.d.ts +1 -0
- package/dist/components/aspect-ratio/index.js +1 -0
- package/dist/components/avatar/Avatar.d.ts +17 -0
- package/dist/components/avatar/Avatar.js +66 -0
- package/dist/components/avatar/index.d.ts +1 -0
- package/dist/components/avatar/index.js +1 -0
- package/dist/components/badge/Badge.d.ts +11 -0
- package/dist/components/badge/Badge.js +60 -0
- package/dist/components/badge/index.d.ts +1 -0
- package/dist/components/badge/index.js +1 -0
- package/dist/components/bleed/Bleed.d.ts +12 -0
- package/dist/components/bleed/Bleed.js +49 -0
- package/dist/components/bleed/index.d.ts +1 -0
- package/dist/components/bleed/index.js +1 -0
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +21 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js +105 -0
- package/dist/components/breadcrumbs/index.d.ts +1 -0
- package/dist/components/breadcrumbs/index.js +1 -0
- package/dist/components/button/Button.d.ts +18 -0
- package/dist/components/button/Button.js +84 -0
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/card/Card.d.ts +19 -0
- package/dist/components/card/Card.js +135 -0
- package/dist/components/card/index.d.ts +1 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/carousel/Carousel.d.ts +20 -0
- package/dist/components/carousel/Carousel.js +145 -0
- package/dist/components/carousel/index.d.ts +1 -0
- package/dist/components/carousel/index.js +1 -0
- package/dist/components/chart/Chart.d.ts +18 -0
- package/dist/components/chart/Chart.js +183 -0
- package/dist/components/chart/index.d.ts +1 -0
- package/dist/components/chart/index.js +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +20 -0
- package/dist/components/checkbox/Checkbox.js +83 -0
- package/dist/components/checkbox/index.d.ts +1 -0
- package/dist/components/checkbox/index.js +1 -0
- package/dist/components/clipboard/Clipboard.d.ts +15 -0
- package/dist/components/clipboard/Clipboard.js +105 -0
- package/dist/components/clipboard/index.d.ts +1 -0
- package/dist/components/clipboard/index.js +1 -0
- package/dist/components/close-button/CloseButton.d.ts +14 -0
- package/dist/components/close-button/CloseButton.js +50 -0
- package/dist/components/close-button/index.d.ts +1 -0
- package/dist/components/close-button/index.js +1 -0
- package/dist/components/collapsible/Collapsible.d.ts +11 -0
- package/dist/components/collapsible/Collapsible.js +67 -0
- package/dist/components/collapsible/index.d.ts +1 -0
- package/dist/components/collapsible/index.js +1 -0
- package/dist/components/color-picker/ColorPicker.d.ts +38 -0
- package/dist/components/color-picker/ColorPicker.js +354 -0
- package/dist/components/color-picker/index.d.ts +1 -0
- package/dist/components/color-picker/index.js +1 -0
- package/dist/components/combobox/Combobox.d.ts +30 -0
- package/dist/components/combobox/Combobox.js +208 -0
- package/dist/components/combobox/index.d.ts +1 -0
- package/dist/components/combobox/index.js +1 -0
- package/dist/components/command-palette/CommandPalette.d.ts +45 -0
- package/dist/components/command-palette/CommandPalette.js +376 -0
- package/dist/components/command-palette/index.d.ts +1 -0
- package/dist/components/command-palette/index.js +1 -0
- package/dist/components/container/Container.d.ts +12 -0
- package/dist/components/container/Container.js +123 -0
- package/dist/components/container/index.d.ts +1 -0
- package/dist/components/container/index.js +1 -0
- package/dist/components/date-input/DateInput.d.ts +17 -0
- package/dist/components/date-input/DateInput.js +87 -0
- package/dist/components/date-input/index.d.ts +1 -0
- package/dist/components/date-input/index.js +1 -0
- package/dist/components/date-picker/DatePicker.d.ts +66 -0
- package/dist/components/date-picker/DatePicker.js +430 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/date-picker/index.js +1 -0
- package/dist/components/dialog/Dialog.d.ts +25 -0
- package/dist/components/dialog/Dialog.js +147 -0
- package/dist/components/dialog/index.d.ts +2 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/drawer/Drawer.d.ts +40 -0
- package/dist/components/drawer/Drawer.js +202 -0
- package/dist/components/drawer/index.d.ts +1 -0
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/editable/Editable.d.ts +16 -0
- package/dist/components/editable/Editable.js +120 -0
- package/dist/components/editable/index.d.ts +1 -0
- package/dist/components/editable/index.js +1 -0
- package/dist/components/empty/Empty.d.ts +9 -0
- package/dist/components/empty/Empty.js +73 -0
- package/dist/components/empty/index.d.ts +1 -0
- package/dist/components/empty/index.js +1 -0
- package/dist/components/field/Field.d.ts +17 -0
- package/dist/components/field/Field.js +103 -0
- package/dist/components/field/index.d.ts +1 -0
- package/dist/components/field/index.js +1 -0
- package/dist/components/fieldset/Fieldset.d.ts +10 -0
- package/dist/components/fieldset/Fieldset.js +54 -0
- package/dist/components/fieldset/index.d.ts +1 -0
- package/dist/components/fieldset/index.js +1 -0
- package/dist/components/file-upload/FileUpload.d.ts +31 -0
- package/dist/components/file-upload/FileUpload.js +199 -0
- package/dist/components/file-upload/index.d.ts +1 -0
- package/dist/components/file-upload/index.js +1 -0
- package/dist/components/floating-panel/FloatingPanel.d.ts +34 -0
- package/dist/components/floating-panel/FloatingPanel.js +209 -0
- package/dist/components/floating-panel/index.d.ts +1 -0
- package/dist/components/floating-panel/index.js +1 -0
- package/dist/components/heading/Heading.d.ts +15 -0
- package/dist/components/heading/Heading.js +60 -0
- package/dist/components/heading/index.d.ts +1 -0
- package/dist/components/heading/index.js +1 -0
- package/dist/components/highlight/Highlight.d.ts +7 -0
- package/dist/components/highlight/Highlight.js +16 -0
- package/dist/components/highlight/index.d.ts +1 -0
- package/dist/components/highlight/index.js +1 -0
- package/dist/components/hover-card/HoverCard.d.ts +19 -0
- package/dist/components/hover-card/HoverCard.js +93 -0
- package/dist/components/hover-card/index.d.ts +1 -0
- package/dist/components/hover-card/index.js +1 -0
- package/dist/components/image/Image.d.ts +13 -0
- package/dist/components/image/Image.js +25 -0
- package/dist/components/image/index.d.ts +1 -0
- package/dist/components/image/index.js +1 -0
- package/dist/components/image-cropper/ImageCropper.d.ts +17 -0
- package/dist/components/image-cropper/ImageCropper.js +95 -0
- package/dist/components/image-cropper/index.d.ts +1 -0
- package/dist/components/image-cropper/index.js +1 -0
- package/dist/components/input/Input.d.ts +12 -0
- package/dist/components/input/Input.js +38 -0
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/input-group/InputGroup.d.ts +25 -0
- package/dist/components/input-group/InputGroup.js +131 -0
- package/dist/components/input-group/index.d.ts +1 -0
- package/dist/components/input-group/index.js +1 -0
- package/dist/components/json-tree-view/JsonTreeView.d.ts +8 -0
- package/dist/components/json-tree-view/JsonTreeView.js +39 -0
- package/dist/components/json-tree-view/index.d.ts +1 -0
- package/dist/components/json-tree-view/index.js +1 -0
- package/dist/components/kbd/Kbd.d.ts +5 -0
- package/dist/components/kbd/Kbd.js +30 -0
- package/dist/components/kbd/index.d.ts +1 -0
- package/dist/components/kbd/index.js +1 -0
- package/dist/components/lightbox/Lightbox.d.ts +46 -0
- package/dist/components/lightbox/Lightbox.js +232 -0
- package/dist/components/lightbox/index.d.ts +2 -0
- package/dist/components/lightbox/index.js +1 -0
- package/dist/components/list/List.d.ts +21 -0
- package/dist/components/list/List.js +106 -0
- package/dist/components/list/index.d.ts +1 -0
- package/dist/components/list/index.js +1 -0
- package/dist/components/listbox/Listbox.d.ts +28 -0
- package/dist/components/listbox/Listbox.js +179 -0
- package/dist/components/listbox/index.d.ts +1 -0
- package/dist/components/listbox/index.js +1 -0
- package/dist/components/marquee/Marquee.d.ts +12 -0
- package/dist/components/marquee/Marquee.js +93 -0
- package/dist/components/marquee/index.d.ts +1 -0
- package/dist/components/marquee/index.js +1 -0
- package/dist/components/menu/Menu.d.ts +51 -0
- package/dist/components/menu/Menu.js +300 -0
- package/dist/components/menu/index.d.ts +1 -0
- package/dist/components/menu/index.js +1 -0
- package/dist/components/native-select/NativeSelect.d.ts +9 -0
- package/dist/components/native-select/NativeSelect.js +38 -0
- package/dist/components/native-select/index.d.ts +1 -0
- package/dist/components/native-select/index.js +1 -0
- package/dist/components/navigation-menu/NavigationMenu.d.ts +18 -0
- package/dist/components/navigation-menu/NavigationMenu.js +119 -0
- package/dist/components/navigation-menu/index.d.ts +1 -0
- package/dist/components/navigation-menu/index.js +1 -0
- package/dist/components/number-input/NumberInput.d.ts +18 -0
- package/dist/components/number-input/NumberInput.js +105 -0
- package/dist/components/number-input/index.d.ts +1 -0
- package/dist/components/number-input/index.js +1 -0
- package/dist/components/pagination/Pagination.d.ts +17 -0
- package/dist/components/pagination/Pagination.js +115 -0
- package/dist/components/pagination/index.d.ts +1 -0
- package/dist/components/pagination/index.js +1 -0
- package/dist/components/password-input/PasswordInput.d.ts +16 -0
- package/dist/components/password-input/PasswordInput.js +87 -0
- package/dist/components/password-input/index.d.ts +1 -0
- package/dist/components/password-input/index.js +1 -0
- package/dist/components/pin-input/PinInput.d.ts +19 -0
- package/dist/components/pin-input/PinInput.js +83 -0
- package/dist/components/pin-input/index.d.ts +1 -0
- package/dist/components/pin-input/index.js +1 -0
- package/dist/components/popover/Popover.d.ts +29 -0
- package/dist/components/popover/Popover.js +177 -0
- package/dist/components/popover/index.d.ts +1 -0
- package/dist/components/popover/index.js +1 -0
- package/dist/components/progress-circular/ProgressCircular.d.ts +18 -0
- package/dist/components/progress-circular/ProgressCircular.js +94 -0
- package/dist/components/progress-circular/index.d.ts +1 -0
- package/dist/components/progress-circular/index.js +1 -0
- package/dist/components/progress-linear/ProgressLinear.d.ts +14 -0
- package/dist/components/progress-linear/ProgressLinear.js +73 -0
- package/dist/components/progress-linear/index.d.ts +1 -0
- package/dist/components/progress-linear/index.js +1 -0
- package/dist/components/qr-code/QrCode.d.ts +11 -0
- package/dist/components/qr-code/QrCode.js +63 -0
- package/dist/components/qr-code/index.d.ts +1 -0
- package/dist/components/qr-code/index.js +1 -0
- package/dist/components/radio-group/RadioGroup.d.ts +25 -0
- package/dist/components/radio-group/RadioGroup.js +108 -0
- package/dist/components/radio-group/index.d.ts +2 -0
- package/dist/components/radio-group/index.js +1 -0
- package/dist/components/rating-group/RatingGroup.d.ts +27 -0
- package/dist/components/rating-group/RatingGroup.js +92 -0
- package/dist/components/rating-group/index.d.ts +2 -0
- package/dist/components/rating-group/index.js +1 -0
- package/dist/components/scroll-area/ScrollArea.d.ts +23 -0
- package/dist/components/scroll-area/ScrollArea.js +77 -0
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/index.js +1 -0
- package/dist/components/segment-group/SegmentGroup.d.ts +25 -0
- package/dist/components/segment-group/SegmentGroup.js +119 -0
- package/dist/components/segment-group/index.d.ts +1 -0
- package/dist/components/segment-group/index.js +1 -0
- package/dist/components/select/Select.d.ts +39 -0
- package/dist/components/select/Select.js +239 -0
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/separator/Separator.d.ts +12 -0
- package/dist/components/separator/Separator.js +96 -0
- package/dist/components/separator/index.d.ts +1 -0
- package/dist/components/separator/index.js +1 -0
- package/dist/components/sidebar/Sidebar.d.ts +61 -0
- package/dist/components/sidebar/Sidebar.js +400 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/index.js +1 -0
- package/dist/components/signature-pad/SignaturePad.d.ts +15 -0
- package/dist/components/signature-pad/SignaturePad.js +133 -0
- package/dist/components/signature-pad/index.d.ts +1 -0
- package/dist/components/signature-pad/index.js +1 -0
- package/dist/components/simple-grid/SimpleGrid.d.ts +16 -0
- package/dist/components/simple-grid/SimpleGrid.js +43 -0
- package/dist/components/simple-grid/index.d.ts +1 -0
- package/dist/components/simple-grid/index.js +1 -0
- package/dist/components/skeleton/Skeleton.d.ts +18 -0
- package/dist/components/skeleton/Skeleton.js +30 -0
- package/dist/components/skeleton/index.d.ts +1 -0
- package/dist/components/skeleton/index.js +1 -0
- package/dist/components/slider/Slider.d.ts +23 -0
- package/dist/components/slider/Slider.js +122 -0
- package/dist/components/slider/index.d.ts +1 -0
- package/dist/components/slider/index.js +1 -0
- package/dist/components/spinner/Spinner.d.ts +11 -0
- package/dist/components/spinner/Spinner.js +57 -0
- package/dist/components/spinner/index.d.ts +1 -0
- package/dist/components/spinner/index.js +1 -0
- package/dist/components/split-button/SplitButton.d.ts +36 -0
- package/dist/components/split-button/SplitButton.js +125 -0
- package/dist/components/split-button/index.d.ts +1 -0
- package/dist/components/split-button/index.js +1 -0
- package/dist/components/splitter/Splitter.d.ts +11 -0
- package/dist/components/splitter/Splitter.js +66 -0
- package/dist/components/splitter/index.d.ts +1 -0
- package/dist/components/splitter/index.js +1 -0
- package/dist/components/stack/Stack.d.ts +26 -0
- package/dist/components/stack/Stack.js +57 -0
- package/dist/components/stack/index.d.ts +1 -0
- package/dist/components/stack/index.js +1 -0
- package/dist/components/steps/Steps.d.ts +25 -0
- package/dist/components/steps/Steps.js +122 -0
- package/dist/components/steps/index.d.ts +1 -0
- package/dist/components/steps/index.js +1 -0
- package/dist/components/swap/Swap.d.ts +16 -0
- package/dist/components/swap/Swap.js +38 -0
- package/dist/components/swap/index.d.ts +1 -0
- package/dist/components/swap/index.js +1 -0
- package/dist/components/switch/Switch.d.ts +20 -0
- package/dist/components/switch/Switch.js +58 -0
- package/dist/components/switch/index.d.ts +1 -0
- package/dist/components/switch/index.js +1 -0
- package/dist/components/table/Table.d.ts +39 -0
- package/dist/components/table/Table.js +191 -0
- package/dist/components/table/index.d.ts +1 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/tabs/Tabs.d.ts +19 -0
- package/dist/components/tabs/Tabs.js +71 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/tag/Tag.d.ts +16 -0
- package/dist/components/tag/Tag.js +92 -0
- package/dist/components/tag/index.d.ts +1 -0
- package/dist/components/tag/index.js +1 -0
- package/dist/components/tags-input/TagsInput.d.ts +20 -0
- package/dist/components/tags-input/TagsInput.js +145 -0
- package/dist/components/tags-input/index.d.ts +1 -0
- package/dist/components/tags-input/index.js +1 -0
- package/dist/components/text/Text.d.ts +25 -0
- package/dist/components/text/Text.js +79 -0
- package/dist/components/text/index.d.ts +1 -0
- package/dist/components/text/index.js +1 -0
- package/dist/components/textarea/Textarea.d.ts +3 -0
- package/dist/components/textarea/Textarea.js +17 -0
- package/dist/components/textarea/index.d.ts +1 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/timer/Timer.d.ts +18 -0
- package/dist/components/timer/Timer.js +94 -0
- package/dist/components/timer/index.d.ts +1 -0
- package/dist/components/timer/index.js +1 -0
- package/dist/components/toast/Toast.d.ts +17 -0
- package/dist/components/toast/Toast.js +107 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/index.js +1 -0
- package/dist/components/toc/Toc.d.ts +23 -0
- package/dist/components/toc/Toc.js +144 -0
- package/dist/components/toc/index.d.ts +1 -0
- package/dist/components/toc/index.js +1 -0
- package/dist/components/toggle/Toggle.d.ts +15 -0
- package/dist/components/toggle/Toggle.js +55 -0
- package/dist/components/toggle/index.d.ts +2 -0
- package/dist/components/toggle/index.js +1 -0
- package/dist/components/toggle-group/ToggleGroup.d.ts +24 -0
- package/dist/components/toggle-group/ToggleGroup.js +102 -0
- package/dist/components/toggle-group/index.d.ts +2 -0
- package/dist/components/toggle-group/index.js +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +20 -0
- package/dist/components/tooltip/Tooltip.js +105 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/index.js +1 -0
- package/dist/components/tour/Tour.d.ts +29 -0
- package/dist/components/tour/Tour.js +176 -0
- package/dist/components/tour/index.d.ts +1 -0
- package/dist/components/tour/index.js +1 -0
- package/dist/components/tree-view/TreeView.d.ts +38 -0
- package/dist/components/tree-view/TreeView.js +189 -0
- package/dist/components/tree-view/index.d.ts +1 -0
- package/dist/components/tree-view/index.js +1 -0
- package/dist/components/typeset/Typeset.d.ts +5 -0
- package/dist/components/typeset/Typeset.js +34 -0
- package/dist/components/typeset/Typeset.module.js +6 -0
- package/dist/components/typeset/Typeset_module.css +466 -0
- package/dist/components/typeset/index.d.ts +1 -0
- package/dist/components/typeset/index.js +1 -0
- package/dist/internal/cn.d.ts +2 -0
- package/dist/internal/cn.js +40 -0
- package/dist/internal/icons/ui/Icons.d.ts +24 -0
- package/dist/internal/icons/ui/Icons.js +229 -0
- package/dist/internal/icons/ui/index.d.ts +1 -0
- package/dist/internal/icons/ui/index.js +1 -0
- package/dist/internal/overlayPortal.d.ts +13 -0
- package/dist/internal/overlayPortal.js +20 -0
- package/dist/locale.d.ts +1 -0
- package/dist/locale.js +1 -0
- package/dist/presets/contrast.css +65 -0
- package/dist/presets/dense.css +78 -0
- package/dist/presets/soft.css +77 -0
- package/dist/styles/animations.css +371 -0
- package/dist/styles/borders.css +10 -0
- package/dist/styles/colors.css +122 -0
- package/dist/styles/opacity.css +5 -0
- package/dist/styles/radius.css +11 -0
- package/dist/styles/shadows.css +5 -0
- package/dist/styles/sizing.css +11 -0
- package/dist/styles/spacing.css +26 -0
- package/dist/styles/style.css +180 -0
- package/dist/styles/transforms.css +4 -0
- package/dist/styles/transitions.css +32 -0
- package/dist/styles/typography.css +37 -0
- package/dist/styles/z-index.css +13 -0
- package/package.json +459 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ark } from "@ark-ui/react/factory";
|
|
4
|
+
import { Listbox, useListbox, useListboxContext, useListboxItemContext } from "@ark-ui/react/listbox";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
import { cn } from "../../internal/cn.js";
|
|
7
|
+
import { CheckIcon, SearchIcon } from "../../internal/icons/ui/index.js";
|
|
8
|
+
import { CloseButton } from "../close-button/index.js";
|
|
9
|
+
const Listbox_ListboxRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
10
|
+
return /*#__PURE__*/ jsx(Listbox.Root, {
|
|
11
|
+
ref: ref,
|
|
12
|
+
"data-slot": "listbox-root",
|
|
13
|
+
className: cn('box-border flex w-64 max-w-full min-w-0 flex-col gap-3 text-foreground data-disabled:opacity-50', className),
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
const Listbox_ListboxRootProvider = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
18
|
+
return /*#__PURE__*/ jsx(Listbox.RootProvider, {
|
|
19
|
+
ref: ref,
|
|
20
|
+
"data-slot": "listbox-root-provider",
|
|
21
|
+
className: cn('box-border flex w-64 max-w-full min-w-0 flex-col gap-3 text-foreground data-disabled:opacity-50', className),
|
|
22
|
+
...props
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
const Listbox_ListboxLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
26
|
+
return /*#__PURE__*/ jsx(Listbox.Label, {
|
|
27
|
+
ref: ref,
|
|
28
|
+
"data-slot": "listbox-label",
|
|
29
|
+
className: cn('text-sm leading-5 font-medium text-foreground select-none', className),
|
|
30
|
+
...props
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
const Listbox_ListboxInput = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
34
|
+
return /*#__PURE__*/ jsx(Listbox.Input, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
"data-slot": "listbox-input",
|
|
37
|
+
className: cn('m-0 box-border min-h-control-md w-full rounded-md border border-border bg-background px-3 py-1 text-md leading-6 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color,opacity] duration-200 ease-in-out group-has-[[data-slot=listbox-filter-icon]]/listbox-filter:ps-9 group-has-[[data-slot=listbox-filter-icon]]/listbox-filter:pe-10 group-has-[+_[data-slot=listbox-content]]/listbox-filter:rounded-b-none group-has-[+_[data-slot=listbox-content]]/listbox-filter:border-b-0 placeholder:text-muted-foreground focus-visible:outline-ring disabled:cursor-default disabled:opacity-50 data-disabled:cursor-default data-disabled:opacity-50 motion-reduce:transition-none', className),
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
function ListboxFilter({ className, children, ...props }) {
|
|
42
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
43
|
+
"data-slot": "listbox-filter",
|
|
44
|
+
className: cn('group/listbox-filter peer/listbox-filter relative box-border w-full', className),
|
|
45
|
+
...props,
|
|
46
|
+
children: [
|
|
47
|
+
/*#__PURE__*/ jsx(SearchIcon, {
|
|
48
|
+
"data-slot": "listbox-filter-icon",
|
|
49
|
+
className: "pointer-events-none absolute start-3 top-1/2 z-1 size-4 -translate-y-1/2 text-muted-foreground"
|
|
50
|
+
}),
|
|
51
|
+
children
|
|
52
|
+
]
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const Listbox_ListboxClearTrigger = /*#__PURE__*/ forwardRef(function({ 'aria-label': ariaLabel = 'Clear search', className, children, type = 'button', ...props }, ref) {
|
|
56
|
+
return /*#__PURE__*/ jsx(CloseButton.Root, {
|
|
57
|
+
ref: ref,
|
|
58
|
+
"data-slot": "listbox-clear-trigger",
|
|
59
|
+
type: type,
|
|
60
|
+
"aria-label": ariaLabel,
|
|
61
|
+
className: cn('absolute end-3 top-1/2 size-control-xs -translate-y-1/2 rounded-sm bg-transparent text-muted-foreground [&>svg]:size-4 [@media(hover:hover)]:hover:bg-muted [@media(hover:hover)]:hover:text-foreground', className),
|
|
62
|
+
...props,
|
|
63
|
+
children: children
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
const Listbox_ListboxContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
67
|
+
return /*#__PURE__*/ jsx(Listbox.Content, {
|
|
68
|
+
ref: ref,
|
|
69
|
+
"data-slot": "listbox-content",
|
|
70
|
+
className: cn('box-border flex max-h-56 min-h-0 scroll-py-1 [scrollbar-gutter:stable] flex-col overflow-x-hidden overflow-y-auto overscroll-contain rounded-md border border-border bg-background py-1 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color] duration-200 ease-in-out peer-data-[slot=listbox-filter]/listbox-filter:-mt-3 peer-data-[slot=listbox-filter]/listbox-filter:rounded-t-none focus-visible:outline-ring data-[layout=grid]:grid data-[layout=grid]:grid-cols-[repeat(var(--column-count),minmax(0,1fr))] data-[layout=grid]:gap-1 data-[layout=grid]:p-2 data-[orientation=horizontal]:not-data-[layout=grid]:max-h-none data-[orientation=horizontal]:not-data-[layout=grid]:flex-row data-[orientation=horizontal]:not-data-[layout=grid]:gap-2 data-[orientation=horizontal]:not-data-[layout=grid]:overflow-x-auto data-[orientation=horizontal]:not-data-[layout=grid]:overflow-y-hidden data-[orientation=horizontal]:not-data-[layout=grid]:px-1 motion-reduce:transition-none', className),
|
|
71
|
+
...props
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
const Listbox_ListboxEmpty = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
75
|
+
return /*#__PURE__*/ jsx(Listbox.Empty, {
|
|
76
|
+
ref: ref,
|
|
77
|
+
"data-slot": "listbox-empty",
|
|
78
|
+
className: cn('px-3 py-1 text-center text-sm leading-5 text-muted-foreground', className),
|
|
79
|
+
...props
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
const Listbox_ListboxItemGroup = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
83
|
+
return /*#__PURE__*/ jsx(Listbox.ItemGroup, {
|
|
84
|
+
ref: ref,
|
|
85
|
+
"data-slot": "listbox-item-group",
|
|
86
|
+
className: cn('flex flex-col [&+&]:mt-2', className),
|
|
87
|
+
...props
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
const Listbox_ListboxItemGroupLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
91
|
+
return /*#__PURE__*/ jsx(Listbox.ItemGroupLabel, {
|
|
92
|
+
ref: ref,
|
|
93
|
+
"data-slot": "listbox-item-group-label",
|
|
94
|
+
className: cn('px-2 py-1 text-xs leading-4 font-normal text-muted-foreground select-none', className),
|
|
95
|
+
...props
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
const Listbox_ListboxItem = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
99
|
+
return /*#__PURE__*/ jsx(Listbox.Item, {
|
|
100
|
+
ref: ref,
|
|
101
|
+
"data-slot": "listbox-item",
|
|
102
|
+
className: cn('relative mx-1 box-border grid min-h-control-sm w-[calc(100%-0.5rem)] cursor-pointer grid-cols-[minmax(0,1fr)_1rem] items-center gap-2 rounded-sm bg-transparent px-3 py-1 text-sm leading-5 text-foreground outline-0 transition-[background-color,color] duration-200 ease-in-out select-none data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:text-muted-foreground data-disabled:opacity-50 data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[layout=grid]:mx-0 data-[layout=grid]:w-full data-[layout=grid]:min-w-0 data-[layout=grid]:grid-cols-1 data-[layout=grid]:justify-items-center data-[layout=grid]:text-center data-[layout=grid]:data-selected:bg-muted data-[layout=grid]:data-selected:text-foreground data-[orientation=horizontal]:not-data-[layout=grid]:w-44 data-[orientation=horizontal]:not-data-[layout=grid]:min-w-44 data-[orientation=horizontal]:not-data-[layout=grid]:items-start motion-reduce:transition-none [@media(hover:hover)]:[&:not([data-disabled]):hover]:bg-accent [@media(hover:hover)]:[&:not([data-disabled]):hover]:text-accent-foreground', className),
|
|
103
|
+
...props
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
const Listbox_ListboxItemText = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
107
|
+
return /*#__PURE__*/ jsx(Listbox.ItemText, {
|
|
108
|
+
ref: ref,
|
|
109
|
+
"data-slot": "listbox-item-text",
|
|
110
|
+
className: cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', className),
|
|
111
|
+
...props
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
const Listbox_ListboxItemIndicator = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
|
|
115
|
+
return /*#__PURE__*/ jsx(Listbox.ItemIndicator, {
|
|
116
|
+
ref: ref,
|
|
117
|
+
"data-slot": "listbox-item-indicator",
|
|
118
|
+
className: cn('inline-flex size-4 shrink-0 items-center justify-center data-[state=unchecked]:invisible [&>svg]:size-3', className),
|
|
119
|
+
...props,
|
|
120
|
+
children: children ?? /*#__PURE__*/ jsx(CheckIcon, {})
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
const Listbox_ListboxValueText = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
124
|
+
return /*#__PURE__*/ jsx(Listbox.ValueText, {
|
|
125
|
+
ref: ref,
|
|
126
|
+
"data-slot": "listbox-value-text",
|
|
127
|
+
className: cn('text-sm leading-5 text-muted-foreground', className),
|
|
128
|
+
...props
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
const Listbox_ListboxItemTextContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
132
|
+
return /*#__PURE__*/ jsx(ark.span, {
|
|
133
|
+
ref: ref,
|
|
134
|
+
"data-slot": "listbox-item-text-content",
|
|
135
|
+
className: cn('inline-flex max-w-full min-w-0 items-center gap-2 align-top', className),
|
|
136
|
+
...props
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
const Listbox_ListboxItemTextIcon = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
140
|
+
return /*#__PURE__*/ jsx(ark.span, {
|
|
141
|
+
ref: ref,
|
|
142
|
+
"data-slot": "listbox-item-text-icon",
|
|
143
|
+
className: cn('inline-flex size-4 shrink-0 items-center justify-center', className),
|
|
144
|
+
...props
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
const Listbox_ListboxItemTextLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
148
|
+
return /*#__PURE__*/ jsx(ark.span, {
|
|
149
|
+
ref: ref,
|
|
150
|
+
"data-slot": "listbox-item-text-label",
|
|
151
|
+
className: cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', className),
|
|
152
|
+
...props
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
const Listbox_Listbox = Object.assign(Listbox_ListboxRoot, {
|
|
156
|
+
Root: Listbox_ListboxRoot,
|
|
157
|
+
RootProvider: Listbox_ListboxRootProvider,
|
|
158
|
+
Label: Listbox_ListboxLabel,
|
|
159
|
+
Input: Listbox_ListboxInput,
|
|
160
|
+
Filter: ListboxFilter,
|
|
161
|
+
ClearTrigger: Listbox_ListboxClearTrigger,
|
|
162
|
+
Content: Listbox_ListboxContent,
|
|
163
|
+
Empty: Listbox_ListboxEmpty,
|
|
164
|
+
ItemGroup: Listbox_ListboxItemGroup,
|
|
165
|
+
ItemGroupLabel: Listbox_ListboxItemGroupLabel,
|
|
166
|
+
Item: Listbox_ListboxItem,
|
|
167
|
+
ItemText: Listbox_ListboxItemText,
|
|
168
|
+
ItemIndicator: Listbox_ListboxItemIndicator,
|
|
169
|
+
ValueText: Listbox_ListboxValueText,
|
|
170
|
+
Context: Listbox.Context,
|
|
171
|
+
ItemContext: Listbox.ItemContext,
|
|
172
|
+
ItemTextContent: Listbox_ListboxItemTextContent,
|
|
173
|
+
ItemTextIcon: Listbox_ListboxItemTextIcon,
|
|
174
|
+
ItemTextLabel: Listbox_ListboxItemTextLabel,
|
|
175
|
+
useListbox: useListbox,
|
|
176
|
+
useListboxContext: useListboxContext,
|
|
177
|
+
useListboxItemContext: useListboxItemContext
|
|
178
|
+
});
|
|
179
|
+
export { Listbox_Listbox as Listbox, useListbox, useListboxContext, useListboxItemContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Listbox, useListbox, useListboxContext, useListboxItemContext } from './Listbox.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Listbox, useListbox, useListboxContext, useListboxItemContext } from "./Listbox.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Marquee as MarqueePrimitive, useMarqueeContext } from '@ark-ui/react/marquee';
|
|
2
|
+
declare const Marquee: import("react").ForwardRefExoticComponent<Omit<MarqueePrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
|
|
3
|
+
Root: import("react").ForwardRefExoticComponent<Omit<MarqueePrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
|
+
RootProvider: import("react").ForwardRefExoticComponent<Omit<MarqueePrimitive.RootProviderProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
Context: (props: MarqueePrimitive.ContextProps) => import("react").ReactNode;
|
|
6
|
+
Viewport: import("react").ForwardRefExoticComponent<Omit<MarqueePrimitive.ViewportProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
|
+
Content: import("react").ForwardRefExoticComponent<Omit<MarqueePrimitive.ContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
|
+
Item: import("react").ForwardRefExoticComponent<Omit<MarqueePrimitive.ItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
|
+
Edge: import("react").ForwardRefExoticComponent<Omit<MarqueePrimitive.EdgeProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
10
|
+
};
|
|
11
|
+
declare const useMarquee: (props?: import("@ark-ui/react/marquee").UseMarqueeProps) => import("@ark-ui/react/marquee").UseMarqueeReturn;
|
|
12
|
+
export { Marquee, useMarquee, useMarqueeContext };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Marquee, useMarquee, useMarqueeContext } from "@ark-ui/react/marquee";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
import { cn } from "../../internal/cn.js";
|
|
7
|
+
const marqueeEdgeVariants = cva('pointer-events-none z-1', {
|
|
8
|
+
variants: {
|
|
9
|
+
side: {
|
|
10
|
+
start: 'w-1/5 bg-linear-to-r from-background to-transparent rtl:bg-linear-to-l',
|
|
11
|
+
end: 'w-1/5 bg-linear-to-l from-background to-transparent rtl:bg-linear-to-r',
|
|
12
|
+
top: 'h-1/5 bg-linear-to-b from-background to-transparent',
|
|
13
|
+
bottom: 'h-1/5 bg-linear-to-t from-background to-transparent'
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const marqueeRootVariants = cva('group relative w-full overflow-hidden text-foreground', {
|
|
18
|
+
variants: {
|
|
19
|
+
orientation: {
|
|
20
|
+
horizontal: '',
|
|
21
|
+
vertical: 'h-60'
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
orientation: 'horizontal'
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const Marquee_MarqueeRoot = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
29
|
+
return /*#__PURE__*/ jsx(Marquee.Root, {
|
|
30
|
+
ref: ref,
|
|
31
|
+
"data-slot": "marquee-root",
|
|
32
|
+
className: cn(marqueeRootVariants({
|
|
33
|
+
orientation: 'top' === props.side || 'bottom' === props.side ? 'vertical' : 'horizontal'
|
|
34
|
+
}), className),
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
const Marquee_MarqueeRootProvider = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
39
|
+
return /*#__PURE__*/ jsx(Marquee.RootProvider, {
|
|
40
|
+
ref: ref,
|
|
41
|
+
"data-slot": "marquee-root-provider",
|
|
42
|
+
className: cn(marqueeRootVariants({
|
|
43
|
+
orientation: props.value.orientation
|
|
44
|
+
}), className),
|
|
45
|
+
...props
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
const Marquee_MarqueeViewport = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
49
|
+
return /*#__PURE__*/ jsx(Marquee.Viewport, {
|
|
50
|
+
ref: ref,
|
|
51
|
+
"data-slot": "marquee-viewport",
|
|
52
|
+
className: cn('size-full', className),
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
const Marquee_MarqueeContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
57
|
+
return /*#__PURE__*/ jsx(Marquee.Content, {
|
|
58
|
+
ref: ref,
|
|
59
|
+
"data-slot": "marquee-content",
|
|
60
|
+
className: cn('animate-moduix-marquee-x group-data-paused:[animation-play-state:paused] data-reverse:[animation-direction:reverse] data-[side=bottom]:animate-moduix-marquee-y data-[side=top]:animate-moduix-marquee-y motion-reduce:animate-none', className),
|
|
61
|
+
...props
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
const Marquee_MarqueeItem = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
65
|
+
return /*#__PURE__*/ jsx(Marquee.Item, {
|
|
66
|
+
ref: ref,
|
|
67
|
+
"data-slot": "marquee-item",
|
|
68
|
+
className: cn('shrink-0', className),
|
|
69
|
+
...props
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
const Marquee_MarqueeEdge = /*#__PURE__*/ forwardRef(function({ className, side, ...props }, ref) {
|
|
73
|
+
return /*#__PURE__*/ jsx(Marquee.Edge, {
|
|
74
|
+
ref: ref,
|
|
75
|
+
"data-slot": "marquee-edge",
|
|
76
|
+
side: side,
|
|
77
|
+
className: cn(marqueeEdgeVariants({
|
|
78
|
+
side
|
|
79
|
+
}), className),
|
|
80
|
+
...props
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
const Marquee_Marquee = Object.assign(Marquee_MarqueeRoot, {
|
|
84
|
+
Root: Marquee_MarqueeRoot,
|
|
85
|
+
RootProvider: Marquee_MarqueeRootProvider,
|
|
86
|
+
Context: Marquee.Context,
|
|
87
|
+
Viewport: Marquee_MarqueeViewport,
|
|
88
|
+
Content: Marquee_MarqueeContent,
|
|
89
|
+
Item: Marquee_MarqueeItem,
|
|
90
|
+
Edge: Marquee_MarqueeEdge
|
|
91
|
+
});
|
|
92
|
+
const Marquee_useMarquee = useMarquee;
|
|
93
|
+
export { Marquee_Marquee as Marquee, Marquee_useMarquee as useMarquee, useMarqueeContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Marquee, useMarquee, useMarqueeContext } from './Marquee.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Marquee, useMarquee, useMarqueeContext } from "./Marquee.js";
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Menu as MenuPrimitive, useMenu, useMenuContext, useMenuItemContext } from '@ark-ui/react/menu';
|
|
2
|
+
import type { ComponentProps } from 'react';
|
|
3
|
+
import { type OverlayPortalProps } from '../../internal/overlayPortal.js';
|
|
4
|
+
type MenuIndicatorPosition = 'start' | 'end' | 'none';
|
|
5
|
+
type MenuItemTone = 'default' | 'destructive';
|
|
6
|
+
type MenuItemProps = ComponentProps<typeof MenuPrimitive.Item> & {
|
|
7
|
+
tone?: MenuItemTone;
|
|
8
|
+
};
|
|
9
|
+
type MenuCheckboxItemProps = ComponentProps<typeof MenuPrimitive.CheckboxItem> & {
|
|
10
|
+
indicator?: MenuIndicatorPosition;
|
|
11
|
+
};
|
|
12
|
+
type MenuRadioItemProps = ComponentProps<typeof MenuPrimitive.RadioItem> & {
|
|
13
|
+
indicator?: MenuIndicatorPosition;
|
|
14
|
+
};
|
|
15
|
+
type MenuRootProps = ComponentProps<typeof MenuPrimitive.Root> & OverlayPortalProps;
|
|
16
|
+
type MenuRootProviderProps = ComponentProps<typeof MenuPrimitive.RootProvider> & OverlayPortalProps;
|
|
17
|
+
declare function MenuRoot({ lazyMount, portalled, portalRef, unmountOnExit, ...props }: MenuRootProps): import("react").JSX.Element;
|
|
18
|
+
declare function MenuRootProvider({ lazyMount, portalled, portalRef, unmountOnExit, ...props }: MenuRootProviderProps): import("react").JSX.Element;
|
|
19
|
+
declare function MenuTriggerIcon({ className, children, ...props }: ComponentProps<'span'>): import("react").JSX.Element;
|
|
20
|
+
declare function MenuTriggerItemIcon({ className, children, ...props }: ComponentProps<'span'>): import("react").JSX.Element;
|
|
21
|
+
declare const Menu: typeof MenuRoot & {
|
|
22
|
+
Root: typeof MenuRoot;
|
|
23
|
+
RootProvider: typeof MenuRootProvider;
|
|
24
|
+
Context: (props: MenuPrimitive.ContextProps) => import("react").ReactNode;
|
|
25
|
+
Trigger: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.TriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
26
|
+
TriggerIcon: typeof MenuTriggerIcon;
|
|
27
|
+
Indicator: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.IndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
28
|
+
ContextTrigger: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ContextTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
29
|
+
Positioner: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.PositionerProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
30
|
+
Content: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
31
|
+
Viewport: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
32
|
+
Arrow: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ArrowProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
33
|
+
ArrowTip: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ArrowTipProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
34
|
+
Item: import("react").ForwardRefExoticComponent<Omit<MenuItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
35
|
+
TriggerItem: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.TriggerItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
36
|
+
TriggerItemIcon: typeof MenuTriggerItemIcon;
|
|
37
|
+
Separator: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.SeparatorProps & import("react").RefAttributes<HTMLHRElement>, "ref"> & import("react").RefAttributes<HTMLHRElement>>;
|
|
38
|
+
ItemGroup: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ItemGroupProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
39
|
+
ItemGroupLabel: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ItemGroupLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
40
|
+
RadioItemGroup: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.RadioItemGroupProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
41
|
+
RadioItem: import("react").ForwardRefExoticComponent<Omit<MenuRadioItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
42
|
+
CheckboxItem: import("react").ForwardRefExoticComponent<Omit<MenuCheckboxItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
43
|
+
ItemIndicator: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ItemIndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
44
|
+
ItemText: import("react").ForwardRefExoticComponent<Omit<MenuPrimitive.ItemTextProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
45
|
+
ItemTextContent: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
46
|
+
ItemTextIcon: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
47
|
+
ItemTextLabel: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
48
|
+
ItemShortcut: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("@ark-ui/react/factory").PolymorphicProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
49
|
+
ItemContext: (props: MenuPrimitive.ItemContextProps) => import("react").ReactNode;
|
|
50
|
+
};
|
|
51
|
+
export { Menu, useMenu, useMenuContext, useMenuItemContext };
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { ark } from "@ark-ui/react/factory";
|
|
4
|
+
import { Menu, useMenu, useMenuContext, useMenuItemContext } from "@ark-ui/react/menu";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { forwardRef } from "react";
|
|
7
|
+
import { cn } from "../../internal/cn.js";
|
|
8
|
+
import { CheckIcon, ChevronDownIcon, ChevronRightIcon } from "../../internal/icons/ui/index.js";
|
|
9
|
+
import { OverlayPortal, OverlayPortalProvider } from "../../internal/overlayPortal.js";
|
|
10
|
+
const menuItemStyles = cva("relative z-0 min-h-control-sm cursor-default rounded-sm bg-transparent text-sm text-inherit no-underline outline-0 select-none before:absolute before:inset-x-1 before:inset-y-0 before:-z-1 before:rounded-sm before:bg-transparent before:content-[''] data-disabled:pointer-events-none data-disabled:text-muted-foreground data-highlighted:text-accent-foreground data-highlighted:before:bg-accent data-[state=open]:before:bg-accent", {
|
|
11
|
+
variants: {
|
|
12
|
+
layout: {
|
|
13
|
+
item: 'flex items-center gap-2 px-3 py-1',
|
|
14
|
+
triggerItem: 'flex items-center justify-between gap-3 px-3 py-1',
|
|
15
|
+
indicatorItem: 'grid items-center gap-2 py-1 ps-2.5 pe-3'
|
|
16
|
+
},
|
|
17
|
+
tone: {
|
|
18
|
+
default: '',
|
|
19
|
+
destructive: 'text-destructive data-highlighted:text-destructive data-highlighted:before:bg-[color-mix(in_oklab,var(--color-destructive)_12%,transparent)]'
|
|
20
|
+
},
|
|
21
|
+
indicator: {
|
|
22
|
+
start: "grid-cols-[0.75rem_minmax(0,1fr)] [&>[data-slot='menu-item-indicator']]:col-start-1 [&>[data-slot='menu-item-text']]:col-start-2",
|
|
23
|
+
end: "grid-cols-[minmax(0,1fr)_0.75rem] [&>[data-slot='menu-item-indicator']]:col-start-2 [&>[data-slot='menu-item-indicator']]:justify-self-end [&>[data-slot='menu-item-text']]:col-start-1",
|
|
24
|
+
none: "grid-cols-[minmax(0,1fr)] ps-3 [&>[data-slot='menu-item-indicator']]:hidden [&>[data-slot='menu-item-text']]:col-start-1"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
defaultVariants: {
|
|
28
|
+
tone: 'default'
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
function MenuRoot({ lazyMount = true, portalled, portalRef, unmountOnExit = true, ...props }) {
|
|
32
|
+
return /*#__PURE__*/ jsx(OverlayPortalProvider, {
|
|
33
|
+
portalled: portalled,
|
|
34
|
+
portalRef: portalRef,
|
|
35
|
+
children: /*#__PURE__*/ jsx(Menu.Root, {
|
|
36
|
+
lazyMount: lazyMount,
|
|
37
|
+
unmountOnExit: unmountOnExit,
|
|
38
|
+
...props
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function MenuRootProvider({ lazyMount = true, portalled, portalRef, unmountOnExit = true, ...props }) {
|
|
43
|
+
return /*#__PURE__*/ jsx(OverlayPortalProvider, {
|
|
44
|
+
portalled: portalled,
|
|
45
|
+
portalRef: portalRef,
|
|
46
|
+
children: /*#__PURE__*/ jsx(Menu.RootProvider, {
|
|
47
|
+
lazyMount: lazyMount,
|
|
48
|
+
unmountOnExit: unmountOnExit,
|
|
49
|
+
...props
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const Menu_MenuTrigger = /*#__PURE__*/ forwardRef(function({ asChild, className, ...props }, ref) {
|
|
54
|
+
return /*#__PURE__*/ jsx(Menu.Trigger, {
|
|
55
|
+
ref: ref,
|
|
56
|
+
"data-slot": "menu-trigger",
|
|
57
|
+
asChild: asChild,
|
|
58
|
+
className: cn(!asChild && 'inline-flex min-h-control-md cursor-pointer items-center justify-center gap-2 rounded-md border border-border bg-background px-4 py-1 text-sm font-medium text-foreground outline-0 transition-colors duration-200 ease-in-out select-none focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring active:bg-muted data-disabled:pointer-events-none data-disabled:opacity-50 data-[current]:data-[state=open]:bg-muted motion-reduce:transition-none [@media(hover:hover)]:hover:bg-muted', className),
|
|
59
|
+
...props
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
function MenuTriggerIcon({ className, children, ...props }) {
|
|
63
|
+
return /*#__PURE__*/ jsx("span", {
|
|
64
|
+
"data-slot": "menu-trigger-icon",
|
|
65
|
+
className: cn('inline-flex size-4 shrink-0 items-center justify-center [&_svg]:size-full', className),
|
|
66
|
+
...props,
|
|
67
|
+
children: children ?? /*#__PURE__*/ jsx(ChevronDownIcon, {})
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const Menu_MenuIndicator = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
|
|
71
|
+
return /*#__PURE__*/ jsx(Menu.Indicator, {
|
|
72
|
+
ref: ref,
|
|
73
|
+
"data-slot": "menu-indicator",
|
|
74
|
+
className: cn('inline-flex size-4 shrink-0 items-center justify-center [&_svg]:size-full', className),
|
|
75
|
+
...props,
|
|
76
|
+
children: children ?? /*#__PURE__*/ jsx(ChevronDownIcon, {})
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
const Menu_MenuContextTrigger = /*#__PURE__*/ forwardRef(function({ asChild, className, ...props }, ref) {
|
|
80
|
+
return /*#__PURE__*/ jsx(Menu.ContextTrigger, {
|
|
81
|
+
ref: ref,
|
|
82
|
+
"data-slot": "menu-context-trigger",
|
|
83
|
+
asChild: asChild,
|
|
84
|
+
className: cn(!asChild && 'inline-flex min-h-control-md cursor-pointer items-center justify-center gap-2 rounded-md border border-border bg-background px-4 py-1 text-sm font-medium text-foreground outline-0 transition-colors duration-200 ease-in-out select-none focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring active:bg-muted data-disabled:pointer-events-none data-disabled:opacity-50 data-[current]:data-[state=open]:bg-muted motion-reduce:transition-none [@media(hover:hover)]:hover:bg-muted', className),
|
|
85
|
+
...props
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
const Menu_MenuPositioner = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
89
|
+
return /*#__PURE__*/ jsx(OverlayPortal, {
|
|
90
|
+
children: /*#__PURE__*/ jsx(Menu.Positioner, {
|
|
91
|
+
ref: ref,
|
|
92
|
+
"data-slot": "menu-positioner",
|
|
93
|
+
className: cn('z-[var(--z-index)] w-[var(--positioner-width,auto)] max-w-[var(--available-width)] outline-0', className),
|
|
94
|
+
...props
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
const Menu_MenuContent = /*#__PURE__*/ forwardRef(function({ asChild, className, children, ...props }, ref) {
|
|
99
|
+
return /*#__PURE__*/ jsx(Menu.Content, {
|
|
100
|
+
ref: ref,
|
|
101
|
+
"data-slot": "menu-content",
|
|
102
|
+
asChild: asChild,
|
|
103
|
+
className: cn('relative z-[calc(var(--moduix-z-popup)+var(--layer-index,0))] flex max-w-[min(20rem,var(--available-width,100vw))] min-w-[min(max(var(--reference-width,0px),12rem),var(--available-width,100vw))] origin-[var(--transform-origin)] flex-col overflow-visible rounded-md bg-popover py-1 text-popover-foreground shadow-lg outline-1 outline-border [--arrow-background:var(--color-popover)] [--arrow-size:0.625rem] data-[state=closed]:animate-moduix-menu-closed data-[state=open]:animate-moduix-menu-open motion-reduce:[animation-delay:0ms] motion-reduce:[animation-duration:1ms]', className),
|
|
104
|
+
...props,
|
|
105
|
+
children: children
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
const Menu_MenuViewport = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
109
|
+
return /*#__PURE__*/ jsx(ark.div, {
|
|
110
|
+
ref: ref,
|
|
111
|
+
"data-scope": "menu",
|
|
112
|
+
"data-part": "viewport",
|
|
113
|
+
"data-slot": "menu-viewport",
|
|
114
|
+
className: cn('flex max-h-[min(24rem,var(--available-height,100dvh))] flex-col overflow-auto', className),
|
|
115
|
+
...props
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
const Menu_MenuArrow = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
|
|
119
|
+
return /*#__PURE__*/ jsx(Menu.Arrow, {
|
|
120
|
+
ref: ref,
|
|
121
|
+
"data-slot": "menu-arrow",
|
|
122
|
+
className: cn('[--arrow-background:var(--color-popover)]', className),
|
|
123
|
+
...props,
|
|
124
|
+
children: children ?? /*#__PURE__*/ jsx(Menu_MenuArrowTip, {})
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
const Menu_MenuArrowTip = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
128
|
+
return /*#__PURE__*/ jsx(Menu.ArrowTip, {
|
|
129
|
+
ref: ref,
|
|
130
|
+
"data-slot": "menu-arrow-tip",
|
|
131
|
+
className: cn('[border-block-start:1px_solid_var(--color-border)] [border-inline-start:1px_solid_var(--color-border)]', className),
|
|
132
|
+
...props
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
const Menu_MenuItem = /*#__PURE__*/ forwardRef(function({ className, tone = 'default', ...props }, ref) {
|
|
136
|
+
return /*#__PURE__*/ jsx(Menu.Item, {
|
|
137
|
+
ref: ref,
|
|
138
|
+
"data-slot": "menu-item",
|
|
139
|
+
"data-tone": tone,
|
|
140
|
+
className: cn(menuItemStyles({
|
|
141
|
+
layout: 'item',
|
|
142
|
+
tone
|
|
143
|
+
}), className),
|
|
144
|
+
...props
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
const Menu_MenuTriggerItem = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
148
|
+
return /*#__PURE__*/ jsx(Menu.TriggerItem, {
|
|
149
|
+
ref: ref,
|
|
150
|
+
"data-slot": "menu-trigger-item",
|
|
151
|
+
className: cn(menuItemStyles({
|
|
152
|
+
layout: 'triggerItem'
|
|
153
|
+
}), className),
|
|
154
|
+
...props
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
function MenuTriggerItemIcon({ className, children, ...props }) {
|
|
158
|
+
return /*#__PURE__*/ jsx("span", {
|
|
159
|
+
"data-slot": "menu-trigger-item-icon",
|
|
160
|
+
className: cn('inline-flex size-3.5 shrink-0 rtl:-scale-x-100 [&_svg]:size-full', className),
|
|
161
|
+
...props,
|
|
162
|
+
children: children ?? /*#__PURE__*/ jsx(ChevronRightIcon, {})
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
const Menu_MenuSeparator = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
166
|
+
return /*#__PURE__*/ jsx(Menu.Separator, {
|
|
167
|
+
ref: ref,
|
|
168
|
+
"data-slot": "menu-separator",
|
|
169
|
+
className: cn('mx-3 my-1.5 h-px border-0 bg-border', className),
|
|
170
|
+
...props
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
const Menu_MenuItemGroup = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
174
|
+
return /*#__PURE__*/ jsx(Menu.ItemGroup, {
|
|
175
|
+
ref: ref,
|
|
176
|
+
"data-slot": "menu-item-group",
|
|
177
|
+
className: cn('grid', className),
|
|
178
|
+
...props
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
const Menu_MenuItemGroupLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
182
|
+
return /*#__PURE__*/ jsx(Menu.ItemGroupLabel, {
|
|
183
|
+
ref: ref,
|
|
184
|
+
"data-slot": "menu-item-group-label",
|
|
185
|
+
className: cn('cursor-default px-2.5 py-1 text-xs font-normal text-muted-foreground select-none', className),
|
|
186
|
+
...props
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
const Menu_MenuRadioItemGroup = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
190
|
+
return /*#__PURE__*/ jsx(Menu.RadioItemGroup, {
|
|
191
|
+
ref: ref,
|
|
192
|
+
"data-slot": "menu-radio-item-group",
|
|
193
|
+
className: cn('grid', className),
|
|
194
|
+
...props
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
const Menu_MenuRadioItem = /*#__PURE__*/ forwardRef(function({ className, indicator = 'start', ...props }, ref) {
|
|
198
|
+
return /*#__PURE__*/ jsx(Menu.RadioItem, {
|
|
199
|
+
ref: ref,
|
|
200
|
+
"data-slot": "menu-radio-item",
|
|
201
|
+
"data-indicator-position": indicator,
|
|
202
|
+
className: cn(menuItemStyles({
|
|
203
|
+
layout: 'indicatorItem',
|
|
204
|
+
indicator
|
|
205
|
+
}), className),
|
|
206
|
+
...props
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
const Menu_MenuCheckboxItem = /*#__PURE__*/ forwardRef(function({ className, indicator = 'start', ...props }, ref) {
|
|
210
|
+
return /*#__PURE__*/ jsx(Menu.CheckboxItem, {
|
|
211
|
+
ref: ref,
|
|
212
|
+
"data-slot": "menu-checkbox-item",
|
|
213
|
+
"data-indicator-position": indicator,
|
|
214
|
+
className: cn(menuItemStyles({
|
|
215
|
+
layout: 'indicatorItem',
|
|
216
|
+
indicator
|
|
217
|
+
}), className),
|
|
218
|
+
...props
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
const Menu_MenuItemIndicator = /*#__PURE__*/ forwardRef(function({ className, children, ...props }, ref) {
|
|
222
|
+
return /*#__PURE__*/ jsx(Menu.ItemIndicator, {
|
|
223
|
+
ref: ref,
|
|
224
|
+
"data-slot": "menu-item-indicator",
|
|
225
|
+
className: cn('inline-flex size-3 items-center justify-center rounded-xs [&_svg]:size-full', className),
|
|
226
|
+
...props,
|
|
227
|
+
children: children ?? /*#__PURE__*/ jsx(CheckIcon, {})
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
const Menu_MenuItemText = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
231
|
+
return /*#__PURE__*/ jsx(Menu.ItemText, {
|
|
232
|
+
ref: ref,
|
|
233
|
+
"data-slot": "menu-item-text",
|
|
234
|
+
className: cn('min-w-0 overflow-hidden', className),
|
|
235
|
+
...props
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
const Menu_MenuItemTextContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
239
|
+
return /*#__PURE__*/ jsx(ark.span, {
|
|
240
|
+
ref: ref,
|
|
241
|
+
"data-slot": "menu-item-text-content",
|
|
242
|
+
className: cn('inline-flex max-w-full min-w-0 items-center gap-2 align-top', className),
|
|
243
|
+
...props
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
const Menu_MenuItemTextIcon = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
247
|
+
return /*#__PURE__*/ jsx(ark.span, {
|
|
248
|
+
ref: ref,
|
|
249
|
+
"data-slot": "menu-item-text-icon",
|
|
250
|
+
className: cn('inline-flex size-4 shrink-0 items-center justify-center [&_svg]:size-full', className),
|
|
251
|
+
...props
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
const Menu_MenuItemTextLabel = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
255
|
+
return /*#__PURE__*/ jsx(ark.span, {
|
|
256
|
+
ref: ref,
|
|
257
|
+
"data-slot": "menu-item-text-label",
|
|
258
|
+
className: cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', className),
|
|
259
|
+
...props
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
const Menu_MenuItemShortcut = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
263
|
+
return /*#__PURE__*/ jsx(ark.span, {
|
|
264
|
+
ref: ref,
|
|
265
|
+
"data-slot": "menu-item-shortcut",
|
|
266
|
+
className: cn('ms-auto ps-4 text-xs whitespace-nowrap text-muted-foreground', className),
|
|
267
|
+
...props
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
const Menu_Menu = Object.assign(MenuRoot, {
|
|
271
|
+
Root: MenuRoot,
|
|
272
|
+
RootProvider: MenuRootProvider,
|
|
273
|
+
Context: Menu.Context,
|
|
274
|
+
Trigger: Menu_MenuTrigger,
|
|
275
|
+
TriggerIcon: MenuTriggerIcon,
|
|
276
|
+
Indicator: Menu_MenuIndicator,
|
|
277
|
+
ContextTrigger: Menu_MenuContextTrigger,
|
|
278
|
+
Positioner: Menu_MenuPositioner,
|
|
279
|
+
Content: Menu_MenuContent,
|
|
280
|
+
Viewport: Menu_MenuViewport,
|
|
281
|
+
Arrow: Menu_MenuArrow,
|
|
282
|
+
ArrowTip: Menu_MenuArrowTip,
|
|
283
|
+
Item: Menu_MenuItem,
|
|
284
|
+
TriggerItem: Menu_MenuTriggerItem,
|
|
285
|
+
TriggerItemIcon: MenuTriggerItemIcon,
|
|
286
|
+
Separator: Menu_MenuSeparator,
|
|
287
|
+
ItemGroup: Menu_MenuItemGroup,
|
|
288
|
+
ItemGroupLabel: Menu_MenuItemGroupLabel,
|
|
289
|
+
RadioItemGroup: Menu_MenuRadioItemGroup,
|
|
290
|
+
RadioItem: Menu_MenuRadioItem,
|
|
291
|
+
CheckboxItem: Menu_MenuCheckboxItem,
|
|
292
|
+
ItemIndicator: Menu_MenuItemIndicator,
|
|
293
|
+
ItemText: Menu_MenuItemText,
|
|
294
|
+
ItemTextContent: Menu_MenuItemTextContent,
|
|
295
|
+
ItemTextIcon: Menu_MenuItemTextIcon,
|
|
296
|
+
ItemTextLabel: Menu_MenuItemTextLabel,
|
|
297
|
+
ItemShortcut: Menu_MenuItemShortcut,
|
|
298
|
+
ItemContext: Menu.ItemContext
|
|
299
|
+
});
|
|
300
|
+
export { Menu_Menu as Menu, useMenu, useMenuContext, useMenuItemContext };
|