@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,70 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
type ListenerTarget = Window | Document | HTMLElement | MediaQueryList | null | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* Adds an event listener and removes it on unmount. Always calls the latest
|
|
5
|
+
* `handler` (no re-subscribing when it changes). `target` defaults to
|
|
6
|
+
* `window`; pass an element, `document`, or a ref.
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* useEventListener("beforeunload", (e) => { if (dirty) e.preventDefault(); });
|
|
10
|
+
* useEventListener("scroll", onScroll, panelRef, { passive: true });
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function useEventListener<K extends keyof WindowEventMap>(type: K, handler: (event: WindowEventMap[K]) => void, target?: ListenerTarget | RefObject<HTMLElement | null>, options?: boolean | AddEventListenerOptions): void;
|
|
14
|
+
export declare function useEventListener(type: string, handler: (event: Event) => void, target?: ListenerTarget | RefObject<HTMLElement | null>, options?: boolean | AddEventListenerOptions): void;
|
|
15
|
+
/**
|
|
16
|
+
* Calls `handler` when a pointer press or a focus move lands outside the
|
|
17
|
+
* returned ref's element (and outside any `ignore` elements). Use it for
|
|
18
|
+
* custom popups; the library's own overlays already close on outside
|
|
19
|
+
* presses, through the shared layer stack.
|
|
20
|
+
*
|
|
21
|
+
* ```tsx
|
|
22
|
+
* const ref = useClickOutside<HTMLDivElement>(() => setOpen(false));
|
|
23
|
+
* <div ref={ref}>…</div>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function useClickOutside<T extends HTMLElement = HTMLElement>(handler: (event: Event) => void, { enabled, ignore }?: {
|
|
27
|
+
enabled?: boolean;
|
|
28
|
+
ignore?: Array<RefObject<HTMLElement | null> | HTMLElement | null>;
|
|
29
|
+
}): RefObject<T | null>;
|
|
30
|
+
export interface UseIntersectionOptions {
|
|
31
|
+
/** Scroll container to observe within. @default the viewport */
|
|
32
|
+
root?: Element | Document | null;
|
|
33
|
+
/** Grows or shrinks the root's box, e.g. `"200px"` to start loading early. */
|
|
34
|
+
rootMargin?: string;
|
|
35
|
+
/** Visible share (0-1) that counts as intersecting. @default 0 */
|
|
36
|
+
threshold?: number | number[];
|
|
37
|
+
/** Stop observing after the first intersection (lazy loading, entrance effects). @default false */
|
|
38
|
+
once?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Whether an element is in view (IntersectionObserver). Attach the returned
|
|
42
|
+
* `ref`; read `isIntersecting` or the full `entry`. Returns false during
|
|
43
|
+
* server rendering.
|
|
44
|
+
*
|
|
45
|
+
* ```tsx
|
|
46
|
+
* const { ref, isIntersecting } = useIntersection<HTMLDivElement>({ rootMargin: "200px", once: true });
|
|
47
|
+
* <div ref={ref}>{isIntersecting && <HeavyChart />}</div>
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function useIntersection<T extends Element = HTMLElement>({ root, rootMargin, threshold, once, }?: UseIntersectionOptions): {
|
|
51
|
+
ref: (node: T | null) => void;
|
|
52
|
+
entry: IntersectionObserverEntry | null;
|
|
53
|
+
isIntersecting: boolean;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* An element's content-box size, kept current as it resizes
|
|
57
|
+
* (ResizeObserver). Attach the returned `ref`. Both are 0 until measured
|
|
58
|
+
* (and during server rendering).
|
|
59
|
+
*
|
|
60
|
+
* ```tsx
|
|
61
|
+
* const { ref, width } = useElementSize<HTMLDivElement>();
|
|
62
|
+
* <div ref={ref}>{width > 600 ? <WideLayout /> : <NarrowLayout />}</div>
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function useElementSize<T extends Element = HTMLElement>(): {
|
|
66
|
+
ref: (node: T | null) => void;
|
|
67
|
+
width: number;
|
|
68
|
+
height: number;
|
|
69
|
+
};
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
|
|
2
|
+
//#region src/hooks/useElementObservers.ts
|
|
3
|
+
function i(e, r, i, a) {
|
|
4
|
+
let o = n(r);
|
|
5
|
+
o.current = r;
|
|
6
|
+
let s = typeof a == "boolean" ? a : a?.capture, c = typeof a == "object" ? a.passive : void 0, l = typeof a == "object" ? a.once : void 0;
|
|
7
|
+
t(() => {
|
|
8
|
+
let t = i && "current" in i ? i.current : i ?? (typeof window < "u" ? window : void 0);
|
|
9
|
+
if (!t) return;
|
|
10
|
+
let n = (e) => o.current(e);
|
|
11
|
+
return t.addEventListener(e, n, {
|
|
12
|
+
capture: s,
|
|
13
|
+
passive: c,
|
|
14
|
+
once: l
|
|
15
|
+
}), () => t.removeEventListener(e, n, { capture: s });
|
|
16
|
+
}, [
|
|
17
|
+
e,
|
|
18
|
+
i,
|
|
19
|
+
s,
|
|
20
|
+
c,
|
|
21
|
+
l
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
function a(e, { enabled: r = !0, ignore: i = [] } = {}) {
|
|
25
|
+
let a = n(null), o = n({
|
|
26
|
+
handler: e,
|
|
27
|
+
ignore: i
|
|
28
|
+
});
|
|
29
|
+
return o.current = {
|
|
30
|
+
handler: e,
|
|
31
|
+
ignore: i
|
|
32
|
+
}, t(() => {
|
|
33
|
+
if (!r || typeof document > "u") return;
|
|
34
|
+
let e = (e) => {
|
|
35
|
+
let t = e.target;
|
|
36
|
+
t && t.isConnected && ([a.current, ...o.current.ignore.map((e) => e && "current" in e ? e.current : e)].some((e) => e?.contains(t)) || o.current.handler(e));
|
|
37
|
+
};
|
|
38
|
+
return document.addEventListener("pointerdown", e), document.addEventListener("focusin", e), () => {
|
|
39
|
+
document.removeEventListener("pointerdown", e), document.removeEventListener("focusin", e);
|
|
40
|
+
};
|
|
41
|
+
}, [r]), a;
|
|
42
|
+
}
|
|
43
|
+
function o({ root: i, rootMargin: a, threshold: o = 0, once: s = !1 } = {}) {
|
|
44
|
+
let [c, l] = r(null), [u, d] = r(null), f = n(!1), p = Array.isArray(o) ? o.join(",") : String(o);
|
|
45
|
+
return t(() => {
|
|
46
|
+
if (!c || typeof IntersectionObserver > "u" || f.current) return;
|
|
47
|
+
let e = new IntersectionObserver(([t]) => {
|
|
48
|
+
d(t), s && t.isIntersecting && (f.current = !0, e.disconnect());
|
|
49
|
+
}, {
|
|
50
|
+
root: i,
|
|
51
|
+
rootMargin: a,
|
|
52
|
+
threshold: p.split(",").map(Number)
|
|
53
|
+
});
|
|
54
|
+
return e.observe(c), () => e.disconnect();
|
|
55
|
+
}, [
|
|
56
|
+
c,
|
|
57
|
+
i,
|
|
58
|
+
a,
|
|
59
|
+
p,
|
|
60
|
+
s
|
|
61
|
+
]), {
|
|
62
|
+
ref: e((e) => l(e), []),
|
|
63
|
+
entry: u,
|
|
64
|
+
isIntersecting: u?.isIntersecting ?? !1
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function s() {
|
|
68
|
+
let [n, i] = r(null), [a, o] = r({
|
|
69
|
+
width: 0,
|
|
70
|
+
height: 0
|
|
71
|
+
});
|
|
72
|
+
return t(() => {
|
|
73
|
+
if (!n || typeof ResizeObserver > "u") return;
|
|
74
|
+
let e = new ResizeObserver(([e]) => {
|
|
75
|
+
let { width: t, height: n } = e.contentRect;
|
|
76
|
+
o((e) => e.width === t && e.height === n ? e : {
|
|
77
|
+
width: t,
|
|
78
|
+
height: n
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
return e.observe(n), () => e.disconnect();
|
|
82
|
+
}, [n]), {
|
|
83
|
+
ref: e((e) => i(e), []),
|
|
84
|
+
...a
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
export { a as useClickOutside, s as useElementSize, i as useEventListener, o as useIntersection };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./useMediaQuery.cjs.js");let t=require("react");var n=()=>()=>{};function r(){return(0,t.useSyncExternalStore)(n,()=>!0,()=>!1)}function i(){return e.useMediaQuery(`(prefers-reduced-motion: reduce)`)}function a(){return e.useMediaQuery(`(prefers-color-scheme: dark)`)?`dark`:`light`}var o=e=>(window.addEventListener(`online`,e),window.addEventListener(`offline`,e),()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,e)});function s(){return(0,t.useSyncExternalStore)(o,()=>navigator.onLine,()=>!0)}var c=e=>(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e));function l(){return(0,t.useSyncExternalStore)(c,()=>document.visibilityState,()=>`visible`)}var u=e=>(window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e));function d(){let e=(0,t.useSyncExternalStore)(u,()=>`${window.innerWidth}x${window.innerHeight}`,()=>`0x0`);return(0,t.useMemo)(()=>{let[t,n]=e.split(`x`).map(Number);return{width:t,height:n}},[e])}exports.useColorScheme=a,exports.useDocumentVisibility=l,exports.useHydrated=r,exports.useOnline=s,exports.useReducedMotion=i,exports.useViewportSize=d;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* False during server rendering and hydration, true after. Use it to render
|
|
3
|
+
* browser-only content (dates in the user's time zone, `window` values)
|
|
4
|
+
* without a hydration mismatch.
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* const hydrated = useHydrated();
|
|
8
|
+
* return <span>{hydrated ? new Date().toLocaleTimeString() : null}</span>;
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare function useHydrated(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* True when the user asked the system to reduce motion. The library's own
|
|
14
|
+
* transitions already respect it (through the duration tokens); use this for
|
|
15
|
+
* motion you drive from JavaScript (autoplay, scroll animations).
|
|
16
|
+
*/
|
|
17
|
+
export declare function useReducedMotion(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The system color scheme, `"light"` or `"dark"`, kept in sync (`"light"`
|
|
20
|
+
* during server rendering). To follow it, pass it to `Theme mode`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useColorScheme(): "light" | "dark";
|
|
23
|
+
/**
|
|
24
|
+
* Whether the browser has a network connection, kept in sync (true during
|
|
25
|
+
* server rendering). Pair a visible change (a Banner) with a polite
|
|
26
|
+
* announcement when it goes offline.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useOnline(): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* `"visible"` or `"hidden"` (another tab, minimized window), kept in sync.
|
|
31
|
+
* Use it to pause polling, video, or animations in the background.
|
|
32
|
+
*/
|
|
33
|
+
export declare function useDocumentVisibility(): DocumentVisibilityState;
|
|
34
|
+
/**
|
|
35
|
+
* The viewport's width and height in CSS pixels, kept in sync (0 × 0 during
|
|
36
|
+
* server rendering). For layout decisions, prefer CSS or `useMediaQuery`;
|
|
37
|
+
* use this when you need the numbers.
|
|
38
|
+
*/
|
|
39
|
+
export declare function useViewportSize(): {
|
|
40
|
+
width: number;
|
|
41
|
+
height: number;
|
|
42
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useMediaQuery as e } from "./useMediaQuery.mjs";
|
|
2
|
+
import { useMemo as t, useSyncExternalStore as n } from "react";
|
|
3
|
+
//#region src/hooks/useEnvironment.ts
|
|
4
|
+
var r = () => () => {};
|
|
5
|
+
function i() {
|
|
6
|
+
return n(r, () => !0, () => !1);
|
|
7
|
+
}
|
|
8
|
+
function a() {
|
|
9
|
+
return e("(prefers-reduced-motion: reduce)");
|
|
10
|
+
}
|
|
11
|
+
function o() {
|
|
12
|
+
return e("(prefers-color-scheme: dark)") ? "dark" : "light";
|
|
13
|
+
}
|
|
14
|
+
var s = (e) => (window.addEventListener("online", e), window.addEventListener("offline", e), () => {
|
|
15
|
+
window.removeEventListener("online", e), window.removeEventListener("offline", e);
|
|
16
|
+
});
|
|
17
|
+
function c() {
|
|
18
|
+
return n(s, () => navigator.onLine, () => !0);
|
|
19
|
+
}
|
|
20
|
+
var l = (e) => (document.addEventListener("visibilitychange", e), () => document.removeEventListener("visibilitychange", e));
|
|
21
|
+
function u() {
|
|
22
|
+
return n(l, () => document.visibilityState, () => "visible");
|
|
23
|
+
}
|
|
24
|
+
var d = (e) => (window.addEventListener("resize", e), () => window.removeEventListener("resize", e));
|
|
25
|
+
function f() {
|
|
26
|
+
let e = n(d, () => `${window.innerWidth}x${window.innerHeight}`, () => "0x0");
|
|
27
|
+
return t(() => {
|
|
28
|
+
let [t, n] = e.split("x").map(Number);
|
|
29
|
+
return {
|
|
30
|
+
width: t,
|
|
31
|
+
height: n
|
|
32
|
+
};
|
|
33
|
+
}, [e]);
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { o as useColorScheme, u as useDocumentVisibility, i as useHydrated, c as useOnline, a as useReducedMotion, f as useViewportSize };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./elementSource.cjs.js");let t=require("react");var n={top:`bottom`,bottom:`top`,left:`right`,right:`left`};function r(e,t,n,r){let[i,a]=n.split(`-`);return i===`top`||i===`bottom`?{top:i===`top`?e.top-t.height-r:e.bottom+r,left:a===`start`?e.left:a===`end`?e.right-t.width:e.left+e.width/2-t.width/2}:{left:i===`left`?e.left-t.width-r:e.right+r,top:a===`start`?e.top:a===`end`?e.bottom-t.height:e.top+e.height/2-t.height/2}}function i(e,t,n,r){switch(e){case`top`:return t.top>=r;case`bottom`:return t.top+n.height<=window.innerHeight-r;case`left`:return t.left>=r;case`right`:return t.left+n.width<=window.innerWidth-r}}function a(e,t){switch(e){case`top`:return t.top;case`bottom`:return window.innerHeight-t.bottom;case`left`:return t.left;case`right`:return window.innerWidth-t.right}}function o(e,t,n){return t-2*n<0?t/2:Math.min(Math.max(e,n),t-n)}function s(e,t){return!!e&&Math.abs(e.top-t.top)<.5&&Math.abs(e.left-t.left)<.5&&e.placement===t.placement&&e.arrow.side===t.arrow.side&&Math.abs((e.arrow.x??0)-(t.arrow.x??0))<.5&&Math.abs((e.arrow.y??0)-(t.arrow.y??0))<.5}function c(c,l,{open:u,placement:d=`bottom`,offset:f=8,flip:p=!0,padding:m=8,arrowPadding:h=0}){let[g,_]=(0,t.useState)(null),v=e.useResolvedElement(c),y=e.useResolvedElement(l),b=(0,t.useRef)({anchor:c,floating:l});b.current={anchor:c,floating:l};let x=(0,t.useCallback)(()=>{let t=e.resolveElement(b.current.anchor),c=e.resolveElement(b.current.floating);if(!t||!c)return;let l=t.getBoundingClientRect(),u=c.getBoundingClientRect(),[g,v]=d.split(`-`),y=g,x=r(l,u,d,f);if(p&&!i(g,x,u,m)){let e=n[g],t=r(l,u,v?`${e}-${v}`:e,f);(i(e,t,u,m)||a(e,l)>a(g,l))&&(y=e,x=t)}let S=y===g?d:v?`${y}-${v}`:y;x.left=Math.max(m,Math.min(x.left,window.innerWidth-u.width-m)),x.top=Math.max(m,Math.min(x.top,window.innerHeight-u.height-m));let C=y===`top`||y===`bottom`?{side:y,x:o(l.left+l.width/2-x.left,u.width,h)}:{side:y,y:o(l.top+l.height/2-x.top,u.height,h)},w={...x,placement:S,arrow:C};_(e=>s(e,w)?e:w)},[d,f,p,m,h]);(0,t.useLayoutEffect)(()=>{if(!u){_(null);return}if(!v||!y)return;x(),window.addEventListener(`resize`,x),window.addEventListener(`scroll`,x,!0);let e=typeof ResizeObserver<`u`?new ResizeObserver(()=>x()):null;return e?.observe(v),e?.observe(y),()=>{window.removeEventListener(`resize`,x),window.removeEventListener(`scroll`,x,!0),e?.disconnect()}},[u,x,v,y]);let S=u&&g!==null;return{style:S?{position:`fixed`,top:g.top,left:g.left}:{position:`fixed`,top:0,left:0,visibility:`hidden`},placement:S?g.placement:d,arrow:S?g.arrow:null,isPositioned:S,update:x}}exports.useFloatingPosition=c;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { Placement } from '../types/common';
|
|
3
|
+
import { ElementSource } from './elementSource';
|
|
4
|
+
export interface UseFloatingPositionOptions {
|
|
5
|
+
/** Compute only while open. */
|
|
6
|
+
open: boolean;
|
|
7
|
+
placement?: Placement;
|
|
8
|
+
/** Gap between anchor and floating element, in px. Default 8. */
|
|
9
|
+
offset?: number;
|
|
10
|
+
/** Flip to the opposite side when there isn't room on the main axis. Default true. */
|
|
11
|
+
flip?: boolean;
|
|
12
|
+
/** Minimum distance from the viewport edge, in px. Default 8. */
|
|
13
|
+
padding?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Minimum distance between the arrow's center and the floating element's
|
|
16
|
+
* corners, in px (e.g. corner radius plus half the arrow). Default 0.
|
|
17
|
+
*/
|
|
18
|
+
arrowPadding?: number;
|
|
19
|
+
}
|
|
20
|
+
/** Which side of the anchor the floating element ended up on. */
|
|
21
|
+
export type FloatingSide = "top" | "bottom" | "left" | "right";
|
|
22
|
+
/**
|
|
23
|
+
* Where to put an arrow so it points at the anchor's center, in px relative
|
|
24
|
+
* to the floating element's border box. `x` is set for `top`/`bottom`
|
|
25
|
+
* placements, `y` for `left`/`right`. `side` is the side of the anchor the
|
|
26
|
+
* floating element sits on, so the arrow goes on the opposite edge.
|
|
27
|
+
*/
|
|
28
|
+
export interface FloatingArrow {
|
|
29
|
+
x?: number;
|
|
30
|
+
y?: number;
|
|
31
|
+
side: FloatingSide;
|
|
32
|
+
}
|
|
33
|
+
export interface FloatingPosition {
|
|
34
|
+
/** Apply to the floating element (it is positioned `fixed`). Hidden until measured. */
|
|
35
|
+
style: CSSProperties;
|
|
36
|
+
/** The placement actually used after flipping. */
|
|
37
|
+
placement: Placement;
|
|
38
|
+
/** Arrow coordinates, or null until measured. */
|
|
39
|
+
arrow: FloatingArrow | null;
|
|
40
|
+
/** True once a position has been computed for the current open session. */
|
|
41
|
+
isPositioned: boolean;
|
|
42
|
+
/** Recompute manually, e.g. after content changes size. */
|
|
43
|
+
update: () => void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Positions a floating element (Tooltip, Popover, Menu, Select listbox)
|
|
47
|
+
* next to an anchor. Flips to the opposite side when the main axis doesn't
|
|
48
|
+
* fit, clamps to the viewport, and reports arrow coordinates. Uses
|
|
49
|
+
* `position: fixed`, so render the floating element in a Portal.
|
|
50
|
+
*
|
|
51
|
+
* Both elements may be passed as elements or refs; refs are re-checked
|
|
52
|
+
* after every commit, so a floating element that mounts late is measured
|
|
53
|
+
* and observed as soon as it exists.
|
|
54
|
+
*/
|
|
55
|
+
export declare function useFloatingPosition(anchor: ElementSource, floating: ElementSource, { open, placement, offset, flip, padding, arrowPadding, }: UseFloatingPositionOptions): FloatingPosition;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { resolveElement as e, useResolvedElement as t } from "./elementSource.mjs";
|
|
2
|
+
import { useCallback as n, useLayoutEffect as r, useRef as i, useState as a } from "react";
|
|
3
|
+
//#region src/hooks/useFloatingPosition.ts
|
|
4
|
+
var o = {
|
|
5
|
+
top: "bottom",
|
|
6
|
+
bottom: "top",
|
|
7
|
+
left: "right",
|
|
8
|
+
right: "left"
|
|
9
|
+
};
|
|
10
|
+
function s(e, t, n, r) {
|
|
11
|
+
let [i, a] = n.split("-");
|
|
12
|
+
return i === "top" || i === "bottom" ? {
|
|
13
|
+
top: i === "top" ? e.top - t.height - r : e.bottom + r,
|
|
14
|
+
left: a === "start" ? e.left : a === "end" ? e.right - t.width : e.left + e.width / 2 - t.width / 2
|
|
15
|
+
} : {
|
|
16
|
+
left: i === "left" ? e.left - t.width - r : e.right + r,
|
|
17
|
+
top: a === "start" ? e.top : a === "end" ? e.bottom - t.height : e.top + e.height / 2 - t.height / 2
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function c(e, t, n, r) {
|
|
21
|
+
switch (e) {
|
|
22
|
+
case "top": return t.top >= r;
|
|
23
|
+
case "bottom": return t.top + n.height <= window.innerHeight - r;
|
|
24
|
+
case "left": return t.left >= r;
|
|
25
|
+
case "right": return t.left + n.width <= window.innerWidth - r;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function l(e, t) {
|
|
29
|
+
switch (e) {
|
|
30
|
+
case "top": return t.top;
|
|
31
|
+
case "bottom": return window.innerHeight - t.bottom;
|
|
32
|
+
case "left": return t.left;
|
|
33
|
+
case "right": return window.innerWidth - t.right;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function u(e, t, n) {
|
|
37
|
+
return t - 2 * n < 0 ? t / 2 : Math.min(Math.max(e, n), t - n);
|
|
38
|
+
}
|
|
39
|
+
function d(e, t) {
|
|
40
|
+
return !!e && Math.abs(e.top - t.top) < .5 && Math.abs(e.left - t.left) < .5 && e.placement === t.placement && e.arrow.side === t.arrow.side && Math.abs((e.arrow.x ?? 0) - (t.arrow.x ?? 0)) < .5 && Math.abs((e.arrow.y ?? 0) - (t.arrow.y ?? 0)) < .5;
|
|
41
|
+
}
|
|
42
|
+
function f(f, p, { open: m, placement: h = "bottom", offset: g = 8, flip: _ = !0, padding: v = 8, arrowPadding: y = 0 }) {
|
|
43
|
+
let [b, x] = a(null), S = t(f), C = t(p), w = i({
|
|
44
|
+
anchor: f,
|
|
45
|
+
floating: p
|
|
46
|
+
});
|
|
47
|
+
w.current = {
|
|
48
|
+
anchor: f,
|
|
49
|
+
floating: p
|
|
50
|
+
};
|
|
51
|
+
let T = n(() => {
|
|
52
|
+
let t = e(w.current.anchor), n = e(w.current.floating);
|
|
53
|
+
if (!t || !n) return;
|
|
54
|
+
let r = t.getBoundingClientRect(), i = n.getBoundingClientRect(), [a, f] = h.split("-"), p = a, m = s(r, i, h, g);
|
|
55
|
+
if (_ && !c(a, m, i, v)) {
|
|
56
|
+
let e = o[a], t = s(r, i, f ? `${e}-${f}` : e, g);
|
|
57
|
+
(c(e, t, i, v) || l(e, r) > l(a, r)) && (p = e, m = t);
|
|
58
|
+
}
|
|
59
|
+
let b = p === a ? h : f ? `${p}-${f}` : p;
|
|
60
|
+
m.left = Math.max(v, Math.min(m.left, window.innerWidth - i.width - v)), m.top = Math.max(v, Math.min(m.top, window.innerHeight - i.height - v));
|
|
61
|
+
let S = p === "top" || p === "bottom" ? {
|
|
62
|
+
side: p,
|
|
63
|
+
x: u(r.left + r.width / 2 - m.left, i.width, y)
|
|
64
|
+
} : {
|
|
65
|
+
side: p,
|
|
66
|
+
y: u(r.top + r.height / 2 - m.top, i.height, y)
|
|
67
|
+
}, C = {
|
|
68
|
+
...m,
|
|
69
|
+
placement: b,
|
|
70
|
+
arrow: S
|
|
71
|
+
};
|
|
72
|
+
x((e) => d(e, C) ? e : C);
|
|
73
|
+
}, [
|
|
74
|
+
h,
|
|
75
|
+
g,
|
|
76
|
+
_,
|
|
77
|
+
v,
|
|
78
|
+
y
|
|
79
|
+
]);
|
|
80
|
+
r(() => {
|
|
81
|
+
if (!m) {
|
|
82
|
+
x(null);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!S || !C) return;
|
|
86
|
+
T(), window.addEventListener("resize", T), window.addEventListener("scroll", T, !0);
|
|
87
|
+
let e = typeof ResizeObserver < "u" ? new ResizeObserver(() => T()) : null;
|
|
88
|
+
return e?.observe(S), e?.observe(C), () => {
|
|
89
|
+
window.removeEventListener("resize", T), window.removeEventListener("scroll", T, !0), e?.disconnect();
|
|
90
|
+
};
|
|
91
|
+
}, [
|
|
92
|
+
m,
|
|
93
|
+
T,
|
|
94
|
+
S,
|
|
95
|
+
C
|
|
96
|
+
]);
|
|
97
|
+
let E = m && b !== null;
|
|
98
|
+
return {
|
|
99
|
+
style: E ? {
|
|
100
|
+
position: "fixed",
|
|
101
|
+
top: b.top,
|
|
102
|
+
left: b.left
|
|
103
|
+
} : {
|
|
104
|
+
position: "fixed",
|
|
105
|
+
top: 0,
|
|
106
|
+
left: 0,
|
|
107
|
+
visibility: "hidden"
|
|
108
|
+
},
|
|
109
|
+
placement: E ? b.placement : h,
|
|
110
|
+
arrow: E ? b.arrow : null,
|
|
111
|
+
isPositioned: E,
|
|
112
|
+
update: T
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
export { f as useFloatingPosition };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./elementSource.cjs.js"),t=require("./useOverlayLayer.cjs.js");let n=require("react");var r=[`a[href]`,`area[href]`,`button:not([disabled])`,`input:not([disabled]):not([type='hidden'])`,`select:not([disabled])`,`textarea:not([disabled])`,`iframe`,`summary`,`[contenteditable='true']`,`[tabindex]:not([tabindex='-1'])`].join(`,`);function i(e){return!e.isConnected||e.closest(`[inert]`)||e.getClientRects().length===0?!1:window.getComputedStyle(e).visibility!==`hidden`}function a(e){return Array.from(e.querySelectorAll(r)).filter(i)}function o(t){return typeof t==`function`?t()??null:e.resolveElement(t)}function s(e){return!e||!e.isConnected||e.closest(`[inert]`)?!1:(e.focus({preventScroll:!0}),document.activeElement===e)}function c(e,{frames:t=10}={}){let n=!1,r=0;if(s(e()))return()=>{};let i=t=>{n||t<=0||(r=requestAnimationFrame(()=>{n||s(e())||i(t-1)}))};return queueMicrotask(()=>{n||s(e())||i(t)}),()=>{n=!0,cancelAnimationFrame(r)}}function l(r,i){let{active:l,layer:u,paused:d=!1}=i,f=e.useResolvedElement(r),p=t.useOverlayLayer({active:l&&!u,modal:!0,elements:()=>[f]}),m=u??p,h=(0,n.useRef)(i);h.current=i;let g=(0,n.useRef)(m);g.current=m;let _=(0,n.useRef)(null);(0,n.useLayoutEffect)(()=>{if(!l)return;let e=document.activeElement;return _.current=e instanceof HTMLElement&&e!==document.body?e:null,()=>{let{restoreFocus:e=!0,finalFocus:t,finalFocusRef:n}=h.current;if(!e)return;let r=_.current;_.current=null,c(()=>{let e=o(t)??n?.current??null,i=e?.isConnected?e:r;return i?.isConnected?i:null})}},[l]);let v=l&&!!f&&!d&&!m.hasModalAbove;(0,n.useEffect)(()=>{if(!v||!f)return;let e=()=>{let e=document.activeElement;return!!e&&(f.contains(e)||g.current.childContains(e))},t=()=>{let{initialFocus:e,initialFocusRef:t}=h.current,n=o(e)??t?.current??a(f)[0]??f;return n===f&&!f.hasAttribute(`tabindex`)&&f.setAttribute(`tabindex`,`-1`),n},n=e()?()=>{}:c(()=>e()?document.activeElement:t()),r=e=>{if(e.key!==`Tab`||e.defaultPrevented)return;let t=document.activeElement;if(t&&!f.contains(t)&&g.current.childContains(t))return;let n=a(f);if(n.length===0){e.preventDefault(),t!==f&&s(f);return}let r=n[0],i=n[n.length-1];e.shiftKey&&(t===r||t===f||!f.contains(t))?(e.preventDefault(),i.focus()):!e.shiftKey&&(t===i||!f.contains(t))&&(e.preventDefault(),r.focus())};return document.addEventListener(`keydown`,r),()=>{n(),document.removeEventListener(`keydown`,r)}},[v,f])}exports.FOCUSABLE=r,exports.focusWhenReady=c,exports.getFocusable=a,exports.isFocusableNow=i,exports.useFocusTrap=l;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { ElementSource } from './elementSource';
|
|
3
|
+
import { OverlayLayer } from './useOverlayLayer';
|
|
4
|
+
/** Selector for elements that can take keyboard focus. */
|
|
5
|
+
export declare const FOCUSABLE: string;
|
|
6
|
+
/** True when `el` is rendered, not inert, and not `visibility: hidden`. */
|
|
7
|
+
export declare function isFocusableNow(el: HTMLElement): boolean;
|
|
8
|
+
/** Returns the visible, focusable elements inside `container`, in DOM order. */
|
|
9
|
+
export declare function getFocusable(container: HTMLElement): HTMLElement[];
|
|
10
|
+
/** An element, a ref to one, or a function returning one (read when needed). */
|
|
11
|
+
export type FocusTarget = ElementSource | (() => HTMLElement | null | undefined);
|
|
12
|
+
/**
|
|
13
|
+
* Moves focus to `el` once it can take it. Tries right away, then after a
|
|
14
|
+
* microtask (so inert set by the closing overlay is gone), then for a few
|
|
15
|
+
* animation frames. Returns a cancel function.
|
|
16
|
+
*/
|
|
17
|
+
export declare function focusWhenReady(getTarget: () => HTMLElement | null, { frames }?: {
|
|
18
|
+
frames?: number;
|
|
19
|
+
}): () => void;
|
|
20
|
+
export interface UseFocusTrapOptions {
|
|
21
|
+
/** Trap only while active (e.g. while a Modal is open). */
|
|
22
|
+
active: boolean;
|
|
23
|
+
/** Element to focus on activation. Defaults to the first focusable element, then the container. */
|
|
24
|
+
initialFocus?: FocusTarget;
|
|
25
|
+
/** Same as `initialFocus`, as a ref. Kept for compatibility. */
|
|
26
|
+
initialFocusRef?: RefObject<HTMLElement | null>;
|
|
27
|
+
/** Element to focus on deactivation. Defaults to the element focused before activation. */
|
|
28
|
+
finalFocus?: FocusTarget;
|
|
29
|
+
/** Same as `finalFocus`, as a ref. */
|
|
30
|
+
finalFocusRef?: RefObject<HTMLElement | null>;
|
|
31
|
+
/** Return focus on deactivation (to `finalFocus`, or the previously focused element). Default true. */
|
|
32
|
+
restoreFocus?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The overlay layer this trap belongs to (from `useOverlayLayer`, with
|
|
35
|
+
* `modal: true`). When omitted, the trap registers its own modal layer.
|
|
36
|
+
* Either way the trap pauses while a modal layer is open above it.
|
|
37
|
+
*/
|
|
38
|
+
layer?: OverlayLayer;
|
|
39
|
+
/** Pause the trap without deactivating it (no focus restore). */
|
|
40
|
+
paused?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Keeps Tab / Shift+Tab focus inside `container` while active, and
|
|
44
|
+
* restores focus when it deactivates (WCAG 2.1.2, 2.4.3). Used by Modal,
|
|
45
|
+
* Drawer, and any other modal surface.
|
|
46
|
+
*
|
|
47
|
+
* `container` can be an element (re-runs when it appears) or a ref (checked
|
|
48
|
+
* after every commit). Only the topmost modal layer's trap runs; focus
|
|
49
|
+
* inside a child layer (a Popover or Tooltip opened from the trapped
|
|
50
|
+
* surface) is left alone.
|
|
51
|
+
*/
|
|
52
|
+
export declare function useFocusTrap(container: ElementSource, options: UseFocusTrapOptions): void;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { resolveElement as e, useResolvedElement as t } from "./elementSource.mjs";
|
|
2
|
+
import { useOverlayLayer as n } from "./useOverlayLayer.mjs";
|
|
3
|
+
import { useEffect as r, useLayoutEffect as i, useRef as a } from "react";
|
|
4
|
+
//#region src/hooks/useFocusTrap.ts
|
|
5
|
+
var o = [
|
|
6
|
+
"a[href]",
|
|
7
|
+
"area[href]",
|
|
8
|
+
"button:not([disabled])",
|
|
9
|
+
"input:not([disabled]):not([type='hidden'])",
|
|
10
|
+
"select:not([disabled])",
|
|
11
|
+
"textarea:not([disabled])",
|
|
12
|
+
"iframe",
|
|
13
|
+
"summary",
|
|
14
|
+
"[contenteditable='true']",
|
|
15
|
+
"[tabindex]:not([tabindex='-1'])"
|
|
16
|
+
].join(",");
|
|
17
|
+
function s(e) {
|
|
18
|
+
return !e.isConnected || e.closest("[inert]") || e.getClientRects().length === 0 ? !1 : window.getComputedStyle(e).visibility !== "hidden";
|
|
19
|
+
}
|
|
20
|
+
function c(e) {
|
|
21
|
+
return Array.from(e.querySelectorAll(o)).filter(s);
|
|
22
|
+
}
|
|
23
|
+
function l(t) {
|
|
24
|
+
return typeof t == "function" ? t() ?? null : e(t);
|
|
25
|
+
}
|
|
26
|
+
function u(e) {
|
|
27
|
+
return !e || !e.isConnected || e.closest("[inert]") ? !1 : (e.focus({ preventScroll: !0 }), document.activeElement === e);
|
|
28
|
+
}
|
|
29
|
+
function d(e, { frames: t = 10 } = {}) {
|
|
30
|
+
let n = !1, r = 0;
|
|
31
|
+
if (u(e())) return () => {};
|
|
32
|
+
let i = (t) => {
|
|
33
|
+
n || t <= 0 || (r = requestAnimationFrame(() => {
|
|
34
|
+
n || u(e()) || i(t - 1);
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
return queueMicrotask(() => {
|
|
38
|
+
n || u(e()) || i(t);
|
|
39
|
+
}), () => {
|
|
40
|
+
n = !0, cancelAnimationFrame(r);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function f(e, o) {
|
|
44
|
+
let { active: s, layer: f, paused: p = !1 } = o, m = t(e), h = n({
|
|
45
|
+
active: s && !f,
|
|
46
|
+
modal: !0,
|
|
47
|
+
elements: () => [m]
|
|
48
|
+
}), g = f ?? h, _ = a(o);
|
|
49
|
+
_.current = o;
|
|
50
|
+
let v = a(g);
|
|
51
|
+
v.current = g;
|
|
52
|
+
let y = a(null);
|
|
53
|
+
i(() => {
|
|
54
|
+
if (!s) return;
|
|
55
|
+
let e = document.activeElement;
|
|
56
|
+
return y.current = e instanceof HTMLElement && e !== document.body ? e : null, () => {
|
|
57
|
+
let { restoreFocus: e = !0, finalFocus: t, finalFocusRef: n } = _.current;
|
|
58
|
+
if (!e) return;
|
|
59
|
+
let r = y.current;
|
|
60
|
+
y.current = null, d(() => {
|
|
61
|
+
let e = l(t) ?? n?.current ?? null, i = e?.isConnected ? e : r;
|
|
62
|
+
return i?.isConnected ? i : null;
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
}, [s]);
|
|
66
|
+
let b = s && !!m && !p && !g.hasModalAbove;
|
|
67
|
+
r(() => {
|
|
68
|
+
if (!b || !m) return;
|
|
69
|
+
let e = () => {
|
|
70
|
+
let e = document.activeElement;
|
|
71
|
+
return !!e && (m.contains(e) || v.current.childContains(e));
|
|
72
|
+
}, t = () => {
|
|
73
|
+
let { initialFocus: e, initialFocusRef: t } = _.current, n = l(e) ?? t?.current ?? c(m)[0] ?? m;
|
|
74
|
+
return n === m && !m.hasAttribute("tabindex") && m.setAttribute("tabindex", "-1"), n;
|
|
75
|
+
}, n = e() ? () => {} : d(() => e() ? document.activeElement : t()), r = (e) => {
|
|
76
|
+
if (e.key !== "Tab" || e.defaultPrevented) return;
|
|
77
|
+
let t = document.activeElement;
|
|
78
|
+
if (t && !m.contains(t) && v.current.childContains(t)) return;
|
|
79
|
+
let n = c(m);
|
|
80
|
+
if (n.length === 0) {
|
|
81
|
+
e.preventDefault(), t !== m && u(m);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
let r = n[0], i = n[n.length - 1];
|
|
85
|
+
e.shiftKey && (t === r || t === m || !m.contains(t)) ? (e.preventDefault(), i.focus()) : !e.shiftKey && (t === i || !m.contains(t)) && (e.preventDefault(), r.focus());
|
|
86
|
+
};
|
|
87
|
+
return document.addEventListener("keydown", r), () => {
|
|
88
|
+
n(), document.removeEventListener("keydown", r);
|
|
89
|
+
};
|
|
90
|
+
}, [b, m]);
|
|
91
|
+
}
|
|
92
|
+
//#endregion
|
|
93
|
+
export { o as FOCUSABLE, d as focusWhenReady, c as getFocusable, s as isFocusableNow, f as useFocusTrap };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require("react");function t(t,n,r=!0){let i=(0,e.useRef)(n);i.current=n,(0,e.useEffect)(()=>{if(!r)return;let e=typeof t==`function`?t():t.current;if(!e)return;let n=(`form`in e?e.form:null)??e.closest(`form`);if(!n)return;let a=()=>i.current();return n.addEventListener(`reset`,a),()=>n.removeEventListener(`reset`,a)},[r])}exports.useFormReset=t;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Calls `onReset` when the form that contains `target`'s element is reset
|
|
4
|
+
* (`<button type="reset">` or `form.reset()`).
|
|
5
|
+
*
|
|
6
|
+
* Controls that keep their value in React state (so the DOM input is always
|
|
7
|
+
* controlled) don't follow a native reset on their own; uncontrolled ones
|
|
8
|
+
* use this to restore their `defaultValue`. Pass `enabled: false` while the
|
|
9
|
+
* component is controlled, since then the parent owns the value.
|
|
10
|
+
*
|
|
11
|
+
* The form is found from the element's `form` property (a form control,
|
|
12
|
+
* including one associated with the `form` attribute) or its closest
|
|
13
|
+
* `<form>` ancestor. `onReset` always sees the latest props.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useFormReset(
|
|
16
|
+
/** An element inside the form: a ref, or a getter (e.g. `() => document.getElementById(id)`). */
|
|
17
|
+
target: RefObject<HTMLElement | null> | (() => HTMLElement | null), onReset: () => void, enabled?: boolean): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useEffect as e, useRef as t } from "react";
|
|
2
|
+
//#region src/hooks/useFormReset.ts
|
|
3
|
+
function n(n, r, i = !0) {
|
|
4
|
+
let a = t(r);
|
|
5
|
+
a.current = r, e(() => {
|
|
6
|
+
if (!i) return;
|
|
7
|
+
let e = typeof n == "function" ? n() : n.current;
|
|
8
|
+
if (!e) return;
|
|
9
|
+
let t = ("form" in e ? e.form : null) ?? e.closest("form");
|
|
10
|
+
if (!t) return;
|
|
11
|
+
let r = () => a.current();
|
|
12
|
+
return t.addEventListener("reset", r), () => t.removeEventListener("reset", r);
|
|
13
|
+
}, [i]);
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { n as useFormReset };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../components/utilities/LocaleProvider/LocaleProvider.cjs.js"),t=require("../utils/validators.cjs.js");let n=require("react");var r=`input:not([type="hidden"]):not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"]), [contenteditable="true"]`,i=e=>e.getClientRects().length>0,a=e=>e instanceof HTMLElement&&e.matches(r)&&i(e)&&!(e instanceof HTMLInputElement&&e.type===`hidden`);function o(e,t){for(let n=e.parentElement,r=0;n&&n!==t&&r<6;n=n.parentElement,r++){let e=new Set(Array.from(n.querySelectorAll(`input[type="hidden"][name]`)).map(e=>e.name));if(e.size===1)return[...e][0];if(e.size>1)return}}function s(e,t){return e.name||o(e,t)||e.id||void 0}function c(e,t){let n=Array.from(t.querySelectorAll(`[name="${CSS.escape(e)}"]`)),i=n.find(a);if(i)return i;for(let e of n)for(let n=e.parentElement,i=0;n&&n!==t&&i<6;n=n.parentElement,i++){let e=Array.from(n.querySelectorAll(r)).find(a);if(e)return e}let o=t.querySelector(`#${CSS.escape(e)}`);return o&&a(o)?o:void 0}function l(e){let t={};return new FormData(e).forEach((e,n)=>{let r=t[n];t[n]=r===void 0?e:Array.isArray(r)?[...r,e]:[r,e]}),t}function u(e,n,r){let i=e instanceof HTMLInputElement&&e.type===`email`&&e.value&&!e.multiple&&!t.isEmail(e.value.trim()),a=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement?e:void 0,o=a?a.value.length:0,s=a&&o>0&&a.minLength>0&&o<a.minLength?n.tooShort(a.minLength):a&&a.maxLength>=0&&o>a.maxLength?n.tooLong(a.maxLength):void 0,c=e.validity;if(c.valid&&!i&&!s)return;if(c.customError)return e.validationMessage;if(c.valueMissing)return n.required;let l=e instanceof HTMLInputElement?e:void 0;if(c.typeMismatch||i)return l?.type===`email`?n.email:l?.type===`url`?n.url:n.invalid;if(c.badInput)return l?.type===`number`?n.number:n.invalid;if(c.patternMismatch)return l?.title||n.pattern;if(s)return s;let u=e=>l&&(l.type===`number`||l.type===`range`)&&e!==``&&!Number.isNaN(Number(e))?new Intl.NumberFormat(r).format(Number(e)):e;return c.rangeUnderflow&&l?n.min(u(l.min)):c.rangeOverflow&&l?n.max(u(l.max)):c.stepMismatch?n.step:n.invalid}var d=(e,t)=>e.length===t.length&&e.every((e,n)=>e.name===t[n].name&&e.message===t[n].message&&e.source===t[n].source);function f(e,t){if(!t)return e;let n=e=>{let n=c(e.name,t);return n?Array.from(t.querySelectorAll(`*`)).indexOf(n):2**53-1},r=new Map(e.map(e=>[e,n(e)]));return[...e].sort((e,t)=>r.get(e)-r.get(t))}function p(t={}){let{rules:r={},onValid:i,focusOnError:a=!0}=t,{messages:o,locale:p}=e.useLocale(),m=(0,n.useRef)(null),h=(0,n.useRef)(null),[g,_]=(0,n.useState)([]),[v,y]=(0,n.useState)(0),[b,x]=(0,n.useState)(!1),[S,C]=(0,n.useState)(0),w=(0,n.useRef)({rules:r,onValid:i,messages:o.validation,locale:p});w.current={rules:r,onValid:i,messages:o.validation,locale:p};let T=(0,n.useCallback)((e,t,n)=>({name:e,message:t,source:n,get id(){let t=m.current;return t&&c(e,t)?.id||void 0},focus:()=>{let t=m.current;(t&&c(e,t))?.focus()}}),[]),E=(0,n.useCallback)(e=>{let t=m.current,n=new Map;if(!t)return n;let{rules:r,messages:i,locale:a}=w.current,o=t=>!e||e.includes(t);for(let e of Array.from(t.elements)){if(!(`validity`in e)||!e.willValidate||e.disabled)continue;let r=s(e,t);if(!r||!o(r)||n.has(r))continue;let c=u(e,i,a);c&&n.set(r,c)}let c=l(t);for(let[e,t]of Object.entries(r))if(o(e)&&!n.has(e))for(let r of Array.isArray(t)?t:[t]){let t=r(c[e],{name:e,values:c,messages:i});if(t){n.set(e,t);break}}return n},[]),D=(0,n.useCallback)((e,t,{onlyClear:n=!1}={})=>{_(r=>{let i=e=>!t||t.includes(e),a=[];for(let o of r)i(o.name)?n?e.has(o.name)&&a.push(o):t&&o.source===`server`&&!e.has(o.name)&&a.push(o):a.push(o);if(!n)for(let[t,n]of e)a.push(T(t,n,`client`));let o=f(a,m.current);return d(r,o)?r:o})},[T]),O=(0,n.useCallback)(e=>{let t=E(e);return D(t,e),t.size===0},[E,D]),k=(0,n.useCallback)(e=>{let t=Object.entries(e).filter(([,e])=>e);t.length&&(_(n=>f([...n.filter(t=>!(t.name in e)),...t.map(([e,t])=>T(e,t,`server`))],m.current)),a&&C(e=>e+1))},[T,a]),A=(0,n.useCallback)(e=>{_(t=>e?t.filter(t=>!e.includes(t.name)):[])},[]),j=(0,n.useCallback)(()=>m.current?l(m.current):{},[]);(0,n.useEffect)(()=>{S&&a&&(h.current&&h.current.isConnected?h.current.focus():g[0]?.focus())},[S]);let M=(0,n.useCallback)(e=>{y(e=>e+1);let t=E();if(D(t),t.size>0){e.preventDefault(),a&&C(e=>e+1);return}let n=w.current.onValid;if(!n)return;e.preventDefault();let r=n(l(e.currentTarget),e);r&&typeof r.then==`function`?(x(!0),r.then(e=>{e&&k(e)}).finally(()=>x(!1))):r&&k(r)},[E,D,k,a]),N=e=>{let t=m.current,n=e.target;if(t&&v!==0&&n instanceof Element)return s(n,t)},P=e=>{if(e.target instanceof HTMLSelectElement)return;let t=N(e);t&&(_(e=>e.some(e=>e.name===t&&e.source===`server`)?e.filter(e=>e.name!==t||e.source!==`server`):e),D(E([t]),[t],{onlyClear:!0}))},F=e=>{let t=N(e);if(!t)return;let n=g.filter(e=>e.source===`client`).map(e=>e.name),r=Array.from(new Set([t,...n]));D(E(r),r)},I=(0,n.useMemo)(()=>Object.fromEntries(g.map(e=>[e.name,e.message])),[g]);return{formProps:{ref:e=>{m.current=e},noValidate:!0,onSubmit:M,onInput:P,onChange:e=>{let t=e.target;t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&![`checkbox`,`radio`,`file`].includes(t.type)||F(e)},onBlur:F},formRef:m,errors:I,errorList:g,summaryRef:h,isSubmitting:b,submitCount:v,validate:O,setErrors:k,clearErrors:A,getValues:j}}exports.useFormValidation=p;
|