@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,36 @@
|
|
|
1
|
+
//#region src/components/overlays/Modal/Modal.module.css
|
|
2
|
+
var e = "_root_8lyks_39", t = "_overlay_8lyks_55", n = "_overlayIn_8lyks_1", r = "_overlayOut_8lyks_1", i = "_positioner_8lyks_97", a = "_scrollInside_8lyks_121", o = "_scrollOutside_8lyks_129", s = "_positionerFull_8lyks_137", c = "_placementCenter_8lyks_147", l = "_placementTop_8lyks_149", u = "_content_8lyks_161", d = "_contentInSheet_8lyks_1", f = "_contentOutSheet_8lyks_1", p = "_sizeSm_8lyks_233", m = "_sizeMd_8lyks_235", h = "_sizeLg_8lyks_237", g = "_sizeXl_8lyks_239", _ = "_sizeFull_8lyks_247", v = "_inner_8lyks_269", y = "_closeButton_8lyks_287", b = "_header_8lyks_305", x = "_hasClose_8lyks_319", S = "_title_8lyks_327", C = "_description_8lyks_343", w = "_body_8lyks_355", T = "_footer_8lyks_421", E = "_confirmIcon_8lyks_449", D = "_confirmIconDanger_8lyks_473", O = "_contentIn_8lyks_1", k = "_contentOut_8lyks_1", A = "_mobileCard_8lyks_627", j = {
|
|
3
|
+
root: e,
|
|
4
|
+
overlay: t,
|
|
5
|
+
overlayIn: n,
|
|
6
|
+
overlayOut: r,
|
|
7
|
+
positioner: i,
|
|
8
|
+
scrollInside: a,
|
|
9
|
+
scrollOutside: o,
|
|
10
|
+
positionerFull: s,
|
|
11
|
+
placementCenter: c,
|
|
12
|
+
placementTop: l,
|
|
13
|
+
content: u,
|
|
14
|
+
contentInSheet: d,
|
|
15
|
+
contentOutSheet: f,
|
|
16
|
+
sizeSm: p,
|
|
17
|
+
sizeMd: m,
|
|
18
|
+
sizeLg: h,
|
|
19
|
+
sizeXl: g,
|
|
20
|
+
sizeFull: _,
|
|
21
|
+
inner: v,
|
|
22
|
+
closeButton: y,
|
|
23
|
+
header: b,
|
|
24
|
+
hasClose: x,
|
|
25
|
+
title: S,
|
|
26
|
+
description: C,
|
|
27
|
+
body: w,
|
|
28
|
+
footer: T,
|
|
29
|
+
confirmIcon: E,
|
|
30
|
+
confirmIconDanger: D,
|
|
31
|
+
contentIn: O,
|
|
32
|
+
contentOut: k,
|
|
33
|
+
mobileCard: A
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
export { w as body, y as closeButton, E as confirmIcon, D as confirmIconDanger, u as content, O as contentIn, d as contentInSheet, k as contentOut, f as contentOutSheet, j as default, C as description, T as footer, x as hasClose, b as header, v as inner, A as mobileCard, t as overlay, n as overlayIn, r as overlayOut, c as placementCenter, l as placementTop, i as positioner, s as positionerFull, e as root, a as scrollInside, o as scrollOutside, _ as sizeFull, h as sizeLg, m as sizeMd, p as sizeSm, g as sizeXl, S as title };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../../hooks/useOverlayLayer.cjs.js"),t=require("../../../hooks/useDismiss.cjs.js"),n=require("../../../hooks/useFocusTrap.cjs.js"),r=require("../../../hooks/useInertOutside.cjs.js"),i=require("../../../hooks/useScrollLock.cjs.js"),a=require("../../../utils/refs.cjs.js"),o=require("../../../utils/cx.cjs.js"),s=require("../../utilities/Portal/Portal.cjs.js"),c=require("../../primitives/Button/Button.cjs.js"),l=require("../../primitives/Icon/icons.cjs.js"),u=require("./ModalContext.cjs.js"),d=require("./Modal.module.css.cjs.js");let f=require("react"),p=require("react/jsx-runtime");var m={sm:d.default.sizeSm,md:d.default.sizeMd,lg:d.default.sizeLg,xl:d.default.sizeXl,full:d.default.sizeFull},h={center:d.default.placementCenter,top:d.default.placementTop},g={inside:d.default.scrollInside,outside:d.default.scrollOutside},_=globalThis.process?.env?.NODE_ENV!==`production`;function v(e){return Math.max(0,...e.split(`,`).map(e=>{let t=parseFloat(e);return Number.isNaN(t)?0:e.trim().endsWith(`ms`)?t:t*1e3}))}var y=({overlayClassName:y,className:b,children:x,ref:S,onFocus:C,"aria-labelledby":w,"aria-describedby":T,...E})=>{let D=u.useModalContext(`Modal.Content`),{open:O,setOpen:k}=D,[A,j]=(0,f.useState)(O);O&&!A&&j(!0);let[M,N]=(0,f.useState)(null),[P,F]=(0,f.useState)(null),I=(0,f.useRef)(null),L=(0,f.useMemo)(()=>a.mergeRefs(S,I,F),[S]),R=(0,f.useRef)(D);R.current=D;let z=(0,f.useRef)(null),B=(0,f.useRef)(null),V=e.useOverlayLayer({active:O&&M!==null,modal:!0,elements:()=>[M]});(0,f.useLayoutEffect)(()=>{if(!O||!M)return;let e=i.lockScroll(),t=r.inertOutsideLayer(V.id,M);return()=>{t(),e(),z.current=null;let{finalFocusRef:n,returnFocusRef:r,triggerRef:i}=R.current;[n?.current,r.current,i.current].find(e=>!!e&&e.isConnected&&!e.closest(`[inert]`))?.focus()}},[O,M,V.id]);let H=O&&!V.hasModalAbove&&P!==null;(0,f.useLayoutEffect)(()=>{let e=I.current;if(!H||!e)return;let{initialFocusRef:t,role:r}=R.current,i=e.querySelector(`[data-modal-footer]`),a=e.querySelector(`[data-modal-body]`),o=z.current;B.current=(o&&e.contains(o)?o:null)??t?.current??(r===`alertdialog`&&i?i.querySelector(`[data-modal-close]`)??n.getFocusable(i)[0]:null)??(a?n.getFocusable(a)[0]:null)??e},[H]),n.useFocusTrap(P,{active:O&&P!==null,initialFocusRef:B,restoreFocus:!1,layer:V}),t.useDismiss([I],{active:O,onDismiss:()=>k(!1),escapeKey:D.closeOnEscape,outsidePress:!1,layer:V}),(0,f.useEffect)(()=>{if(O||!A)return;let e=I.current,t=e?v(window.getComputedStyle(e).animationDuration):0;if(!e||t===0){j(!1);return}let n=()=>j(!1),r=t=>{t.target===e&&n()};e.addEventListener(`animationend`,r);let i=window.setTimeout(n,t+50);return()=>{e.removeEventListener(`animationend`,r),window.clearTimeout(i)}},[O,A]);let U=E[`aria-label`];(0,f.useEffect)(()=>{_&&O&&P&&!D.titleId&&!w&&!U&&console.warn(`[Modal] Add a <Modal.Title> (or pass aria-label / aria-labelledby to <Modal.Content>) so the dialog has an accessible name.`)},[O,P,D.titleId,w,U]);let W=(0,f.useRef)(!1),G=e=>{W.current=e.target===e.currentTarget&&V.getIsTopmost()},K=e=>{let t=W.current;W.current=!1,t&&e.target===e.currentTarget&&D.closeOnOverlayPress&&O&&k(!1)},q=e=>{C?.(e),e.target instanceof HTMLElement&&e.currentTarget.contains(e.target)&&(z.current=e.target)};if(!O&&!A)return null;let J=w??D.titleId??void 0,Y=[T,D.descriptionId].filter(Boolean).join(` `)||void 0,X=O?`open`:`closed`;return(0,p.jsx)(s.Portal,{children:(0,p.jsx)(e.OverlayLayerProvider,{layer:V,children:(0,p.jsxs)(`div`,{ref:N,className:d.default.root,"data-state":X,inert:!O,children:[(0,p.jsx)(`div`,{className:o.cx(d.default.overlay,y),"data-state":X,"aria-hidden":`true`}),(0,p.jsx)(`div`,{className:o.cx(d.default.positioner,h[D.placement],g[D.scrollBehavior],D.size===`full`&&d.default.positionerFull,D.mobileLayout===`card`&&D.size!==`full`&&d.default.mobileCard),onPointerDown:G,onClick:K,children:(0,p.jsxs)(`div`,{role:D.role,"aria-modal":`true`,"aria-labelledby":J,"aria-describedby":Y,tabIndex:-1,...E,ref:L,onFocus:q,className:o.cx(d.default.content,m[D.size],g[D.scrollBehavior],D.showClose&&d.default.hasClose,b),"data-state":X,"data-size":D.size,children:[D.showClose&&(0,p.jsx)(c.IconButton,{"aria-label":D.closeLabel,variant:`ghost`,tone:`neutral`,size:`md`,className:d.default.closeButton,onClick:()=>k(!1),children:(0,p.jsx)(l.CloseIcon,{})}),(0,p.jsx)(`div`,{className:d.default.inner,children:x})]})})]})})})};exports.ModalContent=y;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from 'react';
|
|
2
|
+
export interface ModalContentProps extends ComponentPropsWithRef<"div"> {
|
|
3
|
+
/** Class name for the overlay (backdrop) behind the dialog. */
|
|
4
|
+
overlayClassName?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The dialog surface. Renders in a portal with an overlay, and is mounted
|
|
8
|
+
* only while open (plus its exit animation). Put `Modal.Header`,
|
|
9
|
+
* `Modal.Body`, and `Modal.Footer` inside it. All native `div` props go to
|
|
10
|
+
* the element with `role="dialog"`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ModalContent: ({ overlayClassName, className, children, ref, onFocus, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...rest }: ModalContentProps) => import("react").JSX.Element | null;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { OverlayLayerProvider as e, useOverlayLayer as t } from "../../../hooks/useOverlayLayer.mjs";
|
|
2
|
+
import { useDismiss as n } from "../../../hooks/useDismiss.mjs";
|
|
3
|
+
import { getFocusable as r, useFocusTrap as i } from "../../../hooks/useFocusTrap.mjs";
|
|
4
|
+
import { inertOutsideLayer as a } from "../../../hooks/useInertOutside.mjs";
|
|
5
|
+
import { lockScroll as o } from "../../../hooks/useScrollLock.mjs";
|
|
6
|
+
import { mergeRefs as s } from "../../../utils/refs.mjs";
|
|
7
|
+
import { cx as c } from "../../../utils/cx.mjs";
|
|
8
|
+
import { Portal as l } from "../../utilities/Portal/Portal.mjs";
|
|
9
|
+
import { IconButton as u } from "../../primitives/Button/Button.mjs";
|
|
10
|
+
import { CloseIcon as d } from "../../primitives/Icon/icons.mjs";
|
|
11
|
+
import { useModalContext as f } from "./ModalContext.mjs";
|
|
12
|
+
import p from "./Modal.module.css.mjs";
|
|
13
|
+
import { useEffect as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v } from "react";
|
|
14
|
+
import { jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
15
|
+
//#region src/components/overlays/Modal/ModalContent.tsx
|
|
16
|
+
var x = {
|
|
17
|
+
sm: p.sizeSm,
|
|
18
|
+
md: p.sizeMd,
|
|
19
|
+
lg: p.sizeLg,
|
|
20
|
+
xl: p.sizeXl,
|
|
21
|
+
full: p.sizeFull
|
|
22
|
+
}, S = {
|
|
23
|
+
center: p.placementCenter,
|
|
24
|
+
top: p.placementTop
|
|
25
|
+
}, C = {
|
|
26
|
+
inside: p.scrollInside,
|
|
27
|
+
outside: p.scrollOutside
|
|
28
|
+
}, w = globalThis.process?.env?.NODE_ENV !== "production";
|
|
29
|
+
function T(e) {
|
|
30
|
+
return Math.max(0, ...e.split(",").map((e) => {
|
|
31
|
+
let t = parseFloat(e);
|
|
32
|
+
return Number.isNaN(t) ? 0 : e.trim().endsWith("ms") ? t : t * 1e3;
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "aria-labelledby": j, "aria-describedby": M, ...N }) => {
|
|
36
|
+
let P = f("Modal.Content"), { open: F, setOpen: I } = P, [L, R] = v(F);
|
|
37
|
+
F && !L && R(!0);
|
|
38
|
+
let [z, B] = v(null), [V, H] = v(null), U = _(null), W = g(() => s(k, U, H), [k]), G = _(P);
|
|
39
|
+
G.current = P;
|
|
40
|
+
let K = _(null), q = _(null), J = t({
|
|
41
|
+
active: F && z !== null,
|
|
42
|
+
modal: !0,
|
|
43
|
+
elements: () => [z]
|
|
44
|
+
});
|
|
45
|
+
h(() => {
|
|
46
|
+
if (!F || !z) return;
|
|
47
|
+
let e = o(), t = a(J.id, z);
|
|
48
|
+
return () => {
|
|
49
|
+
t(), e(), K.current = null;
|
|
50
|
+
let { finalFocusRef: n, returnFocusRef: r, triggerRef: i } = G.current;
|
|
51
|
+
[
|
|
52
|
+
n?.current,
|
|
53
|
+
r.current,
|
|
54
|
+
i.current
|
|
55
|
+
].find((e) => !!e && e.isConnected && !e.closest("[inert]"))?.focus();
|
|
56
|
+
};
|
|
57
|
+
}, [
|
|
58
|
+
F,
|
|
59
|
+
z,
|
|
60
|
+
J.id
|
|
61
|
+
]);
|
|
62
|
+
let Y = F && !J.hasModalAbove && V !== null;
|
|
63
|
+
h(() => {
|
|
64
|
+
let e = U.current;
|
|
65
|
+
if (!Y || !e) return;
|
|
66
|
+
let { initialFocusRef: t, role: n } = G.current, i = e.querySelector("[data-modal-footer]"), a = e.querySelector("[data-modal-body]"), o = K.current;
|
|
67
|
+
q.current = (o && e.contains(o) ? o : null) ?? t?.current ?? (n === "alertdialog" && i ? i.querySelector("[data-modal-close]") ?? r(i)[0] : null) ?? (a ? r(a)[0] : null) ?? e;
|
|
68
|
+
}, [Y]), i(V, {
|
|
69
|
+
active: F && V !== null,
|
|
70
|
+
initialFocusRef: q,
|
|
71
|
+
restoreFocus: !1,
|
|
72
|
+
layer: J
|
|
73
|
+
}), n([U], {
|
|
74
|
+
active: F,
|
|
75
|
+
onDismiss: () => I(!1),
|
|
76
|
+
escapeKey: P.closeOnEscape,
|
|
77
|
+
outsidePress: !1,
|
|
78
|
+
layer: J
|
|
79
|
+
}), m(() => {
|
|
80
|
+
if (F || !L) return;
|
|
81
|
+
let e = U.current, t = e ? T(window.getComputedStyle(e).animationDuration) : 0;
|
|
82
|
+
if (!e || t === 0) {
|
|
83
|
+
R(!1);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
let n = () => R(!1), r = (t) => {
|
|
87
|
+
t.target === e && n();
|
|
88
|
+
};
|
|
89
|
+
e.addEventListener("animationend", r);
|
|
90
|
+
let i = window.setTimeout(n, t + 50);
|
|
91
|
+
return () => {
|
|
92
|
+
e.removeEventListener("animationend", r), window.clearTimeout(i);
|
|
93
|
+
};
|
|
94
|
+
}, [F, L]);
|
|
95
|
+
let X = N["aria-label"];
|
|
96
|
+
m(() => {
|
|
97
|
+
w && F && V && !P.titleId && !j && !X && console.warn("[Modal] Add a <Modal.Title> (or pass aria-label / aria-labelledby to <Modal.Content>) so the dialog has an accessible name.");
|
|
98
|
+
}, [
|
|
99
|
+
F,
|
|
100
|
+
V,
|
|
101
|
+
P.titleId,
|
|
102
|
+
j,
|
|
103
|
+
X
|
|
104
|
+
]);
|
|
105
|
+
let Z = _(!1), Q = (e) => {
|
|
106
|
+
Z.current = e.target === e.currentTarget && J.getIsTopmost();
|
|
107
|
+
}, ee = (e) => {
|
|
108
|
+
let t = Z.current;
|
|
109
|
+
Z.current = !1, t && e.target === e.currentTarget && P.closeOnOverlayPress && F && I(!1);
|
|
110
|
+
}, te = (e) => {
|
|
111
|
+
A?.(e), e.target instanceof HTMLElement && e.currentTarget.contains(e.target) && (K.current = e.target);
|
|
112
|
+
};
|
|
113
|
+
if (!F && !L) return null;
|
|
114
|
+
let ne = j ?? P.titleId ?? void 0, re = [M, P.descriptionId].filter(Boolean).join(" ") || void 0, $ = F ? "open" : "closed";
|
|
115
|
+
return /* @__PURE__ */ y(l, { children: /* @__PURE__ */ y(e, {
|
|
116
|
+
layer: J,
|
|
117
|
+
children: /* @__PURE__ */ b("div", {
|
|
118
|
+
ref: B,
|
|
119
|
+
className: p.root,
|
|
120
|
+
"data-state": $,
|
|
121
|
+
inert: !F,
|
|
122
|
+
children: [/* @__PURE__ */ y("div", {
|
|
123
|
+
className: c(p.overlay, E),
|
|
124
|
+
"data-state": $,
|
|
125
|
+
"aria-hidden": "true"
|
|
126
|
+
}), /* @__PURE__ */ y("div", {
|
|
127
|
+
className: c(p.positioner, S[P.placement], C[P.scrollBehavior], P.size === "full" && p.positionerFull, P.mobileLayout === "card" && P.size !== "full" && p.mobileCard),
|
|
128
|
+
onPointerDown: Q,
|
|
129
|
+
onClick: ee,
|
|
130
|
+
children: /* @__PURE__ */ b("div", {
|
|
131
|
+
role: P.role,
|
|
132
|
+
"aria-modal": "true",
|
|
133
|
+
"aria-labelledby": ne,
|
|
134
|
+
"aria-describedby": re,
|
|
135
|
+
tabIndex: -1,
|
|
136
|
+
...N,
|
|
137
|
+
ref: W,
|
|
138
|
+
onFocus: te,
|
|
139
|
+
className: c(p.content, x[P.size], C[P.scrollBehavior], P.showClose && p.hasClose, D),
|
|
140
|
+
"data-state": $,
|
|
141
|
+
"data-size": P.size,
|
|
142
|
+
children: [P.showClose && /* @__PURE__ */ y(u, {
|
|
143
|
+
"aria-label": P.closeLabel,
|
|
144
|
+
variant: "ghost",
|
|
145
|
+
tone: "neutral",
|
|
146
|
+
size: "md",
|
|
147
|
+
className: p.closeButton,
|
|
148
|
+
onClick: () => I(!1),
|
|
149
|
+
children: /* @__PURE__ */ y(d, {})
|
|
150
|
+
}), /* @__PURE__ */ y("div", {
|
|
151
|
+
className: p.inner,
|
|
152
|
+
children: O
|
|
153
|
+
})]
|
|
154
|
+
})
|
|
155
|
+
})]
|
|
156
|
+
})
|
|
157
|
+
}) });
|
|
158
|
+
};
|
|
159
|
+
//#endregion
|
|
160
|
+
export { E as ModalContent };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require("react");var t=(0,e.createContext)(null);function n(n){let r=(0,e.useContext)(t);if(!r)throw Error(`<${n}> must be used inside <Modal>.`);return r}exports.ModalContext=t,exports.useModalContext=n;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/** Width of the modal on screens 640px and wider. Below that it is a full-width sheet. */
|
|
3
|
+
export type ModalSize = "sm" | "md" | "lg" | "xl" | "full";
|
|
4
|
+
/** Vertical position on screens 640px and wider (and below, with `mobileLayout="card"`). */
|
|
5
|
+
export type ModalPlacement = "center" | "top";
|
|
6
|
+
/**
|
|
7
|
+
* Layout below 640px.
|
|
8
|
+
* - `sheet`: a full-width sheet pinned to the bottom, rounded on top.
|
|
9
|
+
* - `card`: the same rounded card as on larger screens, inset from the
|
|
10
|
+
* edges and positioned by `placement` (e.g. a command palette at the top).
|
|
11
|
+
*/
|
|
12
|
+
export type ModalMobileLayout = "sheet" | "card";
|
|
13
|
+
/**
|
|
14
|
+
* What scrolls when content is taller than the viewport.
|
|
15
|
+
* - `inside`: the modal fits the viewport and `Modal.Body` scrolls, keeping
|
|
16
|
+
* the header and footer in view.
|
|
17
|
+
* - `outside`: the modal grows with its content and the whole overlay scrolls.
|
|
18
|
+
*/
|
|
19
|
+
export type ModalScrollBehavior = "inside" | "outside";
|
|
20
|
+
/**
|
|
21
|
+
* ARIA role of the dialog. Use `alertdialog` for confirmations that
|
|
22
|
+
* interrupt the user and need a response.
|
|
23
|
+
*/
|
|
24
|
+
export type ModalRole = "dialog" | "alertdialog";
|
|
25
|
+
/** @internal Shared state between `Modal` and its parts. */
|
|
26
|
+
export interface ModalContextValue {
|
|
27
|
+
open: boolean;
|
|
28
|
+
setOpen: (open: boolean) => void;
|
|
29
|
+
size: ModalSize;
|
|
30
|
+
placement: ModalPlacement;
|
|
31
|
+
mobileLayout: ModalMobileLayout;
|
|
32
|
+
scrollBehavior: ModalScrollBehavior;
|
|
33
|
+
role: ModalRole;
|
|
34
|
+
closeOnOverlayPress: boolean;
|
|
35
|
+
closeOnEscape: boolean;
|
|
36
|
+
showClose: boolean;
|
|
37
|
+
closeLabel: string;
|
|
38
|
+
initialFocusRef?: RefObject<HTMLElement | null>;
|
|
39
|
+
finalFocusRef?: RefObject<HTMLElement | null>;
|
|
40
|
+
/** The element passed to `Modal.Trigger`, used as a focus-return fallback. */
|
|
41
|
+
triggerRef: RefObject<HTMLElement | null>;
|
|
42
|
+
/** The element focused just before the modal opened. */
|
|
43
|
+
returnFocusRef: RefObject<HTMLElement | null>;
|
|
44
|
+
/** Default id of the title (overridden when `Modal.Title` gets an `id`). */
|
|
45
|
+
defaultTitleId: string;
|
|
46
|
+
/** Default id of the description. */
|
|
47
|
+
defaultDescriptionId: string;
|
|
48
|
+
/** Ids of the mounted title and description, or null when absent. */
|
|
49
|
+
titleId: string | null;
|
|
50
|
+
descriptionId: string | null;
|
|
51
|
+
registerTitle: (id: string) => () => void;
|
|
52
|
+
registerDescription: (id: string) => () => void;
|
|
53
|
+
}
|
|
54
|
+
export declare const ModalContext: import('react').Context<ModalContextValue | null>;
|
|
55
|
+
/** @internal Reads the nearest `Modal`; throws a helpful error when used outside one. */
|
|
56
|
+
export declare function useModalContext(part: string): ModalContextValue;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext as e, useContext as t } from "react";
|
|
2
|
+
//#region src/components/overlays/Modal/ModalContext.ts
|
|
3
|
+
var n = e(null);
|
|
4
|
+
function r(e) {
|
|
5
|
+
let r = t(n);
|
|
6
|
+
if (!r) throw Error(`<${e}> must be used inside <Modal>.`);
|
|
7
|
+
return r;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { n as ModalContext, r as useModalContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require("react");function t(t){let[n,r]=(0,e.useState)(null),[i,a]=(0,e.useState)(!1),o=(0,e.useCallback)(e=>r(e),[]);return(0,e.useEffect)(()=>{if(!t||!n){a(!1);return}let e=()=>a(n.scrollHeight>n.clientHeight+1);if(e(),typeof ResizeObserver>`u`)return;let r=new ResizeObserver(e),i=()=>{r.disconnect(),r.observe(n),Array.from(n.children).forEach(e=>r.observe(e))};i();let o=new MutationObserver(()=>{i(),e()});return o.observe(n,{childList:!0}),()=>{r.disconnect(),o.disconnect()}},[t,n]),[o,i]}exports.useScrollRegion=t;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RefCallback } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Tracks whether an element overflows vertically (so it scrolls). Used by
|
|
4
|
+
* `Modal.Body` to become a focusable region only when it actually scrolls
|
|
5
|
+
* (WCAG 2.1.1: scrollable content must be reachable by keyboard).
|
|
6
|
+
*/
|
|
7
|
+
export declare function useScrollRegion(enabled: boolean): [RefCallback<HTMLElement>, boolean];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t, useState as n } from "react";
|
|
2
|
+
//#region src/components/overlays/Modal/useScrollRegion.ts
|
|
3
|
+
function r(r) {
|
|
4
|
+
let [i, a] = n(null), [o, s] = n(!1), c = e((e) => a(e), []);
|
|
5
|
+
return t(() => {
|
|
6
|
+
if (!r || !i) {
|
|
7
|
+
s(!1);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
let e = () => s(i.scrollHeight > i.clientHeight + 1);
|
|
11
|
+
if (e(), typeof ResizeObserver > "u") return;
|
|
12
|
+
let t = new ResizeObserver(e), n = () => {
|
|
13
|
+
t.disconnect(), t.observe(i), Array.from(i.children).forEach((e) => t.observe(e));
|
|
14
|
+
};
|
|
15
|
+
n();
|
|
16
|
+
let a = new MutationObserver(() => {
|
|
17
|
+
n(), e();
|
|
18
|
+
});
|
|
19
|
+
return a.observe(i, { childList: !0 }), () => {
|
|
20
|
+
t.disconnect(), a.disconnect();
|
|
21
|
+
};
|
|
22
|
+
}, [r, i]), [c, o];
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { r as useScrollRegion };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),n=require("../../../utils/refs.cjs.js"),r=require("../../../hooks/useMergedRef.cjs.js"),i=require("../../../utils/cx.cjs.js"),a=require("../../../utils/slot.cjs.js"),o=require("../../primitives/Button/Button.cjs.js"),s=require("./PopoverContext.cjs.js"),c=require("./Popover.module.css.cjs.js"),l=require("./PopoverContent.cjs.js");let u=require("react"),d=require("react/jsx-runtime");var f=({children:t,open:n,defaultOpen:r=!1,onOpenChange:i,placement:a=`bottom`,offset:o,modal:c=!1,closeOnOutsidePress:l=!0,closeOnEscape:f=!0,closeOnFocusOut:p=!0,closeOnAnchorFocus:m=!1})=>{let[h,g]=e.useControllableState({value:n,defaultValue:r,onChange:i}),_=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(null),b=(0,u.useRef)(null),x=(0,u.useRef)(`auto`),[S,C]=(0,u.useState)(!1),[w,T]=(0,u.useState)(!1),E=(0,u.useId)(),D=(0,u.useCallback)((e,t=`auto`)=>{e||(x.current=t),g(e)},[g]);(0,u.useLayoutEffect)(()=>{if(h){x.current=`auto`;let e=document.activeElement;b.current=e instanceof HTMLElement&&e!==document.body?e:null}},[h]),(0,u.useEffect)(()=>{let e=v.current;if(!h||!m||!e)return;let t=e=>{let t=e.target;t&&!_.current?.contains(t)&&D(!1,`none`)};return e.addEventListener(`focusin`,t),()=>e.removeEventListener(`focusin`,t)},[h,m,D]);let O=(0,u.useMemo)(()=>({open:h,setOpen:D,placement:a,offset:o,modal:c,closeOnOutsidePress:l,closeOnEscape:f,closeOnFocusOut:p,triggerRef:_,anchorRef:v,contentRef:y,returnFocusRef:b,restoreModeRef:x,contentId:`${E}-content`,titleId:`${E}-title`,descriptionId:`${E}-description`,hasTitle:S,hasDescription:w,setHasTitle:C,setHasDescription:T}),[h,D,a,o,c,l,f,p,E,S,w]);return(0,d.jsx)(s.PopoverContext.Provider,{value:O,children:t})};function p(e){let{variant:t,tone:n,size:r,radius:i,startIcon:a,endIcon:o,fullWidth:s,...c}=e;return c}var m=({children:e,asChild:t,onClick:i,ref:c,...l})=>{let u=s.usePopoverContext(`Popover.Trigger`),f=t??n.isSingleElement(e),m=f&&n.isSingleElement(e)?n.getChildRef(e):void 0,h=r.useMergedRef(u.triggerRef,c,m),g=e=>{i?.(e),!e.defaultPrevented&&u.setOpen(!u.open,`force`)},_={"aria-haspopup":`dialog`,"aria-expanded":u.open,"aria-controls":u.open?u.contentId:void 0,"data-state":u.open?`open`:`closed`};return f&&n.isSingleElement(e)?a.cloneSlot(e,{...p(l),..._,onClick:g},h):(0,d.jsx)(o.Button,{...l,..._,ref:h,onClick:g,children:e})},h=({children:e,asChild:t,ref:i,...o})=>{let c=s.usePopoverContext(`Popover.Anchor`),l=t??n.isSingleElement(e),u=l&&n.isSingleElement(e)?n.getChildRef(e):void 0,f=r.useMergedRef(c.anchorRef,i,u);return l&&n.isSingleElement(e)?a.cloneSlot(e,o,f):(0,d.jsx)(`div`,{...o,ref:f,children:e})},g=({level:e=2,className:t,id:n,...r})=>{let a=s.usePopoverContext(`Popover.Title`),{setHasTitle:o}=a;(0,u.useLayoutEffect)(()=>(o(!0),()=>o(!1)),[o]);let l=`h${e}`;return(0,d.jsx)(l,{...r,id:n??a.titleId,className:i.cx(c.default.title,t)})},_=({className:e,id:t,...n})=>{let r=s.usePopoverContext(`Popover.Description`),{setHasDescription:a}=r;return(0,u.useLayoutEffect)(()=>(a(!0),()=>a(!1)),[a]),(0,d.jsx)(`p`,{...n,id:t??r.descriptionId,className:i.cx(c.default.description,e)})},v=({children:e,asChild:i,onClick:c,ref:l,variant:u=`ghost`,...f})=>{let m=t.useMessages(),h=e??m.popover.close,g=s.usePopoverContext(`Popover.Close`),_=i??n.isSingleElement(h),v=_&&n.isSingleElement(h)?n.getChildRef(h):void 0,y=r.useMergedRef(l,v),b=e=>{c?.(e),e.defaultPrevented||g.setOpen(!1,`force`)};return _&&n.isSingleElement(h)?a.cloneSlot(h,{...p(f),onClick:b},y):(0,d.jsx)(o.Button,{...f,variant:u,ref:y,onClick:b,children:h})},y=Object.assign(f,{Trigger:m,Anchor:h,Content:l.PopoverContent,Title:g,Description:_,Close:v});exports.Popover=y,exports.PopoverAnchor=h,exports.PopoverClose=v,exports.PopoverContent=l.PopoverContent,exports.PopoverDescription=_,exports.PopoverTitle=g,exports.PopoverTrigger=m;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
import { Placement } from '../../../types/common';
|
|
3
|
+
import { ButtonOwnProps, ButtonStyleProps } from '../../primitives/Button';
|
|
4
|
+
export { PopoverContent } from './PopoverContent';
|
|
5
|
+
export type { PopoverContentProps, PopoverSize } from './PopoverContent';
|
|
6
|
+
export interface PopoverProps {
|
|
7
|
+
/** `Popover.Trigger`, `Popover.Content`, and optionally `Popover.Anchor`. */
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
/** Controlled open state. */
|
|
10
|
+
open?: boolean;
|
|
11
|
+
/** Initial open state when uncontrolled. @default false */
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
/** Called with the next open state whenever it changes. */
|
|
14
|
+
onOpenChange?: (open: boolean) => void;
|
|
15
|
+
/** Preferred side and alignment relative to the anchor. Flips when there isn't room. @default "bottom" */
|
|
16
|
+
placement?: Placement;
|
|
17
|
+
/** Gap between the anchor and the popover, in px. Defaults to 8, or 12 with `showArrow`. */
|
|
18
|
+
offset?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Modal mode: traps Tab inside the popover and sets `aria-modal="true"`.
|
|
21
|
+
* Use it for short, focused tasks that must be finished or dismissed. @default false
|
|
22
|
+
*/
|
|
23
|
+
modal?: boolean;
|
|
24
|
+
/** Close when the user presses outside the popover, trigger, and anchor. @default true */
|
|
25
|
+
closeOnOutsidePress?: boolean;
|
|
26
|
+
/** Close when the user presses Escape. Nested popovers close innermost first. @default true */
|
|
27
|
+
closeOnEscape?: boolean;
|
|
28
|
+
/** Close when keyboard focus moves outside the popover (non-modal only). @default true */
|
|
29
|
+
closeOnFocusOut?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Close when focus moves to the `Popover.Anchor` (anywhere in it except
|
|
32
|
+
* the trigger), leaving focus there. For a picker anchored to a text field:
|
|
33
|
+
* clicking or tabbing back into the field puts the popup away. Works in
|
|
34
|
+
* modal mode too. @default false
|
|
35
|
+
*/
|
|
36
|
+
closeOnAnchorFocus?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface PopoverTriggerProps extends Omit<ComponentPropsWithRef<"button">, "children">, ButtonStyleProps, Pick<ButtonOwnProps, "startIcon" | "endIcon" | "fullWidth"> {
|
|
39
|
+
/**
|
|
40
|
+
* A single element (usually a `Button` or `IconButton`) to turn into the
|
|
41
|
+
* trigger, or plain content to render inside a library `Button`.
|
|
42
|
+
*/
|
|
43
|
+
children: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Clone the single child instead of wrapping it in a `Button`. Defaults to
|
|
46
|
+
* `true` when `children` is a single element. The child must be a
|
|
47
|
+
* focusable button-like element that accepts `ref`, `onClick`, and `aria-*`.
|
|
48
|
+
*/
|
|
49
|
+
asChild?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The button that opens and closes the popover. Adds `aria-haspopup="dialog"`,
|
|
53
|
+
* `aria-expanded`, and `aria-controls`. Pass a single `Button`/`IconButton`
|
|
54
|
+
* to use it as-is, or plain content to get a default `Button`.
|
|
55
|
+
*/
|
|
56
|
+
export declare const PopoverTrigger: ({ children, asChild, onClick, ref, ...rest }: PopoverTriggerProps) => import("react").JSX.Element;
|
|
57
|
+
export interface PopoverAnchorProps extends ComponentPropsWithRef<"div"> {
|
|
58
|
+
/** The element to position against. A single element is used as-is; other content is wrapped in a `div`. */
|
|
59
|
+
children?: ReactNode;
|
|
60
|
+
/** Clone the single child instead of wrapping it. Defaults to `true` when `children` is a single element. */
|
|
61
|
+
asChild?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Positions the popover against this element instead of the trigger (for
|
|
65
|
+
* example, a whole input row while a small icon button opens it). Presses
|
|
66
|
+
* on the anchor don't count as outside presses.
|
|
67
|
+
*/
|
|
68
|
+
export declare const PopoverAnchor: ({ children, asChild, ref, ...rest }: PopoverAnchorProps) => import("react").JSX.Element;
|
|
69
|
+
export interface PopoverTitleProps extends ComponentPropsWithRef<"h2"> {
|
|
70
|
+
/** Heading level. Pick it by document outline. @default 2 */
|
|
71
|
+
level?: 2 | 3 | 4 | 5 | 6;
|
|
72
|
+
}
|
|
73
|
+
/** The popover's heading. Names the dialog (`aria-labelledby`). */
|
|
74
|
+
export declare const PopoverTitle: ({ level, className, id, ...rest }: PopoverTitleProps) => import("react").JSX.Element;
|
|
75
|
+
export type PopoverDescriptionProps = ComponentPropsWithRef<"p">;
|
|
76
|
+
/** Supporting text. Describes the dialog (`aria-describedby`). */
|
|
77
|
+
export declare const PopoverDescription: ({ className, id, ...rest }: PopoverDescriptionProps) => import("react").JSX.Element;
|
|
78
|
+
export interface PopoverCloseProps extends Omit<ComponentPropsWithRef<"button">, "children">, ButtonStyleProps, Pick<ButtonOwnProps, "startIcon" | "endIcon" | "fullWidth"> {
|
|
79
|
+
/** Button label, or a single element to turn into the close control. @default "Close" */
|
|
80
|
+
children?: ReactNode;
|
|
81
|
+
/** Clone the single child instead of wrapping it in a `Button`. Defaults to `true` when `children` is a single element. */
|
|
82
|
+
asChild?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* A button that closes the popover and returns focus to the trigger. Renders
|
|
86
|
+
* a ghost `Button` by default; pass a single element to use your own.
|
|
87
|
+
*/
|
|
88
|
+
export declare const PopoverClose: ({ children: childrenProp, asChild, onClick, ref, variant, ...rest }: PopoverCloseProps) => import("react").JSX.Element;
|
|
89
|
+
export declare const Popover: (({ children, open: openProp, defaultOpen, onOpenChange, placement, offset, modal, closeOnOutsidePress, closeOnEscape, closeOnFocusOut, closeOnAnchorFocus, }: PopoverProps) => import("react").JSX.Element) & {
|
|
90
|
+
Trigger: ({ children, asChild, onClick, ref, ...rest }: PopoverTriggerProps) => import("react").JSX.Element;
|
|
91
|
+
Anchor: ({ children, asChild, ref, ...rest }: PopoverAnchorProps) => import("react").JSX.Element;
|
|
92
|
+
Content: ({ container, ...props }: import('./PopoverContent').PopoverContentProps) => import("react").JSX.Element | null;
|
|
93
|
+
Title: ({ level, className, id, ...rest }: PopoverTitleProps) => import("react").JSX.Element;
|
|
94
|
+
Description: ({ className, id, ...rest }: PopoverDescriptionProps) => import("react").JSX.Element;
|
|
95
|
+
Close: ({ children: childrenProp, asChild, onClick, ref, variant, ...rest }: PopoverCloseProps) => import("react").JSX.Element;
|
|
96
|
+
};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
|
|
2
|
+
import { useMessages as t } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
|
|
3
|
+
import { getChildRef as n, isSingleElement as r } from "../../../utils/refs.mjs";
|
|
4
|
+
import { useMergedRef as i } from "../../../hooks/useMergedRef.mjs";
|
|
5
|
+
import { cx as a } from "../../../utils/cx.mjs";
|
|
6
|
+
import { cloneSlot as o } from "../../../utils/slot.mjs";
|
|
7
|
+
import { Button as s } from "../../primitives/Button/Button.mjs";
|
|
8
|
+
import { PopoverContext as c, usePopoverContext as l } from "./PopoverContext.mjs";
|
|
9
|
+
import u from "./Popover.module.css.mjs";
|
|
10
|
+
import { PopoverContent as d } from "./PopoverContent.mjs";
|
|
11
|
+
import { useCallback as f, useEffect as p, useId as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v } from "react";
|
|
12
|
+
import { jsx as y } from "react/jsx-runtime";
|
|
13
|
+
//#region src/components/overlays/Popover/Popover.tsx
|
|
14
|
+
var b = ({ children: t, open: n, defaultOpen: r = !1, onOpenChange: i, placement: a = "bottom", offset: o, modal: s = !1, closeOnOutsidePress: l = !0, closeOnEscape: u = !0, closeOnFocusOut: d = !0, closeOnAnchorFocus: b = !1 }) => {
|
|
15
|
+
let [x, S] = e({
|
|
16
|
+
value: n,
|
|
17
|
+
defaultValue: r,
|
|
18
|
+
onChange: i
|
|
19
|
+
}), C = _(null), w = _(null), T = _(null), E = _(null), D = _("auto"), [O, k] = v(!1), [A, j] = v(!1), M = m(), N = f((e, t = "auto") => {
|
|
20
|
+
e || (D.current = t), S(e);
|
|
21
|
+
}, [S]);
|
|
22
|
+
h(() => {
|
|
23
|
+
if (x) {
|
|
24
|
+
D.current = "auto";
|
|
25
|
+
let e = document.activeElement;
|
|
26
|
+
E.current = e instanceof HTMLElement && e !== document.body ? e : null;
|
|
27
|
+
}
|
|
28
|
+
}, [x]), p(() => {
|
|
29
|
+
let e = w.current;
|
|
30
|
+
if (!x || !b || !e) return;
|
|
31
|
+
let t = (e) => {
|
|
32
|
+
let t = e.target;
|
|
33
|
+
t && !C.current?.contains(t) && N(!1, "none");
|
|
34
|
+
};
|
|
35
|
+
return e.addEventListener("focusin", t), () => e.removeEventListener("focusin", t);
|
|
36
|
+
}, [
|
|
37
|
+
x,
|
|
38
|
+
b,
|
|
39
|
+
N
|
|
40
|
+
]);
|
|
41
|
+
let P = g(() => ({
|
|
42
|
+
open: x,
|
|
43
|
+
setOpen: N,
|
|
44
|
+
placement: a,
|
|
45
|
+
offset: o,
|
|
46
|
+
modal: s,
|
|
47
|
+
closeOnOutsidePress: l,
|
|
48
|
+
closeOnEscape: u,
|
|
49
|
+
closeOnFocusOut: d,
|
|
50
|
+
triggerRef: C,
|
|
51
|
+
anchorRef: w,
|
|
52
|
+
contentRef: T,
|
|
53
|
+
returnFocusRef: E,
|
|
54
|
+
restoreModeRef: D,
|
|
55
|
+
contentId: `${M}-content`,
|
|
56
|
+
titleId: `${M}-title`,
|
|
57
|
+
descriptionId: `${M}-description`,
|
|
58
|
+
hasTitle: O,
|
|
59
|
+
hasDescription: A,
|
|
60
|
+
setHasTitle: k,
|
|
61
|
+
setHasDescription: j
|
|
62
|
+
}), [
|
|
63
|
+
x,
|
|
64
|
+
N,
|
|
65
|
+
a,
|
|
66
|
+
o,
|
|
67
|
+
s,
|
|
68
|
+
l,
|
|
69
|
+
u,
|
|
70
|
+
d,
|
|
71
|
+
M,
|
|
72
|
+
O,
|
|
73
|
+
A
|
|
74
|
+
]);
|
|
75
|
+
return /* @__PURE__ */ y(c.Provider, {
|
|
76
|
+
value: P,
|
|
77
|
+
children: t
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
function x(e) {
|
|
81
|
+
let { variant: t, tone: n, size: r, radius: i, startIcon: a, endIcon: o, fullWidth: s, ...c } = e;
|
|
82
|
+
return c;
|
|
83
|
+
}
|
|
84
|
+
var S = ({ children: e, asChild: t, onClick: a, ref: c, ...u }) => {
|
|
85
|
+
let d = l("Popover.Trigger"), f = t ?? r(e), p = f && r(e) ? n(e) : void 0, m = i(d.triggerRef, c, p), h = (e) => {
|
|
86
|
+
a?.(e), !e.defaultPrevented && d.setOpen(!d.open, "force");
|
|
87
|
+
}, g = {
|
|
88
|
+
"aria-haspopup": "dialog",
|
|
89
|
+
"aria-expanded": d.open,
|
|
90
|
+
"aria-controls": d.open ? d.contentId : void 0,
|
|
91
|
+
"data-state": d.open ? "open" : "closed"
|
|
92
|
+
};
|
|
93
|
+
return f && r(e) ? o(e, {
|
|
94
|
+
...x(u),
|
|
95
|
+
...g,
|
|
96
|
+
onClick: h
|
|
97
|
+
}, m) : /* @__PURE__ */ y(s, {
|
|
98
|
+
...u,
|
|
99
|
+
...g,
|
|
100
|
+
ref: m,
|
|
101
|
+
onClick: h,
|
|
102
|
+
children: e
|
|
103
|
+
});
|
|
104
|
+
}, C = ({ children: e, asChild: t, ref: a, ...s }) => {
|
|
105
|
+
let c = l("Popover.Anchor"), u = t ?? r(e), d = u && r(e) ? n(e) : void 0, f = i(c.anchorRef, a, d);
|
|
106
|
+
return u && r(e) ? o(e, s, f) : /* @__PURE__ */ y("div", {
|
|
107
|
+
...s,
|
|
108
|
+
ref: f,
|
|
109
|
+
children: e
|
|
110
|
+
});
|
|
111
|
+
}, w = ({ level: e = 2, className: t, id: n, ...r }) => {
|
|
112
|
+
let i = l("Popover.Title"), { setHasTitle: o } = i;
|
|
113
|
+
h(() => (o(!0), () => o(!1)), [o]);
|
|
114
|
+
let s = `h${e}`;
|
|
115
|
+
return /* @__PURE__ */ y(s, {
|
|
116
|
+
...r,
|
|
117
|
+
id: n ?? i.titleId,
|
|
118
|
+
className: a(u.title, t)
|
|
119
|
+
});
|
|
120
|
+
}, T = ({ className: e, id: t, ...n }) => {
|
|
121
|
+
let r = l("Popover.Description"), { setHasDescription: i } = r;
|
|
122
|
+
return h(() => (i(!0), () => i(!1)), [i]), /* @__PURE__ */ y("p", {
|
|
123
|
+
...n,
|
|
124
|
+
id: t ?? r.descriptionId,
|
|
125
|
+
className: a(u.description, e)
|
|
126
|
+
});
|
|
127
|
+
}, E = ({ children: e, asChild: a, onClick: c, ref: u, variant: d = "ghost", ...f }) => {
|
|
128
|
+
let p = t(), m = e ?? p.popover.close, h = l("Popover.Close"), g = a ?? r(m), _ = g && r(m) ? n(m) : void 0, v = i(u, _), b = (e) => {
|
|
129
|
+
c?.(e), e.defaultPrevented || h.setOpen(!1, "force");
|
|
130
|
+
};
|
|
131
|
+
return g && r(m) ? o(m, {
|
|
132
|
+
...x(f),
|
|
133
|
+
onClick: b
|
|
134
|
+
}, v) : /* @__PURE__ */ y(s, {
|
|
135
|
+
...f,
|
|
136
|
+
variant: d,
|
|
137
|
+
ref: v,
|
|
138
|
+
onClick: b,
|
|
139
|
+
children: m
|
|
140
|
+
});
|
|
141
|
+
}, D = Object.assign(b, {
|
|
142
|
+
Trigger: S,
|
|
143
|
+
Anchor: C,
|
|
144
|
+
Content: d,
|
|
145
|
+
Title: w,
|
|
146
|
+
Description: T,
|
|
147
|
+
Close: E
|
|
148
|
+
});
|
|
149
|
+
//#endregion
|
|
150
|
+
export { D as Popover, C as PopoverAnchor, E as PopoverClose, d as PopoverContent, T as PopoverDescription, w as PopoverTitle, S as PopoverTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`_positioner_p1zsw_15`,t=`_content_p1zsw_25`,n=`_sm_p1zsw_101`,r=`_md_p1zsw_111`,i=`_lg_p1zsw_121`,a=`_title_p1zsw_197`,o=`_description_p1zsw_225`,s=`_closeButton_p1zsw_251`,c=`_hasClose_p1zsw_265`,l=`_arrow_p1zsw_283`,u={positioner:e,content:t,"popover-in":`_popover-in_p1zsw_1`,sm:n,md:r,lg:i,title:a,description:o,closeButton:s,hasClose:c,arrow:l};exports.arrow=l,exports.closeButton=s,exports.content=t,exports.default=u,exports.description=o,exports.hasClose=c,exports.lg=i,exports.md=r,exports.positioner=e,exports.sm=n,exports.title=a;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/components/overlays/Popover/Popover.module.css
|
|
2
|
+
var e = "_positioner_p1zsw_15", t = "_content_p1zsw_25", n = "_sm_p1zsw_101", r = "_md_p1zsw_111", i = "_lg_p1zsw_121", a = "_title_p1zsw_197", o = "_description_p1zsw_225", s = "_closeButton_p1zsw_251", c = "_hasClose_p1zsw_265", l = "_arrow_p1zsw_283", u = {
|
|
3
|
+
positioner: e,
|
|
4
|
+
content: t,
|
|
5
|
+
"popover-in": "_popover-in_p1zsw_1",
|
|
6
|
+
sm: n,
|
|
7
|
+
md: r,
|
|
8
|
+
lg: i,
|
|
9
|
+
title: a,
|
|
10
|
+
description: o,
|
|
11
|
+
closeButton: s,
|
|
12
|
+
hasClose: c,
|
|
13
|
+
arrow: l
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { l as arrow, s as closeButton, t as content, u as default, o as description, c as hasClose, i as lg, r as md, e as positioner, n as sm, a as title };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../../hooks/elementSource.cjs.js"),t=require("../../../hooks/useOverlayLayer.cjs.js"),n=require("../../../hooks/useDismiss.cjs.js"),r=require("../../../hooks/useFloatingPosition.cjs.js"),i=require("../../../hooks/useFocusTrap.cjs.js"),a=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),o=require("../../../hooks/useMergedRef.cjs.js"),s=require("../../../utils/cx.cjs.js"),c=require("../../utilities/Portal/Portal.cjs.js"),l=require("../../primitives/Button/Button.cjs.js"),u=require("../../primitives/Icon/icons.cjs.js"),d=require("./PopoverContext.cjs.js"),f=require("./Popover.module.css.cjs.js");let p=require("react"),m=require("react/jsx-runtime");var h={sm:f.default.sm,md:f.default.md,lg:f.default.lg},g=({container:e,...t})=>{let n=d.usePopoverContext(`Popover.Content`);return n.open?(0,m.jsx)(c.Portal,{container:e,children:(0,m.jsx)(v,{...t,ctx:n})}):null},_=9,v=({ctx:c,children:d,initialFocus:g,initialFocusRef:v,showArrow:y=!1,showClose:b=!1,closeLabel:x,size:S=`md`,maxWidth:C,className:w,style:T,ref:E,onKeyDown:D,onBlur:O,"aria-label":k,"aria-labelledby":A,"aria-describedby":j,...M})=>{let N=a.useMessages(),P=x??N.popover.close,F=(0,p.useRef)(null),I=o.useMergedRef(c.contentRef,E),L=c.anchorRef.current?c.anchorRef:c.triggerRef,[R,z]=(0,p.useState)(_);(0,p.useLayoutEffect)(()=>{let e=c.contentRef.current;if(!y||!e)return;let t=parseFloat(getComputedStyle(e).borderTopLeftRadius)||0;z(t+_)},[y,c.contentRef]);let B=r.useFloatingPosition(L,F,{open:!0,placement:c.placement,offset:c.offset??(y?12:8),arrowPadding:R}),V=B.isPositioned,H=B.placement.split(`-`)[0],U=B.arrow?B.arrow.x??B.arrow.y??null:null,W=t.useOverlayLayer({active:!0,modal:c.modal,elements:()=>[F,c.contentRef,c.triggerRef,c.anchorRef]}),G=W.contains,K=(0,p.useRef)(!1);(0,p.useEffect)(()=>{if(!V||c.modal||K.current)return;let t=c.contentRef.current;t&&(K.current=!0,((typeof g==`function`?g()??null:e.resolveElement(g))??v?.current??i.getFocusable(t)[0]??t).focus({preventScroll:!0}))},[V,c.modal,c.contentRef,v]),i.useFocusTrap(c.contentRef,{active:c.modal&&V,initialFocus:g,initialFocusRef:v,restoreFocus:!1,layer:W}),(0,p.useLayoutEffect)(()=>{let{contentRef:e,triggerRef:t,returnFocusRef:n,restoreModeRef:r}=c,i=e.current;return()=>{let e=r.current;r.current=`auto`;let a=!!i&&i.contains(document.activeElement),o=()=>{let e=t.current??n.current;e?.isConnected&&e.focus({preventScroll:!0})};e===`force`||e===`auto`&&a?o():e===`deferred`&&window.setTimeout(o,0)}},[]);let{setOpen:q,closeOnEscape:J}=c;n.useDismiss([],{active:!0,layer:W,escapeKey:J,outsidePress:c.closeOnOutsidePress,onDismiss:e=>{if(e.type===`keydown`){q(!1,`force`);return}let t=e.target instanceof Element?e.target:null;q(!1,t?.closest(`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),label,summary,iframe,[contenteditable='true'],[tabindex]`)?`none`:`deferred`)}});let Y=e=>{if(D?.(e),e.defaultPrevented||e.key!==`Tab`||c.modal)return;let t=c.contentRef.current,n=c.triggerRef.current;if(!t||!n)return;let r=i.getFocusable(t),a=document.activeElement,o=r[0],s=r[r.length-1];if(e.shiftKey&&(a===t||a===o))e.preventDefault(),n.focus();else if(!e.shiftKey&&(a===s||r.length===0)){let t=i.getFocusable(document.body).find(e=>!G(e)&&n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING);t&&(e.preventDefault(),t.focus())}},X=e=>{if(O?.(e),!c.closeOnFocusOut||c.modal)return;let t=e.relatedTarget;t&&!G(t)&&q(!1,`none`)},Z=A??(c.hasTitle&&!k?c.titleId:void 0),Q=s.cx(c.hasDescription&&c.descriptionId,j)||void 0;return(0,m.jsx)(t.OverlayLayerProvider,{layer:W,children:(0,m.jsx)(`div`,{ref:F,className:f.default.positioner,style:B.style,children:(0,m.jsxs)(`div`,{role:`dialog`,id:c.contentId,"aria-modal":c.modal?!0:void 0,"aria-label":k,"aria-labelledby":Z,"aria-describedby":Q,tabIndex:-1,...M,ref:I,className:s.cx(f.default.content,h[S],b&&f.default.hasClose,w),style:C===void 0?T:{...T,maxWidth:C},"data-side":H,"data-state":`open`,onKeyDown:Y,onBlur:X,children:[y&&(0,m.jsx)(`span`,{"aria-hidden":`true`,className:f.default.arrow,"data-side":H,style:U===null?void 0:H===`top`||H===`bottom`?{left:`calc(${U}px - var(--space-3) / 2)`}:{top:`calc(${U}px - var(--space-3) / 2)`}}),b&&(0,m.jsx)(l.IconButton,{"aria-label":P,variant:`ghost`,tone:`neutral`,size:`sm`,className:f.default.closeButton,onClick:()=>q(!1,`force`),children:(0,m.jsx)(u.CloseIcon,{})}),d]})})})};exports.PopoverContent=g;
|