@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,50 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx as e } from "../../../utils/cx.mjs";
|
|
3
|
+
import { getNumberFormat as t } from "../../../utils/intl.mjs";
|
|
4
|
+
import { assignRef as n } from "../../../utils/refs.mjs";
|
|
5
|
+
import { useControllableState as r } from "../../../hooks/useControllableState.mjs";
|
|
6
|
+
import { useFormReset as i } from "../../../hooks/useFormReset.mjs";
|
|
7
|
+
import { Button as a, IconButton as o } from "../../primitives/Button/Button.mjs";
|
|
8
|
+
import { CheckIcon as s, CloseIcon as c, ErrorIcon as l, FileIcon as u, ImageIcon as d, TrashIcon as f, UploadIcon as p } from "../../primitives/Icon/icons.mjs";
|
|
9
|
+
import { Progress as m } from "../../feedback/Progress/Progress.mjs";
|
|
10
|
+
import { Spinner as h } from "../../feedback/Spinner/Spinner.mjs";
|
|
11
|
+
import { VisuallyHidden as g } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
|
|
11
12
|
import { useFieldContext as _, useFieldControl as v } from "../Field/FieldContext.mjs";
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
import y from "./FileUpload.module.css.mjs";
|
|
14
|
+
import { useLocale as ee } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
|
|
15
|
+
import { en as b } from "../../../i18n/en.mjs";
|
|
16
|
+
import { useCallback as x, useEffect as S, useId as C, useLayoutEffect as w, useMemo as te, useRef as T, useState as E } from "react";
|
|
17
|
+
import { Fragment as ne, jsx as D, jsxs as O } from "react/jsx-runtime";
|
|
18
|
+
// src/components/forms/FileUpload/FileUpload.tsx
|
|
19
|
+
var re = {
|
|
20
|
+
sm: y.sm,
|
|
21
|
+
md: y.md,
|
|
22
|
+
lg: y.lg
|
|
23
|
+
}, k = {
|
|
24
|
+
dropzone: y.variantDropzone,
|
|
25
|
+
button: y.variantButton
|
|
24
26
|
};
|
|
25
|
-
function
|
|
26
|
-
let i = (e) =>
|
|
27
|
-
if (!Number.isFinite(
|
|
28
|
-
if (
|
|
27
|
+
function A(e, n = b.fileUpload.units, r) {
|
|
28
|
+
let i = (e) => t(r).format(e);
|
|
29
|
+
if (!Number.isFinite(e) || e < 0) return `${i(0)} ${n.B}`;
|
|
30
|
+
if (e < 1024) return `${i(Math.round(e))} ${n.B}`;
|
|
29
31
|
let a = [
|
|
30
32
|
n.KB,
|
|
31
33
|
n.MB,
|
|
32
34
|
n.GB,
|
|
33
35
|
n.TB
|
|
34
|
-
], o =
|
|
36
|
+
], o = e / 1024, s = 0;
|
|
35
37
|
for (; o >= 1024 && s < a.length - 1;) o /= 1024, s++;
|
|
36
38
|
return `${i(o >= 10 ? Math.round(o) : Math.round(o * 10) / 10)} ${a[s]}`;
|
|
37
39
|
}
|
|
38
|
-
function
|
|
40
|
+
function j(e) {
|
|
39
41
|
return e ? e.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean) : [];
|
|
40
42
|
}
|
|
41
|
-
function
|
|
42
|
-
let n =
|
|
43
|
+
function M(e, t) {
|
|
44
|
+
let n = j(t);
|
|
43
45
|
if (n.length === 0) return !0;
|
|
44
46
|
let r = e.name.toLowerCase(), i = (e.type || "").toLowerCase();
|
|
45
47
|
return n.some((e) => e.startsWith(".") ? r.endsWith(e) : e.endsWith("/*") ? i.startsWith(e.slice(0, -1)) : i === e);
|
|
46
48
|
}
|
|
47
|
-
var
|
|
49
|
+
var ie = {
|
|
48
50
|
"image/jpeg": "JPG",
|
|
49
51
|
"image/svg+xml": "SVG",
|
|
50
52
|
"text/plain": "TXT",
|
|
@@ -53,36 +55,36 @@ var P = {
|
|
|
53
55
|
"application/vnd.ms-excel": "XLS",
|
|
54
56
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "XLSX"
|
|
55
57
|
};
|
|
56
|
-
function
|
|
57
|
-
let
|
|
58
|
+
function ae(e, t = b.fileUpload) {
|
|
59
|
+
let n = t.typeGroups, r = j(e).map((e) => {
|
|
58
60
|
if (e.startsWith(".")) return e.slice(1).toUpperCase();
|
|
59
61
|
if (e.endsWith("/*")) {
|
|
60
|
-
let
|
|
61
|
-
return r
|
|
62
|
+
let r = e.slice(0, -2);
|
|
63
|
+
return n[r] ?? t.typeGroup(r);
|
|
62
64
|
}
|
|
63
|
-
return
|
|
64
|
-
}),
|
|
65
|
-
if (
|
|
66
|
-
let
|
|
67
|
-
return
|
|
65
|
+
return ie[e] ? ie[e] : (e.split("/")[1] ?? e).toUpperCase();
|
|
66
|
+
}), i = Array.from(new Set(r));
|
|
67
|
+
if (i.length === 0) return "";
|
|
68
|
+
let a = i.join(", ");
|
|
69
|
+
return a.charAt(0).toUpperCase() + a.slice(1);
|
|
68
70
|
}
|
|
69
|
-
var
|
|
70
|
-
function
|
|
71
|
-
let t =
|
|
72
|
-
return t || (t = `file-${++
|
|
71
|
+
var N = (e) => `${e.name}::${e.size}::${e.lastModified}`, oe = (e) => (e.type || "").startsWith("image/"), se = /* @__PURE__ */ new WeakMap(), ce = 0;
|
|
72
|
+
function le(e) {
|
|
73
|
+
let t = se.get(e);
|
|
74
|
+
return t || (t = `file-${++ce}`, se.set(e, t)), t;
|
|
73
75
|
}
|
|
74
|
-
function
|
|
76
|
+
function P(e, t) {
|
|
75
77
|
let n = Intl.ListFormat;
|
|
76
78
|
return n ? new n(t, { type: "conjunction" }).format(e) : e.join(", ");
|
|
77
79
|
}
|
|
78
|
-
function
|
|
79
|
-
let [e, t] =
|
|
80
|
+
function ue() {
|
|
81
|
+
let [e, t] = E(""), n = T(!1);
|
|
80
82
|
return [e, x((e) => {
|
|
81
83
|
n.current = !n.current, t(n.current ? `${e} ` : e);
|
|
82
84
|
}, [])];
|
|
83
85
|
}
|
|
84
|
-
function
|
|
85
|
-
let [n, r] =
|
|
86
|
+
function F(e, t) {
|
|
87
|
+
let [n, r] = E();
|
|
86
88
|
return S(() => {
|
|
87
89
|
if (!t || typeof URL > "u" || typeof URL.createObjectURL != "function") return;
|
|
88
90
|
let n = URL.createObjectURL(e);
|
|
@@ -91,7 +93,7 @@ function R(e, t) {
|
|
|
91
93
|
};
|
|
92
94
|
}, [e, t]), n;
|
|
93
95
|
}
|
|
94
|
-
var
|
|
96
|
+
var de = (e, t) => {
|
|
95
97
|
if (!e?.status && e?.progress == null) return null;
|
|
96
98
|
if (e.message) return e.message;
|
|
97
99
|
switch (e.status) {
|
|
@@ -99,160 +101,154 @@ var z = (e, t) => {
|
|
|
99
101
|
case "error": return t.uploadFailed;
|
|
100
102
|
default: return e.progress == null ? t.uploading : t.uploadingPercent(Math.round(e.progress));
|
|
101
103
|
}
|
|
102
|
-
},
|
|
103
|
-
let { messages: g, locale: _ } =
|
|
104
|
-
return /* @__PURE__ */
|
|
105
|
-
className:
|
|
106
|
-
"data-status":
|
|
104
|
+
}, I = ({ file: e, state: t, showThumbnails: n, disabled: r, removeLabel: i, onRemove: a, removeRef: p }) => {
|
|
105
|
+
let { messages: g, locale: _ } = ee(), v = oe(e), [b, x] = E(!1), S = F(e, n && v), C = t?.status ?? (t?.progress == null ? void 0 : "uploading"), w = de(t, g.fileUpload), te = C === "uploading" && t?.progress != null;
|
|
106
|
+
return /* @__PURE__ */ O("li", {
|
|
107
|
+
className: y.item,
|
|
108
|
+
"data-status": C,
|
|
107
109
|
children: [
|
|
108
|
-
/* @__PURE__ */
|
|
109
|
-
className:
|
|
110
|
+
/* @__PURE__ */ D("span", {
|
|
111
|
+
className: y.thumb,
|
|
110
112
|
"aria-hidden": "true",
|
|
111
|
-
children:
|
|
112
|
-
className:
|
|
113
|
-
src:
|
|
113
|
+
children: S && !b ? /* @__PURE__ */ D("img", {
|
|
114
|
+
className: y.thumbImage,
|
|
115
|
+
src: S,
|
|
114
116
|
alt: "",
|
|
115
|
-
onError: () =>
|
|
116
|
-
}) :
|
|
117
|
+
onError: () => x(!0)
|
|
118
|
+
}) : D(v ? d : u, { size: "md" })
|
|
117
119
|
}),
|
|
118
|
-
/* @__PURE__ */
|
|
119
|
-
className:
|
|
120
|
+
/* @__PURE__ */ O("div", {
|
|
121
|
+
className: y.itemBody,
|
|
120
122
|
children: [
|
|
121
|
-
/* @__PURE__ */
|
|
122
|
-
className:
|
|
123
|
+
/* @__PURE__ */ D("span", {
|
|
124
|
+
className: y.fileName,
|
|
123
125
|
title: e.name,
|
|
124
126
|
children: e.name
|
|
125
127
|
}),
|
|
126
|
-
/* @__PURE__ */
|
|
127
|
-
className:
|
|
128
|
-
children: [/* @__PURE__ */
|
|
129
|
-
className:
|
|
130
|
-
"data-status":
|
|
128
|
+
/* @__PURE__ */ O("span", {
|
|
129
|
+
className: y.meta,
|
|
130
|
+
children: [/* @__PURE__ */ D("span", { children: A(e.size, g.fileUpload.units, _) }), w && /* @__PURE__ */ O("span", {
|
|
131
|
+
className: y.status,
|
|
132
|
+
"data-status": C,
|
|
131
133
|
children: [
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
C === "done" && /* @__PURE__ */ D(s, { size: "sm" }),
|
|
135
|
+
C === "error" && /* @__PURE__ */ D(l, { size: "sm" }),
|
|
136
|
+
C === "uploading" && /* @__PURE__ */ D(h, {
|
|
135
137
|
decorative: !0,
|
|
136
138
|
size: "xs"
|
|
137
139
|
}),
|
|
138
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ D("span", { children: w })
|
|
139
141
|
]
|
|
140
142
|
})]
|
|
141
143
|
}),
|
|
142
|
-
|
|
143
|
-
className:
|
|
144
|
+
te && /* @__PURE__ */ D(m, {
|
|
145
|
+
className: y.progress,
|
|
144
146
|
size: "sm",
|
|
145
147
|
value: t?.progress,
|
|
146
148
|
"aria-label": g.fileUpload.progressFor(e.name)
|
|
147
149
|
})
|
|
148
150
|
]
|
|
149
151
|
}),
|
|
150
|
-
|
|
151
|
-
ref:
|
|
152
|
-
className:
|
|
152
|
+
a && /* @__PURE__ */ D(o, {
|
|
153
|
+
ref: p,
|
|
154
|
+
className: y.remove,
|
|
153
155
|
variant: "ghost",
|
|
154
156
|
tone: "neutral",
|
|
155
157
|
size: "sm",
|
|
156
|
-
"aria-label":
|
|
157
|
-
disabled:
|
|
158
|
-
onClick:
|
|
159
|
-
children:
|
|
158
|
+
"aria-label": i,
|
|
159
|
+
disabled: r,
|
|
160
|
+
onClick: a,
|
|
161
|
+
children: D(C === "uploading" ? c : f, { size: "sm" })
|
|
160
162
|
})
|
|
161
163
|
]
|
|
162
164
|
});
|
|
163
|
-
},
|
|
164
|
-
let { messages:
|
|
165
|
-
|
|
165
|
+
}, L = ({ files: t, onRemove: n, getFileState: r, showThumbnails: i = !0, disabled: a = !1, removeLabel: o, focusFallback: s, size: c = "md", className: l, "aria-label": u, ...d }) => {
|
|
166
|
+
let { messages: f, locale: p } = ee(), m = (e) => P(e, p), h = o ?? f.fileUpload.remove, _ = u ?? f.fileUpload.list, v = T([]), b = T(null), [x, C] = ue(), te = (e, r) => {
|
|
167
|
+
b.current = {
|
|
166
168
|
index: r,
|
|
167
|
-
length:
|
|
168
|
-
},
|
|
169
|
+
length: t.length
|
|
170
|
+
}, n?.(e, r);
|
|
169
171
|
};
|
|
170
172
|
w(() => {
|
|
171
|
-
let
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
y.current[Math.min(t.index, e.length - 1)]?.focus();
|
|
178
|
-
}
|
|
179
|
-
}, [e, l]);
|
|
180
|
-
let A = e.map((e, t) => n?.(e, t)), j = E(/* @__PURE__ */ new WeakMap()), M = A.map((e) => e?.status ?? "").join("|");
|
|
173
|
+
let e = b.current;
|
|
174
|
+
e && (b.current = null, t.length >= e.length || (t.length === 0 ? s?.()?.focus() : v.current[Math.min(e.index, t.length - 1)]?.focus()));
|
|
175
|
+
}, [t, s]);
|
|
176
|
+
let E = t.map((e, t) => r?.(e, t)), k = T(/* @__PURE__ */ new WeakMap()), A = E.map((e) => e?.status ?? "").join("|");
|
|
181
177
|
return S(() => {
|
|
182
|
-
let
|
|
183
|
-
|
|
184
|
-
let i =
|
|
185
|
-
i !== a && ((a !== void 0 ||
|
|
178
|
+
let e = [], n = [];
|
|
179
|
+
t.forEach((t, r) => {
|
|
180
|
+
let i = E[r]?.status, a = k.current.get(t);
|
|
181
|
+
i !== a && ((a !== void 0 || k.current.has(t)) && (i === "done" && e.push(t.name), i === "error" && n.push(t.name)), k.current.set(t, i));
|
|
186
182
|
});
|
|
187
183
|
let r = [];
|
|
188
|
-
|
|
184
|
+
e.length && r.push(f.fileUpload.announceUploaded(m(e))), n.length && r.push(f.fileUpload.announceFailed(m(n))), r.length && C(r.join(" "));
|
|
189
185
|
}, [
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
]), /* @__PURE__ */
|
|
194
|
-
...
|
|
195
|
-
"aria-label":
|
|
196
|
-
className:
|
|
197
|
-
children:
|
|
186
|
+
t,
|
|
187
|
+
A,
|
|
188
|
+
C
|
|
189
|
+
]), /* @__PURE__ */ O(ne, { children: [t.length > 0 && /* @__PURE__ */ D("ul", {
|
|
190
|
+
...d,
|
|
191
|
+
"aria-label": _,
|
|
192
|
+
className: e(y.list, re[c], l),
|
|
193
|
+
children: t.map((e, t) => /* @__PURE__ */ D(I, {
|
|
198
194
|
file: e,
|
|
199
|
-
state:
|
|
195
|
+
state: E[t],
|
|
200
196
|
showThumbnails: i,
|
|
201
|
-
disabled:
|
|
202
|
-
removeLabel:
|
|
203
|
-
onRemove:
|
|
197
|
+
disabled: a,
|
|
198
|
+
removeLabel: h(e.name),
|
|
199
|
+
onRemove: n ? () => te(e, t) : void 0,
|
|
204
200
|
removeRef: (e) => {
|
|
205
|
-
|
|
201
|
+
v.current[t] = e;
|
|
206
202
|
}
|
|
207
|
-
},
|
|
208
|
-
}), /* @__PURE__ */
|
|
203
|
+
}, le(e)))
|
|
204
|
+
}), /* @__PURE__ */ D(g, {
|
|
209
205
|
role: "status",
|
|
210
|
-
children:
|
|
206
|
+
children: x
|
|
211
207
|
})] });
|
|
212
208
|
};
|
|
213
|
-
function
|
|
214
|
-
let a = (e) =>
|
|
209
|
+
function fe(e, t, n, r, i) {
|
|
210
|
+
let a = (e) => A(e, r.units, i), { accept: o, multiple: s = !1, maxFiles: c, maxSize: l, minSize: u, validator: d } = n, f = [], p = [], m = new Set(s ? t.map(N) : []), h = s ? c ?? Infinity : 1, g = s ? t.length : 0, _ = ae(o, r);
|
|
215
211
|
for (let t of e) {
|
|
216
212
|
let e = [];
|
|
217
|
-
if (
|
|
213
|
+
if (M(t, o) || e.push(_ ? r.typeNotAcceptedUse(_) : r.typeNotAccepted), l != null && t.size > l && e.push(r.tooLarge(a(l))), u != null && t.size < u && e.push(r.tooSmall(a(u))), m.has(N(t)) && e.push(r.duplicate), e.length === 0 && d) {
|
|
218
214
|
let n = d(t);
|
|
219
215
|
n && e.push(n);
|
|
220
216
|
}
|
|
221
217
|
e.length === 0 && g + f.length >= h && e.push(s ? r.tooMany(h) : r.onlyOne), e.length ? p.push({
|
|
222
218
|
file: t,
|
|
223
219
|
errors: e
|
|
224
|
-
}) : (f.push(t), m.add(
|
|
220
|
+
}) : (f.push(t), m.add(N(t)));
|
|
225
221
|
}
|
|
226
222
|
return {
|
|
227
223
|
accepted: f,
|
|
228
224
|
rejections: p
|
|
229
225
|
};
|
|
230
226
|
}
|
|
231
|
-
var
|
|
232
|
-
let { messages:
|
|
233
|
-
id:
|
|
234
|
-
invalid:
|
|
235
|
-
required:
|
|
236
|
-
disabled:
|
|
237
|
-
size:
|
|
227
|
+
var R = (e) => Array.from(e.dataTransfer?.types ?? []).includes("Files"), pe = Object.assign(({ accept: t, multiple: s = !1, maxFiles: u, maxSize: d, minSize: f, validator: m, value: h, defaultValue: b, onValueChange: w, onReject: j, onFileRemove: M, disabled: ie, invalid: N, name: oe, required: se, size: ce, variant: P = "dropzone", children: F, prompt: de, hint: I, browseLabel: pe, showList: me = !0, showRejections: he = !0, showThumbnails: ge = !0, getFileState: _e, inputRef: ve, buttonRef: ye, id: be, className: xe, style: Se, "aria-describedby": Ce, "aria-label": we, "aria-labelledby": Te, ...Ee }) => {
|
|
228
|
+
let { messages: z, locale: De } = ee(), Oe = (e) => A(e, z.fileUpload.units, De), B = C(), ke = `${B}-hint`, Ae = `${B}-prompt`, je = `${B}-browse`, Me = `${B}-rejections`, Ne = `${B}-required`, Pe = `${B}-input`, V = _(), [Fe, Ie] = E([]), H = I === void 0 ? [[ae(t, z.fileUpload), d == null ? "" : s ? z.fileUpload.upToEach(Oe(d)) : z.fileUpload.upTo(Oe(d))].filter(Boolean).join(" "), s && u != null ? z.fileUpload.maxFiles(u) : ""].filter(Boolean).map((e) => `${e}.`).join(" ") || null : I, Le = H !== null && H !== !1 && H !== "", Re = he && Fe.length > 0, U = v({
|
|
229
|
+
id: be,
|
|
230
|
+
invalid: N,
|
|
231
|
+
required: se,
|
|
232
|
+
disabled: ie,
|
|
233
|
+
size: ce,
|
|
238
234
|
"aria-describedby": [
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
235
|
+
Ce,
|
|
236
|
+
Le && !F ? ke : void 0,
|
|
237
|
+
Re ? Me : void 0
|
|
242
238
|
].filter(Boolean).join(" ") || void 0
|
|
243
|
-
}),
|
|
244
|
-
value:
|
|
245
|
-
defaultValue:
|
|
246
|
-
onChange:
|
|
239
|
+
}), W = U.size ?? "md", G = U.disabled, [K, q] = r({
|
|
240
|
+
value: h,
|
|
241
|
+
defaultValue: b ?? [],
|
|
242
|
+
onChange: w
|
|
247
243
|
});
|
|
248
|
-
|
|
249
|
-
let
|
|
250
|
-
|
|
251
|
-
let [
|
|
252
|
-
Z.current = e,
|
|
253
|
-
}, [
|
|
254
|
-
Q.current = e,
|
|
255
|
-
}, [
|
|
244
|
+
i(() => U.id ? document.getElementById(U.id) : null, () => q(b ?? []), h === void 0);
|
|
245
|
+
let J = T(K);
|
|
246
|
+
J.current = K;
|
|
247
|
+
let [ze, Be] = ue(), [Ve, Y] = E(!1), X = T(0), Z = T(null), Q = T(null), He = x((e) => {
|
|
248
|
+
Z.current = e, n(ve, e);
|
|
249
|
+
}, [ve]), Ue = x((e) => {
|
|
250
|
+
Q.current = e, n(ye, e);
|
|
251
|
+
}, [ye]), $ = x((e) => {
|
|
256
252
|
let t = Z.current;
|
|
257
253
|
if (t) try {
|
|
258
254
|
if (typeof DataTransfer > "u") throw Error("unsupported");
|
|
@@ -263,185 +259,184 @@ var B = (e) => Array.from(e.dataTransfer?.types ?? []).includes("Files"), ue = O
|
|
|
263
259
|
}
|
|
264
260
|
}, []);
|
|
265
261
|
S(() => {
|
|
266
|
-
$(
|
|
267
|
-
}, [
|
|
262
|
+
$(K);
|
|
263
|
+
}, [K, $]);
|
|
268
264
|
let We = x(() => {
|
|
269
|
-
if (
|
|
265
|
+
if (G) return;
|
|
270
266
|
let e = Z.current;
|
|
271
267
|
e && (e.value = "", e.click());
|
|
272
|
-
}, [
|
|
268
|
+
}, [G]);
|
|
273
269
|
S(() => {
|
|
274
270
|
let e = Z.current;
|
|
275
271
|
if (!e) return;
|
|
276
|
-
let t = () => $(
|
|
272
|
+
let t = () => $(J.current);
|
|
277
273
|
return e.addEventListener("cancel", t), () => e.removeEventListener("cancel", t);
|
|
278
274
|
}, [$]);
|
|
279
|
-
let Ge = (
|
|
280
|
-
if (
|
|
281
|
-
let n =
|
|
282
|
-
accept:
|
|
275
|
+
let Ge = (e) => {
|
|
276
|
+
if (G || e.length === 0) return;
|
|
277
|
+
let n = J.current, r = fe(e, n, {
|
|
278
|
+
accept: t,
|
|
283
279
|
multiple: s,
|
|
284
280
|
maxFiles: u,
|
|
285
|
-
maxSize:
|
|
286
|
-
minSize:
|
|
287
|
-
validator:
|
|
288
|
-
},
|
|
289
|
-
r.accepted.length &&
|
|
290
|
-
let i = r.accepted.length, a = r.rejections.length, o =
|
|
291
|
-
a === 1 && i === 0 && (o += ` ${r.rejections[0].file.name}: ${r.rejections[0].errors.join(" ")}`),
|
|
281
|
+
maxSize: d,
|
|
282
|
+
minSize: f,
|
|
283
|
+
validator: m
|
|
284
|
+
}, z.fileUpload, De);
|
|
285
|
+
r.accepted.length && q(s ? [...n, ...r.accepted] : r.accepted), Ie(r.rejections), r.rejections.length && j?.(r.rejections);
|
|
286
|
+
let i = r.accepted.length, a = r.rejections.length, o = z.fileUpload.announceAdded(i, a);
|
|
287
|
+
a === 1 && i === 0 && (o += ` ${r.rejections[0].file.name}: ${r.rejections[0].errors.join(" ")}`), Be(o);
|
|
292
288
|
}, Ke = (e) => {
|
|
293
289
|
let t = Array.from(e.target.files ?? []);
|
|
294
|
-
Ge(t), requestAnimationFrame(() => $(
|
|
290
|
+
Ge(t), requestAnimationFrame(() => $(J.current));
|
|
295
291
|
}, qe = (e) => {
|
|
296
|
-
let t =
|
|
297
|
-
|
|
292
|
+
let t = J.current.filter((t) => t !== e);
|
|
293
|
+
q(t), M?.(e), Be(`${e.name} removed.`);
|
|
298
294
|
}, Je = () => {
|
|
299
|
-
X.current = 0,
|
|
295
|
+
X.current = 0, Y(!1);
|
|
300
296
|
}, Ye = (e) => {
|
|
301
|
-
|
|
297
|
+
R(e) && (e.preventDefault(), X.current += 1, G || Y(!0));
|
|
302
298
|
}, Xe = (e) => {
|
|
303
|
-
|
|
299
|
+
R(e) && (e.preventDefault(), e.dataTransfer.dropEffect = G ? "none" : "copy");
|
|
304
300
|
}, Ze = (e) => {
|
|
305
|
-
|
|
301
|
+
R(e) && (X.current = Math.max(0, X.current - 1), X.current === 0 && Y(!1));
|
|
306
302
|
}, Qe = (e) => {
|
|
307
|
-
|
|
308
|
-
}, $e = [
|
|
303
|
+
R(e) && (e.preventDefault(), Je(), G || Ge(Array.from(e.dataTransfer.files ?? [])));
|
|
304
|
+
}, $e = [je, V && !V.isGroup ? V.labelId : void 0].filter(Boolean).join(" "), et = [U.ariaProps["aria-describedby"], U.required ? Ne : void 0].filter(Boolean).join(" ") || void 0, tt = pe ?? (P === "button" ? z.fileUpload.uploadFiles : z.fileUpload.browseFiles), nt = W, rt = /* @__PURE__ */ D(a, {
|
|
309
305
|
ref: Ue,
|
|
310
|
-
id:
|
|
311
|
-
className:
|
|
312
|
-
variant:
|
|
306
|
+
id: U.id,
|
|
307
|
+
className: y.browse,
|
|
308
|
+
variant: P === "button" ? "outline" : "solid",
|
|
313
309
|
size: nt,
|
|
314
|
-
startIcon:
|
|
315
|
-
disabled:
|
|
310
|
+
startIcon: P === "button" ? /* @__PURE__ */ D(p, { size: "sm" }) : void 0,
|
|
311
|
+
disabled: G,
|
|
316
312
|
"aria-labelledby": $e,
|
|
317
313
|
"aria-describedby": et,
|
|
318
|
-
"aria-invalid":
|
|
319
|
-
"aria-errormessage":
|
|
320
|
-
"aria-controls":
|
|
314
|
+
"aria-invalid": U.ariaProps["aria-invalid"],
|
|
315
|
+
"aria-errormessage": U.ariaProps["aria-errormessage"],
|
|
316
|
+
"aria-controls": Pe,
|
|
321
317
|
onClick: We,
|
|
322
|
-
children: /* @__PURE__ */
|
|
323
|
-
id:
|
|
318
|
+
children: /* @__PURE__ */ D("span", {
|
|
319
|
+
id: je,
|
|
324
320
|
children: tt
|
|
325
321
|
})
|
|
326
|
-
}), it =
|
|
327
|
-
dragging:
|
|
328
|
-
disabled:
|
|
322
|
+
}), it = de ?? (s ? z.fileUpload.dropFiles : z.fileUpload.dropFile), at = typeof F == "function" ? F({
|
|
323
|
+
dragging: Ve,
|
|
324
|
+
disabled: G,
|
|
329
325
|
openPicker: We
|
|
330
|
-
}) :
|
|
331
|
-
id:
|
|
332
|
-
className:
|
|
333
|
-
children:
|
|
334
|
-
}) : null, st =
|
|
335
|
-
return /* @__PURE__ */
|
|
336
|
-
...
|
|
337
|
-
role: ct ? "group" :
|
|
338
|
-
"aria-label":
|
|
326
|
+
}) : F, ot = Le ? /* @__PURE__ */ D("p", {
|
|
327
|
+
id: ke,
|
|
328
|
+
className: y.hint,
|
|
329
|
+
children: H
|
|
330
|
+
}) : null, st = Te ?? (V && !we ? V.labelId : void 0), ct = !!(we || st), lt = x(() => Q.current, []), ut = te(() => K, [K]);
|
|
331
|
+
return /* @__PURE__ */ O("div", {
|
|
332
|
+
...Ee,
|
|
333
|
+
role: ct ? "group" : Ee.role,
|
|
334
|
+
"aria-label": we,
|
|
339
335
|
"aria-labelledby": st,
|
|
340
|
-
className:
|
|
341
|
-
style:
|
|
342
|
-
"data-size":
|
|
343
|
-
"data-variant":
|
|
344
|
-
"data-dragging":
|
|
345
|
-
"data-disabled":
|
|
346
|
-
"aria-disabled":
|
|
336
|
+
className: e(y.root, re[W], k[P], U.invalid && y.invalid, G && y.disabled, xe),
|
|
337
|
+
style: Se,
|
|
338
|
+
"data-size": W,
|
|
339
|
+
"data-variant": P,
|
|
340
|
+
"data-dragging": Ve || void 0,
|
|
341
|
+
"data-disabled": G || void 0,
|
|
342
|
+
"aria-disabled": G || void 0,
|
|
347
343
|
children: [
|
|
348
|
-
/* @__PURE__ */
|
|
344
|
+
/* @__PURE__ */ D("input", {
|
|
349
345
|
ref: He,
|
|
350
|
-
id:
|
|
351
|
-
className:
|
|
346
|
+
id: Pe,
|
|
347
|
+
className: y.nativeInput,
|
|
352
348
|
type: "file",
|
|
353
|
-
name:
|
|
354
|
-
accept:
|
|
349
|
+
name: oe,
|
|
350
|
+
accept: t,
|
|
355
351
|
multiple: s,
|
|
356
|
-
required:
|
|
357
|
-
disabled:
|
|
352
|
+
required: U.required,
|
|
353
|
+
disabled: G,
|
|
358
354
|
tabIndex: -1,
|
|
359
355
|
"aria-hidden": "true",
|
|
360
356
|
onChange: Ke,
|
|
361
357
|
onInvalid: () => Q.current?.focus()
|
|
362
358
|
}),
|
|
363
|
-
|
|
364
|
-
id:
|
|
365
|
-
children:
|
|
359
|
+
U.required && /* @__PURE__ */ D(g, {
|
|
360
|
+
id: Ne,
|
|
361
|
+
children: z.fileUpload.required
|
|
366
362
|
}),
|
|
367
|
-
|
|
368
|
-
className:
|
|
363
|
+
P === "dropzone" ? /* @__PURE__ */ O("div", {
|
|
364
|
+
className: y.dropzone,
|
|
369
365
|
onDragEnter: Ye,
|
|
370
366
|
onDragOver: Xe,
|
|
371
367
|
onDragLeave: Ze,
|
|
372
368
|
onDrop: Qe,
|
|
373
369
|
children: [
|
|
374
|
-
/* @__PURE__ */
|
|
375
|
-
className:
|
|
370
|
+
/* @__PURE__ */ D("span", {
|
|
371
|
+
className: y.iconBadge,
|
|
376
372
|
"aria-hidden": "true",
|
|
377
|
-
children: /* @__PURE__ */
|
|
373
|
+
children: /* @__PURE__ */ D(p, { size: W === "lg" ? "xl" : W === "sm" ? "sm" : "lg" })
|
|
378
374
|
}),
|
|
379
|
-
/* @__PURE__ */
|
|
380
|
-
className:
|
|
381
|
-
children: at ?? /* @__PURE__ */
|
|
382
|
-
id:
|
|
383
|
-
className:
|
|
375
|
+
/* @__PURE__ */ D("div", {
|
|
376
|
+
className: y.text,
|
|
377
|
+
children: at ?? /* @__PURE__ */ O(ne, { children: [/* @__PURE__ */ D("p", {
|
|
378
|
+
id: Ae,
|
|
379
|
+
className: y.prompt,
|
|
384
380
|
children: it
|
|
385
381
|
}), ot] })
|
|
386
382
|
}),
|
|
387
383
|
rt
|
|
388
384
|
]
|
|
389
|
-
}) : /* @__PURE__ */
|
|
390
|
-
className:
|
|
385
|
+
}) : /* @__PURE__ */ O("div", {
|
|
386
|
+
className: y.buttonRow,
|
|
391
387
|
children: [rt, at ?? ot]
|
|
392
388
|
}),
|
|
393
|
-
|
|
394
|
-
id:
|
|
395
|
-
className:
|
|
396
|
-
children: [/* @__PURE__ */
|
|
397
|
-
className:
|
|
389
|
+
Re && /* @__PURE__ */ O("div", {
|
|
390
|
+
id: Me,
|
|
391
|
+
className: y.rejections,
|
|
392
|
+
children: [/* @__PURE__ */ O("div", {
|
|
393
|
+
className: y.rejectionsHeader,
|
|
398
394
|
children: [
|
|
399
|
-
/* @__PURE__ */
|
|
400
|
-
/* @__PURE__ */
|
|
401
|
-
className:
|
|
402
|
-
children:
|
|
395
|
+
/* @__PURE__ */ D(l, { size: "sm" }),
|
|
396
|
+
/* @__PURE__ */ D("p", {
|
|
397
|
+
className: y.rejectionsTitle,
|
|
398
|
+
children: z.fileUpload.rejected(Fe.length)
|
|
403
399
|
}),
|
|
404
|
-
/* @__PURE__ */
|
|
405
|
-
className:
|
|
400
|
+
/* @__PURE__ */ D(o, {
|
|
401
|
+
className: y.rejectionsDismiss,
|
|
406
402
|
variant: "ghost",
|
|
407
403
|
tone: "neutral",
|
|
408
404
|
size: "sm",
|
|
409
|
-
"aria-label":
|
|
405
|
+
"aria-label": z.fileUpload.dismissErrors,
|
|
410
406
|
onClick: () => {
|
|
411
|
-
|
|
407
|
+
Ie([]), Q.current?.focus();
|
|
412
408
|
},
|
|
413
|
-
children: /* @__PURE__ */
|
|
409
|
+
children: /* @__PURE__ */ D(c, { size: "sm" })
|
|
414
410
|
})
|
|
415
411
|
]
|
|
416
|
-
}), /* @__PURE__ */
|
|
417
|
-
className:
|
|
418
|
-
children:
|
|
419
|
-
className:
|
|
420
|
-
children: [/* @__PURE__ */
|
|
421
|
-
className:
|
|
412
|
+
}), /* @__PURE__ */ D("ul", {
|
|
413
|
+
className: y.rejectionList,
|
|
414
|
+
children: Fe.map(({ file: e, errors: t }, n) => /* @__PURE__ */ O("li", {
|
|
415
|
+
className: y.rejection,
|
|
416
|
+
children: [/* @__PURE__ */ D("span", {
|
|
417
|
+
className: y.rejectionName,
|
|
422
418
|
children: e.name
|
|
423
|
-
}), /* @__PURE__ */
|
|
424
|
-
className:
|
|
419
|
+
}), /* @__PURE__ */ D("span", {
|
|
420
|
+
className: y.rejectionReason,
|
|
425
421
|
children: t.join(" ")
|
|
426
422
|
})]
|
|
427
|
-
}, `${
|
|
423
|
+
}, `${le(e)}-${n}`))
|
|
428
424
|
})]
|
|
429
425
|
}),
|
|
430
|
-
|
|
426
|
+
me && /* @__PURE__ */ D(L, {
|
|
431
427
|
files: ut,
|
|
432
|
-
size:
|
|
433
|
-
disabled:
|
|
434
|
-
showThumbnails:
|
|
435
|
-
getFileState:
|
|
428
|
+
size: W,
|
|
429
|
+
disabled: G,
|
|
430
|
+
showThumbnails: ge,
|
|
431
|
+
getFileState: _e,
|
|
436
432
|
onRemove: qe,
|
|
437
433
|
focusFallback: lt
|
|
438
434
|
}),
|
|
439
|
-
/* @__PURE__ */
|
|
435
|
+
/* @__PURE__ */ D(g, {
|
|
440
436
|
role: "status",
|
|
441
|
-
children:
|
|
437
|
+
children: ze
|
|
442
438
|
})
|
|
443
439
|
]
|
|
444
440
|
});
|
|
445
|
-
}, { List:
|
|
446
|
-
|
|
447
|
-
export { ue as FileUpload, ce as FileUploadList, F as describeAccept, N as fileMatchesAccept, j as formatFileSize };
|
|
441
|
+
}, { List: L });
|
|
442
|
+
export { pe as FileUpload, L as FileUploadList, ae as describeAccept, M as fileMatchesAccept, A as formatFileSize };
|