@vjdesigns/vjdesigns-ui 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.md +45 -1
- package/dist/ai/llms-full.txt +199 -107
- package/dist/ai/registry.json +217 -77
- package/dist/components/data-display/Accordion/Accordion.cjs.js +1 -1
- package/dist/components/data-display/Accordion/Accordion.mjs +22 -22
- package/dist/components/data-display/Accordion/Accordion.module.css.mjs +1 -2
- package/dist/components/data-display/Avatar/Avatar.cjs.js +1 -1
- package/dist/components/data-display/Avatar/Avatar.mjs +92 -92
- package/dist/components/data-display/Avatar/Avatar.module.css.mjs +1 -2
- package/dist/components/data-display/Badge/Badge.cjs.js +1 -1
- package/dist/components/data-display/Badge/Badge.d.ts +7 -2
- package/dist/components/data-display/Badge/Badge.mjs +4 -3
- package/dist/components/data-display/Badge/Badge.module.css.cjs.js +1 -1
- package/dist/components/data-display/Badge/Badge.module.css.mjs +34 -34
- package/dist/components/data-display/Card/Card.cjs.js +1 -1
- package/dist/components/data-display/Card/Card.mjs +2 -2
- package/dist/components/data-display/Card/Card.module.css.mjs +1 -2
- package/dist/components/data-display/Carousel/Carousel.cjs.js +1 -1
- package/dist/components/data-display/Carousel/Carousel.mjs +42 -42
- package/dist/components/data-display/Carousel/Carousel.module.css.mjs +1 -2
- package/dist/components/data-display/Chat/Chat.cjs.js +1 -1
- package/dist/components/data-display/Chat/Chat.mjs +114 -118
- package/dist/components/data-display/Chat/Chat.module.css.mjs +1 -2
- package/dist/components/data-display/Chat/streams.mjs +1 -2
- package/dist/components/data-display/Chip/Chip.cjs.js +1 -1
- package/dist/components/data-display/Chip/Chip.mjs +50 -54
- package/dist/components/data-display/Chip/Chip.module.css.mjs +1 -2
- package/dist/components/data-display/CodeBlock/CodeBlock.cjs.js +4 -4
- package/dist/components/data-display/CodeBlock/CodeBlock.mjs +113 -113
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.mjs +1 -2
- package/dist/components/data-display/CodeBlock/tokenize.mjs +1 -2
- package/dist/components/data-display/DataGrid/DataGrid.cjs.js +1 -1
- package/dist/components/data-display/DataGrid/DataGrid.d.ts +14 -3
- package/dist/components/data-display/DataGrid/DataGrid.mjs +352 -267
- package/dist/components/data-display/DataGrid/DataGrid.module.css.cjs.js +1 -1
- package/dist/components/data-display/DataGrid/DataGrid.module.css.mjs +6 -5
- package/dist/components/data-display/DataGrid/dataGridUtils.cjs.js +1 -1
- package/dist/components/data-display/DataGrid/dataGridUtils.d.ts +18 -0
- package/dist/components/data-display/DataGrid/dataGridUtils.mjs +100 -32
- package/dist/components/data-display/EmptyState/EmptyState.cjs.js +1 -1
- package/dist/components/data-display/EmptyState/EmptyState.mjs +53 -53
- package/dist/components/data-display/EmptyState/EmptyState.module.css.mjs +1 -2
- package/dist/components/data-display/Image/Image.cjs.js +1 -1
- package/dist/components/data-display/Image/Image.mjs +6 -6
- package/dist/components/data-display/Image/Image.module.css.mjs +1 -2
- package/dist/components/data-display/List/List.cjs.js +1 -1
- package/dist/components/data-display/List/List.mjs +68 -68
- package/dist/components/data-display/List/List.module.css.mjs +1 -2
- package/dist/components/data-display/Stat/Stat.cjs.js +1 -1
- package/dist/components/data-display/Stat/Stat.mjs +112 -112
- package/dist/components/data-display/Stat/Stat.module.css.mjs +1 -2
- package/dist/components/data-display/Table/Table.cjs.js +1 -1
- package/dist/components/data-display/Table/Table.mjs +187 -183
- package/dist/components/data-display/Table/Table.module.css.mjs +1 -2
- package/dist/components/data-display/Table/useTable.cjs.js +1 -1
- package/dist/components/data-display/Table/useTable.mjs +2 -2
- package/dist/components/data-display/Timeline/Timeline.cjs.js +1 -1
- package/dist/components/data-display/Timeline/Timeline.mjs +64 -64
- package/dist/components/data-display/Timeline/Timeline.module.css.mjs +1 -2
- package/dist/components/data-display/TreeView/TreeView.cjs.js +1 -1
- package/dist/components/data-display/TreeView/TreeView.mjs +107 -119
- package/dist/components/data-display/TreeView/TreeView.module.css.mjs +1 -2
- package/dist/components/data-display/TreeView/treeUtils.mjs +1 -2
- package/dist/components/data-display/VirtualList/VirtualList.cjs.js +1 -1
- package/dist/components/data-display/VirtualList/VirtualList.mjs +2 -2
- package/dist/components/data-display/VirtualList/VirtualList.module.css.mjs +1 -2
- package/dist/components/feedback/Alert/Alert.cjs.js +1 -1
- package/dist/components/feedback/Alert/Alert.mjs +56 -56
- package/dist/components/feedback/Alert/Alert.module.css.mjs +1 -2
- package/dist/components/feedback/Banner/Banner.cjs.js +1 -1
- package/dist/components/feedback/Banner/Banner.mjs +48 -48
- package/dist/components/feedback/Banner/Banner.module.css.mjs +1 -2
- package/dist/components/feedback/ErrorSummary/ErrorSummary.cjs.js +1 -1
- package/dist/components/feedback/ErrorSummary/ErrorSummary.mjs +10 -10
- package/dist/components/feedback/ErrorSummary/ErrorSummary.module.css.mjs +1 -2
- package/dist/components/feedback/Progress/Progress.cjs.js +1 -1
- package/dist/components/feedback/Progress/Progress.mjs +2 -2
- package/dist/components/feedback/Progress/Progress.module.css.mjs +1 -2
- package/dist/components/feedback/Skeleton/Skeleton.cjs.js +1 -1
- package/dist/components/feedback/Skeleton/Skeleton.mjs +73 -73
- package/dist/components/feedback/Skeleton/Skeleton.module.css.mjs +1 -2
- package/dist/components/feedback/Spinner/Spinner.cjs.js +1 -1
- package/dist/components/feedback/Spinner/Spinner.mjs +29 -29
- package/dist/components/feedback/Spinner/Spinner.module.css.mjs +1 -2
- package/dist/components/feedback/Toast/Toast.cjs.js +1 -1
- package/dist/components/feedback/Toast/Toast.mjs +42 -42
- package/dist/components/feedback/Toast/Toast.module.css.mjs +1 -2
- package/dist/components/feedback/Toast/ToastItem.cjs.js +1 -1
- package/dist/components/feedback/Toast/ToastItem.mjs +10 -10
- package/dist/components/feedback/Toast/ToastProvider.cjs.js +1 -1
- package/dist/components/feedback/Toast/ToastProvider.mjs +11 -11
- package/dist/components/feedback/Toast/ToastViewport.cjs.js +1 -1
- package/dist/components/feedback/Toast/ToastViewport.mjs +30 -30
- package/dist/components/feedback/Toast/toastStore.mjs +1 -2
- package/dist/components/feedback/Toast/toastTiming.cjs.js +1 -1
- package/dist/components/feedback/Toast/toastTiming.mjs +2 -2
- package/dist/components/feedback/Toast/useToast.cjs.js +1 -1
- package/dist/components/feedback/Toast/useToast.mjs +2 -2
- package/dist/components/feedback/Toast/useToastAnnouncer.cjs.js +1 -1
- package/dist/components/feedback/Toast/useToastAnnouncer.mjs +2 -2
- package/dist/components/forms/CheckBox/CheckBox.cjs.js +1 -1
- package/dist/components/forms/CheckBox/CheckBox.mjs +2 -2
- package/dist/components/forms/CheckBox/CheckBox.module.css.mjs +1 -2
- package/dist/components/forms/ColorPicker/ColorInput.cjs.js +1 -1
- package/dist/components/forms/ColorPicker/ColorInput.mjs +43 -43
- package/dist/components/forms/ColorPicker/ColorPicker.cjs.js +1 -1
- package/dist/components/forms/ColorPicker/ColorPicker.mjs +153 -153
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.mjs +1 -2
- package/dist/components/forms/ColorPicker/colorUtils.mjs +1 -2
- package/dist/components/forms/Combobox/Combobox.cjs.js +1 -1
- package/dist/components/forms/Combobox/Combobox.mjs +200 -213
- package/dist/components/forms/Combobox/Combobox.module.css.mjs +1 -2
- package/dist/components/forms/Combobox/ComboboxPopup.cjs.js +1 -1
- package/dist/components/forms/Combobox/ComboboxPopup.mjs +164 -121
- package/dist/components/forms/Combobox/comboboxUtils.cjs.js +1 -1
- package/dist/components/forms/Combobox/comboboxUtils.d.ts +4 -1
- package/dist/components/forms/Combobox/comboboxUtils.mjs +21 -20
- package/dist/components/forms/DatePicker/Calendar.cjs.js +1 -1
- package/dist/components/forms/DatePicker/Calendar.mjs +60 -66
- package/dist/components/forms/DatePicker/Calendar.module.css.mjs +1 -2
- package/dist/components/forms/DatePicker/DatePicker.cjs.js +1 -1
- package/dist/components/forms/DatePicker/DatePicker.mjs +72 -74
- package/dist/components/forms/DatePicker/DatePicker.module.css.mjs +1 -2
- package/dist/components/forms/DatePicker/DateRangePicker.cjs.js +1 -1
- package/dist/components/forms/DatePicker/DateRangePicker.mjs +117 -117
- package/dist/components/forms/DatePicker/DateRangePicker.module.css.mjs +1 -2
- package/dist/components/forms/DatePicker/dateUtils.mjs +1 -2
- package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.js +1 -1
- package/dist/components/forms/DateTimePicker/DateTimePicker.mjs +19 -19
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.mjs +1 -2
- package/dist/components/forms/Field/Field.cjs.js +1 -1
- package/dist/components/forms/Field/Field.mjs +14 -14
- package/dist/components/forms/Field/Field.module.css.mjs +1 -2
- package/dist/components/forms/Field/FieldContext.cjs.js +1 -1
- package/dist/components/forms/Field/FieldContext.mjs +2 -2
- package/dist/components/forms/FileUpload/FileUpload.cjs.js +1 -1
- package/dist/components/forms/FileUpload/FileUpload.mjs +250 -255
- package/dist/components/forms/FileUpload/FileUpload.module.css.mjs +1 -2
- package/dist/components/forms/Input/Input.cjs.js +1 -1
- package/dist/components/forms/Input/Input.mjs +35 -35
- package/dist/components/forms/Input/Input.module.css.mjs +1 -2
- package/dist/components/forms/NumberInput/NumberInput.cjs.js +1 -1
- package/dist/components/forms/NumberInput/NumberInput.mjs +137 -142
- package/dist/components/forms/NumberInput/NumberInput.module.css.mjs +1 -2
- package/dist/components/forms/PasswordInput/PasswordInput.cjs.js +1 -1
- package/dist/components/forms/PasswordInput/PasswordInput.mjs +142 -142
- package/dist/components/forms/PasswordInput/PasswordInput.module.css.mjs +1 -2
- package/dist/components/forms/PinInput/PinInput.cjs.js +1 -1
- package/dist/components/forms/PinInput/PinInput.mjs +12 -12
- package/dist/components/forms/PinInput/PinInput.module.css.mjs +1 -2
- package/dist/components/forms/Radio/Radio.cjs.js +1 -1
- package/dist/components/forms/Radio/Radio.mjs +2 -2
- package/dist/components/forms/Radio/Radio.module.css.mjs +1 -2
- package/dist/components/forms/Rating/Rating.cjs.js +1 -1
- package/dist/components/forms/Rating/Rating.mjs +110 -109
- package/dist/components/forms/Rating/Rating.module.css.mjs +1 -2
- package/dist/components/forms/SearchInput/SearchInput.cjs.js +1 -1
- package/dist/components/forms/SearchInput/SearchInput.mjs +118 -126
- package/dist/components/forms/SearchInput/SearchInput.module.css.mjs +1 -2
- package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.js +1 -1
- package/dist/components/forms/SegmentedControl/SegmentedControl.mjs +46 -43
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.mjs +1 -2
- package/dist/components/forms/Select/Select.cjs.js +1 -1
- package/dist/components/forms/Select/Select.mjs +2 -2
- package/dist/components/forms/Select/Select.module.css.mjs +1 -2
- package/dist/components/forms/Slider/Slider.cjs.js +1 -1
- package/dist/components/forms/Slider/Slider.mjs +2 -2
- package/dist/components/forms/Slider/Slider.module.css.mjs +1 -2
- package/dist/components/forms/Switch/Switch.cjs.js +1 -1
- package/dist/components/forms/Switch/Switch.mjs +39 -39
- package/dist/components/forms/Switch/Switch.module.css.mjs +1 -2
- package/dist/components/forms/TagInput/TagInput.cjs.js +1 -1
- package/dist/components/forms/TagInput/TagInput.mjs +197 -203
- package/dist/components/forms/TagInput/TagInput.module.css.mjs +1 -2
- package/dist/components/forms/Textarea/Textarea.cjs.js +1 -1
- package/dist/components/forms/Textarea/Textarea.mjs +59 -59
- package/dist/components/forms/Textarea/Textarea.module.css.mjs +1 -2
- package/dist/components/forms/TimePicker/TimePicker.cjs.js +1 -1
- package/dist/components/forms/TimePicker/TimePicker.mjs +14 -16
- package/dist/components/forms/TimePicker/TimePicker.module.css.mjs +1 -2
- package/dist/components/forms/TimePicker/timeUtils.cjs.js +1 -1
- package/dist/components/forms/TimePicker/timeUtils.d.ts +4 -1
- package/dist/components/forms/TimePicker/timeUtils.mjs +43 -38
- package/dist/components/forms/ToggleGroup/ToggleGroup.cjs.js +1 -1
- package/dist/components/forms/ToggleGroup/ToggleGroup.mjs +10 -10
- package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.mjs +1 -2
- package/dist/components/layout/Box/Box.mjs +1 -2
- package/dist/components/layout/Box/Box.module.css.mjs +1 -2
- package/dist/components/layout/Container/Container.mjs +1 -2
- package/dist/components/layout/Container/Container.module.css.mjs +1 -2
- package/dist/components/layout/Divider/Divider.mjs +1 -2
- package/dist/components/layout/Divider/Divider.module.css.mjs +1 -2
- package/dist/components/layout/Flex/Flex.cjs.js +1 -1
- package/dist/components/layout/Flex/Flex.mjs +12 -13
- package/dist/components/layout/Flex/Flex.module.css.mjs +1 -2
- package/dist/components/layout/Grid/Grid.cjs.js +1 -1
- package/dist/components/layout/Grid/Grid.mjs +20 -21
- package/dist/components/layout/Grid/Grid.module.css.mjs +1 -2
- package/dist/components/layout/ResizablePanels/ResizablePanels.cjs.js +1 -1
- package/dist/components/layout/ResizablePanels/ResizablePanels.mjs +17 -17
- package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.mjs +1 -2
- package/dist/components/layout/ScrollArea/ScrollArea.cjs.js +1 -1
- package/dist/components/layout/ScrollArea/ScrollArea.mjs +2 -2
- package/dist/components/layout/ScrollArea/ScrollArea.module.css.mjs +1 -2
- package/dist/components/layout/Stack/Stack.cjs.js +1 -1
- package/dist/components/layout/Stack/Stack.mjs +8 -9
- package/dist/components/layout/Stack/Stack.module.css.mjs +1 -2
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.cjs.js +1 -1
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.mjs +41 -41
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.mjs +1 -2
- package/dist/components/navigation/ContextMenu/ContextMenu.cjs.js +1 -1
- package/dist/components/navigation/ContextMenu/ContextMenu.mjs +48 -48
- package/dist/components/navigation/ContextMenu/ContextMenu.module.css.mjs +1 -2
- package/dist/components/navigation/Link/Link.cjs.js +1 -1
- package/dist/components/navigation/Link/Link.mjs +6 -7
- package/dist/components/navigation/Link/Link.module.css.mjs +1 -2
- package/dist/components/navigation/Menu/Menu.cjs.js +1 -1
- package/dist/components/navigation/Menu/Menu.mjs +11 -11
- package/dist/components/navigation/Menu/Menu.module.css.mjs +1 -2
- package/dist/components/navigation/Menu/MenuContent.cjs.js +1 -1
- package/dist/components/navigation/Menu/MenuContent.mjs +46 -46
- package/dist/components/navigation/Menu/MenuContext.cjs.js +1 -1
- package/dist/components/navigation/Menu/MenuContext.mjs +2 -2
- package/dist/components/navigation/Menu/MenuItem.cjs.js +1 -1
- package/dist/components/navigation/Menu/MenuItem.mjs +35 -39
- package/dist/components/navigation/Menu/MenuSub.cjs.js +1 -1
- package/dist/components/navigation/Menu/MenuSub.mjs +16 -20
- package/dist/components/navigation/Menu/useMenuRoot.cjs.js +1 -1
- package/dist/components/navigation/Menu/useMenuRoot.mjs +2 -2
- package/dist/components/navigation/Navbar/Navbar.cjs.js +1 -1
- package/dist/components/navigation/Navbar/Navbar.d.ts +65 -2
- package/dist/components/navigation/Navbar/Navbar.mjs +315 -175
- package/dist/components/navigation/Navbar/Navbar.module.css.cjs.js +1 -1
- package/dist/components/navigation/Navbar/Navbar.module.css.mjs +21 -13
- package/dist/components/navigation/Pagination/Pagination.cjs.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.mjs +31 -35
- package/dist/components/navigation/Pagination/Pagination.module.css.mjs +1 -2
- package/dist/components/navigation/Sidebar/Sidebar.cjs.js +1 -1
- package/dist/components/navigation/Sidebar/Sidebar.mjs +52 -52
- package/dist/components/navigation/Sidebar/Sidebar.module.css.mjs +1 -2
- package/dist/components/navigation/Sidebar/SidebarContext.cjs.js +1 -1
- package/dist/components/navigation/Sidebar/SidebarContext.mjs +2 -2
- package/dist/components/navigation/Sidebar/SidebarParts.cjs.js +1 -1
- package/dist/components/navigation/Sidebar/SidebarParts.mjs +76 -80
- package/dist/components/navigation/SkipLink/SkipLink.cjs.js +1 -1
- package/dist/components/navigation/SkipLink/SkipLink.mjs +12 -12
- package/dist/components/navigation/SkipLink/SkipLink.module.css.mjs +1 -2
- package/dist/components/navigation/Stepper/Stepper.cjs.js +1 -1
- package/dist/components/navigation/Stepper/Stepper.mjs +46 -46
- package/dist/components/navigation/Stepper/Stepper.module.css.mjs +1 -2
- package/dist/components/navigation/Tabs/Tabs.cjs.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.mjs +2 -2
- package/dist/components/navigation/Tabs/Tabs.module.css.mjs +1 -2
- package/dist/components/overlays/CommandPalette/CommandPalette.cjs.js +1 -1
- package/dist/components/overlays/CommandPalette/CommandPalette.mjs +206 -206
- package/dist/components/overlays/CommandPalette/CommandPalette.module.css.mjs +1 -2
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.cjs.js +1 -1
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.mjs +2 -2
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.cjs.js +1 -1
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.mjs +104 -104
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.cjs.js +1 -1
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.mjs +62 -60
- package/dist/components/overlays/Drawer/Drawer.cjs.js +1 -1
- package/dist/components/overlays/Drawer/Drawer.mjs +31 -31
- package/dist/components/overlays/Drawer/Drawer.module.css.mjs +1 -2
- package/dist/components/overlays/Drawer/DrawerContent.cjs.js +1 -1
- package/dist/components/overlays/Drawer/DrawerContent.mjs +99 -99
- package/dist/components/overlays/Drawer/DrawerContext.cjs.js +1 -1
- package/dist/components/overlays/Drawer/DrawerContext.mjs +2 -2
- package/dist/components/overlays/Drawer/DrawerParts.cjs.js +1 -1
- package/dist/components/overlays/Drawer/DrawerParts.mjs +18 -18
- package/dist/components/overlays/Drawer/internal.mjs +1 -2
- package/dist/components/overlays/Drawer/useDragToClose.cjs.js +1 -1
- package/dist/components/overlays/Drawer/useDragToClose.mjs +2 -2
- package/dist/components/overlays/HoverCard/HoverCard.cjs.js +1 -1
- package/dist/components/overlays/HoverCard/HoverCard.mjs +31 -31
- package/dist/components/overlays/HoverCard/HoverCard.module.css.mjs +1 -2
- package/dist/components/overlays/Modal/ConfirmModal.cjs.js +1 -1
- package/dist/components/overlays/Modal/ConfirmModal.mjs +21 -23
- package/dist/components/overlays/Modal/Modal.cjs.js +1 -1
- package/dist/components/overlays/Modal/Modal.mjs +47 -47
- package/dist/components/overlays/Modal/Modal.module.css.mjs +1 -2
- package/dist/components/overlays/Modal/ModalContent.cjs.js +1 -1
- package/dist/components/overlays/Modal/ModalContent.mjs +24 -24
- package/dist/components/overlays/Modal/ModalContext.cjs.js +1 -1
- package/dist/components/overlays/Modal/ModalContext.mjs +2 -2
- package/dist/components/overlays/Modal/useScrollRegion.cjs.js +1 -1
- package/dist/components/overlays/Modal/useScrollRegion.mjs +2 -2
- package/dist/components/overlays/Popover/Popover.cjs.js +1 -1
- package/dist/components/overlays/Popover/Popover.mjs +40 -40
- package/dist/components/overlays/Popover/Popover.module.css.mjs +1 -2
- package/dist/components/overlays/Popover/PopoverContent.cjs.js +1 -1
- package/dist/components/overlays/Popover/PopoverContent.mjs +39 -39
- package/dist/components/overlays/Popover/PopoverContext.cjs.js +1 -1
- package/dist/components/overlays/Popover/PopoverContext.mjs +2 -2
- package/dist/components/overlays/Tooltip/Tooltip.cjs.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.mjs +100 -95
- package/dist/components/overlays/Tooltip/Tooltip.module.css.mjs +1 -2
- package/dist/components/primitives/Button/Button.cjs.js +1 -1
- package/dist/components/primitives/Button/Button.mjs +59 -63
- package/dist/components/primitives/Button/Button.module.css.mjs +1 -2
- package/dist/components/primitives/Icon/Icon.cjs.js +1 -1
- package/dist/components/primitives/Icon/Icon.mjs +5 -6
- package/dist/components/primitives/Icon/Icon.module.css.mjs +1 -2
- package/dist/components/primitives/Icon/IconSvg.mjs +1 -2
- package/dist/components/primitives/Icon/icons.mjs +1 -2
- package/dist/components/primitives/Kbd/Kbd.cjs.js +1 -1
- package/dist/components/primitives/Kbd/Kbd.mjs +30 -30
- package/dist/components/primitives/Kbd/Kbd.module.css.mjs +1 -2
- package/dist/components/primitives/Typography/Typography.mjs +1 -2
- package/dist/components/primitives/Typography/Typography.module.css.mjs +1 -2
- package/dist/components/utilities/LocaleProvider/LocaleProvider.cjs.js +1 -1
- package/dist/components/utilities/LocaleProvider/LocaleProvider.mjs +11 -11
- package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.mjs +1 -2
- package/dist/components/utilities/Portal/Portal.cjs.js +1 -1
- package/dist/components/utilities/Portal/Portal.mjs +2 -2
- package/dist/components/utilities/Theme/Theme.cjs.js +1 -1
- package/dist/components/utilities/Theme/Theme.mjs +13 -13
- package/dist/components/utilities/Theme/Theme.module.css.mjs +1 -2
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.mjs +1 -2
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.mjs +1 -2
- package/dist/hooks/elementSource.cjs.js +1 -1
- package/dist/hooks/elementSource.mjs +4 -3
- package/dist/hooks/useClipboard.cjs.js +1 -1
- package/dist/hooks/useClipboard.mjs +2 -2
- package/dist/hooks/useControllableState.cjs.js +1 -1
- package/dist/hooks/useControllableState.mjs +2 -2
- package/dist/hooks/useDisclosure.cjs.js +1 -1
- package/dist/hooks/useDisclosure.mjs +2 -2
- package/dist/hooks/useDismiss.cjs.js +1 -1
- package/dist/hooks/useDismiss.mjs +2 -2
- package/dist/hooks/useElementObservers.cjs.js +1 -1
- package/dist/hooks/useElementObservers.mjs +2 -2
- package/dist/hooks/useEnvironment.cjs.js +1 -1
- package/dist/hooks/useEnvironment.mjs +2 -2
- package/dist/hooks/useFloatingPosition.cjs.js +1 -1
- package/dist/hooks/useFloatingPosition.mjs +2 -2
- package/dist/hooks/useFocusTrap.cjs.js +1 -1
- package/dist/hooks/useFocusTrap.mjs +4 -15
- package/dist/hooks/useFormReset.cjs.js +1 -1
- package/dist/hooks/useFormReset.mjs +2 -2
- package/dist/hooks/useFormValidation.cjs.js +1 -1
- package/dist/hooks/useFormValidation.mjs +2 -2
- package/dist/hooks/useHotkeys.cjs.js +1 -1
- package/dist/hooks/useHotkeys.mjs +2 -2
- package/dist/hooks/useInertOutside.cjs.js +1 -1
- package/dist/hooks/useInertOutside.mjs +5 -9
- package/dist/hooks/useMediaQuery.cjs.js +1 -1
- package/dist/hooks/useMediaQuery.mjs +2 -2
- package/dist/hooks/useMergedRef.cjs.js +1 -1
- package/dist/hooks/useMergedRef.mjs +2 -2
- package/dist/hooks/useOverlayLayer.cjs.js +1 -1
- package/dist/hooks/useOverlayLayer.mjs +3 -3
- package/dist/hooks/useResponsiveValue.cjs.js +1 -1
- package/dist/hooks/useResponsiveValue.mjs +2 -2
- package/dist/hooks/useScrollLock.cjs.js +1 -1
- package/dist/hooks/useScrollLock.mjs +2 -2
- package/dist/hooks/useStorage.cjs.js +1 -1
- package/dist/hooks/useStorage.mjs +2 -2
- package/dist/hooks/useTiming.cjs.js +1 -1
- package/dist/hooks/useTiming.mjs +10 -15
- package/dist/hooks/useVirtualizer.cjs.js +1 -1
- package/dist/hooks/useVirtualizer.d.ts +13 -0
- package/dist/hooks/useVirtualizer.mjs +93 -54
- package/dist/i18n/en.cjs.js +1 -1
- package/dist/i18n/en.mjs +2 -2
- package/dist/i18n/merge.mjs +1 -2
- package/dist/i18n/plural.mjs +1 -2
- package/dist/i18n/types.d.ts +5 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +114 -114
- package/dist/locales/ar.cjs.js +1 -1
- package/dist/locales/ar.mjs +2 -2
- package/dist/locales/bn.cjs.js +1 -1
- package/dist/locales/bn.mjs +2 -2
- package/dist/locales/cs.cjs.js +1 -1
- package/dist/locales/cs.mjs +2 -2
- package/dist/locales/da.cjs.js +1 -1
- package/dist/locales/da.mjs +2 -2
- package/dist/locales/de.cjs.js +1 -1
- package/dist/locales/de.mjs +2 -2
- package/dist/locales/el.cjs.js +1 -1
- package/dist/locales/el.mjs +2 -2
- package/dist/locales/es.cjs.js +1 -1
- package/dist/locales/es.mjs +2 -2
- package/dist/locales/fa.cjs.js +1 -1
- package/dist/locales/fa.mjs +2 -2
- package/dist/locales/fi.cjs.js +1 -1
- package/dist/locales/fi.mjs +2 -2
- package/dist/locales/fr.cjs.js +1 -1
- package/dist/locales/fr.mjs +2 -2
- package/dist/locales/he.cjs.js +1 -1
- package/dist/locales/he.mjs +2 -2
- package/dist/locales/hi.cjs.js +1 -1
- package/dist/locales/hi.mjs +2 -2
- package/dist/locales/hu.cjs.js +1 -1
- package/dist/locales/hu.mjs +2 -2
- package/dist/locales/id.cjs.js +1 -1
- package/dist/locales/id.mjs +2 -2
- package/dist/locales/it.cjs.js +1 -1
- package/dist/locales/it.mjs +2 -2
- package/dist/locales/ja.cjs.js +1 -1
- package/dist/locales/ja.mjs +2 -2
- package/dist/locales/ko.cjs.js +1 -1
- package/dist/locales/ko.mjs +2 -2
- package/dist/locales/nb.cjs.js +1 -1
- package/dist/locales/nb.mjs +2 -2
- package/dist/locales/nl.cjs.js +1 -1
- package/dist/locales/nl.mjs +2 -2
- package/dist/locales/pl.cjs.js +1 -1
- package/dist/locales/pl.mjs +2 -2
- package/dist/locales/pt-BR.cjs.js +1 -1
- package/dist/locales/pt-BR.mjs +2 -2
- package/dist/locales/ro.cjs.js +1 -1
- package/dist/locales/ro.mjs +2 -2
- package/dist/locales/ru.cjs.js +1 -1
- package/dist/locales/ru.mjs +2 -2
- package/dist/locales/sv.cjs.js +1 -1
- package/dist/locales/sv.mjs +2 -2
- package/dist/locales/th.cjs.js +1 -1
- package/dist/locales/th.mjs +2 -2
- package/dist/locales/tr.cjs.js +1 -1
- package/dist/locales/tr.mjs +2 -2
- package/dist/locales/uk.cjs.js +1 -1
- package/dist/locales/uk.mjs +2 -2
- package/dist/locales/ur.cjs.js +1 -1
- package/dist/locales/ur.mjs +2 -2
- package/dist/locales/vi.cjs.js +1 -1
- package/dist/locales/vi.mjs +2 -2
- package/dist/locales/zh-Hans.cjs.js +1 -1
- package/dist/locales/zh-Hans.mjs +2 -2
- package/dist/locales/zh-Hant.cjs.js +1 -1
- package/dist/locales/zh-Hant.mjs +2 -2
- package/dist/types/common.mjs +1 -2
- package/dist/utils/announce.cjs.js +1 -1
- package/dist/utils/announce.mjs +3 -4
- package/dist/utils/brandPalette.mjs +1 -2
- package/dist/utils/clipboard.mjs +1 -2
- package/dist/utils/cx.mjs +1 -2
- package/dist/utils/fillSlot.cjs.js +1 -1
- package/dist/utils/fillSlot.mjs +2 -2
- package/dist/utils/flattenChildren.mjs +1 -2
- package/dist/utils/hotkeys.mjs +1 -2
- package/dist/utils/intl.cjs.js +1 -0
- package/dist/utils/intl.d.ts +10 -0
- package/dist/utils/intl.mjs +15 -0
- package/dist/utils/refs.mjs +1 -2
- package/dist/utils/responsive.mjs +1 -2
- package/dist/utils/slot.mjs +1 -2
- package/dist/utils/validators.mjs +1 -2
- package/dist/vjdesigns-ui.css +1 -1
- package/dist/vjdesigns-ui.css.d.ts +2 -0
- package/package.json +24 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../utils/cx.cjs.js"),t=require("../../utilities/Portal/Portal.cjs.js"),n=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),r=require("./
|
|
1
|
+
"use client";const e=require("../../../utils/cx.cjs.js"),t=require("../../utilities/Portal/Portal.cjs.js"),n=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),r=require("./ToastItem.cjs.js"),i=require("./useToastAnnouncer.cjs.js"),a=require("./Toast.module.css.cjs.js");let o=require("react"),s=require("react/jsx-runtime");var c={"top-start":a.default.topStart,"top-center":a.default.topCenter,"top-end":a.default.topEnd,"bottom-start":a.default.bottomStart,"bottom-center":a.default.bottomCenter,"bottom-end":a.default.bottomEnd},l={0:a.default.gap0,1:a.default.gap1,2:a.default.gap2,3:a.default.gap3,4:a.default.gap4,5:a.default.gap5,6:a.default.gap6,8:a.default.gap8,10:a.default.gap10,12:a.default.gap12,16:a.default.gap16,20:a.default.gap20,24:a.default.gap24},u=[`Alt`,`Control`,`Meta`,`Shift`],d={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function f(e,t){if(t.length===0)return!1;let n=t.filter(e=>!u.includes(e)),r=u.filter(e=>t.includes(e));return u.every(t=>e[d[t]]===r.includes(t))&&n.every(t=>e.key===t||e.code===t)}function p(e){return e.map(e=>e.replace(/^Key/,``).replace(/^Digit/,``).replace(`Control`,`Ctrl`)).join(`+`)}function m(){let[e,t]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{let e=e=>()=>t(e),n=e(!0),r=e(!1),i=()=>t(document.visibilityState===`hidden`);return window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),document.addEventListener(`visibilitychange`,i),()=>{window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r),document.removeEventListener(`visibilitychange`,i)}},[]),e}var h=({store:u,placement:d,max:h,duration:g,gap:_,label:v,hotkey:y,showProgress:b,toneLabels:x,closeLabel:S,queuedLabel:C,className:w})=>{let T=(0,o.useSyncExternalStore)(u.subscribe,u.getSnapshot,u.getServerSnapshot),E=(0,o.useMemo)(()=>T.slice(0,Math.max(1,h)),[T,h]),D=T.length-E.length,O=(0,o.useRef)(null),k=(0,o.useRef)(new Map),A=(0,o.useRef)(null),[j,M]=(0,o.useState)(!1),[N,P]=(0,o.useState)(!1),F=m(),I=j||N||F,{polite:L,assertive:R}=i.useToastAnnouncer(E,x),z=(0,o.useCallback)((e,t)=>{t?k.current.set(e,t):k.current.delete(e)},[]),B=(0,o.useCallback)(()=>Array.from(O.current?.querySelectorAll(`li[data-state="open"]`)??[]),[]),V=(0,o.useCallback)(e=>{let t=k.current.get(e),n=Array.from(O.current?.querySelectorAll(`li[data-toast-id]`)??[]),r=t?n.indexOf(t):-1,i=e=>e.dataset.state===`open`,a=n.slice(r+1).find(i)??n.slice(0,Math.max(0,r)).reverse().find(i);if(a){a.focus();return}let o=A.current;A.current=null,o&&o.isConnected?o.focus():t?.blur()},[]);(0,o.useEffect)(()=>{if(y.length===0)return;let e=e=>{if(!f(e,y))return;let t=B(),n=t[t.length-1];if(!n)return;e.preventDefault();let r=document.activeElement;r&&!O.current?.contains(r)&&(A.current=r),n.focus()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y,B]);let H=e=>{P(!0);let t=e.relatedTarget;t&&!e.currentTarget.contains(t)&&(A.current=t)},U=e=>{let t=e.relatedTarget;t&&e.currentTarget.contains(t)||P(!1)},W=p(y),G=d.startsWith(`top`)?`top`:`bottom`;return(0,s.jsx)(t.Portal,{children:(0,s.jsxs)(`section`,{ref:O,"aria-label":W?`${v} (${W})`:v,tabIndex:-1,className:e.cx(a.default.viewport,c[d],l[_],w),"data-side":G,"data-paused":I||void 0,onFocus:H,onBlur:U,children:[(0,s.jsx)(`ol`,{className:a.default.list,onPointerEnter:()=>M(!0),onPointerLeave:()=>M(!1),children:E.map(e=>(0,s.jsx)(r.ToastItem,{record:e,store:u,paused:I,defaultDuration:g,defaultShowProgress:b,toneLabels:x,closeLabel:S,registerRef:z,onFocusedClose:V},e.id))}),D>0&&(0,s.jsx)(`p`,{className:a.default.queued,children:C(D)}),(0,s.jsx)(n.VisuallyHidden,{role:`status`,"aria-live":`polite`,"aria-atomic":`false`,children:L.map(e=>(0,s.jsx)(`span`,{children:e.text},e.key))}),(0,s.jsx)(n.VisuallyHidden,{role:`alert`,"aria-live":`assertive`,"aria-atomic":`false`,children:R.map(e=>(0,s.jsx)(`span`,{children:e.text},e.key))})]})})};exports.ToastViewport=h,exports.formatHotkey=p;
|
|
@@ -1,33 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { cx as e } from "../../../utils/cx.mjs";
|
|
2
3
|
import { Portal as t } from "../../utilities/Portal/Portal.mjs";
|
|
3
4
|
import { VisuallyHidden as n } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
|
|
4
|
-
import r from "./
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
5
|
+
import { ToastItem as r } from "./ToastItem.mjs";
|
|
6
|
+
import { useToastAnnouncer as i } from "./useToastAnnouncer.mjs";
|
|
7
|
+
import a from "./Toast.module.css.mjs";
|
|
7
8
|
import { useCallback as o, useEffect as s, useMemo as c, useRef as l, useState as u, useSyncExternalStore as d } from "react";
|
|
8
9
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
9
|
-
|
|
10
|
+
// src/components/feedback/Toast/ToastViewport.tsx
|
|
10
11
|
var m = {
|
|
11
|
-
"top-start":
|
|
12
|
-
"top-center":
|
|
13
|
-
"top-end":
|
|
14
|
-
"bottom-start":
|
|
15
|
-
"bottom-center":
|
|
16
|
-
"bottom-end":
|
|
12
|
+
"top-start": a.topStart,
|
|
13
|
+
"top-center": a.topCenter,
|
|
14
|
+
"top-end": a.topEnd,
|
|
15
|
+
"bottom-start": a.bottomStart,
|
|
16
|
+
"bottom-center": a.bottomCenter,
|
|
17
|
+
"bottom-end": a.bottomEnd
|
|
17
18
|
}, h = {
|
|
18
|
-
0:
|
|
19
|
-
1:
|
|
20
|
-
2:
|
|
21
|
-
3:
|
|
22
|
-
4:
|
|
23
|
-
5:
|
|
24
|
-
6:
|
|
25
|
-
8:
|
|
26
|
-
10:
|
|
27
|
-
12:
|
|
28
|
-
16:
|
|
29
|
-
20:
|
|
30
|
-
24:
|
|
19
|
+
0: a.gap0,
|
|
20
|
+
1: a.gap1,
|
|
21
|
+
2: a.gap2,
|
|
22
|
+
3: a.gap3,
|
|
23
|
+
4: a.gap4,
|
|
24
|
+
5: a.gap5,
|
|
25
|
+
6: a.gap6,
|
|
26
|
+
8: a.gap8,
|
|
27
|
+
10: a.gap10,
|
|
28
|
+
12: a.gap12,
|
|
29
|
+
16: a.gap16,
|
|
30
|
+
20: a.gap20,
|
|
31
|
+
24: a.gap24
|
|
31
32
|
}, g = [
|
|
32
33
|
"Alt",
|
|
33
34
|
"Control",
|
|
@@ -57,7 +58,7 @@ function b() {
|
|
|
57
58
|
}, []), e;
|
|
58
59
|
}
|
|
59
60
|
var x = ({ store: g, placement: _, max: x, duration: S, gap: C, label: w, hotkey: T, showProgress: E, toneLabels: D, closeLabel: O, queuedLabel: k, className: A }) => {
|
|
60
|
-
let j = d(g.subscribe, g.getSnapshot, g.getServerSnapshot), M = c(() => j.slice(0, Math.max(1, x)), [j, x]), N = j.length - M.length, P = l(null), F = l(/* @__PURE__ */ new Map()), I = l(null), [L, R] = u(!1), [z, B] = u(!1), V = b(), H = L || z || V, { polite: U, assertive: W } =
|
|
61
|
+
let j = d(g.subscribe, g.getSnapshot, g.getServerSnapshot), M = c(() => j.slice(0, Math.max(1, x)), [j, x]), N = j.length - M.length, P = l(null), F = l(/* @__PURE__ */ new Map()), I = l(null), [L, R] = u(!1), [z, B] = u(!1), V = b(), H = L || z || V, { polite: U, assertive: W } = i(M, D), G = o((e, t) => {
|
|
61
62
|
t ? F.current.set(e, t) : F.current.delete(e);
|
|
62
63
|
}, []), K = o(() => Array.from(P.current?.querySelectorAll("li[data-state=\"open\"]") ?? []), []), q = o((e) => {
|
|
63
64
|
let t = F.current.get(e), n = Array.from(P.current?.querySelectorAll("li[data-toast-id]") ?? []), r = t ? n.indexOf(t) : -1, i = (e) => e.dataset.state === "open", a = n.slice(r + 1).find(i) ?? n.slice(0, Math.max(0, r)).reverse().find(i);
|
|
@@ -86,23 +87,23 @@ var x = ({ store: g, placement: _, max: x, duration: S, gap: C, label: w, hotkey
|
|
|
86
87
|
t && !e.currentTarget.contains(t) && (I.current = t);
|
|
87
88
|
}, Y = (e) => {
|
|
88
89
|
let t = e.relatedTarget;
|
|
89
|
-
|
|
90
|
+
t && e.currentTarget.contains(t) || B(!1);
|
|
90
91
|
}, X = y(T), Z = _.startsWith("top") ? "top" : "bottom";
|
|
91
92
|
return /* @__PURE__ */ f(t, { children: /* @__PURE__ */ p("section", {
|
|
92
93
|
ref: P,
|
|
93
94
|
"aria-label": X ? `${w} (${X})` : w,
|
|
94
95
|
tabIndex: -1,
|
|
95
|
-
className: e(
|
|
96
|
+
className: e(a.viewport, m[_], h[C], A),
|
|
96
97
|
"data-side": Z,
|
|
97
98
|
"data-paused": H || void 0,
|
|
98
99
|
onFocus: J,
|
|
99
100
|
onBlur: Y,
|
|
100
101
|
children: [
|
|
101
102
|
/* @__PURE__ */ f("ol", {
|
|
102
|
-
className:
|
|
103
|
+
className: a.list,
|
|
103
104
|
onPointerEnter: () => R(!0),
|
|
104
105
|
onPointerLeave: () => R(!1),
|
|
105
|
-
children: M.map((e) => /* @__PURE__ */ f(
|
|
106
|
+
children: M.map((e) => /* @__PURE__ */ f(r, {
|
|
106
107
|
record: e,
|
|
107
108
|
store: g,
|
|
108
109
|
paused: H,
|
|
@@ -115,7 +116,7 @@ var x = ({ store: g, placement: _, max: x, duration: S, gap: C, label: w, hotkey
|
|
|
115
116
|
}, e.id))
|
|
116
117
|
}),
|
|
117
118
|
N > 0 && /* @__PURE__ */ f("p", {
|
|
118
|
-
className:
|
|
119
|
+
className: a.queued,
|
|
119
120
|
children: k(N)
|
|
120
121
|
}),
|
|
121
122
|
/* @__PURE__ */ f(n, {
|
|
@@ -133,5 +134,4 @@ var x = ({ store: g, placement: _, max: x, duration: S, gap: C, label: w, hotkey
|
|
|
133
134
|
]
|
|
134
135
|
}) });
|
|
135
136
|
};
|
|
136
|
-
//#endregion
|
|
137
137
|
export { x as ToastViewport, y as formatHotkey };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isValidElement as e } from "react";
|
|
2
|
-
|
|
2
|
+
// src/components/feedback/Toast/toastStore.ts
|
|
3
3
|
var t = [], n = 0;
|
|
4
4
|
function r() {
|
|
5
5
|
let e = t, r = /* @__PURE__ */ new Set(), i = (t) => {
|
|
@@ -82,5 +82,4 @@ function s(e) {
|
|
|
82
82
|
}, n;
|
|
83
83
|
}
|
|
84
84
|
var c = r(), l = s(c);
|
|
85
|
-
//#endregion
|
|
86
85
|
export { s as createToastApi, r as createToastStore, l as toast, c as toastStore };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let e=require("react");var t=4e3,n=250,r=1e4,i={neutral:``,info:`Info`,success:`Success`,warning:`Warning`,danger:`Error`,loading:`Loading`},a=e=>typeof e==`string`||typeof e==`number`?String(e):``,o=e=>e.split(/\s+/).filter(Boolean).length;function s(e,n){let{duration:i,tone:s,action:c}=e;if(i===1/0||i===void 0&&(s===`loading`||c))return 1/0;let l=o(`${a(e.title)} ${a(e.description)}`),u=Math.max(t+l*250,c?r:0);return Math.max(i??n,u)}function c(e,t){if(e.announcement!==void 0)return e.announcement;let n=[t,a(e.title),a(e.description)].filter(Boolean).join(`. `),r=e.action?.altText;return r?`${n}. ${r}`:n}function l(t,n,r,i){let a=(0,e.useRef)(t),o=(0,e.useRef)(i);o.current=i;let s=(0,e.useRef)(r),c=(0,e.useRef)(t);(s.current!==r||c.current!==t)&&(s.current=r,c.current=t,a.current=t),(0,e.useEffect)(()=>{if(n||!Number.isFinite(a.current))return;let e=Date.now(),i=window.setTimeout(()=>o.current(),Math.max(0,a.current));return()=>{window.clearTimeout(i),s.current===r&&c.current===t&&(a.current-=Date.now()-e)}},[n,r,t])}exports.TOAST_MIN_ACTION_DURATION=r,exports.TOAST_MIN_DURATION=t,exports.TOAST_MS_PER_WORD=n,exports.announcementOf=c,exports.defaultToneLabels=i,exports.resolveDuration=s,exports.textOf=a,exports.usePausableTimer=l;
|
|
1
|
+
"use client";let e=require("react");var t=4e3,n=250,r=1e4,i={neutral:``,info:`Info`,success:`Success`,warning:`Warning`,danger:`Error`,loading:`Loading`},a=e=>typeof e==`string`||typeof e==`number`?String(e):``,o=e=>e.split(/\s+/).filter(Boolean).length;function s(e,n){let{duration:i,tone:s,action:c}=e;if(i===1/0||i===void 0&&(s===`loading`||c))return 1/0;let l=o(`${a(e.title)} ${a(e.description)}`),u=Math.max(t+l*250,c?r:0);return Math.max(i??n,u)}function c(e,t){if(e.announcement!==void 0)return e.announcement;let n=[t,a(e.title),a(e.description)].filter(Boolean).join(`. `),r=e.action?.altText;return r?`${n}. ${r}`:n}function l(t,n,r,i){let a=(0,e.useRef)(t),o=(0,e.useRef)(i);o.current=i;let s=(0,e.useRef)(r),c=(0,e.useRef)(t);(s.current!==r||c.current!==t)&&(s.current=r,c.current=t,a.current=t),(0,e.useEffect)(()=>{if(n||!Number.isFinite(a.current))return;let e=Date.now(),i=window.setTimeout(()=>o.current(),Math.max(0,a.current));return()=>{window.clearTimeout(i),s.current===r&&c.current===t&&(a.current-=Date.now()-e)}},[n,r,t])}exports.TOAST_MIN_ACTION_DURATION=r,exports.TOAST_MIN_DURATION=t,exports.TOAST_MS_PER_WORD=n,exports.announcementOf=c,exports.defaultToneLabels=i,exports.resolveDuration=s,exports.textOf=a,exports.usePausableTimer=l;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { useEffect as e, useRef as t } from "react";
|
|
2
|
-
|
|
3
|
+
// src/components/feedback/Toast/toastTiming.ts
|
|
3
4
|
var n = 4e3, r = 250, i = 1e4, a = {
|
|
4
5
|
neutral: "",
|
|
5
6
|
info: "Info",
|
|
@@ -39,5 +40,4 @@ function u(n, r, i, a) {
|
|
|
39
40
|
n
|
|
40
41
|
]);
|
|
41
42
|
}
|
|
42
|
-
//#endregion
|
|
43
43
|
export { i as TOAST_MIN_ACTION_DURATION, n as TOAST_MIN_DURATION, r as TOAST_MS_PER_WORD, l as announcementOf, a as defaultToneLabels, c as resolveDuration, o as textOf, u as usePausableTimer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./toastStore.cjs.js");let t=require("react");var n=(0,t.createContext)(null);function r(){let r=(0,t.useContext)(n),i=r?.store??e.toastStore,a=r?.api??e.toast,o=(0,t.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getServerSnapshot);return{toast:a,dismiss:a.dismiss,update:a.update,promise:a.promise,toasts:o}}exports.ToastContext=n,exports.useToast=r;
|
|
1
|
+
"use client";const e=require("./toastStore.cjs.js");let t=require("react");var n=(0,t.createContext)(null);function r(){let r=(0,t.useContext)(n),i=r?.store??e.toastStore,a=r?.api??e.toast,o=(0,t.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getServerSnapshot);return{toast:a,dismiss:a.dismiss,update:a.update,promise:a.promise,toasts:o}}exports.ToastContext=n,exports.useToast=r;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { toast as e, toastStore as t } from "./toastStore.mjs";
|
|
2
3
|
import { createContext as n, useContext as r, useSyncExternalStore as i } from "react";
|
|
3
|
-
|
|
4
|
+
// src/components/feedback/Toast/useToast.ts
|
|
4
5
|
var a = n(null);
|
|
5
6
|
function o() {
|
|
6
7
|
let n = r(a), o = n?.store ?? t, s = n?.api ?? e, c = i(o.subscribe, o.getSnapshot, o.getServerSnapshot);
|
|
@@ -12,5 +13,4 @@ function o() {
|
|
|
12
13
|
toasts: c
|
|
13
14
|
};
|
|
14
15
|
}
|
|
15
|
-
//#endregion
|
|
16
16
|
export { a as ToastContext, o as useToast };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./toastTiming.cjs.js");let t=require("react");var n=150;function r(r,i){let[a,o]=(0,t.useState)([]),[s,c]=(0,t.useState)([]),l=(0,t.useRef)(new Map),u=(0,t.useRef)(new Set);return(0,t.useEffect)(()=>{let t=(e,t)=>{let n=window.setTimeout(()=>{u.current.delete(n),e()},t);u.current.add(n)},a=new Set(r.map(e=>e.id));for(let e of l.current.keys())a.has(e)||l.current.delete(e);for(let a of r){if(a.status!==`open`||l.current.get(a.id)===a.version)continue;l.current.set(a.id,a.version);let r=a.tone??`neutral`,s=a.politeness??(r===`danger`?`assertive`:`polite`);if(s===`off`)continue;let u=e.announcementOf(a,i[r]??e.defaultToneLabels[r]);if(!u)continue;let d={key:`${a.id}-${a.version}`,text:u},f=s===`assertive`?c:o;t(()=>f(e=>[...e,d]),n),t(()=>f(e=>e.filter(e=>e.key!==d.key)),7150)}},[r,i]),(0,t.useEffect)(()=>{let e=u.current,t=l.current;return()=>{e.forEach(e=>window.clearTimeout(e)),e.clear(),t.clear()}},[]),{polite:a,assertive:s}}exports.useToastAnnouncer=r;
|
|
1
|
+
"use client";const e=require("./toastTiming.cjs.js");let t=require("react");var n=150;function r(r,i){let[a,o]=(0,t.useState)([]),[s,c]=(0,t.useState)([]),l=(0,t.useRef)(new Map),u=(0,t.useRef)(new Set);return(0,t.useEffect)(()=>{let t=(e,t)=>{let n=window.setTimeout(()=>{u.current.delete(n),e()},t);u.current.add(n)},a=new Set(r.map(e=>e.id));for(let e of l.current.keys())a.has(e)||l.current.delete(e);for(let a of r){if(a.status!==`open`||l.current.get(a.id)===a.version)continue;l.current.set(a.id,a.version);let r=a.tone??`neutral`,s=a.politeness??(r===`danger`?`assertive`:`polite`);if(s===`off`)continue;let u=e.announcementOf(a,i[r]??e.defaultToneLabels[r]);if(!u)continue;let d={key:`${a.id}-${a.version}`,text:u},f=s===`assertive`?c:o;t(()=>f(e=>[...e,d]),n),t(()=>f(e=>e.filter(e=>e.key!==d.key)),7150)}},[r,i]),(0,t.useEffect)(()=>{let e=u.current,t=l.current;return()=>{e.forEach(e=>window.clearTimeout(e)),e.clear(),t.clear()}},[]),{polite:a,assertive:s}}exports.useToastAnnouncer=r;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { announcementOf as e, defaultToneLabels as t } from "./toastTiming.mjs";
|
|
2
3
|
import { useEffect as n, useRef as r, useState as i } from "react";
|
|
3
|
-
|
|
4
|
+
// src/components/feedback/Toast/useToastAnnouncer.ts
|
|
4
5
|
var a = 150;
|
|
5
6
|
function o(o, s) {
|
|
6
7
|
let [c, l] = i([]), [u, d] = i([]), f = r(/* @__PURE__ */ new Map()), p = r(/* @__PURE__ */ new Set());
|
|
@@ -35,5 +36,4 @@ function o(o, s) {
|
|
|
35
36
|
assertive: u
|
|
36
37
|
};
|
|
37
38
|
}
|
|
38
|
-
//#endregion
|
|
39
39
|
export { o as useToastAnnouncer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../hooks/useFormReset.cjs.js"),n=require("../../../utils/cx.cjs.js"),r=require("../../primitives/Icon/icons.cjs.js"),i=require("../Field/FieldContext.cjs.js"),a=require("./CheckBox.module.css.cjs.js");let o=require("react"),s=require("react/jsx-runtime");var c={sm:a.default.sm,md:a.default.md,lg:a.default.lg},l={neutral:a.default.toneNeutral,primary:a.default.tonePrimary,accent:a.default.toneAccent,success:a.default.toneSuccess,warning:a.default.toneWarning,danger:a.default.toneDanger,info:a.default.toneInfo},u={end:a.default.labelEnd,start:a.default.labelStart},d={vertical:a.default.vertical,horizontal:a.default.horizontal},f=(0,o.createContext)(null);function p({checked:d,defaultChecked:p=!1,onCheckedChange:m,indeterminate:h=!1,label:g,description:_,size:v,tone:y,invalid:b,disabled:x,required:S,readOnly:C,labelPosition:w=`end`,value:T,name:E,id:D,className:O,style:k,ref:A,onChange:j,onClick:M,"aria-describedby":N,...P}){let F=(0,o.useContext)(f),I=(0,o.useId)(),L=(0,o.useId)(),R=i.useFieldControl({id:D??(F?I:void 0),invalid:b??F?.invalid,required:S,disabled:x??(F?.disabled||void 0),readOnly:C??(F?.readOnly||void 0),size:v??F?.size,"aria-describedby":[_?L:void 0,N].filter(Boolean).join(` `)||void 0}),z=R.id??I,B=R.size??`md`,V=y??F?.tone??`primary`,{disabled:H,readOnly:U,invalid:W}=R,G=F?[_?L:void 0,F.itemDescribedBy,N].filter(Boolean).join(` `)||void 0:R.ariaProps[`aria-describedby`],[K,q]=e.useControllableState({value:d,defaultValue:p,onChange:m});t.useFormReset(()=>X.current,()=>F?F.reset():q(p??!1),F?!0:d===void 0);let J=T??`on`,Y=F?F.value.includes(J):K,X=(0,o.useRef)(null);(0,o.useLayoutEffect)(()=>{X.current&&(X.current.indeterminate=h)});let Z=(0,o.useCallback)(e=>{if(X.current=e,typeof A==`function`)return A(e);A&&(A.current=e)},[A]),Q=e=>{M?.(e),U&&e.preventDefault()},$=e=>{if(j?.(e),U)return;let t=e.target.checked;F?(F.toggle(J,t),m?.(t)):q(t)};return(0,s.jsxs)(`div`,{className:n.cx(a.default.root,c[B],l[V],u[w],O),style:k,"data-disabled":H||void 0,"data-invalid":W||void 0,"data-readonly":U||void 0,children:[(0,s.jsxs)(`span`,{className:a.default.controlWrap,children:[(0,s.jsx)(`input`,{...P,ref:Z,type:`checkbox`,id:z,name:E??F?.name,value:J,checked:Y,disabled:H,required:F?void 0:R.required,"aria-describedby":G,"aria-invalid":R.ariaProps[`aria-invalid`],"aria-errormessage":F?void 0:R.ariaProps[`aria-errormessage`],"aria-readonly":U||void 0,className:a.default.input,onClick:Q,onChange:$}),(0,s.jsxs)(`span`,{className:a.default.control,"aria-hidden":`true`,children:[(0,s.jsx)(r.CheckIcon,{className:n.cx(a.default.mark,a.default.check),strokeWidth:3.5}),(0,s.jsx)(r.MinusIcon,{className:n.cx(a.default.mark,a.default.minus),strokeWidth:3.5})]})]}),(g||_)&&(0,s.jsxs)(`span`,{className:a.default.text,children:[g&&(0,s.jsx)(`label`,{htmlFor:z,className:a.default.label,children:g}),_&&(0,s.jsx)(`span`,{id:L,className:a.default.description,children:_})]})]})}function m({value:t,defaultValue:r=[],onValueChange:l,name:u,orientation:p=`vertical`,size:m,tone:h,disabled:g,readOnly:_,invalid:v,label:y,description:b,className:x,children:S,"aria-labelledby":C,"aria-describedby":w,...T}){let E=i.useFieldContext(),D=(0,o.useId)(),O=(0,o.useId)(),k=i.useFieldControl({invalid:v,disabled:g,readOnly:_,size:m,"aria-describedby":[b?O:void 0,w].filter(Boolean).join(` `)||void 0}),[A,j]=e.useControllableState({value:t,defaultValue:r,onChange:l}),M=(0,o.useCallback)((e,t)=>{j(n=>t?n.includes(e)?n:[...n,e]:n.filter(t=>t!==e))},[j]),N=E?.isGroup===!0&&!C&&!y,P=[C,y?D:void 0].filter(Boolean).join(` `)||void 0,F=[b?O:void 0,w].filter(Boolean).join(` `)||void 0,I={name:u,value:A,toggle:M,size:k.size,tone:h,disabled:k.disabled,readOnly:k.readOnly,invalid:k.invalid,reset:()=>{t===void 0&&j(r??[])},itemDescribedBy:N?F:void 0};return(0,s.jsxs)(`div`,{...T,role:N?void 0:`group`,"aria-labelledby":N?void 0:P,"aria-describedby":N?F:k.ariaProps[`aria-describedby`],className:n.cx(a.default.group,c[k.size??`md`],x),"data-disabled":k.disabled||void 0,"aria-disabled":k.disabled||void 0,children:[(y||b)&&(0,s.jsxs)(`div`,{className:a.default.groupHeader,children:[y&&(0,s.jsx)(`span`,{id:D,className:a.default.groupLabel,children:y}),b&&(0,s.jsx)(`span`,{id:O,className:a.default.description,children:b})]}),(0,s.jsx)(`div`,{className:n.cx(a.default.options,d[p]),children:(0,s.jsx)(f.Provider,{value:I,children:S})})]})}exports.CheckBox=p,exports.CheckBoxGroup=m;
|
|
1
|
+
"use client";const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../hooks/useFormReset.cjs.js"),n=require("../../../utils/cx.cjs.js"),r=require("../../primitives/Icon/icons.cjs.js"),i=require("../Field/FieldContext.cjs.js"),a=require("./CheckBox.module.css.cjs.js");let o=require("react"),s=require("react/jsx-runtime");var c={sm:a.default.sm,md:a.default.md,lg:a.default.lg},l={neutral:a.default.toneNeutral,primary:a.default.tonePrimary,accent:a.default.toneAccent,success:a.default.toneSuccess,warning:a.default.toneWarning,danger:a.default.toneDanger,info:a.default.toneInfo},u={end:a.default.labelEnd,start:a.default.labelStart},d={vertical:a.default.vertical,horizontal:a.default.horizontal},f=(0,o.createContext)(null);function p({checked:d,defaultChecked:p=!1,onCheckedChange:m,indeterminate:h=!1,label:g,description:_,size:v,tone:y,invalid:b,disabled:x,required:S,readOnly:C,labelPosition:w=`end`,value:T,name:E,id:D,className:O,style:k,ref:A,onChange:j,onClick:M,"aria-describedby":N,...P}){let F=(0,o.useContext)(f),I=(0,o.useId)(),L=(0,o.useId)(),R=i.useFieldControl({id:D??(F?I:void 0),invalid:b??F?.invalid,required:S,disabled:x??(F?.disabled||void 0),readOnly:C??(F?.readOnly||void 0),size:v??F?.size,"aria-describedby":[_?L:void 0,N].filter(Boolean).join(` `)||void 0}),z=R.id??I,B=R.size??`md`,V=y??F?.tone??`primary`,{disabled:H,readOnly:U,invalid:W}=R,G=F?[_?L:void 0,F.itemDescribedBy,N].filter(Boolean).join(` `)||void 0:R.ariaProps[`aria-describedby`],[K,q]=e.useControllableState({value:d,defaultValue:p,onChange:m});t.useFormReset(()=>X.current,()=>F?F.reset():q(p??!1),F?!0:d===void 0);let J=T??`on`,Y=F?F.value.includes(J):K,X=(0,o.useRef)(null);(0,o.useLayoutEffect)(()=>{X.current&&(X.current.indeterminate=h)});let Z=(0,o.useCallback)(e=>{if(X.current=e,typeof A==`function`)return A(e);A&&(A.current=e)},[A]),Q=e=>{M?.(e),U&&e.preventDefault()},$=e=>{if(j?.(e),U)return;let t=e.target.checked;F?(F.toggle(J,t),m?.(t)):q(t)};return(0,s.jsxs)(`div`,{className:n.cx(a.default.root,c[B],l[V],u[w],O),style:k,"data-disabled":H||void 0,"data-invalid":W||void 0,"data-readonly":U||void 0,children:[(0,s.jsxs)(`span`,{className:a.default.controlWrap,children:[(0,s.jsx)(`input`,{...P,ref:Z,type:`checkbox`,id:z,name:E??F?.name,value:J,checked:Y,disabled:H,required:F?void 0:R.required,"aria-describedby":G,"aria-invalid":R.ariaProps[`aria-invalid`],"aria-errormessage":F?void 0:R.ariaProps[`aria-errormessage`],"aria-readonly":U||void 0,className:a.default.input,onClick:Q,onChange:$}),(0,s.jsxs)(`span`,{className:a.default.control,"aria-hidden":`true`,children:[(0,s.jsx)(r.CheckIcon,{className:n.cx(a.default.mark,a.default.check),strokeWidth:3.5}),(0,s.jsx)(r.MinusIcon,{className:n.cx(a.default.mark,a.default.minus),strokeWidth:3.5})]})]}),(g||_)&&(0,s.jsxs)(`span`,{className:a.default.text,children:[g&&(0,s.jsx)(`label`,{htmlFor:z,className:a.default.label,children:g}),_&&(0,s.jsx)(`span`,{id:L,className:a.default.description,children:_})]})]})}function m({value:t,defaultValue:r=[],onValueChange:l,name:u,orientation:p=`vertical`,size:m,tone:h,disabled:g,readOnly:_,invalid:v,label:y,description:b,className:x,children:S,"aria-labelledby":C,"aria-describedby":w,...T}){let E=i.useFieldContext(),D=(0,o.useId)(),O=(0,o.useId)(),k=i.useFieldControl({invalid:v,disabled:g,readOnly:_,size:m,"aria-describedby":[b?O:void 0,w].filter(Boolean).join(` `)||void 0}),[A,j]=e.useControllableState({value:t,defaultValue:r,onChange:l}),M=(0,o.useCallback)((e,t)=>{j(n=>t?n.includes(e)?n:[...n,e]:n.filter(t=>t!==e))},[j]),N=E?.isGroup===!0&&!C&&!y,P=[C,y?D:void 0].filter(Boolean).join(` `)||void 0,F=[b?O:void 0,w].filter(Boolean).join(` `)||void 0,I={name:u,value:A,toggle:M,size:k.size,tone:h,disabled:k.disabled,readOnly:k.readOnly,invalid:k.invalid,reset:()=>{t===void 0&&j(r??[])},itemDescribedBy:N?F:void 0};return(0,s.jsxs)(`div`,{...T,role:N?void 0:`group`,"aria-labelledby":N?void 0:P,"aria-describedby":N?F:k.ariaProps[`aria-describedby`],className:n.cx(a.default.group,c[k.size??`md`],x),"data-disabled":k.disabled||void 0,"aria-disabled":k.disabled||void 0,children:[(y||b)&&(0,s.jsxs)(`div`,{className:a.default.groupHeader,children:[y&&(0,s.jsx)(`span`,{id:D,className:a.default.groupLabel,children:y}),b&&(0,s.jsx)(`span`,{id:O,className:a.default.description,children:b})]}),(0,s.jsx)(`div`,{className:n.cx(a.default.options,d[p]),children:(0,s.jsx)(f.Provider,{value:I,children:S})})]})}exports.CheckBox=p,exports.CheckBoxGroup=m;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
|
|
2
3
|
import { useFormReset as t } from "../../../hooks/useFormReset.mjs";
|
|
3
4
|
import { cx as n } from "../../../utils/cx.mjs";
|
|
@@ -6,7 +7,7 @@ import { useFieldContext as a, useFieldControl as o } from "../Field/FieldContex
|
|
|
6
7
|
import s from "./CheckBox.module.css.mjs";
|
|
7
8
|
import { createContext as c, useCallback as l, useContext as u, useId as d, useLayoutEffect as f, useRef as p } from "react";
|
|
8
9
|
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
9
|
-
|
|
10
|
+
// src/components/forms/CheckBox/CheckBox.tsx
|
|
10
11
|
var g = {
|
|
11
12
|
sm: s.sm,
|
|
12
13
|
md: s.md,
|
|
@@ -164,5 +165,4 @@ function S({ value: t, defaultValue: r = [], onValueChange: i, name: c, orientat
|
|
|
164
165
|
})]
|
|
165
166
|
});
|
|
166
167
|
}
|
|
167
|
-
//#endregion
|
|
168
168
|
export { x as CheckBox, S as CheckBoxGroup };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/components/forms/CheckBox/CheckBox.module.css
|
|
2
2
|
var e = "_root_1f9i5_35", t = "_sm_1f9i5_59", n = "_md_1f9i5_73", r = "_lg_1f9i5_87", i = "_tonePrimary_1f9i5_105", a = "_toneNeutral_1f9i5_117", o = "_toneAccent_1f9i5_129", s = "_toneSuccess_1f9i5_141", c = "_toneWarning_1f9i5_153", l = "_toneDanger_1f9i5_165", u = "_toneInfo_1f9i5_177", d = "_labelEnd_1f9i5_193", f = "_labelStart_1f9i5_199", p = "_controlWrap_1f9i5_211", m = "_input_1f9i5_239", h = "_control_1f9i5_211", g = "_mark_1f9i5_299", _ = "_check_1f9i5_363", v = "_minus_1f9i5_365", y = "_label_1f9i5_193", b = "_description_1f9i5_441", x = "_text_1f9i5_451", S = "_group_1f9i5_489", C = "_groupHeader_1f9i5_505", w = "_groupLabel_1f9i5_517", T = "_options_1f9i5_539", E = "_vertical_1f9i5_545", D = "_horizontal_1f9i5_553", O = {
|
|
3
3
|
root: e,
|
|
4
4
|
sm: t,
|
|
@@ -29,5 +29,4 @@ var e = "_root_1f9i5_35", t = "_sm_1f9i5_59", n = "_md_1f9i5_73", r = "_lg_1f9i5
|
|
|
29
29
|
vertical: E,
|
|
30
30
|
horizontal: D
|
|
31
31
|
};
|
|
32
|
-
//#endregion
|
|
33
32
|
export { _ as check, h as control, p as controlWrap, O as default, b as description, S as group, C as groupHeader, w as groupLabel, D as horizontal, m as input, y as label, d as labelEnd, f as labelStart, r as lg, g as mark, n as md, v as minus, T as options, e as root, t as sm, x as text, o as toneAccent, l as toneDanger, u as toneInfo, a as toneNeutral, i as tonePrimary, s as toneSuccess, c as toneWarning, E as vertical };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../hooks/useControllableState.cjs.js"),t=require("
|
|
1
|
+
"use client";const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../utils/cx.cjs.js"),n=require("../../overlays/Popover/Popover.cjs.js"),r=require("../../primitives/Icon/icons.cjs.js"),i=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),a=require("../Field/FieldContext.cjs.js"),o=require("./ColorPicker.cjs.js"),s=require("./colorUtils.cjs.js"),c=require("./ColorPicker.module.css.cjs.js"),ee=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js");let l=require("react"),u=require("react/jsx-runtime");var d={sm:c.default.triggerSm,md:c.default.triggerMd,lg:c.default.triggerLg};function f(f){let p=ee.useMessages(),{value:te,defaultValue:m,onValueChange:h,onValueCommit:ne,format:g=`hex`,alpha:_=!1,swatches:v,eyeDropper:y,size:b,disabled:x,readOnly:S,invalid:re,name:C,labels:w,open:ie,defaultOpen:T,onOpenChange:E,placement:D=`bottom-start`,fullWidth:O=!1,dialogLabel:k=p.colorPicker.dialog,id:A,className:j,style:M,"aria-label":N,"aria-labelledby":P,"aria-describedby":F,...I}=f,L=a.useFieldContext(),R=a.useFieldControl({id:A,invalid:re,disabled:x,readOnly:S,size:b,"aria-describedby":F}),{disabled:z,readOnly:B,invalid:V}=R,H=R.size??`md`,[U,W]=e.useControllableState({value:te,defaultValue:m??`#1d4ed8`,onChange:h}),G=s.parseColor(U),K=G?s.formatColor(_?G:{...G,a:1},g,{alpha:_}):U,q=w?.describeColor??(e=>s.describeColor(e,p.colorPicker.colors)),J=G?q(_?G:{...G,a:1}):``,Y=(0,l.useId)(),X=`${Y}-name`,Z=`${Y}-value`,Q=P??L?.labelId,$=N??(Q?void 0:w?.input??p.colorPicker.input),ae={"--cp-color":G?s.formatColor(_?G:{...G,a:1},`rgb`):`transparent`};return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(n.Popover,{open:ie,defaultOpen:T,onOpenChange:E,placement:D,children:[(0,u.jsx)(n.Popover.Trigger,{asChild:!0,children:(0,u.jsxs)(`button`,{...I,type:`button`,id:R.id,disabled:z,className:t.cx(c.default.trigger,d[H],O&&c.default.triggerFullWidth,j),style:{...M,...ae},"data-invalid":V||void 0,"data-readonly":B||void 0,"aria-labelledby":[Q??($?X:void 0),Z].filter(Boolean).join(` `),...R.ariaProps,children:[!Q&&$&&(0,u.jsx)(i.VisuallyHidden,{id:X,children:$}),(0,u.jsx)(`span`,{className:t.cx(c.default.triggerSwatch,c.default.checkered),"aria-hidden":`true`}),(0,u.jsxs)(`span`,{id:Z,className:c.default.triggerValue,children:[K,J&&(0,u.jsxs)(i.VisuallyHidden,{children:[`, `,J]})]}),(0,u.jsx)(r.ChevronDownIcon,{size:`sm`,className:c.default.triggerChevron})]})}),(0,u.jsx)(n.Popover.Content,{"aria-label":k,maxWidth:`none`,children:(0,u.jsx)(a.FieldContext.Provider,{value:null,children:(0,u.jsx)(o.ColorPicker,{variant:`plain`,"aria-label":k,value:U,onValueChange:W,onValueCommit:ne,format:g,alpha:_,swatches:v,eyeDropper:y,size:H,disabled:z,readOnly:B,invalid:V,labels:w})})})]}),C&&(0,u.jsx)(`input`,{type:`hidden`,name:C,value:K,disabled:z})]})}exports.ColorInput=f;
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { FieldContext as a, useFieldContext as
|
|
7
|
-
import {
|
|
8
|
-
import { describeColor as c, formatColor as l, parseColor as
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import { useId as
|
|
12
|
-
import { Fragment as
|
|
13
|
-
|
|
14
|
-
var
|
|
15
|
-
sm:
|
|
16
|
-
md:
|
|
17
|
-
lg:
|
|
3
|
+
import { cx as t } from "../../../utils/cx.mjs";
|
|
4
|
+
import { Popover as n } from "../../overlays/Popover/Popover.mjs";
|
|
5
|
+
import { ChevronDownIcon as r } from "../../primitives/Icon/icons.mjs";
|
|
6
|
+
import { VisuallyHidden as i } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
|
|
7
|
+
import { FieldContext as a, useFieldContext as o, useFieldControl as ee } from "../Field/FieldContext.mjs";
|
|
8
|
+
import { ColorPicker as s } from "./ColorPicker.mjs";
|
|
9
|
+
import { describeColor as c, formatColor as l, parseColor as u } from "./colorUtils.mjs";
|
|
10
|
+
import d from "./ColorPicker.module.css.mjs";
|
|
11
|
+
import { useMessages as te } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
|
|
12
|
+
import { useId as ne } from "react";
|
|
13
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
14
|
+
// src/components/forms/ColorPicker/ColorInput.tsx
|
|
15
|
+
var re = {
|
|
16
|
+
sm: d.triggerSm,
|
|
17
|
+
md: d.triggerMd,
|
|
18
|
+
lg: d.triggerLg
|
|
18
19
|
};
|
|
19
|
-
function
|
|
20
|
-
let
|
|
20
|
+
function h(h) {
|
|
21
|
+
let g = te(), { value: _, defaultValue: v, onValueChange: y, onValueCommit: b, format: x = "hex", alpha: S = !1, swatches: ie, eyeDropper: ae, size: oe, disabled: se, readOnly: C, invalid: w, name: T, labels: E, open: D, defaultOpen: O, onOpenChange: k, placement: A = "bottom-start", fullWidth: j = !1, dialogLabel: M = g.colorPicker.dialog, id: N, className: P, style: F, "aria-label": I, "aria-labelledby": L, "aria-describedby": ce, ...R } = h, z = o(), B = ee({
|
|
21
22
|
id: N,
|
|
22
23
|
invalid: w,
|
|
23
24
|
disabled: se,
|
|
@@ -25,32 +26,32 @@ function _(_) {
|
|
|
25
26
|
size: oe,
|
|
26
27
|
"aria-describedby": ce
|
|
27
28
|
}), { disabled: V, readOnly: H, invalid: U } = B, W = B.size ?? "md", [G, le] = e({
|
|
28
|
-
value:
|
|
29
|
-
defaultValue:
|
|
30
|
-
onChange:
|
|
31
|
-
}), K =
|
|
29
|
+
value: _,
|
|
30
|
+
defaultValue: v ?? "#1d4ed8",
|
|
31
|
+
onChange: y
|
|
32
|
+
}), K = u(G), q = K ? l(S ? K : {
|
|
32
33
|
...K,
|
|
33
34
|
a: 1
|
|
34
|
-
}, x, { alpha: S }) : G, ue = E?.describeColor ?? ((e) => c(e,
|
|
35
|
+
}, x, { alpha: S }) : G, ue = E?.describeColor ?? ((e) => c(e, g.colorPicker.colors)), J = K ? ue(S ? K : {
|
|
35
36
|
...K,
|
|
36
37
|
a: 1
|
|
37
|
-
}) : "", Y =
|
|
38
|
+
}) : "", Y = ne(), X = `${Y}-name`, Z = `${Y}-value`, Q = L ?? z?.labelId, $ = I ?? (Q ? void 0 : E?.input ?? g.colorPicker.input), de = { "--cp-color": K ? l(S ? K : {
|
|
38
39
|
...K,
|
|
39
40
|
a: 1
|
|
40
41
|
}, "rgb") : "transparent" };
|
|
41
|
-
return /* @__PURE__ */
|
|
42
|
+
return /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m(n, {
|
|
42
43
|
open: D,
|
|
43
44
|
defaultOpen: O,
|
|
44
45
|
onOpenChange: k,
|
|
45
46
|
placement: A,
|
|
46
|
-
children: [/* @__PURE__ */
|
|
47
|
+
children: [/* @__PURE__ */ p(n.Trigger, {
|
|
47
48
|
asChild: !0,
|
|
48
|
-
children: /* @__PURE__ */
|
|
49
|
+
children: /* @__PURE__ */ m("button", {
|
|
49
50
|
...R,
|
|
50
51
|
type: "button",
|
|
51
52
|
id: B.id,
|
|
52
53
|
disabled: V,
|
|
53
|
-
className:
|
|
54
|
+
className: t(d.trigger, re[W], j && d.triggerFullWidth, P),
|
|
54
55
|
style: {
|
|
55
56
|
...F,
|
|
56
57
|
...de
|
|
@@ -60,36 +61,36 @@ function _(_) {
|
|
|
60
61
|
"aria-labelledby": [Q ?? ($ ? X : void 0), Z].filter(Boolean).join(" "),
|
|
61
62
|
...B.ariaProps,
|
|
62
63
|
children: [
|
|
63
|
-
!Q && $ && /* @__PURE__ */
|
|
64
|
+
!Q && $ && /* @__PURE__ */ p(i, {
|
|
64
65
|
id: X,
|
|
65
66
|
children: $
|
|
66
67
|
}),
|
|
67
|
-
/* @__PURE__ */
|
|
68
|
-
className:
|
|
68
|
+
/* @__PURE__ */ p("span", {
|
|
69
|
+
className: t(d.triggerSwatch, d.checkered),
|
|
69
70
|
"aria-hidden": "true"
|
|
70
71
|
}),
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ m("span", {
|
|
72
73
|
id: Z,
|
|
73
|
-
className:
|
|
74
|
-
children: [q, J && /* @__PURE__ */
|
|
74
|
+
className: d.triggerValue,
|
|
75
|
+
children: [q, J && /* @__PURE__ */ m(i, { children: [", ", J] })]
|
|
75
76
|
}),
|
|
76
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ p(r, {
|
|
77
78
|
size: "sm",
|
|
78
|
-
className:
|
|
79
|
+
className: d.triggerChevron
|
|
79
80
|
})
|
|
80
81
|
]
|
|
81
82
|
})
|
|
82
|
-
}), /* @__PURE__ */
|
|
83
|
+
}), /* @__PURE__ */ p(n.Content, {
|
|
83
84
|
"aria-label": M,
|
|
84
85
|
maxWidth: "none",
|
|
85
|
-
children: /* @__PURE__ */
|
|
86
|
+
children: /* @__PURE__ */ p(a.Provider, {
|
|
86
87
|
value: null,
|
|
87
|
-
children: /* @__PURE__ */
|
|
88
|
+
children: /* @__PURE__ */ p(s, {
|
|
88
89
|
variant: "plain",
|
|
89
90
|
"aria-label": M,
|
|
90
91
|
value: G,
|
|
91
92
|
onValueChange: le,
|
|
92
|
-
onValueCommit:
|
|
93
|
+
onValueCommit: b,
|
|
93
94
|
format: x,
|
|
94
95
|
alpha: S,
|
|
95
96
|
swatches: ie,
|
|
@@ -102,12 +103,11 @@ function _(_) {
|
|
|
102
103
|
})
|
|
103
104
|
})
|
|
104
105
|
})]
|
|
105
|
-
}), T && /* @__PURE__ */
|
|
106
|
+
}), T && /* @__PURE__ */ p("input", {
|
|
106
107
|
type: "hidden",
|
|
107
108
|
name: T,
|
|
108
109
|
value: q,
|
|
109
110
|
disabled: V
|
|
110
111
|
})] });
|
|
111
112
|
}
|
|
112
|
-
|
|
113
|
-
export { _ as ColorInput };
|
|
113
|
+
export { h as ColorInput };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("../../../i18n/en.cjs.js"),t=require("../../../hooks/useControllableState.cjs.js"),n=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),r=require("../../../utils/cx.cjs.js"),i=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),a=require("../../primitives/Button/Button.cjs.js"),o=require("../../primitives/Icon/icons.cjs.js"),s=require("../Field/FieldContext.cjs.js"),c=require("../Input/Input.cjs.js"),l=require("./colorUtils.cjs.js"),u=require("./ColorPicker.module.css.cjs.js");let d=require("react"),f=require("react/jsx-runtime");function p(e){let{colors:t}=e.colorPicker;return{...e.colorPicker,describeColor:e=>l.describeColor(e,t),hueName:e=>l.getHueName(e,t)}}var m=p(e.en),h=`#1d4ed8`,g={h:224,s:87,v:85,a:1},_={sm:u.default.sizeSm,md:u.default.sizeMd,lg:u.default.sizeLg},v={panel:u.default.panel,plain:u.default.plain},y=(e,t,n)=>Math.min(n,Math.max(t,e)),b=`linear-gradient(to right, hsl(0 100% 50%), hsl(60 100% 50%), hsl(120 100% 50%), hsl(180 100% 50%), hsl(240 100% 50%), hsl(300 100% 50%), hsl(360 100% 50%))`,x=e=>l.formatColor(e,`rgb`);function S(e,t){let n=e.shiftKey?10:1,r=t!==`y`,i=t!==`x`;switch(e.key){case`ArrowRight`:return r?{dx:n,dy:0}:{dx:0,dy:n};case`ArrowLeft`:return r?{dx:-n,dy:0}:{dx:0,dy:-n};case`ArrowUp`:return i?{dx:0,dy:n}:{dx:n,dy:0};case`ArrowDown`:return i?{dx:0,dy:-n}:{dx:-n,dy:0};case`PageUp`:return i?{dx:0,dy:10}:{dx:10,dy:0};case`PageDown`:return i?{dx:0,dy:-10}:{dx:-10,dy:0};case`Home`:return{dx:0,dy:0,to:`min`};case`End`:return{dx:0,dy:0,to:`max`};default:return null}}function C(){if(!(typeof window>`u`))return window.EyeDropper}function ee({value:e,defaultValue:n,onValueChange:r,onValueCommit:i,format:a,alpha:o}){let[s,c]=t.useControllableState({value:e,defaultValue:n??h,onChange:r}),u=e=>o?e:{...e,a:1},f=e=>l.formatColor(e,a,{alpha:o}),[p,m]=(0,d.useState)(()=>u(l.parseColor(s)??g)),[_,v]=(0,d.useState)(s),b=(0,d.useRef)(p),x=p;if(s!==_){v(s);let e=l.parseColor(s,p.h);e&&f(u(e))!==f(p)&&(x=u(e),m(x))}return x=u(x),b.current=x,{hsva:x,hsvaRef:b,str:f(x),update:e=>{let t=u({h:y(e.h,0,360),s:y(e.s,0,100),v:y(e.v,0,100),a:y(e.a,0,1)});b.current=t,m(t);let n=f(t);v(n),c(n)},commit:()=>i?.(f(b.current)),fmt:f}}function w({label:e,value:t,max:n,valueText:i,trackStyle:a,checkered:o,interactive:s,disabled:c,readOnly:l,ariaProps:p,onChange:m,onCommit:h}){let g=(0,d.useRef)(null),_=(0,d.useRef)(null),[v,b]=(0,d.useState)(!1),x=(0,d.useRef)(!1),C=e=>{let r=g.current?.getBoundingClientRect();return!r||r.width<=0?t:y((e-r.left)/r.width,0,1)*n},ee=e=>{s&&e.button===0&&(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),b(!0),_.current?.focus({preventScroll:!0}),m(C(e.clientX)))},w=e=>{v&&m(C(e.clientX))},T=e=>{v&&(e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),b(!1),h())},E=e=>{if(!s)return;let r=S(e,`x`);r&&(e.preventDefault(),x.current=!0,m(r.to===`min`?0:r.to===`max`?n:y(Math.round(t)+r.dx,0,n)))},D=()=>{x.current&&(x.current=!1,h())},O=Math.round(t);return(0,f.jsx)(`div`,{className:u.default.channel,"data-dragging":v||void 0,onPointerDown:ee,onPointerMove:w,onPointerUp:T,onPointerCancel:T,onLostPointerCapture:e=>{v&&T(e)},children:(0,f.jsxs)(`div`,{ref:g,className:u.default.rail,children:[(0,f.jsx)(`div`,{className:r.cx(u.default.track,o&&u.default.checkered),"aria-hidden":`true`,children:(0,f.jsx)(`div`,{className:u.default.trackFill,style:a})}),(0,f.jsx)(`span`,{ref:_,role:`slider`,tabIndex:c?-1:0,className:u.default.thumb,style:{left:`${y(t,0,n)/n*100}%`},"aria-label":e,"aria-valuemin":0,"aria-valuemax":n,"aria-valuenow":O,"aria-valuetext":i,"aria-orientation":`horizontal`,"aria-disabled":c||void 0,"aria-readonly":l||void 0,...p,"aria-required":void 0,onKeyDown:E,onKeyUp:D})]})})}function T({colors:e,current:t,label:n,disabled:r,readOnly:i,ariaProps:a,withAlpha:s,onSelect:c,describe:p}){let m=(0,d.useRef)([]),h=e.findIndex(e=>l.colorsEqual(e,t)),[g,_]=(0,d.useState)(null),v=g??(h>=0?h:0),y=t=>{let n=(t+e.length)%e.length;_(n),m.current[n]?.focus(),i||c(e[n])},b=t=>{if(r)return;let n=m.current.findIndex(e=>e===document.activeElement);if(n===-1)return;let i=null;t.key===`ArrowRight`||t.key===`ArrowDown`?i=n+1:t.key===`ArrowLeft`||t.key===`ArrowUp`?i=n-1:t.key===`Home`?i=0:t.key===`End`&&(i=e.length-1),i!==null&&(t.preventDefault(),y(i))},S=(0,d.useId)();return(0,f.jsxs)(`div`,{className:u.default.swatchSection,children:[(0,f.jsx)(`span`,{id:S,className:u.default.swatchCaption,children:n}),(0,f.jsx)(`div`,{role:`radiogroup`,"aria-labelledby":S,"aria-readonly":i||void 0,"aria-disabled":r||void 0,...a,className:u.default.swatches,onKeyDown:b,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||_(null)},children:e.map((e,t)=>{let n=t===h;return(0,f.jsxs)(`button`,{ref:e=>{m.current[t]=e},type:`button`,role:`radio`,"aria-checked":n,"aria-label":`${p(e)}, ${l.toHex(e,s)}`,tabIndex:t===v?0:-1,disabled:r,className:u.default.swatch,"data-checked":n||void 0,onFocus:()=>_(t),onClick:()=>{i||c(e)},children:[(0,f.jsx)(`span`,{className:u.default.swatchColor,style:{background:x(e)},"aria-hidden":`true`}),n&&(0,f.jsx)(`span`,{className:u.default.swatchCheck,"aria-hidden":`true`,children:(0,f.jsx)(o.CheckIcon,{size:`xs`,strokeWidth:3})})]},`${l.toHex(e)}-${t}`)})})]})}function E(e){let t=n.useMessages(),{value:m,defaultValue:h,onValueChange:g,onValueCommit:E,format:D=`hex`,alpha:O=!1,swatches:te,eyeDropper:ne=!0,size:re,disabled:ie,readOnly:ae,invalid:oe,name:se,labels:ce,variant:le=`panel`,swatchesOnly:ue=!1,"aria-label":de,"aria-labelledby":fe,"aria-describedby":pe,className:me,style:he,...ge}=e,k={...p(t),...ce},A=s.useFieldContext(),j=s.useFieldControl({invalid:oe,disabled:ie,readOnly:ae,size:re,"aria-describedby":pe},{nativeRequired:!1}),{disabled:M,readOnly:N,invalid:_e}=j,P=j.size??`md`,F=!M&&!N,I={...j.ariaProps,"aria-required":void 0},{hsva:L,hsvaRef:R,str:z,update:B,commit:V,fmt:ve}=ee({value:m,defaultValue:h,onValueChange:g,onValueCommit:E,format:D,alpha:O}),H=(0,d.useId)(),U=`${H}-input-label`,ye=`${H}-input-error`,be=A&&!A.isGroup?A.controlId:`${H}-input`,[xe,Se]=(0,d.useState)(!1);(0,d.useEffect)(()=>Se(!!C()),[]);let[Ce,we]=(0,d.useState)(``),Te=(0,d.useRef)(null),W=(0,d.useRef)(null),G=(0,d.useRef)(null),[Ee,De]=(0,d.useState)(`s`),[K,Oe]=(0,d.useState)(!1),q=(0,d.useRef)(!1),ke=(e,t)=>{let n=Te.current?.getBoundingClientRect();if(!n||n.width<=0||n.height<=0)return;let r=y((e-n.left)/n.width,0,1)*100,i=y((n.bottom-t)/n.height,0,1)*100;B({...R.current,s:r,v:i})},Ae=e=>{F&&e.button===0&&(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),Oe(!0),(Ee===`s`?W:G).current?.focus({preventScroll:!0}),ke(e.clientX,e.clientY))},je=e=>{K&&ke(e.clientX,e.clientY)},Me=e=>{K&&(e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),Oe(!1),V())},Ne=e=>{if(!F)return;let t=S(e,`both`);if(!t)return;e.preventDefault(),q.current=!0;let n=R.current,r=e.currentTarget===G.current?`v`:`s`;if(t.to){let e=t.to===`min`?0:100;B(r===`s`?{...n,s:e}:{...n,v:e});return}let i=t.dx===0?`v`:`s`;B({...n,s:Math.round(n.s)+t.dx,v:Math.round(n.v)+t.dy}),i!==r&&(De(i),(i===`s`?W:G).current?.focus({preventScroll:!0}))},Pe=(e,t)=>{if(!F)return;let n=R.current;B(e===`s`?{...n,s:t}:{...n,v:t}),V()},Fe=()=>{q.current&&(q.current=!1,V())},[J,Y]=(0,d.useState)(null),[Ie,X]=(0,d.useState)(!1),Le=(0,d.useRef)(z);(0,d.useEffect)(()=>{Le.current!==z&&(Le.current=z,X(!1),Y(null))},[z]);let Z=()=>{if(J===null)return;let e=l.parseColor(J,R.current.h);if(Y(null),!e){X(!0);return}X(!1);let t=ve(R.current);B(e),ve(R.current)!==t&&V()},Re=(0,d.useRef)(Z);Re.current=Z,(0,d.useEffect)(()=>()=>Re.current(),[]);let Q=(te??[]).map(e=>l.parseColor(e)).filter(e=>e!==null).map(e=>O?e:{...e,a:1}),ze=e=>{B(e),V()},Be=async()=>{let e=C();if(e&&F)try{let t=await new e().open(),n=l.parseColor(t.sRGBHex,R.current.h);if(!n)return;ze({...n,a:R.current.a}),we(k.eyeDropperPicked(`${k.describeColor(n)}, ${l.toHex(n,!1)}`))}catch{}},Ve=k.describeColor(L),He={...L,a:1},Ue={h:L.h,s:100,v:100,a:1},$=fe??A?.labelId,We=!ue||Q.length===0,Ge={...he,"--cp-color":x(L)};return(0,f.jsxs)(`div`,{...ge,role:`group`,"aria-labelledby":$,"aria-label":$?void 0:de,className:r.cx(u.default.root,_[P],v[le],me),style:Ge,"data-disabled":M||void 0,"data-readonly":N||void 0,"data-invalid":_e||void 0,"data-dragging":K||void 0,children:[We&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{ref:Te,className:u.default.area,style:{background:`linear-gradient(to top, ${x({h:0,s:0,v:0,a:1})}, transparent), linear-gradient(to right, ${x({h:0,s:0,v:100,a:1})}, ${x(Ue)})`},onPointerDown:Ae,onPointerMove:je,onPointerUp:Me,onPointerCancel:Me,onLostPointerCapture:e=>{K&&Me(e)},children:(0,f.jsx)(`span`,{role:`group`,"aria-label":k.area,"aria-roledescription":k.areaRoleDescription,className:r.cx(u.default.thumb,u.default.areaThumb),style:{left:`${L.s}%`,top:`${100-L.v}%`,background:x(He)},children:[`s`,`v`].map(e=>(0,f.jsx)(`input`,{ref:e===`s`?W:G,type:`range`,className:u.default.axisInput,min:0,max:100,step:1,value:Math.round(e===`s`?L.s:L.v),tabIndex:e===Ee?0:-1,disabled:M,"aria-label":e===`s`?k.saturation:k.brightness,"aria-orientation":e===`s`?`horizontal`:`vertical`,"aria-valuetext":`${e===`s`?k.saturation:k.brightness} ${Math.round(e===`s`?L.s:L.v)}%, ${Ve}`,"aria-readonly":N||void 0,...I,onFocus:()=>De(e),onChange:t=>Pe(e,Number(t.target.value)),onKeyDown:Ne,onKeyUp:Fe},e))})}),(0,f.jsxs)(`div`,{className:u.default.sliderRow,children:[(0,f.jsx)(`span`,{className:r.cx(u.default.preview,u.default.checkered),"aria-hidden":`true`,children:(0,f.jsx)(`span`,{className:u.default.previewFill})}),(0,f.jsxs)(`div`,{className:u.default.sliders,children:[(0,f.jsx)(w,{label:k.hue,value:L.h,max:360,valueText:`${k.hue} ${Math.round(L.h)} ${k.degrees}, ${k.hueName(L.h)}`,trackStyle:{background:b},interactive:F,disabled:M,readOnly:N,ariaProps:I,onChange:e=>B({...R.current,h:e}),onCommit:V}),O&&(0,f.jsx)(w,{label:k.alpha,value:L.a*100,max:100,valueText:`${k.alpha} ${Math.round(L.a*100)}%`,trackStyle:{background:`linear-gradient(to right, transparent, ${x(He)})`},checkered:!0,interactive:F,disabled:M,readOnly:N,ariaProps:I,onChange:e=>B({...R.current,a:Math.round(e)/100}),onCommit:V})]})]}),(0,f.jsxs)(`div`,{className:u.default.inputRow,children:[ne&&xe&&(0,f.jsx)(a.IconButton,{"aria-label":k.eyeDropper,variant:`ghost`,tone:`neutral`,size:P,disabled:!F,onClick:Be,children:(0,f.jsx)(o.EyeDropperIcon,{size:`sm`})}),(0,f.jsxs)(`span`,{id:U,className:u.default.formatTag,children:[(0,f.jsxs)(i.VisuallyHidden,{children:[k.input,`, `]}),D.toUpperCase()]}),(0,f.jsx)(c.Input,{id:be,className:u.default.input,size:P,value:J??z,invalid:_e||Ie,disabled:M,readOnly:N,spellCheck:!1,autoComplete:`off`,autoCapitalize:`off`,"aria-labelledby":$?`${$} ${U}`:U,"aria-describedby":Ie?ye:void 0,startIcon:(0,f.jsx)(`span`,{className:r.cx(u.default.inputSwatch,u.default.checkered)}),onChange:e=>{Y(e.target.value),X(!1)},onBlur:Z,onKeyDown:e=>{e.key===`Enter`&&J!==null?(e.preventDefault(),Z()):e.key===`Escape`&&J!==null&&(e.stopPropagation(),Y(null),X(!1))}})]}),(0,f.jsx)(`div`,{className:u.default.message,"aria-live":`polite`,children:Ie&&(0,f.jsxs)(`p`,{id:ye,className:u.default.error,children:[(0,f.jsx)(o.ErrorIcon,{size:`sm`,className:u.default.errorIcon}),(0,f.jsx)(`span`,{children:k.invalidInput})]})})]}),Q.length>0&&(0,f.jsx)(T,{colors:Q,current:L,label:k.swatches,disabled:M,readOnly:N,ariaProps:ue?I:{},withAlpha:O,onSelect:ze,describe:k.describeColor}),(0,f.jsx)(i.VisuallyHidden,{"aria-live":`polite`,children:Ce}),se&&(0,f.jsx)(`input`,{type:`hidden`,name:se,value:z,disabled:M})]})}exports.ColorPicker=E,exports.colorPickerLabelsFrom=p,exports.colorsEqual=l.colorsEqual,exports.defaultColorPickerLabels=m,exports.describeColor=l.describeColor,exports.formatColor=l.formatColor,exports.getHueName=l.getHueName,exports.getLuminance=l.getLuminance,exports.hslToHsv=l.hslToHsv,exports.hsvToHsl=l.hsvToHsl,exports.hsvToRgb=l.hsvToRgb,exports.isValidColor=l.isValidColor,exports.parseColor=l.parseColor,exports.rgbToHsv=l.rgbToHsv,exports.toHex=l.toHex;
|
|
1
|
+
"use client";const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../utils/cx.cjs.js"),n=require("../../primitives/Button/Button.cjs.js"),r=require("../../primitives/Icon/icons.cjs.js"),i=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),a=require("../Field/FieldContext.cjs.js"),o=require("../Input/Input.cjs.js"),s=require("./colorUtils.cjs.js"),c=require("./ColorPicker.module.css.cjs.js"),l=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),u=require("../../../i18n/en.cjs.js");let d=require("react"),f=require("react/jsx-runtime");function p(e){let{colors:t}=e.colorPicker;return{...e.colorPicker,describeColor:e=>s.describeColor(e,t),hueName:e=>s.getHueName(e,t)}}var m=p(u.en),h=`#1d4ed8`,g={h:224,s:87,v:85,a:1},_={sm:c.default.sizeSm,md:c.default.sizeMd,lg:c.default.sizeLg},v={panel:c.default.panel,plain:c.default.plain},y=(e,t,n)=>Math.min(n,Math.max(t,e)),b=`linear-gradient(to right, hsl(0 100% 50%), hsl(60 100% 50%), hsl(120 100% 50%), hsl(180 100% 50%), hsl(240 100% 50%), hsl(300 100% 50%), hsl(360 100% 50%))`,x=e=>s.formatColor(e,`rgb`);function S(e,t){let n=e.shiftKey?10:1,r=t!==`y`,i=t!==`x`;switch(e.key){case`ArrowRight`:return r?{dx:n,dy:0}:{dx:0,dy:n};case`ArrowLeft`:return r?{dx:-n,dy:0}:{dx:0,dy:-n};case`ArrowUp`:return i?{dx:0,dy:n}:{dx:n,dy:0};case`ArrowDown`:return i?{dx:0,dy:-n}:{dx:-n,dy:0};case`PageUp`:return i?{dx:0,dy:10}:{dx:10,dy:0};case`PageDown`:return i?{dx:0,dy:-10}:{dx:-10,dy:0};case`Home`:return{dx:0,dy:0,to:`min`};case`End`:return{dx:0,dy:0,to:`max`};default:return null}}function C(){if(typeof window<`u`)return window.EyeDropper}function ee({value:t,defaultValue:n,onValueChange:r,onValueCommit:i,format:a,alpha:o}){let[c,l]=e.useControllableState({value:t,defaultValue:n??h,onChange:r}),u=e=>o?e:{...e,a:1},f=e=>s.formatColor(e,a,{alpha:o}),[p,m]=(0,d.useState)(()=>u(s.parseColor(c)??g)),[_,v]=(0,d.useState)(c),b=(0,d.useRef)(p),x=p;if(c!==_){v(c);let e=s.parseColor(c,p.h);e&&f(u(e))!==f(p)&&(x=u(e),m(x))}return x=u(x),b.current=x,{hsva:x,hsvaRef:b,str:f(x),update:e=>{let t=u({h:y(e.h,0,360),s:y(e.s,0,100),v:y(e.v,0,100),a:y(e.a,0,1)});b.current=t,m(t);let n=f(t);v(n),l(n)},commit:()=>i?.(f(b.current)),fmt:f}}function w({label:e,value:n,max:r,valueText:i,trackStyle:a,checkered:o,interactive:s,disabled:l,readOnly:u,ariaProps:p,onChange:m,onCommit:h}){let g=(0,d.useRef)(null),_=(0,d.useRef)(null),[v,b]=(0,d.useState)(!1),x=(0,d.useRef)(!1),C=e=>{let t=g.current?.getBoundingClientRect();return!t||t.width<=0?n:y((e-t.left)/t.width,0,1)*r},ee=e=>{s&&e.button===0&&(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),b(!0),_.current?.focus({preventScroll:!0}),m(C(e.clientX)))},w=e=>{v&&m(C(e.clientX))},T=e=>{v&&(e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),b(!1),h())},E=e=>{if(!s)return;let t=S(e,`x`);t&&(e.preventDefault(),x.current=!0,m(t.to===`min`?0:t.to===`max`?r:y(Math.round(n)+t.dx,0,r)))},D=()=>{x.current&&(x.current=!1,h())},O=Math.round(n);return(0,f.jsx)(`div`,{className:c.default.channel,"data-dragging":v||void 0,onPointerDown:ee,onPointerMove:w,onPointerUp:T,onPointerCancel:T,onLostPointerCapture:e=>{v&&T(e)},children:(0,f.jsxs)(`div`,{ref:g,className:c.default.rail,children:[(0,f.jsx)(`div`,{className:t.cx(c.default.track,o&&c.default.checkered),"aria-hidden":`true`,children:(0,f.jsx)(`div`,{className:c.default.trackFill,style:a})}),(0,f.jsx)(`span`,{ref:_,role:`slider`,tabIndex:l?-1:0,className:c.default.thumb,style:{left:`${y(n,0,r)/r*100}%`},"aria-label":e,"aria-valuemin":0,"aria-valuemax":r,"aria-valuenow":O,"aria-valuetext":i,"aria-orientation":`horizontal`,"aria-disabled":l||void 0,"aria-readonly":u||void 0,...p,"aria-required":void 0,onKeyDown:E,onKeyUp:D})]})})}function T({colors:e,current:t,label:n,disabled:i,readOnly:a,ariaProps:o,withAlpha:l,onSelect:u,describe:p}){let m=(0,d.useRef)([]),h=e.findIndex(e=>s.colorsEqual(e,t)),[g,_]=(0,d.useState)(null),v=g??(h>=0?h:0),y=t=>{let n=(t+e.length)%e.length;_(n),m.current[n]?.focus(),a||u(e[n])},b=t=>{if(i)return;let n=m.current.findIndex(e=>e===document.activeElement);if(n===-1)return;let r=null;t.key===`ArrowRight`||t.key===`ArrowDown`?r=n+1:t.key===`ArrowLeft`||t.key===`ArrowUp`?r=n-1:t.key===`Home`?r=0:t.key===`End`&&(r=e.length-1),r!==null&&(t.preventDefault(),y(r))},S=(0,d.useId)();return(0,f.jsxs)(`div`,{className:c.default.swatchSection,children:[(0,f.jsx)(`span`,{id:S,className:c.default.swatchCaption,children:n}),(0,f.jsx)(`div`,{role:`radiogroup`,"aria-labelledby":S,"aria-readonly":a||void 0,"aria-disabled":i||void 0,...o,className:c.default.swatches,onKeyDown:b,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||_(null)},children:e.map((e,t)=>{let n=t===h;return(0,f.jsxs)(`button`,{ref:e=>{m.current[t]=e},type:`button`,role:`radio`,"aria-checked":n,"aria-label":`${p(e)}, ${s.toHex(e,l)}`,tabIndex:t===v?0:-1,disabled:i,className:c.default.swatch,"data-checked":n||void 0,onFocus:()=>_(t),onClick:()=>{a||u(e)},children:[(0,f.jsx)(`span`,{className:c.default.swatchColor,style:{background:x(e)},"aria-hidden":`true`}),n&&(0,f.jsx)(`span`,{className:c.default.swatchCheck,"aria-hidden":`true`,children:(0,f.jsx)(r.CheckIcon,{size:`xs`,strokeWidth:3})})]},`${s.toHex(e)}-${t}`)})})]})}function E(e){let u=l.useMessages(),{value:m,defaultValue:h,onValueChange:g,onValueCommit:E,format:D=`hex`,alpha:O=!1,swatches:te,eyeDropper:ne=!0,size:re,disabled:ie,readOnly:ae,invalid:oe,name:se,labels:ce,variant:le=`panel`,swatchesOnly:ue=!1,"aria-label":de,"aria-labelledby":fe,"aria-describedby":pe,className:me,style:he,...ge}=e,k={...p(u),...ce},A=a.useFieldContext(),j=a.useFieldControl({invalid:oe,disabled:ie,readOnly:ae,size:re,"aria-describedby":pe},{nativeRequired:!1}),{disabled:M,readOnly:N,invalid:_e}=j,P=j.size??`md`,F=!M&&!N,I={...j.ariaProps,"aria-required":void 0},{hsva:L,hsvaRef:R,str:z,update:B,commit:V,fmt:ve}=ee({value:m,defaultValue:h,onValueChange:g,onValueCommit:E,format:D,alpha:O}),H=(0,d.useId)(),U=`${H}-input-label`,ye=`${H}-input-error`,be=A&&!A.isGroup?A.controlId:`${H}-input`,[xe,Se]=(0,d.useState)(!1);(0,d.useEffect)(()=>Se(!!C()),[]);let[Ce,we]=(0,d.useState)(``),Te=(0,d.useRef)(null),W=(0,d.useRef)(null),G=(0,d.useRef)(null),[Ee,De]=(0,d.useState)(`s`),[K,Oe]=(0,d.useState)(!1),q=(0,d.useRef)(!1),ke=(e,t)=>{let n=Te.current?.getBoundingClientRect();if(!n||n.width<=0||n.height<=0)return;let r=y((e-n.left)/n.width,0,1)*100,i=y((n.bottom-t)/n.height,0,1)*100;B({...R.current,s:r,v:i})},Ae=e=>{F&&e.button===0&&(e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),Oe(!0),(Ee===`s`?W:G).current?.focus({preventScroll:!0}),ke(e.clientX,e.clientY))},je=e=>{K&&ke(e.clientX,e.clientY)},Me=e=>{K&&(e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),Oe(!1),V())},Ne=e=>{if(!F)return;let t=S(e,`both`);if(!t)return;e.preventDefault(),q.current=!0;let n=R.current,r=e.currentTarget===G.current?`v`:`s`;if(t.to){let e=t.to===`min`?0:100;B(r===`s`?{...n,s:e}:{...n,v:e});return}let i=t.dx===0?`v`:`s`;B({...n,s:Math.round(n.s)+t.dx,v:Math.round(n.v)+t.dy}),i!==r&&(De(i),(i===`s`?W:G).current?.focus({preventScroll:!0}))},Pe=(e,t)=>{if(!F)return;let n=R.current;B(e===`s`?{...n,s:t}:{...n,v:t}),V()},Fe=()=>{q.current&&(q.current=!1,V())},[J,Y]=(0,d.useState)(null),[Ie,X]=(0,d.useState)(!1),Le=(0,d.useRef)(z);(0,d.useEffect)(()=>{Le.current!==z&&(Le.current=z,X(!1),Y(null))},[z]);let Z=()=>{if(J===null)return;let e=s.parseColor(J,R.current.h);if(Y(null),!e){X(!0);return}X(!1);let t=ve(R.current);B(e),ve(R.current)!==t&&V()},Re=(0,d.useRef)(Z);Re.current=Z,(0,d.useEffect)(()=>()=>Re.current(),[]);let Q=(te??[]).map(e=>s.parseColor(e)).filter(e=>e!==null).map(e=>O?e:{...e,a:1}),ze=e=>{B(e),V()},Be=async()=>{let e=C();if(e&&F)try{let t=await new e().open(),n=s.parseColor(t.sRGBHex,R.current.h);if(!n)return;ze({...n,a:R.current.a}),we(k.eyeDropperPicked(`${k.describeColor(n)}, ${s.toHex(n,!1)}`))}catch{}},Ve=k.describeColor(L),He={...L,a:1},Ue={h:L.h,s:100,v:100,a:1},$=fe??A?.labelId,We=!ue||Q.length===0,Ge={...he,"--cp-color":x(L)};return(0,f.jsxs)(`div`,{...ge,role:`group`,"aria-labelledby":$,"aria-label":$?void 0:de,className:t.cx(c.default.root,_[P],v[le],me),style:Ge,"data-disabled":M||void 0,"data-readonly":N||void 0,"data-invalid":_e||void 0,"data-dragging":K||void 0,children:[We&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{ref:Te,className:c.default.area,style:{background:`linear-gradient(to top, ${x({h:0,s:0,v:0,a:1})}, transparent), linear-gradient(to right, ${x({h:0,s:0,v:100,a:1})}, ${x(Ue)})`},onPointerDown:Ae,onPointerMove:je,onPointerUp:Me,onPointerCancel:Me,onLostPointerCapture:e=>{K&&Me(e)},children:(0,f.jsx)(`span`,{role:`group`,"aria-label":k.area,"aria-roledescription":k.areaRoleDescription,className:t.cx(c.default.thumb,c.default.areaThumb),style:{left:`${L.s}%`,top:`${100-L.v}%`,background:x(He)},children:[`s`,`v`].map(e=>(0,f.jsx)(`input`,{ref:e===`s`?W:G,type:`range`,className:c.default.axisInput,min:0,max:100,step:1,value:Math.round(e===`s`?L.s:L.v),tabIndex:e===Ee?0:-1,disabled:M,"aria-label":e===`s`?k.saturation:k.brightness,"aria-orientation":e===`s`?`horizontal`:`vertical`,"aria-valuetext":`${e===`s`?k.saturation:k.brightness} ${Math.round(e===`s`?L.s:L.v)}%, ${Ve}`,"aria-readonly":N||void 0,...I,onFocus:()=>De(e),onChange:t=>Pe(e,Number(t.target.value)),onKeyDown:Ne,onKeyUp:Fe},e))})}),(0,f.jsxs)(`div`,{className:c.default.sliderRow,children:[(0,f.jsx)(`span`,{className:t.cx(c.default.preview,c.default.checkered),"aria-hidden":`true`,children:(0,f.jsx)(`span`,{className:c.default.previewFill})}),(0,f.jsxs)(`div`,{className:c.default.sliders,children:[(0,f.jsx)(w,{label:k.hue,value:L.h,max:360,valueText:`${k.hue} ${Math.round(L.h)} ${k.degrees}, ${k.hueName(L.h)}`,trackStyle:{background:b},interactive:F,disabled:M,readOnly:N,ariaProps:I,onChange:e=>B({...R.current,h:e}),onCommit:V}),O&&(0,f.jsx)(w,{label:k.alpha,value:L.a*100,max:100,valueText:`${k.alpha} ${Math.round(L.a*100)}%`,trackStyle:{background:`linear-gradient(to right, transparent, ${x(He)})`},checkered:!0,interactive:F,disabled:M,readOnly:N,ariaProps:I,onChange:e=>B({...R.current,a:Math.round(e)/100}),onCommit:V})]})]}),(0,f.jsxs)(`div`,{className:c.default.inputRow,children:[ne&&xe&&(0,f.jsx)(n.IconButton,{"aria-label":k.eyeDropper,variant:`ghost`,tone:`neutral`,size:P,disabled:!F,onClick:Be,children:(0,f.jsx)(r.EyeDropperIcon,{size:`sm`})}),(0,f.jsxs)(`span`,{id:U,className:c.default.formatTag,children:[(0,f.jsxs)(i.VisuallyHidden,{children:[k.input,`, `]}),D.toUpperCase()]}),(0,f.jsx)(o.Input,{id:be,className:c.default.input,size:P,value:J??z,invalid:_e||Ie,disabled:M,readOnly:N,spellCheck:!1,autoComplete:`off`,autoCapitalize:`off`,"aria-labelledby":$?`${$} ${U}`:U,"aria-describedby":Ie?ye:void 0,startIcon:(0,f.jsx)(`span`,{className:t.cx(c.default.inputSwatch,c.default.checkered)}),onChange:e=>{Y(e.target.value),X(!1)},onBlur:Z,onKeyDown:e=>{e.key===`Enter`&&J!==null?(e.preventDefault(),Z()):e.key===`Escape`&&J!==null&&(e.stopPropagation(),Y(null),X(!1))}})]}),(0,f.jsx)(`div`,{className:c.default.message,"aria-live":`polite`,children:Ie&&(0,f.jsxs)(`p`,{id:ye,className:c.default.error,children:[(0,f.jsx)(r.ErrorIcon,{size:`sm`,className:c.default.errorIcon}),(0,f.jsx)(`span`,{children:k.invalidInput})]})})]}),Q.length>0&&(0,f.jsx)(T,{colors:Q,current:L,label:k.swatches,disabled:M,readOnly:N,ariaProps:ue?I:{},withAlpha:O,onSelect:ze,describe:k.describeColor}),(0,f.jsx)(i.VisuallyHidden,{"aria-live":`polite`,children:Ce}),se&&(0,f.jsx)(`input`,{type:`hidden`,name:se,value:z,disabled:M})]})}exports.ColorPicker=E,exports.colorPickerLabelsFrom=p,exports.colorsEqual=s.colorsEqual,exports.defaultColorPickerLabels=m,exports.describeColor=s.describeColor,exports.formatColor=s.formatColor,exports.getHueName=s.getHueName,exports.getLuminance=s.getLuminance,exports.hslToHsv=s.hslToHsv,exports.hsvToHsl=s.hsvToHsl,exports.hsvToRgb=s.hsvToRgb,exports.isValidColor=s.isValidColor,exports.parseColor=s.parseColor,exports.rgbToHsv=s.rgbToHsv,exports.toHex=s.toHex;
|