@vjdesigns/vjdesigns-ui 0.0.0-stage → 2.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/README.md +724 -3
- package/dist/ai/llms-full.txt +8231 -0
- package/dist/ai/llms.txt +196 -0
- package/dist/ai/mcp-server.mjs +212 -0
- package/dist/ai/registry.json +20490 -0
- package/dist/components/data-display/Accordion/Accordion.cjs.js +1 -0
- package/dist/components/data-display/Accordion/Accordion.d.ts +154 -0
- package/dist/components/data-display/Accordion/Accordion.mjs +327 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs.js +1 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.mjs +31 -0
- package/dist/components/data-display/Accordion/index.d.ts +1 -0
- package/dist/components/data-display/Avatar/Avatar.cjs.js +1 -0
- package/dist/components/data-display/Avatar/Avatar.d.ts +114 -0
- package/dist/components/data-display/Avatar/Avatar.mjs +150 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.cjs.js +1 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.mjs +48 -0
- package/dist/components/data-display/Avatar/index.d.ts +1 -0
- package/dist/components/data-display/Badge/Badge.cjs.js +1 -0
- package/dist/components/data-display/Badge/Badge.d.ts +95 -0
- package/dist/components/data-display/Badge/Badge.mjs +100 -0
- package/dist/components/data-display/Badge/Badge.module.css.cjs.js +1 -0
- package/dist/components/data-display/Badge/Badge.module.css.mjs +43 -0
- package/dist/components/data-display/Badge/index.d.ts +1 -0
- package/dist/components/data-display/Card/Card.cjs.js +1 -0
- package/dist/components/data-display/Card/Card.d.ts +171 -0
- package/dist/components/data-display/Card/Card.mjs +178 -0
- package/dist/components/data-display/Card/Card.module.css.cjs.js +1 -0
- package/dist/components/data-display/Card/Card.module.css.mjs +59 -0
- package/dist/components/data-display/Card/index.d.ts +1 -0
- package/dist/components/data-display/Carousel/Carousel.cjs.js +1 -0
- package/dist/components/data-display/Carousel/Carousel.d.ts +117 -0
- package/dist/components/data-display/Carousel/Carousel.mjs +374 -0
- package/dist/components/data-display/Carousel/Carousel.module.css.cjs.js +1 -0
- package/dist/components/data-display/Carousel/Carousel.module.css.mjs +26 -0
- package/dist/components/data-display/Carousel/index.d.ts +1 -0
- package/dist/components/data-display/Chip/Chip.cjs.js +1 -0
- package/dist/components/data-display/Chip/Chip.d.ts +162 -0
- package/dist/components/data-display/Chip/Chip.mjs +223 -0
- package/dist/components/data-display/Chip/Chip.module.css.cjs.js +1 -0
- package/dist/components/data-display/Chip/Chip.module.css.mjs +45 -0
- package/dist/components/data-display/Chip/index.d.ts +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.cjs.js +6 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.d.ts +96 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.mjs +207 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs.js +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.mjs +48 -0
- package/dist/components/data-display/CodeBlock/index.d.ts +1 -0
- package/dist/components/data-display/CodeBlock/tokenize.cjs.js +13 -0
- package/dist/components/data-display/CodeBlock/tokenize.d.ts +26 -0
- package/dist/components/data-display/CodeBlock/tokenize.mjs +307 -0
- package/dist/components/data-display/DataGrid/DataGrid.cjs.js +1 -0
- package/dist/components/data-display/DataGrid/DataGrid.d.ts +183 -0
- package/dist/components/data-display/DataGrid/DataGrid.mjs +403 -0
- package/dist/components/data-display/DataGrid/DataGrid.module.css.cjs.js +1 -0
- package/dist/components/data-display/DataGrid/DataGrid.module.css.mjs +41 -0
- package/dist/components/data-display/DataGrid/dataGridUtils.cjs.js +1 -0
- package/dist/components/data-display/DataGrid/dataGridUtils.d.ts +28 -0
- package/dist/components/data-display/DataGrid/dataGridUtils.mjs +46 -0
- package/dist/components/data-display/DataGrid/index.d.ts +1 -0
- package/dist/components/data-display/EmptyState/EmptyState.cjs.js +1 -0
- package/dist/components/data-display/EmptyState/EmptyState.d.ts +112 -0
- package/dist/components/data-display/EmptyState/EmptyState.mjs +146 -0
- package/dist/components/data-display/EmptyState/EmptyState.module.css.cjs.js +1 -0
- package/dist/components/data-display/EmptyState/EmptyState.module.css.mjs +31 -0
- package/dist/components/data-display/EmptyState/index.d.ts +1 -0
- package/dist/components/data-display/Image/Image.cjs.js +1 -0
- package/dist/components/data-display/Image/Image.d.ts +107 -0
- package/dist/components/data-display/Image/Image.mjs +171 -0
- package/dist/components/data-display/Image/Image.module.css.cjs.js +1 -0
- package/dist/components/data-display/Image/Image.module.css.mjs +46 -0
- package/dist/components/data-display/Image/index.d.ts +1 -0
- package/dist/components/data-display/List/List.cjs.js +1 -0
- package/dist/components/data-display/List/List.d.ts +195 -0
- package/dist/components/data-display/List/List.mjs +200 -0
- package/dist/components/data-display/List/List.module.css.cjs.js +1 -0
- package/dist/components/data-display/List/List.module.css.mjs +33 -0
- package/dist/components/data-display/List/index.d.ts +1 -0
- package/dist/components/data-display/Stat/Stat.cjs.js +1 -0
- package/dist/components/data-display/Stat/Stat.d.ts +149 -0
- package/dist/components/data-display/Stat/Stat.mjs +224 -0
- package/dist/components/data-display/Stat/Stat.module.css.cjs.js +1 -0
- package/dist/components/data-display/Stat/Stat.module.css.mjs +60 -0
- package/dist/components/data-display/Stat/index.d.ts +1 -0
- package/dist/components/data-display/Table/Table.cjs.js +1 -0
- package/dist/components/data-display/Table/Table.d.ts +255 -0
- package/dist/components/data-display/Table/Table.mjs +333 -0
- package/dist/components/data-display/Table/Table.module.css.cjs.js +1 -0
- package/dist/components/data-display/Table/Table.module.css.mjs +55 -0
- package/dist/components/data-display/Table/index.d.ts +1 -0
- package/dist/components/data-display/Table/useTable.cjs.js +1 -0
- package/dist/components/data-display/Table/useTable.d.ts +118 -0
- package/dist/components/data-display/Table/useTable.mjs +89 -0
- package/dist/components/data-display/Timeline/Timeline.cjs.js +1 -0
- package/dist/components/data-display/Timeline/Timeline.d.ts +92 -0
- package/dist/components/data-display/Timeline/Timeline.mjs +140 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.cjs.js +1 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.mjs +46 -0
- package/dist/components/data-display/Timeline/index.d.ts +1 -0
- package/dist/components/data-display/TreeView/TreeView.cjs.js +1 -0
- package/dist/components/data-display/TreeView/TreeView.d.ts +86 -0
- package/dist/components/data-display/TreeView/TreeView.mjs +361 -0
- package/dist/components/data-display/TreeView/TreeView.module.css.cjs.js +1 -0
- package/dist/components/data-display/TreeView/TreeView.module.css.mjs +24 -0
- package/dist/components/data-display/TreeView/index.d.ts +1 -0
- package/dist/components/data-display/TreeView/treeUtils.cjs.js +1 -0
- package/dist/components/data-display/TreeView/treeUtils.d.ts +82 -0
- package/dist/components/data-display/TreeView/treeUtils.mjs +54 -0
- package/dist/components/data-display/VirtualList/VirtualList.cjs.js +1 -0
- package/dist/components/data-display/VirtualList/VirtualList.d.ts +66 -0
- package/dist/components/data-display/VirtualList/VirtualList.mjs +53 -0
- package/dist/components/data-display/VirtualList/VirtualList.module.css.cjs.js +1 -0
- package/dist/components/data-display/VirtualList/VirtualList.module.css.mjs +9 -0
- package/dist/components/data-display/VirtualList/index.d.ts +1 -0
- package/dist/components/feedback/Alert/Alert.cjs.js +1 -0
- package/dist/components/feedback/Alert/Alert.d.ts +101 -0
- package/dist/components/feedback/Alert/Alert.mjs +113 -0
- package/dist/components/feedback/Alert/Alert.module.css.cjs.js +1 -0
- package/dist/components/feedback/Alert/Alert.module.css.mjs +32 -0
- package/dist/components/feedback/Alert/index.d.ts +1 -0
- package/dist/components/feedback/Banner/Banner.cjs.js +1 -0
- package/dist/components/feedback/Banner/Banner.d.ts +132 -0
- package/dist/components/feedback/Banner/Banner.mjs +199 -0
- package/dist/components/feedback/Banner/Banner.module.css.cjs.js +1 -0
- package/dist/components/feedback/Banner/Banner.module.css.mjs +40 -0
- package/dist/components/feedback/Banner/index.d.ts +1 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.cjs.js +1 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.d.ts +29 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.mjs +38 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.module.css.cjs.js +1 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.module.css.mjs +7 -0
- package/dist/components/feedback/ErrorSummary/index.d.ts +1 -0
- package/dist/components/feedback/Progress/Progress.cjs.js +1 -0
- package/dist/components/feedback/Progress/Progress.d.ts +150 -0
- package/dist/components/feedback/Progress/Progress.mjs +238 -0
- package/dist/components/feedback/Progress/Progress.module.css.cjs.js +1 -0
- package/dist/components/feedback/Progress/Progress.module.css.mjs +57 -0
- package/dist/components/feedback/Progress/index.d.ts +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.cjs.js +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.d.ts +151 -0
- package/dist/components/feedback/Skeleton/Skeleton.mjs +157 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs.js +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.mjs +63 -0
- package/dist/components/feedback/Skeleton/index.d.ts +1 -0
- package/dist/components/feedback/Spinner/Spinner.cjs.js +1 -0
- package/dist/components/feedback/Spinner/Spinner.d.ts +72 -0
- package/dist/components/feedback/Spinner/Spinner.mjs +67 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.cjs.js +1 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.mjs +29 -0
- package/dist/components/feedback/Spinner/index.d.ts +1 -0
- package/dist/components/feedback/Toast/Toast.cjs.js +1 -0
- package/dist/components/feedback/Toast/Toast.d.ts +52 -0
- package/dist/components/feedback/Toast/Toast.mjs +89 -0
- package/dist/components/feedback/Toast/Toast.module.css.cjs.js +1 -0
- package/dist/components/feedback/Toast/Toast.module.css.mjs +48 -0
- package/dist/components/feedback/Toast/Toast.storyHelpers.d.ts +21 -0
- package/dist/components/feedback/Toast/ToastItem.cjs.js +1 -0
- package/dist/components/feedback/Toast/ToastItem.d.ts +18 -0
- package/dist/components/feedback/Toast/ToastItem.mjs +61 -0
- package/dist/components/feedback/Toast/ToastProvider.cjs.js +1 -0
- package/dist/components/feedback/Toast/ToastProvider.d.ts +62 -0
- package/dist/components/feedback/Toast/ToastProvider.mjs +36 -0
- package/dist/components/feedback/Toast/ToastViewport.cjs.js +1 -0
- package/dist/components/feedback/Toast/ToastViewport.d.ts +25 -0
- package/dist/components/feedback/Toast/ToastViewport.mjs +137 -0
- package/dist/components/feedback/Toast/index.d.ts +5 -0
- package/dist/components/feedback/Toast/toastStore.cjs.js +1 -0
- package/dist/components/feedback/Toast/toastStore.d.ts +46 -0
- package/dist/components/feedback/Toast/toastStore.mjs +86 -0
- package/dist/components/feedback/Toast/toastTiming.cjs.js +1 -0
- package/dist/components/feedback/Toast/toastTiming.d.ts +27 -0
- package/dist/components/feedback/Toast/toastTiming.mjs +43 -0
- package/dist/components/feedback/Toast/toastTypes.d.ts +136 -0
- package/dist/components/feedback/Toast/useToast.cjs.js +1 -0
- package/dist/components/feedback/Toast/useToast.d.ts +32 -0
- package/dist/components/feedback/Toast/useToast.mjs +16 -0
- package/dist/components/feedback/Toast/useToastAnnouncer.cjs.js +1 -0
- package/dist/components/feedback/Toast/useToastAnnouncer.d.ts +15 -0
- package/dist/components/feedback/Toast/useToastAnnouncer.mjs +39 -0
- package/dist/components/forms/CheckBox/CheckBox.cjs.js +1 -0
- package/dist/components/forms/CheckBox/CheckBox.d.ts +79 -0
- package/dist/components/forms/CheckBox/CheckBox.mjs +168 -0
- package/dist/components/forms/CheckBox/CheckBox.module.css.cjs.js +1 -0
- package/dist/components/forms/CheckBox/CheckBox.module.css.mjs +33 -0
- package/dist/components/forms/CheckBox/index.d.ts +1 -0
- package/dist/components/forms/ColorPicker/ColorInput.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/ColorInput.d.ts +38 -0
- package/dist/components/forms/ColorPicker/ColorInput.mjs +113 -0
- package/dist/components/forms/ColorPicker/ColorPicker.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.d.ts +129 -0
- package/dist/components/forms/ColorPicker/ColorPicker.mjs +554 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.mjs +45 -0
- package/dist/components/forms/ColorPicker/colorUtils.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/colorUtils.d.ts +86 -0
- package/dist/components/forms/ColorPicker/colorUtils.mjs +184 -0
- package/dist/components/forms/ColorPicker/index.d.ts +2 -0
- package/dist/components/forms/Combobox/Combobox.cjs.js +1 -0
- package/dist/components/forms/Combobox/Combobox.d.ts +172 -0
- package/dist/components/forms/Combobox/Combobox.mjs +364 -0
- package/dist/components/forms/Combobox/Combobox.module.css.cjs.js +1 -0
- package/dist/components/forms/Combobox/Combobox.module.css.mjs +37 -0
- package/dist/components/forms/Combobox/ComboboxPopup.cjs.js +1 -0
- package/dist/components/forms/Combobox/ComboboxPopup.d.ts +40 -0
- package/dist/components/forms/Combobox/ComboboxPopup.mjs +183 -0
- package/dist/components/forms/Combobox/comboboxUtils.cjs.js +1 -0
- package/dist/components/forms/Combobox/comboboxUtils.d.ts +70 -0
- package/dist/components/forms/Combobox/comboboxUtils.mjs +57 -0
- package/dist/components/forms/Combobox/index.d.ts +1 -0
- package/dist/components/forms/DatePicker/Calendar.cjs.js +1 -0
- package/dist/components/forms/DatePicker/Calendar.d.ts +98 -0
- package/dist/components/forms/DatePicker/Calendar.mjs +228 -0
- package/dist/components/forms/DatePicker/Calendar.module.css.cjs.js +1 -0
- package/dist/components/forms/DatePicker/Calendar.module.css.mjs +25 -0
- package/dist/components/forms/DatePicker/DatePicker.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DatePicker.d.ts +100 -0
- package/dist/components/forms/DatePicker/DatePicker.mjs +186 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.mjs +11 -0
- package/dist/components/forms/DatePicker/DateRangePicker.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DateRangePicker.d.ts +124 -0
- package/dist/components/forms/DatePicker/DateRangePicker.mjs +250 -0
- package/dist/components/forms/DatePicker/DateRangePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DateRangePicker.module.css.mjs +15 -0
- package/dist/components/forms/DatePicker/dateUtils.cjs.js +1 -0
- package/dist/components/forms/DatePicker/dateUtils.d.ts +88 -0
- package/dist/components/forms/DatePicker/dateUtils.mjs +204 -0
- package/dist/components/forms/DatePicker/index.d.ts +4 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.js +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.d.ts +101 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.mjs +120 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.mjs +12 -0
- package/dist/components/forms/DateTimePicker/index.d.ts +1 -0
- package/dist/components/forms/Field/Field.cjs.js +1 -0
- package/dist/components/forms/Field/Field.d.ts +171 -0
- package/dist/components/forms/Field/Field.mjs +277 -0
- package/dist/components/forms/Field/Field.module.css.cjs.js +1 -0
- package/dist/components/forms/Field/Field.module.css.mjs +29 -0
- package/dist/components/forms/Field/FieldContext.cjs.js +1 -0
- package/dist/components/forms/Field/FieldContext.d.ts +74 -0
- package/dist/components/forms/Field/FieldContext.mjs +29 -0
- package/dist/components/forms/Field/index.d.ts +2 -0
- package/dist/components/forms/FileUpload/FileUpload.cjs.js +1 -0
- package/dist/components/forms/FileUpload/FileUpload.d.ts +153 -0
- package/dist/components/forms/FileUpload/FileUpload.mjs +447 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.cjs.js +1 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.mjs +40 -0
- package/dist/components/forms/FileUpload/index.d.ts +1 -0
- package/dist/components/forms/Input/Input.cjs.js +1 -0
- package/dist/components/forms/Input/Input.d.ts +98 -0
- package/dist/components/forms/Input/Input.mjs +147 -0
- package/dist/components/forms/Input/Input.module.css.cjs.js +1 -0
- package/dist/components/forms/Input/Input.module.css.mjs +36 -0
- package/dist/components/forms/Input/index.d.ts +1 -0
- package/dist/components/forms/NumberInput/NumberInput.cjs.js +1 -0
- package/dist/components/forms/NumberInput/NumberInput.d.ts +87 -0
- package/dist/components/forms/NumberInput/NumberInput.mjs +309 -0
- package/dist/components/forms/NumberInput/NumberInput.module.css.cjs.js +1 -0
- package/dist/components/forms/NumberInput/NumberInput.module.css.mjs +13 -0
- package/dist/components/forms/NumberInput/index.d.ts +1 -0
- package/dist/components/forms/PasswordInput/PasswordInput.cjs.js +1 -0
- package/dist/components/forms/PasswordInput/PasswordInput.d.ts +117 -0
- package/dist/components/forms/PasswordInput/PasswordInput.mjs +253 -0
- package/dist/components/forms/PasswordInput/PasswordInput.module.css.cjs.js +1 -0
- package/dist/components/forms/PasswordInput/PasswordInput.module.css.mjs +33 -0
- package/dist/components/forms/PasswordInput/index.d.ts +1 -0
- package/dist/components/forms/PinInput/PinInput.cjs.js +1 -0
- package/dist/components/forms/PinInput/PinInput.d.ts +92 -0
- package/dist/components/forms/PinInput/PinInput.mjs +221 -0
- package/dist/components/forms/PinInput/PinInput.module.css.cjs.js +1 -0
- package/dist/components/forms/PinInput/PinInput.module.css.mjs +34 -0
- package/dist/components/forms/PinInput/index.d.ts +1 -0
- package/dist/components/forms/Radio/Radio.cjs.js +1 -0
- package/dist/components/forms/Radio/Radio.d.ts +119 -0
- package/dist/components/forms/Radio/Radio.mjs +220 -0
- package/dist/components/forms/Radio/Radio.module.css.cjs.js +1 -0
- package/dist/components/forms/Radio/Radio.module.css.mjs +43 -0
- package/dist/components/forms/Radio/index.d.ts +1 -0
- package/dist/components/forms/Rating/Rating.cjs.js +1 -0
- package/dist/components/forms/Rating/Rating.d.ts +128 -0
- package/dist/components/forms/Rating/Rating.mjs +228 -0
- package/dist/components/forms/Rating/Rating.module.css.cjs.js +1 -0
- package/dist/components/forms/Rating/Rating.module.css.mjs +42 -0
- package/dist/components/forms/Rating/index.d.ts +1 -0
- package/dist/components/forms/SearchInput/SearchInput.cjs.js +1 -0
- package/dist/components/forms/SearchInput/SearchInput.d.ts +124 -0
- package/dist/components/forms/SearchInput/SearchInput.mjs +220 -0
- package/dist/components/forms/SearchInput/SearchInput.module.css.cjs.js +1 -0
- package/dist/components/forms/SearchInput/SearchInput.module.css.mjs +8 -0
- package/dist/components/forms/SearchInput/index.d.ts +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.js +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.d.ts +120 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.mjs +171 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs.js +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.mjs +33 -0
- package/dist/components/forms/SegmentedControl/index.d.ts +1 -0
- package/dist/components/forms/Select/Select.cjs.js +1 -0
- package/dist/components/forms/Select/Select.d.ts +86 -0
- package/dist/components/forms/Select/Select.mjs +107 -0
- package/dist/components/forms/Select/Select.module.css.cjs.js +1 -0
- package/dist/components/forms/Select/Select.module.css.mjs +27 -0
- package/dist/components/forms/Select/index.d.ts +1 -0
- package/dist/components/forms/Slider/Slider.cjs.js +1 -0
- package/dist/components/forms/Slider/Slider.d.ts +84 -0
- package/dist/components/forms/Slider/Slider.mjs +251 -0
- package/dist/components/forms/Slider/Slider.module.css.cjs.js +1 -0
- package/dist/components/forms/Slider/Slider.module.css.mjs +29 -0
- package/dist/components/forms/Slider/index.d.ts +1 -0
- package/dist/components/forms/Switch/Switch.cjs.js +1 -0
- package/dist/components/forms/Switch/Switch.d.ts +62 -0
- package/dist/components/forms/Switch/Switch.mjs +135 -0
- package/dist/components/forms/Switch/Switch.module.css.cjs.js +1 -0
- package/dist/components/forms/Switch/Switch.module.css.mjs +30 -0
- package/dist/components/forms/Switch/index.d.ts +1 -0
- package/dist/components/forms/TagInput/TagInput.cjs.js +1 -0
- package/dist/components/forms/TagInput/TagInput.d.ts +144 -0
- package/dist/components/forms/TagInput/TagInput.mjs +311 -0
- package/dist/components/forms/TagInput/TagInput.module.css.cjs.js +1 -0
- package/dist/components/forms/TagInput/TagInput.module.css.mjs +22 -0
- package/dist/components/forms/TagInput/index.d.ts +1 -0
- package/dist/components/forms/Textarea/Textarea.cjs.js +1 -0
- package/dist/components/forms/Textarea/Textarea.d.ts +62 -0
- package/dist/components/forms/Textarea/Textarea.mjs +151 -0
- package/dist/components/forms/Textarea/Textarea.module.css.cjs.js +1 -0
- package/dist/components/forms/Textarea/Textarea.module.css.mjs +30 -0
- package/dist/components/forms/Textarea/index.d.ts +1 -0
- package/dist/components/forms/TimePicker/TimePicker.cjs.js +1 -0
- package/dist/components/forms/TimePicker/TimePicker.d.ts +116 -0
- package/dist/components/forms/TimePicker/TimePicker.mjs +161 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.mjs +9 -0
- package/dist/components/forms/TimePicker/index.d.ts +1 -0
- package/dist/components/forms/TimePicker/timeUtils.cjs.js +1 -0
- package/dist/components/forms/TimePicker/timeUtils.d.ts +23 -0
- package/dist/components/forms/TimePicker/timeUtils.mjs +117 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.cjs.js +1 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.d.ts +153 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.mjs +201 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.cjs.js +1 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.mjs +58 -0
- package/dist/components/forms/ToggleGroup/index.d.ts +1 -0
- package/dist/components/layout/Box/Box.cjs.js +1 -0
- package/dist/components/layout/Box/Box.d.ts +120 -0
- package/dist/components/layout/Box/Box.mjs +158 -0
- package/dist/components/layout/Box/Box.module.css.cjs.js +1 -0
- package/dist/components/layout/Box/Box.module.css.mjs +83 -0
- package/dist/components/layout/Box/index.d.ts +1 -0
- package/dist/components/layout/Container/Container.cjs.js +1 -0
- package/dist/components/layout/Container/Container.d.ts +30 -0
- package/dist/components/layout/Container/Container.mjs +48 -0
- package/dist/components/layout/Container/Container.module.css.cjs.js +1 -0
- package/dist/components/layout/Container/Container.module.css.mjs +43 -0
- package/dist/components/layout/Container/index.d.ts +1 -0
- package/dist/components/layout/Divider/Divider.cjs.js +1 -0
- package/dist/components/layout/Divider/Divider.d.ts +65 -0
- package/dist/components/layout/Divider/Divider.mjs +77 -0
- package/dist/components/layout/Divider/Divider.module.css.cjs.js +1 -0
- package/dist/components/layout/Divider/Divider.module.css.mjs +31 -0
- package/dist/components/layout/Divider/index.d.ts +1 -0
- package/dist/components/layout/Flex/Flex.cjs.js +1 -0
- package/dist/components/layout/Flex/Flex.d.ts +96 -0
- package/dist/components/layout/Flex/Flex.mjs +60 -0
- package/dist/components/layout/Flex/Flex.module.css.cjs.js +1 -0
- package/dist/components/layout/Flex/Flex.module.css.mjs +60 -0
- package/dist/components/layout/Flex/index.d.ts +1 -0
- package/dist/components/layout/Grid/Grid.cjs.js +1 -0
- package/dist/components/layout/Grid/Grid.d.ts +127 -0
- package/dist/components/layout/Grid/Grid.mjs +74 -0
- package/dist/components/layout/Grid/Grid.module.css.cjs.js +1 -0
- package/dist/components/layout/Grid/Grid.module.css.mjs +22 -0
- package/dist/components/layout/Grid/index.d.ts +1 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.cjs.js +1 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.d.ts +48 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.mjs +175 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.cjs.js +1 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.mjs +9 -0
- package/dist/components/layout/ResizablePanels/index.d.ts +1 -0
- package/dist/components/layout/ScrollArea/ScrollArea.cjs.js +1 -0
- package/dist/components/layout/ScrollArea/ScrollArea.d.ts +65 -0
- package/dist/components/layout/ScrollArea/ScrollArea.mjs +152 -0
- package/dist/components/layout/ScrollArea/ScrollArea.module.css.cjs.js +1 -0
- package/dist/components/layout/ScrollArea/ScrollArea.module.css.mjs +13 -0
- package/dist/components/layout/ScrollArea/index.d.ts +1 -0
- package/dist/components/layout/Stack/Stack.cjs.js +1 -0
- package/dist/components/layout/Stack/Stack.d.ts +81 -0
- package/dist/components/layout/Stack/Stack.mjs +70 -0
- package/dist/components/layout/Stack/Stack.module.css.cjs.js +1 -0
- package/dist/components/layout/Stack/Stack.module.css.mjs +43 -0
- package/dist/components/layout/Stack/index.d.ts +1 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.cjs.js +1 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.d.ts +111 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.mjs +147 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.cjs.js +1 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.mjs +21 -0
- package/dist/components/navigation/Breadcrumbs/index.d.ts +1 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.cjs.js +1 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.d.ts +67 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.mjs +168 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.module.css.cjs.js +1 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.module.css.mjs +7 -0
- package/dist/components/navigation/ContextMenu/index.d.ts +1 -0
- package/dist/components/navigation/Link/Link.cjs.js +1 -0
- package/dist/components/navigation/Link/Link.d.ts +93 -0
- package/dist/components/navigation/Link/Link.mjs +83 -0
- package/dist/components/navigation/Link/Link.module.css.cjs.js +1 -0
- package/dist/components/navigation/Link/Link.module.css.mjs +31 -0
- package/dist/components/navigation/Link/index.d.ts +1 -0
- package/dist/components/navigation/Menu/Menu.cjs.js +1 -0
- package/dist/components/navigation/Menu/Menu.d.ts +61 -0
- package/dist/components/navigation/Menu/Menu.mjs +72 -0
- package/dist/components/navigation/Menu/Menu.module.css.cjs.js +1 -0
- package/dist/components/navigation/Menu/Menu.module.css.mjs +22 -0
- package/dist/components/navigation/Menu/MenuContent.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuContent.d.ts +46 -0
- package/dist/components/navigation/Menu/MenuContent.mjs +180 -0
- package/dist/components/navigation/Menu/MenuContext.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuContext.d.ts +84 -0
- package/dist/components/navigation/Menu/MenuContext.mjs +60 -0
- package/dist/components/navigation/Menu/MenuItem.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuItem.d.ts +133 -0
- package/dist/components/navigation/Menu/MenuItem.mjs +250 -0
- package/dist/components/navigation/Menu/MenuSub.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuSub.d.ts +28 -0
- package/dist/components/navigation/Menu/MenuSub.mjs +93 -0
- package/dist/components/navigation/Menu/index.d.ts +1 -0
- package/dist/components/navigation/Menu/useMenuRoot.cjs.js +1 -0
- package/dist/components/navigation/Menu/useMenuRoot.d.ts +14 -0
- package/dist/components/navigation/Menu/useMenuRoot.mjs +59 -0
- package/dist/components/navigation/Navbar/Navbar.cjs.js +1 -0
- package/dist/components/navigation/Navbar/Navbar.d.ts +245 -0
- package/dist/components/navigation/Navbar/Navbar.mjs +249 -0
- package/dist/components/navigation/Navbar/Navbar.module.css.cjs.js +1 -0
- package/dist/components/navigation/Navbar/Navbar.module.css.mjs +49 -0
- package/dist/components/navigation/Navbar/index.d.ts +1 -0
- package/dist/components/navigation/Pagination/Pagination.cjs.js +1 -0
- package/dist/components/navigation/Pagination/Pagination.d.ts +97 -0
- package/dist/components/navigation/Pagination/Pagination.mjs +133 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.cjs.js +1 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.mjs +19 -0
- package/dist/components/navigation/Pagination/index.d.ts +1 -0
- package/dist/components/navigation/Sidebar/Sidebar.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/Sidebar.d.ts +90 -0
- package/dist/components/navigation/Sidebar/Sidebar.mjs +113 -0
- package/dist/components/navigation/Sidebar/Sidebar.module.css.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/Sidebar.module.css.mjs +34 -0
- package/dist/components/navigation/Sidebar/Sidebar.storyHelpers.d.ts +27 -0
- package/dist/components/navigation/Sidebar/SidebarContext.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/SidebarContext.d.ts +45 -0
- package/dist/components/navigation/Sidebar/SidebarContext.mjs +21 -0
- package/dist/components/navigation/Sidebar/SidebarParts.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/SidebarParts.d.ts +179 -0
- package/dist/components/navigation/Sidebar/SidebarParts.mjs +242 -0
- package/dist/components/navigation/Sidebar/index.d.ts +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.cjs.js +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.d.ts +41 -0
- package/dist/components/navigation/SkipLink/SkipLink.mjs +52 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs.js +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.mjs +8 -0
- package/dist/components/navigation/SkipLink/index.d.ts +1 -0
- package/dist/components/navigation/Stepper/Stepper.cjs.js +1 -0
- package/dist/components/navigation/Stepper/Stepper.d.ts +109 -0
- package/dist/components/navigation/Stepper/Stepper.mjs +185 -0
- package/dist/components/navigation/Stepper/Stepper.module.css.cjs.js +1 -0
- package/dist/components/navigation/Stepper/Stepper.module.css.mjs +32 -0
- package/dist/components/navigation/Stepper/index.d.ts +1 -0
- package/dist/components/navigation/Tabs/Tabs.cjs.js +1 -0
- package/dist/components/navigation/Tabs/Tabs.d.ts +132 -0
- package/dist/components/navigation/Tabs/Tabs.mjs +300 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs.js +1 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.mjs +26 -0
- package/dist/components/navigation/Tabs/index.d.ts +1 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.d.ts +152 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.mjs +375 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.module.css.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.module.css.mjs +33 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.d.ts +96 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.mjs +11 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.d.ts +115 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.mjs +304 -0
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.d.ts +50 -0
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.mjs +147 -0
- package/dist/components/overlays/CommandPalette/index.d.ts +1 -0
- package/dist/components/overlays/Drawer/Drawer.cjs.js +1 -0
- package/dist/components/overlays/Drawer/Drawer.d.ts +148 -0
- package/dist/components/overlays/Drawer/Drawer.mjs +106 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.cjs.js +1 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.mjs +34 -0
- package/dist/components/overlays/Drawer/Drawer.storyHelpers.d.ts +16 -0
- package/dist/components/overlays/Drawer/DrawerContent.cjs.js +1 -0
- package/dist/components/overlays/Drawer/DrawerContent.d.ts +27 -0
- package/dist/components/overlays/Drawer/DrawerContent.mjs +192 -0
- package/dist/components/overlays/Drawer/DrawerContext.cjs.js +1 -0
- package/dist/components/overlays/Drawer/DrawerContext.d.ts +39 -0
- package/dist/components/overlays/Drawer/DrawerContext.mjs +10 -0
- package/dist/components/overlays/Drawer/DrawerParts.cjs.js +1 -0
- package/dist/components/overlays/Drawer/DrawerParts.d.ts +65 -0
- package/dist/components/overlays/Drawer/DrawerParts.mjs +63 -0
- package/dist/components/overlays/Drawer/index.d.ts +1 -0
- package/dist/components/overlays/Drawer/internal.cjs.js +1 -0
- package/dist/components/overlays/Drawer/internal.d.ts +1 -0
- package/dist/components/overlays/Drawer/internal.mjs +4 -0
- package/dist/components/overlays/Drawer/useDragToClose.cjs.js +1 -0
- package/dist/components/overlays/Drawer/useDragToClose.d.ts +28 -0
- package/dist/components/overlays/Drawer/useDragToClose.mjs +42 -0
- package/dist/components/overlays/HoverCard/HoverCard.cjs.js +1 -0
- package/dist/components/overlays/HoverCard/HoverCard.d.ts +50 -0
- package/dist/components/overlays/HoverCard/HoverCard.mjs +173 -0
- package/dist/components/overlays/HoverCard/HoverCard.module.css.cjs.js +1 -0
- package/dist/components/overlays/HoverCard/HoverCard.module.css.mjs +12 -0
- package/dist/components/overlays/HoverCard/index.d.ts +1 -0
- package/dist/components/overlays/Modal/ConfirmModal.cjs.js +1 -0
- package/dist/components/overlays/Modal/ConfirmModal.d.ts +47 -0
- package/dist/components/overlays/Modal/ConfirmModal.mjs +76 -0
- package/dist/components/overlays/Modal/Modal.cjs.js +1 -0
- package/dist/components/overlays/Modal/Modal.d.ts +150 -0
- package/dist/components/overlays/Modal/Modal.mjs +153 -0
- package/dist/components/overlays/Modal/Modal.module.css.cjs.js +1 -0
- package/dist/components/overlays/Modal/Modal.module.css.mjs +36 -0
- package/dist/components/overlays/Modal/ModalContent.cjs.js +1 -0
- package/dist/components/overlays/Modal/ModalContent.d.ts +12 -0
- package/dist/components/overlays/Modal/ModalContent.mjs +160 -0
- package/dist/components/overlays/Modal/ModalContext.cjs.js +1 -0
- package/dist/components/overlays/Modal/ModalContext.d.ts +56 -0
- package/dist/components/overlays/Modal/ModalContext.mjs +10 -0
- package/dist/components/overlays/Modal/index.d.ts +2 -0
- package/dist/components/overlays/Modal/useScrollRegion.cjs.js +1 -0
- package/dist/components/overlays/Modal/useScrollRegion.d.ts +7 -0
- package/dist/components/overlays/Modal/useScrollRegion.mjs +25 -0
- package/dist/components/overlays/Popover/Popover.cjs.js +1 -0
- package/dist/components/overlays/Popover/Popover.d.ts +96 -0
- package/dist/components/overlays/Popover/Popover.mjs +150 -0
- package/dist/components/overlays/Popover/Popover.module.css.cjs.js +1 -0
- package/dist/components/overlays/Popover/Popover.module.css.mjs +16 -0
- package/dist/components/overlays/Popover/PopoverContent.cjs.js +1 -0
- package/dist/components/overlays/Popover/PopoverContent.d.ts +41 -0
- package/dist/components/overlays/Popover/PopoverContent.mjs +158 -0
- package/dist/components/overlays/Popover/PopoverContext.cjs.js +1 -0
- package/dist/components/overlays/Popover/PopoverContext.d.ts +38 -0
- package/dist/components/overlays/Popover/PopoverContext.mjs +11 -0
- package/dist/components/overlays/Popover/index.d.ts +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.cjs.js +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.d.ts +104 -0
- package/dist/components/overlays/Tooltip/Tooltip.mjs +153 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs.js +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.mjs +13 -0
- package/dist/components/overlays/Tooltip/index.d.ts +1 -0
- package/dist/components/primitives/Button/Button.cjs.js +1 -0
- package/dist/components/primitives/Button/Button.d.ts +123 -0
- package/dist/components/primitives/Button/Button.mjs +194 -0
- package/dist/components/primitives/Button/Button.module.css.cjs.js +1 -0
- package/dist/components/primitives/Button/Button.module.css.mjs +63 -0
- package/dist/components/primitives/Button/index.d.ts +1 -0
- package/dist/components/primitives/Icon/Icon.cjs.js +1 -0
- package/dist/components/primitives/Icon/Icon.d.ts +17 -0
- package/dist/components/primitives/Icon/Icon.mjs +11 -0
- package/dist/components/primitives/Icon/Icon.module.css.cjs.js +1 -0
- package/dist/components/primitives/Icon/Icon.module.css.mjs +21 -0
- package/dist/components/primitives/Icon/IconSvg.cjs.js +1 -0
- package/dist/components/primitives/Icon/IconSvg.d.ts +31 -0
- package/dist/components/primitives/Icon/IconSvg.mjs +47 -0
- package/dist/components/primitives/Icon/icons.cjs.js +1 -0
- package/dist/components/primitives/Icon/icons.d.ts +315 -0
- package/dist/components/primitives/Icon/icons.mjs +285 -0
- package/dist/components/primitives/Icon/index.d.ts +2 -0
- package/dist/components/primitives/Kbd/Kbd.cjs.js +1 -0
- package/dist/components/primitives/Kbd/Kbd.d.ts +81 -0
- package/dist/components/primitives/Kbd/Kbd.mjs +175 -0
- package/dist/components/primitives/Kbd/Kbd.module.css.cjs.js +1 -0
- package/dist/components/primitives/Kbd/Kbd.module.css.mjs +16 -0
- package/dist/components/primitives/Kbd/index.d.ts +1 -0
- package/dist/components/primitives/Typography/Typography.cjs.js +1 -0
- package/dist/components/primitives/Typography/Typography.d.ts +111 -0
- package/dist/components/primitives/Typography/Typography.mjs +147 -0
- package/dist/components/primitives/Typography/Typography.module.css.cjs.js +1 -0
- package/dist/components/primitives/Typography/Typography.module.css.mjs +49 -0
- package/dist/components/primitives/Typography/index.d.ts +1 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.cjs.js +1 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.d.ts +58 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.mjs +40 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.cjs.js +1 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.mjs +4 -0
- package/dist/components/utilities/LocaleProvider/index.d.ts +1 -0
- package/dist/components/utilities/Portal/Portal.cjs.js +1 -0
- package/dist/components/utilities/Portal/Portal.d.ts +23 -0
- package/dist/components/utilities/Portal/Portal.mjs +27 -0
- package/dist/components/utilities/Portal/index.d.ts +1 -0
- package/dist/components/utilities/Theme/Theme.cjs.js +1 -0
- package/dist/components/utilities/Theme/Theme.d.ts +79 -0
- package/dist/components/utilities/Theme/Theme.mjs +86 -0
- package/dist/components/utilities/Theme/Theme.module.css.cjs.js +1 -0
- package/dist/components/utilities/Theme/Theme.module.css.mjs +7 -0
- package/dist/components/utilities/Theme/index.d.ts +1 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.cjs.js +1 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.d.ts +4 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.mjs +10 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.cjs.js +1 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.mjs +4 -0
- package/dist/components/utilities/VisuallyHidden/index.d.ts +1 -0
- package/dist/hooks/elementSource.cjs.js +1 -0
- package/dist/hooks/elementSource.d.ts +16 -0
- package/dist/hooks/elementSource.mjs +17 -0
- package/dist/hooks/index.d.ts +21 -0
- package/dist/hooks/useClipboard.cjs.js +1 -0
- package/dist/hooks/useClipboard.d.ts +24 -0
- package/dist/hooks/useClipboard.mjs +23 -0
- package/dist/hooks/useControllableState.cjs.js +1 -0
- package/dist/hooks/useControllableState.d.ts +15 -0
- package/dist/hooks/useControllableState.mjs +13 -0
- package/dist/hooks/useDisclosure.cjs.js +1 -0
- package/dist/hooks/useDisclosure.d.ts +35 -0
- package/dist/hooks/useDisclosure.mjs +29 -0
- package/dist/hooks/useDismiss.cjs.js +1 -0
- package/dist/hooks/useDismiss.d.ts +33 -0
- package/dist/hooks/useDismiss.mjs +15 -0
- package/dist/hooks/useElementObservers.cjs.js +1 -0
- package/dist/hooks/useElementObservers.d.ts +70 -0
- package/dist/hooks/useElementObservers.mjs +88 -0
- package/dist/hooks/useEnvironment.cjs.js +1 -0
- package/dist/hooks/useEnvironment.d.ts +42 -0
- package/dist/hooks/useEnvironment.mjs +36 -0
- package/dist/hooks/useFloatingPosition.cjs.js +1 -0
- package/dist/hooks/useFloatingPosition.d.ts +55 -0
- package/dist/hooks/useFloatingPosition.mjs +116 -0
- package/dist/hooks/useFocusTrap.cjs.js +1 -0
- package/dist/hooks/useFocusTrap.d.ts +52 -0
- package/dist/hooks/useFocusTrap.mjs +93 -0
- package/dist/hooks/useFormReset.cjs.js +1 -0
- package/dist/hooks/useFormReset.d.ts +17 -0
- package/dist/hooks/useFormReset.mjs +16 -0
- package/dist/hooks/useFormValidation.cjs.js +1 -0
- package/dist/hooks/useFormValidation.d.ts +101 -0
- package/dist/hooks/useFormValidation.mjs +187 -0
- package/dist/hooks/useHotkeys.cjs.js +1 -0
- package/dist/hooks/useHotkeys.d.ts +50 -0
- package/dist/hooks/useHotkeys.mjs +39 -0
- package/dist/hooks/useInertOutside.cjs.js +1 -0
- package/dist/hooks/useInertOutside.d.ts +23 -0
- package/dist/hooks/useInertOutside.mjs +83 -0
- package/dist/hooks/useMediaQuery.cjs.js +1 -0
- package/dist/hooks/useMediaQuery.d.ts +11 -0
- package/dist/hooks/useMediaQuery.mjs +13 -0
- package/dist/hooks/useMergedRef.cjs.js +1 -0
- package/dist/hooks/useMergedRef.d.ts +7 -0
- package/dist/hooks/useMergedRef.mjs +8 -0
- package/dist/hooks/useOverlayLayer.cjs.js +1 -0
- package/dist/hooks/useOverlayLayer.d.ts +92 -0
- package/dist/hooks/useOverlayLayer.mjs +163 -0
- package/dist/hooks/useResponsiveValue.cjs.js +1 -0
- package/dist/hooks/useResponsiveValue.d.ts +10 -0
- package/dist/hooks/useResponsiveValue.mjs +14 -0
- package/dist/hooks/useScrollLock.cjs.js +1 -0
- package/dist/hooks/useScrollLock.d.ts +4 -0
- package/dist/hooks/useScrollLock.mjs +30 -0
- package/dist/hooks/useStorage.cjs.js +1 -0
- package/dist/hooks/useStorage.d.ts +21 -0
- package/dist/hooks/useStorage.mjs +70 -0
- package/dist/hooks/useTiming.cjs.js +1 -0
- package/dist/hooks/useTiming.d.ts +78 -0
- package/dist/hooks/useTiming.mjs +100 -0
- package/dist/hooks/useVirtualizer.cjs.js +1 -0
- package/dist/hooks/useVirtualizer.d.ts +77 -0
- package/dist/hooks/useVirtualizer.mjs +115 -0
- package/dist/i18n/en.cjs.js +1 -0
- package/dist/i18n/en.d.ts +3 -0
- package/dist/i18n/en.mjs +565 -0
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/locales/ar.d.ts +3 -0
- package/dist/i18n/locales/bn.d.ts +3 -0
- package/dist/i18n/locales/cs.d.ts +3 -0
- package/dist/i18n/locales/da.d.ts +3 -0
- package/dist/i18n/locales/de.d.ts +3 -0
- package/dist/i18n/locales/el.d.ts +3 -0
- package/dist/i18n/locales/es.d.ts +3 -0
- package/dist/i18n/locales/fa.d.ts +3 -0
- package/dist/i18n/locales/fi.d.ts +3 -0
- package/dist/i18n/locales/fr.d.ts +3 -0
- package/dist/i18n/locales/he.d.ts +3 -0
- package/dist/i18n/locales/hi.d.ts +3 -0
- package/dist/i18n/locales/hu.d.ts +3 -0
- package/dist/i18n/locales/id.d.ts +3 -0
- package/dist/i18n/locales/it.d.ts +3 -0
- package/dist/i18n/locales/ja.d.ts +3 -0
- package/dist/i18n/locales/ko.d.ts +3 -0
- package/dist/i18n/locales/nb.d.ts +3 -0
- package/dist/i18n/locales/nl.d.ts +3 -0
- package/dist/i18n/locales/pl.d.ts +3 -0
- package/dist/i18n/locales/pt-BR.d.ts +3 -0
- package/dist/i18n/locales/ro.d.ts +3 -0
- package/dist/i18n/locales/ru.d.ts +3 -0
- package/dist/i18n/locales/sv.d.ts +3 -0
- package/dist/i18n/locales/th.d.ts +3 -0
- package/dist/i18n/locales/tr.d.ts +3 -0
- package/dist/i18n/locales/uk.d.ts +3 -0
- package/dist/i18n/locales/ur.d.ts +3 -0
- package/dist/i18n/locales/vi.d.ts +3 -0
- package/dist/i18n/locales/zh-Hans.d.ts +3 -0
- package/dist/i18n/locales/zh-Hant.d.ts +3 -0
- package/dist/i18n/merge.cjs.js +1 -0
- package/dist/i18n/merge.d.ts +6 -0
- package/dist/i18n/merge.mjs +12 -0
- package/dist/i18n/plural.cjs.js +1 -0
- package/dist/i18n/plural.d.ts +45 -0
- package/dist/i18n/plural.mjs +43 -0
- package/dist/i18n/types.d.ts +619 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +81 -0
- package/dist/index.mjs +143 -0
- package/dist/locales/ar.cjs.js +1 -0
- package/dist/locales/ar.d.ts +6 -0
- package/dist/locales/ar.mjs +585 -0
- package/dist/locales/bn.cjs.js +1 -0
- package/dist/locales/bn.d.ts +6 -0
- package/dist/locales/bn.mjs +512 -0
- package/dist/locales/cs.cjs.js +1 -0
- package/dist/locales/cs.d.ts +6 -0
- package/dist/locales/cs.mjs +594 -0
- package/dist/locales/da.cjs.js +1 -0
- package/dist/locales/da.d.ts +6 -0
- package/dist/locales/da.mjs +562 -0
- package/dist/locales/de.cjs.js +1 -0
- package/dist/locales/de.d.ts +6 -0
- package/dist/locales/de.mjs +562 -0
- package/dist/locales/el.cjs.js +1 -0
- package/dist/locales/el.d.ts +6 -0
- package/dist/locales/el.mjs +562 -0
- package/dist/locales/es.cjs.js +1 -0
- package/dist/locales/es.d.ts +6 -0
- package/dist/locales/es.mjs +565 -0
- package/dist/locales/fa.cjs.js +1 -0
- package/dist/locales/fa.d.ts +6 -0
- package/dist/locales/fa.mjs +512 -0
- package/dist/locales/fi.cjs.js +1 -0
- package/dist/locales/fi.d.ts +6 -0
- package/dist/locales/fi.mjs +562 -0
- package/dist/locales/fr.cjs.js +1 -0
- package/dist/locales/fr.d.ts +6 -0
- package/dist/locales/fr.mjs +565 -0
- package/dist/locales/he.cjs.js +1 -0
- package/dist/locales/he.d.ts +6 -0
- package/dist/locales/he.mjs +573 -0
- package/dist/locales/hi.cjs.js +1 -0
- package/dist/locales/hi.d.ts +6 -0
- package/dist/locales/hi.mjs +562 -0
- package/dist/locales/hu.cjs.js +1 -0
- package/dist/locales/hu.d.ts +6 -0
- package/dist/locales/hu.mjs +512 -0
- package/dist/locales/id.cjs.js +1 -0
- package/dist/locales/id.d.ts +6 -0
- package/dist/locales/id.mjs +512 -0
- package/dist/locales/it.cjs.js +1 -0
- package/dist/locales/it.d.ts +6 -0
- package/dist/locales/it.mjs +565 -0
- package/dist/locales/ja.cjs.js +1 -0
- package/dist/locales/ja.d.ts +6 -0
- package/dist/locales/ja.mjs +512 -0
- package/dist/locales/ko.cjs.js +1 -0
- package/dist/locales/ko.d.ts +6 -0
- package/dist/locales/ko.mjs +512 -0
- package/dist/locales/nb.cjs.js +1 -0
- package/dist/locales/nb.d.ts +6 -0
- package/dist/locales/nb.mjs +562 -0
- package/dist/locales/nl.cjs.js +1 -0
- package/dist/locales/nl.d.ts +6 -0
- package/dist/locales/nl.mjs +562 -0
- package/dist/locales/pl.cjs.js +1 -0
- package/dist/locales/pl.d.ts +6 -0
- package/dist/locales/pl.mjs +594 -0
- package/dist/locales/pt-BR.cjs.js +1 -0
- package/dist/locales/pt-BR.d.ts +6 -0
- package/dist/locales/pt-BR.mjs +565 -0
- package/dist/locales/ro.cjs.js +1 -0
- package/dist/locales/ro.d.ts +6 -0
- package/dist/locales/ro.mjs +578 -0
- package/dist/locales/ru.cjs.js +1 -0
- package/dist/locales/ru.d.ts +6 -0
- package/dist/locales/ru.mjs +594 -0
- package/dist/locales/sv.cjs.js +1 -0
- package/dist/locales/sv.d.ts +6 -0
- package/dist/locales/sv.mjs +562 -0
- package/dist/locales/th.cjs.js +1 -0
- package/dist/locales/th.d.ts +6 -0
- package/dist/locales/th.mjs +512 -0
- package/dist/locales/tr.cjs.js +1 -0
- package/dist/locales/tr.d.ts +6 -0
- package/dist/locales/tr.mjs +512 -0
- package/dist/locales/uk.cjs.js +1 -0
- package/dist/locales/uk.d.ts +6 -0
- package/dist/locales/uk.mjs +594 -0
- package/dist/locales/ur.cjs.js +1 -0
- package/dist/locales/ur.d.ts +6 -0
- package/dist/locales/ur.mjs +562 -0
- package/dist/locales/vi.cjs.js +1 -0
- package/dist/locales/vi.d.ts +6 -0
- package/dist/locales/vi.mjs +512 -0
- package/dist/locales/zh-Hans.cjs.js +1 -0
- package/dist/locales/zh-Hans.d.ts +6 -0
- package/dist/locales/zh-Hans.mjs +512 -0
- package/dist/locales/zh-Hant.cjs.js +1 -0
- package/dist/locales/zh-Hant.d.ts +6 -0
- package/dist/locales/zh-Hant.mjs +512 -0
- package/dist/types/common.cjs.js +1 -0
- package/dist/types/common.d.ts +31 -0
- package/dist/types/common.mjs +10 -0
- package/dist/types/style.d.ts +7 -0
- package/dist/utils/announce.cjs.js +1 -0
- package/dist/utils/announce.d.ts +1 -0
- package/dist/utils/announce.mjs +26 -0
- package/dist/utils/brandPalette.cjs.js +3 -0
- package/dist/utils/brandPalette.d.ts +146 -0
- package/dist/utils/brandPalette.mjs +387 -0
- package/dist/utils/clipboard.cjs.js +1 -0
- package/dist/utils/clipboard.d.ts +6 -0
- package/dist/utils/clipboard.mjs +21 -0
- package/dist/utils/cx.cjs.js +1 -0
- package/dist/utils/cx.d.ts +2 -0
- package/dist/utils/cx.mjs +6 -0
- package/dist/utils/fillSlot.cjs.js +1 -0
- package/dist/utils/fillSlot.d.ts +9 -0
- package/dist/utils/fillSlot.mjs +5 -0
- package/dist/utils/flattenChildren.cjs.js +1 -0
- package/dist/utils/flattenChildren.d.ts +8 -0
- package/dist/utils/flattenChildren.mjs +7 -0
- package/dist/utils/hotkeys.cjs.js +1 -0
- package/dist/utils/hotkeys.d.ts +27 -0
- package/dist/utils/hotkeys.mjs +45 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/refs.cjs.js +1 -0
- package/dist/utils/refs.d.ts +15 -0
- package/dist/utils/refs.mjs +27 -0
- package/dist/utils/responsive.cjs.js +1 -0
- package/dist/utils/responsive.d.ts +43 -0
- package/dist/utils/responsive.mjs +63 -0
- package/dist/utils/slot.cjs.js +1 -0
- package/dist/utils/slot.d.ts +11 -0
- package/dist/utils/slot.mjs +21 -0
- package/dist/utils/validators.cjs.js +1 -0
- package/dist/utils/validators.d.ts +72 -0
- package/dist/utils/validators.mjs +61 -0
- package/dist/vjdesigns-ui.css +2 -0
- package/package.json +88 -6
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { createContext as e, useCallback as t, useContext as n, useEffect as r, useMemo as i, useRef as a, useState as o } from "react";
|
|
2
|
+
//#region src/components/navigation/Menu/MenuContext.ts
|
|
3
|
+
var s = e(null), c = e(null), l = e(null);
|
|
4
|
+
function u(e) {
|
|
5
|
+
let t = n(s);
|
|
6
|
+
if (!t) throw Error(`${e} must be rendered inside <Menu>.`);
|
|
7
|
+
return t;
|
|
8
|
+
}
|
|
9
|
+
function d(e) {
|
|
10
|
+
let t = n(c);
|
|
11
|
+
if (!t) throw Error(`${e} must be rendered inside <Menu>.`);
|
|
12
|
+
return t;
|
|
13
|
+
}
|
|
14
|
+
function f(e) {
|
|
15
|
+
let t = n(l);
|
|
16
|
+
if (!t) throw Error(`${e} must be rendered inside <Menu.Sub>.`);
|
|
17
|
+
return t;
|
|
18
|
+
}
|
|
19
|
+
function p() {
|
|
20
|
+
let [e, n] = o(null), s = a(void 0), c = a(void 0), l = t(() => {
|
|
21
|
+
s.current !== void 0 && window.clearTimeout(s.current), s.current = void 0, c.current = void 0;
|
|
22
|
+
}, []), u = t((e) => {
|
|
23
|
+
l(), n(e);
|
|
24
|
+
}, [l]), d = t((e) => {
|
|
25
|
+
l(), n((t) => t === e ? null : t);
|
|
26
|
+
}, [l]), f = t((e, t) => {
|
|
27
|
+
(s.current === void 0 || c.current !== e) && (l(), c.current = e, s.current = window.setTimeout(() => {
|
|
28
|
+
s.current = void 0, c.current = void 0, n(e);
|
|
29
|
+
}, t));
|
|
30
|
+
}, [l]);
|
|
31
|
+
return r(() => l, [l]), i(() => ({
|
|
32
|
+
openSub: e,
|
|
33
|
+
setOpenSub: u,
|
|
34
|
+
closeSub: d,
|
|
35
|
+
scheduleSub: f,
|
|
36
|
+
cancelSubTimer: l
|
|
37
|
+
}), [
|
|
38
|
+
e,
|
|
39
|
+
u,
|
|
40
|
+
d,
|
|
41
|
+
f,
|
|
42
|
+
l
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
var m = "data-menu-item";
|
|
46
|
+
function h(e) {
|
|
47
|
+
return Array.from(e.querySelectorAll(`[${m}]`)).filter((t) => t.closest("[role=\"menu\"]") === e);
|
|
48
|
+
}
|
|
49
|
+
function g(e) {
|
|
50
|
+
return e.getAttribute("data-menu-text") || (e.querySelector("[data-menu-label]")?.textContent ?? e.textContent ?? "").trim();
|
|
51
|
+
}
|
|
52
|
+
function _(e) {
|
|
53
|
+
e && (e.focus({ preventScroll: !0 }), e.scrollIntoView?.({ block: "nearest" }));
|
|
54
|
+
}
|
|
55
|
+
var v = "a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),label,summary,iframe,[contenteditable='true'],[tabindex]";
|
|
56
|
+
function y(e) {
|
|
57
|
+
return e ? "left-start" : "right-start";
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { m as ITEM_ATTR, c as MenuLevelContext, l as MenuSubContext, s as MenuTreeContext, v as PRESS_FOCUSABLE, y as defaultSubPlacement, _ as focusItem, g as getItemText, h as getMenuItems, d as useMenuLevel, f as useMenuSub, u as useMenuTree, p as useSubmenuState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../hooks/useMergedRef.cjs.js"),n=require("../../../utils/cx.cjs.js"),r=require("../../primitives/Icon/icons.cjs.js"),i=require("../../primitives/Icon/Icon.cjs.js"),a=require("../../primitives/Kbd/Kbd.cjs.js"),o=require("./MenuContext.cjs.js"),s=require("./Menu.module.css.cjs.js");let c=require("react"),l=require("react/jsx-runtime");var u={neutral:void 0,danger:s.default.danger};function d(e){let t={target:e,defaultPrevented:!1,preventDefault:()=>{t.defaultPrevented=!0}};return t}var f={cmd:`Meta`,meta:`Meta`,ctrl:`Control`,alt:`Alt`,option:`Alt`,shift:`Shift`,enter:`Enter`,return:`Enter`,esc:`Escape`,tab:`Tab`,space:`Space`,backspace:`Backspace`,delete:`Delete`,capslock:`CapsLock`,up:`ArrowUp`,down:`ArrowDown`,left:`ArrowLeft`,right:`ArrowRight`,pageup:`PageUp`,pagedown:`PageDown`,home:`Home`,end:`End`};function p(e,t){return e.map(e=>{let n=e.toLowerCase();return n===`mod`?t===`mac`?`Meta`:`Control`:f[n]??(e.length===1?e.toUpperCase():e)}).join(`+`)}var m={sm:`sm`,md:`sm`,lg:`md`},h=100,g=300,_={x:NaN,y:NaN},v=({role:e,tone:r=`neutral`,disabled:i=!1,icon:c,indicator:d,shortcut:f,end:v,href:y,target:b,rel:x,subId:S,textValue:C,onActivate:w,children:T,className:E,onClick:D,onPointerMove:O,ref:k,"aria-keyshortcuts":A,...j})=>{let M=o.useMenuLevel(`Menu.Item`),N=o.useMenuTree(`Menu.Item`),P=a.useKbdPlatform(),F=t.useMergedRef(k),I=e=>{if(O?.(e),e.defaultPrevented||e.pointerType===`touch`)return;let t=_.x!==e.clientX||_.y!==e.clientY;if(_.x=e.clientX,_.y=e.clientY,!t)return;let n=e.currentTarget,r=S&&M.openSub===S?document.getElementById(n.getAttribute(`aria-controls`)??``):null,a=!!r&&r.contains(document.activeElement);document.activeElement!==n&&!a&&n.focus({preventScroll:!0}),S?M.openSub===S?M.cancelSubTimer():i||M.scheduleSub(S,h):M.openSub!==null&&M.scheduleSub(null,g)},L=e=>{if(i){e.preventDefault();return}D?.(e),!e.defaultPrevented&&w(e)},R=Array.isArray(f),z=A??(R?p(f,P):void 0),B={...j,ref:F,role:e,tabIndex:-1,"aria-disabled":i||void 0,"aria-keyshortcuts":z,"data-disabled":i?``:void 0,"data-menu-text":C,[o.ITEM_ATTR]:``,className:n.cx(s.default.item,u[r],E),onClick:L,onPointerMove:I},V=(0,l.jsxs)(l.Fragment,{children:[d!==void 0&&(0,l.jsx)(`span`,{"aria-hidden":`true`,className:s.default.indicator,children:d}),c&&(0,l.jsx)(`span`,{"aria-hidden":`true`,className:s.default.icon,children:c}),(0,l.jsx)(`span`,{className:s.default.label,"data-menu-label":``,children:T}),f!=null&&f!==!1&&(0,l.jsx)(`span`,{"aria-hidden":`true`,className:s.default.shortcut,children:R?(0,l.jsx)(a.KbdShortcut,{keys:f,size:m[N.size],variant:`soft`}):f}),v]});return y!==void 0&&!i?(0,l.jsx)(`a`,{...B,href:y,target:b,rel:x,children:V}):(0,l.jsx)(`div`,{...B,children:V})};function y(e,t){let n=o.useMenuTree(`Menu.Item`);return r=>{(e??n.closeOnSelect??t)&&!r.defaultPrevented&&n.closeAll(`force`)}}var b=({onSelect:e,closeOnSelect:t,...n})=>{let r=y(t,!0);return(0,l.jsx)(v,{...n,role:`menuitem`,onActivate:t=>{let n=d(t.currentTarget);e?.(n),r(n)}})},x=({checked:t,defaultChecked:n=!1,onCheckedChange:i,onSelect:a,closeOnSelect:o,...s})=>{let[c,u]=e.useControllableState({value:t,defaultValue:n,onChange:i}),f=y(o,!1);return(0,l.jsx)(v,{...s,role:`menuitemcheckbox`,"aria-checked":c,"data-state":c?`checked`:`unchecked`,indicator:c?(0,l.jsx)(r.CheckIcon,{size:`sm`,strokeWidth:3}):null,onActivate:e=>{let t=d(e.currentTarget);a?.(t),u(!c),f(t)}})},S=(0,c.createContext)(null);function C(){let e=(0,c.useId)(),[t,n]=(0,c.useState)(null);return{value:(0,c.useMemo)(()=>({defaultLabelId:e,setLabelId:n}),[e]),labelledBy:t??void 0}}var w=({className:e,children:t,...r})=>{let{value:i,labelledBy:a}=C();return(0,l.jsx)(S.Provider,{value:i,children:(0,l.jsx)(`div`,{role:`group`,"aria-labelledby":r[`aria-label`]?void 0:a,...r,className:n.cx(s.default.group,e),children:t})})},T=({className:e,id:t,...r})=>{let i=(0,c.useContext)(S),a=t??i?.defaultLabelId,o=i?.setLabelId;return(0,c.useLayoutEffect)(()=>{if(o&&a)return o(a),()=>o(null)},[o,a]),(0,l.jsx)(`div`,{...r,id:a,className:n.cx(s.default.groupLabel,e)})},E=({className:e,...t})=>(0,l.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,...t,className:n.cx(s.default.separator,e)}),D=(0,c.createContext)(null),O=({value:t,defaultValue:r,onValueChange:i,className:a,children:o,...u})=>{let[d,f]=e.useControllableState({value:t,defaultValue:r??null,onChange:e=>{e!==null&&i?.(e)}}),p=(0,c.useMemo)(()=>({value:d,setValue:f}),[d,f]),{value:m,labelledBy:h}=C();return(0,l.jsx)(S.Provider,{value:m,children:(0,l.jsx)(D.Provider,{value:p,children:(0,l.jsx)(`div`,{role:`group`,"aria-labelledby":u[`aria-label`]?void 0:h,...u,className:n.cx(s.default.group,a),children:o})})})},k=({value:e,onSelect:t,closeOnSelect:n,...r})=>{let a=(0,c.useContext)(D),o=y(n,!1);if(!a)throw Error(`Menu.RadioItem must be rendered inside <Menu.RadioGroup>.`);let s=a.value===e;return(0,l.jsx)(v,{...r,role:`menuitemradio`,"aria-checked":s,"data-state":s?`checked`:`unchecked`,indicator:s?(0,l.jsx)(i.Icon,{size:`sm`,children:(0,l.jsx)(`circle`,{cx:`12`,cy:`12`,r:`5`,fill:`currentColor`,stroke:`none`})}):null,onActivate:n=>{let r=d(n.currentTarget);t?.(r),a.setValue(e),o(r)}})};exports.MenuCheckboxItem=x,exports.MenuGroup=w,exports.MenuItem=b,exports.MenuItemBase=v,exports.MenuLabel=T,exports.MenuRadioGroup=O,exports.MenuRadioItem=k,exports.MenuSeparator=E;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, MouseEvent, ReactNode, Ref } from 'react';
|
|
2
|
+
import { KbdKeyToken } from '../../primitives/Kbd';
|
|
3
|
+
/** Semantic color of an item. `danger` marks destructive actions. */
|
|
4
|
+
export type MenuItemTone = "neutral" | "danger";
|
|
5
|
+
/**
|
|
6
|
+
* A keyboard shortcut hint: an array of key tokens (`["mod", "D"]`), shown
|
|
7
|
+
* with `KbdShortcut` and exposed as `aria-keyshortcuts`, or any custom node
|
|
8
|
+
* (then pass `aria-keyshortcuts` yourself).
|
|
9
|
+
*/
|
|
10
|
+
export type MenuShortcut = Array<KbdKeyToken | (string & {})> | ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Passed to `onSelect`. Call `preventDefault()` to keep the menu open after
|
|
13
|
+
* this selection.
|
|
14
|
+
*/
|
|
15
|
+
export interface MenuSelectEvent {
|
|
16
|
+
/** The item element that was selected. */
|
|
17
|
+
target: HTMLElement;
|
|
18
|
+
/** True once `preventDefault()` was called. */
|
|
19
|
+
defaultPrevented: boolean;
|
|
20
|
+
/** Keeps the menu open after this selection. */
|
|
21
|
+
preventDefault: () => void;
|
|
22
|
+
}
|
|
23
|
+
/** Props every item shares. */
|
|
24
|
+
interface MenuItemSharedProps extends Omit<ComponentPropsWithRef<"div">, "onSelect" | "ref" | "role"> {
|
|
25
|
+
/** The item's label. */
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
/** Shows the item as unavailable. It stays focusable (`aria-disabled`) but can't be activated. @default false */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Decorative icon before the label. Hidden from assistive technology. */
|
|
30
|
+
icon?: ReactNode;
|
|
31
|
+
/** Text used for typeahead when the label isn't plain text. Defaults to the label's text. */
|
|
32
|
+
textValue?: string;
|
|
33
|
+
/** Ref to the item element (a `div`, or an `a` for link items). */
|
|
34
|
+
ref?: Ref<HTMLElement>;
|
|
35
|
+
}
|
|
36
|
+
interface ItemBaseProps extends MenuItemSharedProps {
|
|
37
|
+
role: "menuitem" | "menuitemcheckbox" | "menuitemradio";
|
|
38
|
+
tone?: MenuItemTone;
|
|
39
|
+
shortcut?: MenuShortcut;
|
|
40
|
+
/** The checkbox/radio slot. `undefined` renders no slot. */
|
|
41
|
+
indicator?: ReactNode;
|
|
42
|
+
/** Trailing content (the submenu chevron). */
|
|
43
|
+
end?: ReactNode;
|
|
44
|
+
href?: string;
|
|
45
|
+
target?: string;
|
|
46
|
+
rel?: string;
|
|
47
|
+
/** Set on a `SubTrigger`: hovering opens this submenu. */
|
|
48
|
+
subId?: string;
|
|
49
|
+
onActivate: (event: MouseEvent<HTMLElement>) => void;
|
|
50
|
+
}
|
|
51
|
+
/** @internal Renders one menu item and wires focus, hover, and activation. */
|
|
52
|
+
export declare const MenuItemBase: ({ role, tone, disabled, icon, indicator, shortcut, end, href, target, rel, subId, textValue, onActivate, children, className, onClick, onPointerMove, ref, "aria-keyshortcuts": ariaKeyShortcuts, ...rest }: ItemBaseProps) => import("react").JSX.Element;
|
|
53
|
+
export interface MenuItemProps extends MenuItemSharedProps {
|
|
54
|
+
/**
|
|
55
|
+
* Called when the item is chosen by click, Enter, or Space. Call
|
|
56
|
+
* `event.preventDefault()` to keep the menu open.
|
|
57
|
+
*/
|
|
58
|
+
onSelect?: (event: MenuSelectEvent) => void;
|
|
59
|
+
/** Semantic color. Use `danger` for destructive actions (pair it with a clear label or icon). @default "neutral" */
|
|
60
|
+
tone?: MenuItemTone;
|
|
61
|
+
/** Keyboard shortcut hint shown at the end of the item, e.g. `["mod", "D"]`. */
|
|
62
|
+
shortcut?: MenuShortcut;
|
|
63
|
+
/** Close the menu after selection. Defaults to the root `closeOnSelect`, then `true`. */
|
|
64
|
+
closeOnSelect?: boolean;
|
|
65
|
+
/** Render the item as a link (`<a role="menuitem">`) to this URL. Dropped while `disabled`. */
|
|
66
|
+
href?: string;
|
|
67
|
+
/** Link target, with `href`. */
|
|
68
|
+
target?: string;
|
|
69
|
+
/** Link `rel`, with `href`. */
|
|
70
|
+
rel?: string;
|
|
71
|
+
}
|
|
72
|
+
/** An action (`role="menuitem"`). Closes the menu when selected by default. */
|
|
73
|
+
export declare const MenuItem: ({ onSelect, closeOnSelect, ...rest }: MenuItemProps) => import("react").JSX.Element;
|
|
74
|
+
export interface MenuCheckboxItemProps extends MenuItemSharedProps {
|
|
75
|
+
/** Controlled checked state. */
|
|
76
|
+
checked?: boolean;
|
|
77
|
+
/** Initial checked state when uncontrolled. @default false */
|
|
78
|
+
defaultChecked?: boolean;
|
|
79
|
+
/** Called with the next checked state when the item is toggled. */
|
|
80
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
81
|
+
/** Called when the item is chosen, before it toggles. `preventDefault()` keeps the menu open (it already does by default). */
|
|
82
|
+
onSelect?: (event: MenuSelectEvent) => void;
|
|
83
|
+
/** Keyboard shortcut hint shown at the end of the item. */
|
|
84
|
+
shortcut?: MenuShortcut;
|
|
85
|
+
/** Close the menu after toggling. Defaults to the root `closeOnSelect`, then `false`. */
|
|
86
|
+
closeOnSelect?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* An on/off option (`role="menuitemcheckbox"` with `aria-checked`). Shows a
|
|
90
|
+
* check icon when checked. Keeps the menu open by default.
|
|
91
|
+
*/
|
|
92
|
+
export declare const MenuCheckboxItem: ({ checked: checkedProp, defaultChecked, onCheckedChange, onSelect, closeOnSelect, ...rest }: MenuCheckboxItemProps) => import("react").JSX.Element;
|
|
93
|
+
export type MenuGroupProps = ComponentPropsWithRef<"div">;
|
|
94
|
+
/**
|
|
95
|
+
* Groups related items (`role="group"`). A `Menu.Label` inside names the
|
|
96
|
+
* group; otherwise pass `aria-label`.
|
|
97
|
+
*/
|
|
98
|
+
export declare const MenuGroup: ({ className, children, ...rest }: MenuGroupProps) => import("react").JSX.Element;
|
|
99
|
+
export type MenuLabelProps = ComponentPropsWithRef<"div">;
|
|
100
|
+
/**
|
|
101
|
+
* A small heading for a group of items. Inside `Menu.Group` or
|
|
102
|
+
* `Menu.RadioGroup` it names the group (`aria-labelledby`). Not focusable.
|
|
103
|
+
*/
|
|
104
|
+
export declare const MenuLabel: ({ className, id, ...rest }: MenuLabelProps) => import("react").JSX.Element;
|
|
105
|
+
export type MenuSeparatorProps = Omit<ComponentPropsWithRef<"div">, "children">;
|
|
106
|
+
/** A divider between groups of items (`role="separator"`). */
|
|
107
|
+
export declare const MenuSeparator: ({ className, ...rest }: MenuSeparatorProps) => import("react").JSX.Element;
|
|
108
|
+
export interface MenuRadioGroupProps extends Omit<ComponentPropsWithRef<"div">, "defaultValue" | "onChange"> {
|
|
109
|
+
/** Controlled selected value. */
|
|
110
|
+
value?: string;
|
|
111
|
+
/** Initial selected value when uncontrolled. */
|
|
112
|
+
defaultValue?: string;
|
|
113
|
+
/** Called with the newly selected value. */
|
|
114
|
+
onValueChange?: (value: string) => void;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* A set of mutually exclusive `Menu.RadioItem`s (`role="group"`). Name it
|
|
118
|
+
* with a `Menu.Label` inside or `aria-label`.
|
|
119
|
+
*/
|
|
120
|
+
export declare const MenuRadioGroup: ({ value: valueProp, defaultValue, onValueChange, className, children, ...rest }: MenuRadioGroupProps) => import("react").JSX.Element;
|
|
121
|
+
export interface MenuRadioItemProps extends MenuItemSharedProps {
|
|
122
|
+
/** The value this item selects in its `Menu.RadioGroup`. */
|
|
123
|
+
value: string;
|
|
124
|
+
/** Called when the item is chosen, before the group value changes. */
|
|
125
|
+
onSelect?: (event: MenuSelectEvent) => void;
|
|
126
|
+
/** Keyboard shortcut hint shown at the end of the item. */
|
|
127
|
+
shortcut?: MenuShortcut;
|
|
128
|
+
/** Close the menu after choosing. Defaults to the root `closeOnSelect`, then `false`. */
|
|
129
|
+
closeOnSelect?: boolean;
|
|
130
|
+
}
|
|
131
|
+
/** One option of a `Menu.RadioGroup` (`role="menuitemradio"` with `aria-checked`). Shows a dot when checked. */
|
|
132
|
+
export declare const MenuRadioItem: ({ value, onSelect, closeOnSelect, ...rest }: MenuRadioItemProps) => import("react").JSX.Element;
|
|
133
|
+
export {};
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
|
|
2
|
+
import { useMergedRef as t } from "../../../hooks/useMergedRef.mjs";
|
|
3
|
+
import { cx as n } from "../../../utils/cx.mjs";
|
|
4
|
+
import { CheckIcon as r } from "../../primitives/Icon/icons.mjs";
|
|
5
|
+
import { Icon as i } from "../../primitives/Icon/Icon.mjs";
|
|
6
|
+
import { KbdShortcut as a, useKbdPlatform as o } from "../../primitives/Kbd/Kbd.mjs";
|
|
7
|
+
import { ITEM_ATTR as s, useMenuLevel as c, useMenuTree as l } from "./MenuContext.mjs";
|
|
8
|
+
import u from "./Menu.module.css.mjs";
|
|
9
|
+
import { createContext as d, useContext as f, useId as p, useLayoutEffect as m, useMemo as h, useState as g } from "react";
|
|
10
|
+
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
11
|
+
//#region src/components/navigation/Menu/MenuItem.tsx
|
|
12
|
+
var b = {
|
|
13
|
+
neutral: void 0,
|
|
14
|
+
danger: u.danger
|
|
15
|
+
};
|
|
16
|
+
function x(e) {
|
|
17
|
+
let t = {
|
|
18
|
+
target: e,
|
|
19
|
+
defaultPrevented: !1,
|
|
20
|
+
preventDefault: () => {
|
|
21
|
+
t.defaultPrevented = !0;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
return t;
|
|
25
|
+
}
|
|
26
|
+
var S = {
|
|
27
|
+
cmd: "Meta",
|
|
28
|
+
meta: "Meta",
|
|
29
|
+
ctrl: "Control",
|
|
30
|
+
alt: "Alt",
|
|
31
|
+
option: "Alt",
|
|
32
|
+
shift: "Shift",
|
|
33
|
+
enter: "Enter",
|
|
34
|
+
return: "Enter",
|
|
35
|
+
esc: "Escape",
|
|
36
|
+
tab: "Tab",
|
|
37
|
+
space: "Space",
|
|
38
|
+
backspace: "Backspace",
|
|
39
|
+
delete: "Delete",
|
|
40
|
+
capslock: "CapsLock",
|
|
41
|
+
up: "ArrowUp",
|
|
42
|
+
down: "ArrowDown",
|
|
43
|
+
left: "ArrowLeft",
|
|
44
|
+
right: "ArrowRight",
|
|
45
|
+
pageup: "PageUp",
|
|
46
|
+
pagedown: "PageDown",
|
|
47
|
+
home: "Home",
|
|
48
|
+
end: "End"
|
|
49
|
+
};
|
|
50
|
+
function C(e, t) {
|
|
51
|
+
return e.map((e) => {
|
|
52
|
+
let n = e.toLowerCase();
|
|
53
|
+
return n === "mod" ? t === "mac" ? "Meta" : "Control" : S[n] ?? (e.length === 1 ? e.toUpperCase() : e);
|
|
54
|
+
}).join("+");
|
|
55
|
+
}
|
|
56
|
+
var w = {
|
|
57
|
+
sm: "sm",
|
|
58
|
+
md: "sm",
|
|
59
|
+
lg: "md"
|
|
60
|
+
}, T = 100, E = 300, D = {
|
|
61
|
+
x: NaN,
|
|
62
|
+
y: NaN
|
|
63
|
+
}, O = ({ role: e, tone: r = "neutral", disabled: i = !1, icon: d, indicator: f, shortcut: p, end: m, href: h, target: g, rel: x, subId: S, textValue: O, onActivate: k, children: A, className: j, onClick: M, onPointerMove: N, ref: P, "aria-keyshortcuts": F, ...I }) => {
|
|
64
|
+
let L = c("Menu.Item"), R = l("Menu.Item"), z = o(), B = t(P), V = (e) => {
|
|
65
|
+
if (N?.(e), e.defaultPrevented || e.pointerType === "touch") return;
|
|
66
|
+
let t = D.x !== e.clientX || D.y !== e.clientY;
|
|
67
|
+
if (D.x = e.clientX, D.y = e.clientY, !t) return;
|
|
68
|
+
let n = e.currentTarget, r = S && L.openSub === S ? document.getElementById(n.getAttribute("aria-controls") ?? "") : null, a = !!r && r.contains(document.activeElement);
|
|
69
|
+
document.activeElement !== n && !a && n.focus({ preventScroll: !0 }), S ? L.openSub === S ? L.cancelSubTimer() : i || L.scheduleSub(S, T) : L.openSub !== null && L.scheduleSub(null, E);
|
|
70
|
+
}, H = (e) => {
|
|
71
|
+
if (i) {
|
|
72
|
+
e.preventDefault();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
M?.(e), !e.defaultPrevented && k(e);
|
|
76
|
+
}, U = Array.isArray(p), W = F ?? (U ? C(p, z) : void 0), G = {
|
|
77
|
+
...I,
|
|
78
|
+
ref: B,
|
|
79
|
+
role: e,
|
|
80
|
+
tabIndex: -1,
|
|
81
|
+
"aria-disabled": i || void 0,
|
|
82
|
+
"aria-keyshortcuts": W,
|
|
83
|
+
"data-disabled": i ? "" : void 0,
|
|
84
|
+
"data-menu-text": O,
|
|
85
|
+
[s]: "",
|
|
86
|
+
className: n(u.item, b[r], j),
|
|
87
|
+
onClick: H,
|
|
88
|
+
onPointerMove: V
|
|
89
|
+
}, K = /* @__PURE__ */ y(_, { children: [
|
|
90
|
+
f !== void 0 && /* @__PURE__ */ v("span", {
|
|
91
|
+
"aria-hidden": "true",
|
|
92
|
+
className: u.indicator,
|
|
93
|
+
children: f
|
|
94
|
+
}),
|
|
95
|
+
d && /* @__PURE__ */ v("span", {
|
|
96
|
+
"aria-hidden": "true",
|
|
97
|
+
className: u.icon,
|
|
98
|
+
children: d
|
|
99
|
+
}),
|
|
100
|
+
/* @__PURE__ */ v("span", {
|
|
101
|
+
className: u.label,
|
|
102
|
+
"data-menu-label": "",
|
|
103
|
+
children: A
|
|
104
|
+
}),
|
|
105
|
+
p != null && p !== !1 && /* @__PURE__ */ v("span", {
|
|
106
|
+
"aria-hidden": "true",
|
|
107
|
+
className: u.shortcut,
|
|
108
|
+
children: U ? /* @__PURE__ */ v(a, {
|
|
109
|
+
keys: p,
|
|
110
|
+
size: w[R.size],
|
|
111
|
+
variant: "soft"
|
|
112
|
+
}) : p
|
|
113
|
+
}),
|
|
114
|
+
m
|
|
115
|
+
] });
|
|
116
|
+
return h !== void 0 && !i ? /* @__PURE__ */ v("a", {
|
|
117
|
+
...G,
|
|
118
|
+
href: h,
|
|
119
|
+
target: g,
|
|
120
|
+
rel: x,
|
|
121
|
+
children: K
|
|
122
|
+
}) : /* @__PURE__ */ v("div", {
|
|
123
|
+
...G,
|
|
124
|
+
children: K
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
function k(e, t) {
|
|
128
|
+
let n = l("Menu.Item");
|
|
129
|
+
return (r) => {
|
|
130
|
+
(e ?? n.closeOnSelect ?? t) && !r.defaultPrevented && n.closeAll("force");
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
var A = ({ onSelect: e, closeOnSelect: t, ...n }) => {
|
|
134
|
+
let r = k(t, !0);
|
|
135
|
+
return /* @__PURE__ */ v(O, {
|
|
136
|
+
...n,
|
|
137
|
+
role: "menuitem",
|
|
138
|
+
onActivate: (t) => {
|
|
139
|
+
let n = x(t.currentTarget);
|
|
140
|
+
e?.(n), r(n);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}, j = ({ checked: t, defaultChecked: n = !1, onCheckedChange: i, onSelect: a, closeOnSelect: o, ...s }) => {
|
|
144
|
+
let [c, l] = e({
|
|
145
|
+
value: t,
|
|
146
|
+
defaultValue: n,
|
|
147
|
+
onChange: i
|
|
148
|
+
}), u = k(o, !1);
|
|
149
|
+
return /* @__PURE__ */ v(O, {
|
|
150
|
+
...s,
|
|
151
|
+
role: "menuitemcheckbox",
|
|
152
|
+
"aria-checked": c,
|
|
153
|
+
"data-state": c ? "checked" : "unchecked",
|
|
154
|
+
indicator: c ? /* @__PURE__ */ v(r, {
|
|
155
|
+
size: "sm",
|
|
156
|
+
strokeWidth: 3
|
|
157
|
+
}) : null,
|
|
158
|
+
onActivate: (e) => {
|
|
159
|
+
let t = x(e.currentTarget);
|
|
160
|
+
a?.(t), l(!c), u(t);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}, M = d(null);
|
|
164
|
+
function N() {
|
|
165
|
+
let e = p(), [t, n] = g(null);
|
|
166
|
+
return {
|
|
167
|
+
value: h(() => ({
|
|
168
|
+
defaultLabelId: e,
|
|
169
|
+
setLabelId: n
|
|
170
|
+
}), [e]),
|
|
171
|
+
labelledBy: t ?? void 0
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
var P = ({ className: e, children: t, ...r }) => {
|
|
175
|
+
let { value: i, labelledBy: a } = N();
|
|
176
|
+
return /* @__PURE__ */ v(M.Provider, {
|
|
177
|
+
value: i,
|
|
178
|
+
children: /* @__PURE__ */ v("div", {
|
|
179
|
+
role: "group",
|
|
180
|
+
"aria-labelledby": r["aria-label"] ? void 0 : a,
|
|
181
|
+
...r,
|
|
182
|
+
className: n(u.group, e),
|
|
183
|
+
children: t
|
|
184
|
+
})
|
|
185
|
+
});
|
|
186
|
+
}, F = ({ className: e, id: t, ...r }) => {
|
|
187
|
+
let i = f(M), a = t ?? i?.defaultLabelId, o = i?.setLabelId;
|
|
188
|
+
return m(() => {
|
|
189
|
+
if (o && a) return o(a), () => o(null);
|
|
190
|
+
}, [o, a]), /* @__PURE__ */ v("div", {
|
|
191
|
+
...r,
|
|
192
|
+
id: a,
|
|
193
|
+
className: n(u.groupLabel, e)
|
|
194
|
+
});
|
|
195
|
+
}, I = ({ className: e, ...t }) => /* @__PURE__ */ v("div", {
|
|
196
|
+
role: "separator",
|
|
197
|
+
"aria-orientation": "horizontal",
|
|
198
|
+
...t,
|
|
199
|
+
className: n(u.separator, e)
|
|
200
|
+
}), L = d(null), R = ({ value: t, defaultValue: r, onValueChange: i, className: a, children: o, ...s }) => {
|
|
201
|
+
let [c, l] = e({
|
|
202
|
+
value: t,
|
|
203
|
+
defaultValue: r ?? null,
|
|
204
|
+
onChange: (e) => {
|
|
205
|
+
e !== null && i?.(e);
|
|
206
|
+
}
|
|
207
|
+
}), d = h(() => ({
|
|
208
|
+
value: c,
|
|
209
|
+
setValue: l
|
|
210
|
+
}), [c, l]), { value: f, labelledBy: p } = N();
|
|
211
|
+
return /* @__PURE__ */ v(M.Provider, {
|
|
212
|
+
value: f,
|
|
213
|
+
children: /* @__PURE__ */ v(L.Provider, {
|
|
214
|
+
value: d,
|
|
215
|
+
children: /* @__PURE__ */ v("div", {
|
|
216
|
+
role: "group",
|
|
217
|
+
"aria-labelledby": s["aria-label"] ? void 0 : p,
|
|
218
|
+
...s,
|
|
219
|
+
className: n(u.group, a),
|
|
220
|
+
children: o
|
|
221
|
+
})
|
|
222
|
+
})
|
|
223
|
+
});
|
|
224
|
+
}, z = ({ value: e, onSelect: t, closeOnSelect: n, ...r }) => {
|
|
225
|
+
let a = f(L), o = k(n, !1);
|
|
226
|
+
if (!a) throw Error("Menu.RadioItem must be rendered inside <Menu.RadioGroup>.");
|
|
227
|
+
let s = a.value === e;
|
|
228
|
+
return /* @__PURE__ */ v(O, {
|
|
229
|
+
...r,
|
|
230
|
+
role: "menuitemradio",
|
|
231
|
+
"aria-checked": s,
|
|
232
|
+
"data-state": s ? "checked" : "unchecked",
|
|
233
|
+
indicator: s ? /* @__PURE__ */ v(i, {
|
|
234
|
+
size: "sm",
|
|
235
|
+
children: /* @__PURE__ */ v("circle", {
|
|
236
|
+
cx: "12",
|
|
237
|
+
cy: "12",
|
|
238
|
+
r: "5",
|
|
239
|
+
fill: "currentColor",
|
|
240
|
+
stroke: "none"
|
|
241
|
+
})
|
|
242
|
+
}) : null,
|
|
243
|
+
onActivate: (n) => {
|
|
244
|
+
let r = x(n.currentTarget);
|
|
245
|
+
t?.(r), a.setValue(e), o(r);
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
//#endregion
|
|
250
|
+
export { j as MenuCheckboxItem, P as MenuGroup, A as MenuItem, O as MenuItemBase, F as MenuLabel, R as MenuRadioGroup, z as MenuRadioItem, I as MenuSeparator };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../../hooks/useMergedRef.cjs.js"),t=require("../../../utils/cx.cjs.js"),n=require("../../utilities/Portal/Portal.cjs.js"),r=require("../../primitives/Icon/icons.cjs.js"),i=require("./MenuContext.cjs.js"),a=require("./Menu.module.css.cjs.js"),o=require("./MenuContent.cjs.js"),s=require("./MenuItem.cjs.js");let c=require("react"),l=require("react/jsx-runtime");var u=({children:e,onOpenChange:t})=>{let n=i.useMenuLevel(`Menu.Sub`),r=`sub-${(0,c.useId)()}`,a=n.open&&n.openSub===r,o=(0,c.useRef)(null),s=(0,c.useRef)(null),u=(0,c.useRef)(`none`),d=(0,c.useRef)(`auto`),[f,p]=(0,c.useState)(0),m=i.useSubmenuState(),{setOpenSub:h}=m,{setOpenSub:g,closeSub:_}=n,v=(0,c.useCallback)((e,t={})=>{e?(d.current=`auto`,u.current=t.focus??`none`,p(e=>e+1),g(r)):(d.current=t.restore??`auto`,_(r))},[r,g,_]);(0,c.useEffect)(()=>{a||(h(null),u.current=`none`)},[a,h]);let y=(0,c.useRef)(t);y.current=t;let b=(0,c.useRef)(!0);(0,c.useEffect)(()=>{if(b.current){b.current=!1;return}y.current?.(a)},[a]);let x=(0,c.useMemo)(()=>({id:r,isSub:!0,open:a,setOpen:v,focusNonce:f,openFocusRef:u,restoreModeRef:d,triggerRef:o,contentRef:s,contentId:`${r}-menu`,triggerId:`${r}-trigger`,parent:n,...m}),[r,a,v,f,n,m]);return(0,l.jsx)(i.MenuSubContext.Provider,{value:x,children:e})},d=({ref:n,id:o,className:c,...u})=>{let d=i.useMenuSub(`Menu.SubTrigger`),f=e.useMergedRef(d.triggerRef,n);return(0,l.jsx)(s.MenuItemBase,{...u,ref:f,id:o??d.triggerId,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":d.open,"aria-controls":d.open?d.contentId:void 0,"data-state":d.open?`open`:`closed`,subId:d.id,className:t.cx(a.default.subTrigger,c),end:(0,l.jsx)(`span`,{"aria-hidden":`true`,className:a.default.chevron,children:(0,l.jsx)(r.ChevronRightIcon,{size:`sm`})}),onActivate:e=>{d.setOpen(!0,{focus:e.detail===0?`first`:`none`})}})},f=({container:e,...t})=>{let r=i.useMenuSub(`Menu.SubContent`),a=i.useMenuTree(`Menu.SubContent`);return r.open?(0,l.jsx)(n.Portal,{container:e,children:(0,l.jsx)(o.MenuSurface,{...t,level:r,tree:a})}):null};exports.MenuSub=u,exports.MenuSubContent=f,exports.MenuSubTrigger=d;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { MenuSubContentProps } from './MenuContent';
|
|
3
|
+
import { MenuItemProps } from './MenuItem';
|
|
4
|
+
export interface MenuSubProps {
|
|
5
|
+
/** A `Menu.SubTrigger` and a `Menu.SubContent`. */
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
/** Called with the next open state whenever the submenu opens or closes. */
|
|
8
|
+
onOpenChange?: (open: boolean) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A nested menu. Only one submenu per level is open at a time; it closes
|
|
12
|
+
* with its parent. Put a `Menu.SubTrigger` and a `Menu.SubContent` inside.
|
|
13
|
+
*/
|
|
14
|
+
export declare const MenuSub: ({ children, onOpenChange }: MenuSubProps) => import("react").JSX.Element;
|
|
15
|
+
export type MenuSubTriggerProps = Omit<MenuItemProps, "onSelect" | "closeOnSelect" | "href" | "target" | "rel" | "shortcut" | "tone">;
|
|
16
|
+
/**
|
|
17
|
+
* The item that opens a submenu (`role="menuitem"` with
|
|
18
|
+
* `aria-haspopup="menu"` and `aria-expanded`). Opens on hover after a short
|
|
19
|
+
* delay, on click, and with Enter, Space, or ArrowRight (ArrowLeft in RTL),
|
|
20
|
+
* which also move focus to the submenu's first item.
|
|
21
|
+
*/
|
|
22
|
+
export declare const MenuSubTrigger: ({ ref, id, className, ...rest }: MenuSubTriggerProps) => import("react").JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* The submenu surface (`role="menu"`, labelled by its `SubTrigger`).
|
|
25
|
+
* Portaled, placed beside the trigger (flips when there isn't room), and
|
|
26
|
+
* mounted only while open.
|
|
27
|
+
*/
|
|
28
|
+
export declare const MenuSubContent: ({ container, ...props }: MenuSubContentProps) => import("react").JSX.Element | null;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { useMergedRef as e } from "../../../hooks/useMergedRef.mjs";
|
|
2
|
+
import { cx as t } from "../../../utils/cx.mjs";
|
|
3
|
+
import { Portal as n } from "../../utilities/Portal/Portal.mjs";
|
|
4
|
+
import { ChevronRightIcon as r } from "../../primitives/Icon/icons.mjs";
|
|
5
|
+
import { MenuSubContext as i, useMenuLevel as a, useMenuSub as o, useMenuTree as s, useSubmenuState as c } from "./MenuContext.mjs";
|
|
6
|
+
import l from "./Menu.module.css.mjs";
|
|
7
|
+
import { MenuSurface as u } from "./MenuContent.mjs";
|
|
8
|
+
import { MenuItemBase as d } from "./MenuItem.mjs";
|
|
9
|
+
import { useCallback as f, useEffect as p, useId as m, useMemo as h, useRef as g, useState as _ } from "react";
|
|
10
|
+
import { jsx as v } from "react/jsx-runtime";
|
|
11
|
+
//#region src/components/navigation/Menu/MenuSub.tsx
|
|
12
|
+
var y = ({ children: e, onOpenChange: t }) => {
|
|
13
|
+
let n = a("Menu.Sub"), r = `sub-${m()}`, o = n.open && n.openSub === r, s = g(null), l = g(null), u = g("none"), d = g("auto"), [y, b] = _(0), x = c(), { setOpenSub: S } = x, { setOpenSub: C, closeSub: w } = n, T = f((e, t = {}) => {
|
|
14
|
+
e ? (d.current = "auto", u.current = t.focus ?? "none", b((e) => e + 1), C(r)) : (d.current = t.restore ?? "auto", w(r));
|
|
15
|
+
}, [
|
|
16
|
+
r,
|
|
17
|
+
C,
|
|
18
|
+
w
|
|
19
|
+
]);
|
|
20
|
+
p(() => {
|
|
21
|
+
o || (S(null), u.current = "none");
|
|
22
|
+
}, [o, S]);
|
|
23
|
+
let E = g(t);
|
|
24
|
+
E.current = t;
|
|
25
|
+
let D = g(!0);
|
|
26
|
+
p(() => {
|
|
27
|
+
if (D.current) {
|
|
28
|
+
D.current = !1;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
E.current?.(o);
|
|
32
|
+
}, [o]);
|
|
33
|
+
let O = h(() => ({
|
|
34
|
+
id: r,
|
|
35
|
+
isSub: !0,
|
|
36
|
+
open: o,
|
|
37
|
+
setOpen: T,
|
|
38
|
+
focusNonce: y,
|
|
39
|
+
openFocusRef: u,
|
|
40
|
+
restoreModeRef: d,
|
|
41
|
+
triggerRef: s,
|
|
42
|
+
contentRef: l,
|
|
43
|
+
contentId: `${r}-menu`,
|
|
44
|
+
triggerId: `${r}-trigger`,
|
|
45
|
+
parent: n,
|
|
46
|
+
...x
|
|
47
|
+
}), [
|
|
48
|
+
r,
|
|
49
|
+
o,
|
|
50
|
+
T,
|
|
51
|
+
y,
|
|
52
|
+
n,
|
|
53
|
+
x
|
|
54
|
+
]);
|
|
55
|
+
return /* @__PURE__ */ v(i.Provider, {
|
|
56
|
+
value: O,
|
|
57
|
+
children: e
|
|
58
|
+
});
|
|
59
|
+
}, b = ({ ref: n, id: i, className: a, ...s }) => {
|
|
60
|
+
let c = o("Menu.SubTrigger"), u = e(c.triggerRef, n);
|
|
61
|
+
return /* @__PURE__ */ v(d, {
|
|
62
|
+
...s,
|
|
63
|
+
ref: u,
|
|
64
|
+
id: i ?? c.triggerId,
|
|
65
|
+
role: "menuitem",
|
|
66
|
+
"aria-haspopup": "menu",
|
|
67
|
+
"aria-expanded": c.open,
|
|
68
|
+
"aria-controls": c.open ? c.contentId : void 0,
|
|
69
|
+
"data-state": c.open ? "open" : "closed",
|
|
70
|
+
subId: c.id,
|
|
71
|
+
className: t(l.subTrigger, a),
|
|
72
|
+
end: /* @__PURE__ */ v("span", {
|
|
73
|
+
"aria-hidden": "true",
|
|
74
|
+
className: l.chevron,
|
|
75
|
+
children: /* @__PURE__ */ v(r, { size: "sm" })
|
|
76
|
+
}),
|
|
77
|
+
onActivate: (e) => {
|
|
78
|
+
c.setOpen(!0, { focus: e.detail === 0 ? "first" : "none" });
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}, x = ({ container: e, ...t }) => {
|
|
82
|
+
let r = o("Menu.SubContent"), i = s("Menu.SubContent");
|
|
83
|
+
return r.open ? /* @__PURE__ */ v(n, {
|
|
84
|
+
container: e,
|
|
85
|
+
children: /* @__PURE__ */ v(u, {
|
|
86
|
+
...t,
|
|
87
|
+
level: r,
|
|
88
|
+
tree: i
|
|
89
|
+
})
|
|
90
|
+
}) : null;
|
|
91
|
+
};
|
|
92
|
+
//#endregion
|
|
93
|
+
export { y as MenuSub, x as MenuSubContent, b as MenuSubTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Menu';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../../hooks/useControllableState.cjs.js"),t=require("./MenuContext.cjs.js");let n=require("react");function r({open:r,defaultOpen:i=!1,onOpenChange:a,size:o=`md`,closeOnSelect:s,anchorRef:c}){let[l,u]=e.useControllableState({value:r,defaultValue:i,onChange:a}),d=(0,n.useRef)(null),f=(0,n.useRef)(null),p=(0,n.useRef)(i?`first`:`none`),m=(0,n.useRef)(`auto`),h=(0,n.useRef)(!1),[g,_]=(0,n.useState)(0),v=t.useSubmenuState(),{setOpenSub:y}=v,b=(0,n.useId)(),x=(0,n.useCallback)((e,t={})=>{e?(h.current=!1,m.current=`auto`,p.current=t.focus??`first`,_(e=>e+1)):m.current=t.restore??`auto`,u(e)},[u]);return(0,n.useEffect)(()=>{l?h.current=!1:y(null)},[l,y]),{level:(0,n.useMemo)(()=>({id:b,isSub:!1,open:l,setOpen:x,focusNonce:g,openFocusRef:p,restoreModeRef:m,triggerRef:d,anchorRef:c,contentRef:f,contentId:`${b}-menu`,triggerId:`${b}-trigger`,parent:null,...v}),[l,x,g,b,v,c]),tree:(0,n.useMemo)(()=>({treeId:b,size:o,closeOnSelect:s,closingAllRef:h,closeAll:(e=`force`)=>{h.current=!0,x(!1,{restore:e}),window.setTimeout(()=>{h.current=!1},0)},focusRootTrigger:()=>d.current?.focus({preventScroll:!0})}),[b,o,s,x])}}exports.useMenuRoot=r;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { MenuLevelContextValue, MenuTreeContextValue } from './MenuContext';
|
|
3
|
+
import { MenuProps } from './Menu';
|
|
4
|
+
/**
|
|
5
|
+
* @internal The state of a root menu level and its tree, shared by `Menu`
|
|
6
|
+
* and `ContextMenu`. `anchorRef`, when given, positions the menu instead of
|
|
7
|
+
* the trigger (ContextMenu anchors it to the pointer).
|
|
8
|
+
*/
|
|
9
|
+
export declare function useMenuRoot({ open: openProp, defaultOpen, onOpenChange, size, closeOnSelect, anchorRef, }: Omit<MenuProps, "children"> & {
|
|
10
|
+
anchorRef?: RefObject<HTMLElement | null>;
|
|
11
|
+
}): {
|
|
12
|
+
level: MenuLevelContextValue;
|
|
13
|
+
tree: MenuTreeContextValue;
|
|
14
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
|
|
2
|
+
import { useSubmenuState as t } from "./MenuContext.mjs";
|
|
3
|
+
import { useCallback as n, useEffect as r, useId as i, useMemo as a, useRef as o, useState as s } from "react";
|
|
4
|
+
//#region src/components/navigation/Menu/useMenuRoot.ts
|
|
5
|
+
function c({ open: c, defaultOpen: l = !1, onOpenChange: u, size: d = "md", closeOnSelect: f, anchorRef: p }) {
|
|
6
|
+
let [m, h] = e({
|
|
7
|
+
value: c,
|
|
8
|
+
defaultValue: l,
|
|
9
|
+
onChange: u
|
|
10
|
+
}), g = o(null), _ = o(null), v = o(l ? "first" : "none"), y = o("auto"), b = o(!1), [x, S] = s(0), C = t(), { setOpenSub: w } = C, T = i(), E = n((e, t = {}) => {
|
|
11
|
+
e ? (b.current = !1, y.current = "auto", v.current = t.focus ?? "first", S((e) => e + 1)) : y.current = t.restore ?? "auto", h(e);
|
|
12
|
+
}, [h]);
|
|
13
|
+
return r(() => {
|
|
14
|
+
m ? b.current = !1 : w(null);
|
|
15
|
+
}, [m, w]), {
|
|
16
|
+
level: a(() => ({
|
|
17
|
+
id: T,
|
|
18
|
+
isSub: !1,
|
|
19
|
+
open: m,
|
|
20
|
+
setOpen: E,
|
|
21
|
+
focusNonce: x,
|
|
22
|
+
openFocusRef: v,
|
|
23
|
+
restoreModeRef: y,
|
|
24
|
+
triggerRef: g,
|
|
25
|
+
anchorRef: p,
|
|
26
|
+
contentRef: _,
|
|
27
|
+
contentId: `${T}-menu`,
|
|
28
|
+
triggerId: `${T}-trigger`,
|
|
29
|
+
parent: null,
|
|
30
|
+
...C
|
|
31
|
+
}), [
|
|
32
|
+
m,
|
|
33
|
+
E,
|
|
34
|
+
x,
|
|
35
|
+
T,
|
|
36
|
+
C,
|
|
37
|
+
p
|
|
38
|
+
]),
|
|
39
|
+
tree: a(() => ({
|
|
40
|
+
treeId: T,
|
|
41
|
+
size: d,
|
|
42
|
+
closeOnSelect: f,
|
|
43
|
+
closingAllRef: b,
|
|
44
|
+
closeAll: (e = "force") => {
|
|
45
|
+
b.current = !0, E(!1, { restore: e }), window.setTimeout(() => {
|
|
46
|
+
b.current = !1;
|
|
47
|
+
}, 0);
|
|
48
|
+
},
|
|
49
|
+
focusRootTrigger: () => g.current?.focus({ preventScroll: !0 })
|
|
50
|
+
}), [
|
|
51
|
+
T,
|
|
52
|
+
d,
|
|
53
|
+
f,
|
|
54
|
+
E
|
|
55
|
+
])
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { c as useMenuRoot };
|