@nofinite/nui 1.1.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @nofinite/nui might be problematic. Click here for more details.
- package/LICENSE +201 -201
- package/README.md +61 -48
- package/dist/CHANGELOG.md +8 -0
- package/dist/LICENSE +201 -0
- package/dist/README.md +48 -0
- package/dist/components/accordion/Accordion.cjs +1 -1
- package/dist/components/accordion/Accordion.cjs.map +1 -1
- package/dist/components/accordion/Accordion.js +64 -43
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/alert/Alert.cjs +1 -1
- package/dist/components/alert/Alert.cjs.map +1 -1
- package/dist/components/alert/Alert.js +39 -25
- package/dist/components/alert/Alert.js.map +1 -1
- package/dist/components/avatar/Avatar.cjs +1 -1
- package/dist/components/avatar/Avatar.cjs.map +1 -1
- package/dist/components/avatar/Avatar.js +58 -44
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/AvatarGroup.cjs +1 -1
- package/dist/components/avatar/AvatarGroup.cjs.map +1 -1
- package/dist/components/avatar/AvatarGroup.js +34 -25
- package/dist/components/avatar/AvatarGroup.js.map +1 -1
- package/dist/components/badge/Badge.cjs +1 -1
- package/dist/components/badge/Badge.cjs.map +1 -1
- package/dist/components/badge/Badge.js +43 -68
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/badge/BadgeGroup.cjs +1 -1
- package/dist/components/badge/BadgeGroup.cjs.map +1 -1
- package/dist/components/badge/BadgeGroup.js +20 -10
- package/dist/components/badge/BadgeGroup.js.map +1 -1
- package/dist/components/breadcrumbs/Breadcrumbs.cjs +1 -1
- package/dist/components/breadcrumbs/Breadcrumbs.cjs.map +1 -1
- package/dist/components/breadcrumbs/Breadcrumbs.js +59 -39
- package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/button/Button.cjs +1 -1
- package/dist/components/button/Button.cjs.map +1 -1
- package/dist/components/button/Button.js +52 -17
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/card/Card.cjs +1 -1
- package/dist/components/card/Card.cjs.map +1 -1
- package/dist/components/card/Card.js +44 -41
- package/dist/components/card/Card.js.map +1 -1
- package/dist/components/checkbox/Checkbox.cjs +1 -1
- package/dist/components/checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/checkbox/Checkbox.js +59 -40
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/chip/Chip.cjs +1 -1
- package/dist/components/chip/Chip.cjs.map +1 -1
- package/dist/components/chip/Chip.js +67 -47
- package/dist/components/chip/Chip.js.map +1 -1
- package/dist/components/combobox/Combobox.cjs +1 -1
- package/dist/components/combobox/Combobox.cjs.map +1 -1
- package/dist/components/combobox/Combobox.js +123 -108
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/commandpalette/CommandPalette.cjs +1 -1
- package/dist/components/commandpalette/CommandPalette.cjs.map +1 -1
- package/dist/components/commandpalette/CommandPalette.js +96 -73
- package/dist/components/commandpalette/CommandPalette.js.map +1 -1
- package/dist/components/contextmenu/ContextMenu.cjs +1 -1
- package/dist/components/contextmenu/ContextMenu.cjs.map +1 -1
- package/dist/components/contextmenu/ContextMenu.js +79 -58
- package/dist/components/contextmenu/ContextMenu.js.map +1 -1
- package/dist/components/datagrid/DataGrid.cjs +1 -1
- package/dist/components/datagrid/DataGrid.cjs.map +1 -1
- package/dist/components/datagrid/DataGrid.js +184 -202
- package/dist/components/datagrid/DataGrid.js.map +1 -1
- package/dist/components/datepicker/DatePicker.cjs +1 -1
- package/dist/components/datepicker/DatePicker.cjs.map +1 -1
- package/dist/components/datepicker/DatePicker.js +197 -164
- package/dist/components/datepicker/DatePicker.js.map +1 -1
- package/dist/components/daterangepicker/DateRangePicker.cjs +1 -1
- package/dist/components/daterangepicker/DateRangePicker.cjs.map +1 -1
- package/dist/components/daterangepicker/DateRangePicker.js +254 -213
- package/dist/components/daterangepicker/DateRangePicker.js.map +1 -1
- package/dist/components/dialog/DialogProvider.cjs +2 -0
- package/dist/components/dialog/DialogProvider.cjs.map +1 -0
- package/dist/components/dialog/DialogProvider.js +71 -0
- package/dist/components/dialog/DialogProvider.js.map +1 -0
- package/dist/components/dialog/dialogStore.cjs +2 -0
- package/dist/components/dialog/dialogStore.cjs.map +1 -0
- package/dist/components/dialog/dialogStore.js +60 -0
- package/dist/components/dialog/dialogStore.js.map +1 -0
- package/dist/components/drawer/Drawer.cjs +1 -1
- package/dist/components/drawer/Drawer.cjs.map +1 -1
- package/dist/components/drawer/Drawer.js +69 -47
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/dropdown/Dropdown.cjs +1 -1
- package/dist/components/dropdown/Dropdown.cjs.map +1 -1
- package/dist/components/dropdown/Dropdown.js +134 -108
- package/dist/components/dropdown/Dropdown.js.map +1 -1
- package/dist/components/fileuploader/FileUploader.cjs +1 -1
- package/dist/components/fileuploader/FileUploader.cjs.map +1 -1
- package/dist/components/fileuploader/FileUploader.js +96 -61
- package/dist/components/fileuploader/FileUploader.js.map +1 -1
- package/dist/components/hovercard/HoverCard.cjs +1 -1
- package/dist/components/hovercard/HoverCard.cjs.map +1 -1
- package/dist/components/hovercard/HoverCard.js +124 -69
- package/dist/components/hovercard/HoverCard.js.map +1 -1
- package/dist/components/input/Input.cjs +1 -1
- package/dist/components/input/Input.cjs.map +1 -1
- package/dist/components/input/Input.js +62 -37
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/layout/Container.cjs +1 -1
- package/dist/components/layout/Container.cjs.map +1 -1
- package/dist/components/layout/Container.js +21 -30
- package/dist/components/layout/Container.js.map +1 -1
- package/dist/components/layout/Flex.cjs +1 -1
- package/dist/components/layout/Flex.cjs.map +1 -1
- package/dist/components/layout/Flex.js +36 -19
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Grid.cjs +1 -1
- package/dist/components/layout/Grid.cjs.map +1 -1
- package/dist/components/layout/Grid.js +30 -18
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/link/Link.cjs +2 -0
- package/dist/components/link/Link.cjs.map +1 -0
- package/dist/components/link/Link.js +41 -0
- package/dist/components/link/Link.js.map +1 -0
- package/dist/components/megamenu/MegaMenu.cjs +1 -1
- package/dist/components/megamenu/MegaMenu.cjs.map +1 -1
- package/dist/components/megamenu/MegaMenu.js +107 -38
- package/dist/components/megamenu/MegaMenu.js.map +1 -1
- package/dist/components/modal/Modal.cjs +1 -1
- package/dist/components/modal/Modal.cjs.map +1 -1
- package/dist/components/modal/Modal.js +91 -83
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/multiselect/MultiSelect.cjs +2 -0
- package/dist/components/multiselect/MultiSelect.cjs.map +1 -0
- package/dist/components/multiselect/MultiSelect.js +176 -0
- package/dist/components/multiselect/MultiSelect.js.map +1 -0
- package/dist/components/nuiprovider/NUIProvider.cjs +2 -0
- package/dist/components/nuiprovider/NUIProvider.cjs.map +1 -0
- package/dist/components/nuiprovider/NUIProvider.js +36 -0
- package/dist/components/nuiprovider/NUIProvider.js.map +1 -0
- package/dist/components/pagination/Pagination.cjs +1 -1
- package/dist/components/pagination/Pagination.cjs.map +1 -1
- package/dist/components/pagination/Pagination.js +74 -41
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/popover/Popover.cjs +1 -1
- package/dist/components/popover/Popover.cjs.map +1 -1
- package/dist/components/popover/Popover.js +99 -100
- package/dist/components/popover/Popover.js.map +1 -1
- package/dist/components/progress/Progress.cjs +1 -1
- package/dist/components/progress/Progress.cjs.map +1 -1
- package/dist/components/progress/Progress.js +44 -22
- package/dist/components/progress/Progress.js.map +1 -1
- package/dist/components/radiogroup/RadioGroup.cjs +1 -1
- package/dist/components/radiogroup/RadioGroup.cjs.map +1 -1
- package/dist/components/radiogroup/RadioGroup.js +69 -74
- package/dist/components/radiogroup/RadioGroup.js.map +1 -1
- package/dist/components/rating/Rating.cjs +1 -1
- package/dist/components/rating/Rating.cjs.map +1 -1
- package/dist/components/rating/Rating.js +72 -33
- package/dist/components/rating/Rating.js.map +1 -1
- package/dist/components/resizable/Resizable.cjs +2 -0
- package/dist/components/resizable/Resizable.cjs.map +1 -0
- package/dist/components/resizable/Resizable.js +134 -0
- package/dist/components/resizable/Resizable.js.map +1 -0
- package/dist/components/select/Select.cjs +1 -1
- package/dist/components/select/Select.cjs.map +1 -1
- package/dist/components/select/Select.js +114 -113
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/skeleton/Skeleton.cjs +1 -1
- package/dist/components/skeleton/Skeleton.cjs.map +1 -1
- package/dist/components/skeleton/Skeleton.js +90 -67
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/slider/Slider.cjs +1 -1
- package/dist/components/slider/Slider.cjs.map +1 -1
- package/dist/components/slider/Slider.js +85 -82
- package/dist/components/slider/Slider.js.map +1 -1
- package/dist/components/spinner/Spinner.cjs +1 -1
- package/dist/components/spinner/Spinner.cjs.map +1 -1
- package/dist/components/spinner/Spinner.js +60 -17
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/stepper/Stepper.cjs +1 -5
- package/dist/components/stepper/Stepper.cjs.map +1 -1
- package/dist/components/stepper/Stepper.js +65 -39
- package/dist/components/stepper/Stepper.js.map +1 -1
- package/dist/components/switch/Switch.cjs +1 -1
- package/dist/components/switch/Switch.cjs.map +1 -1
- package/dist/components/switch/Switch.js +89 -62
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/table/Table.cjs +1 -1
- package/dist/components/table/Table.cjs.map +1 -1
- package/dist/components/table/Table.js +62 -35
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/tabs/Tabs.cjs +1 -1
- package/dist/components/tabs/Tabs.cjs.map +1 -1
- package/dist/components/tabs/Tabs.js +110 -50
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/textarea/Textarea.cjs +1 -1
- package/dist/components/textarea/Textarea.cjs.map +1 -1
- package/dist/components/textarea/Textarea.js +63 -58
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/timepicker/TimePicker.cjs +2 -0
- package/dist/components/timepicker/TimePicker.cjs.map +1 -0
- package/dist/components/timepicker/TimePicker.js +159 -0
- package/dist/components/timepicker/TimePicker.js.map +1 -0
- package/dist/components/timerangepicker/TimeRangePicker.cjs +2 -0
- package/dist/components/timerangepicker/TimeRangePicker.cjs.map +1 -0
- package/dist/components/timerangepicker/TimeRangePicker.js +208 -0
- package/dist/components/timerangepicker/TimeRangePicker.js.map +1 -0
- package/dist/components/toast/Toast.cjs +1 -1
- package/dist/components/toast/Toast.cjs.map +1 -1
- package/dist/components/toast/Toast.js +91 -38
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/tooltip/Tooltip.cjs +1 -1
- package/dist/components/tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/tooltip/Tooltip.js +72 -56
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/treeview/TreeView.cjs +1 -1
- package/dist/components/treeview/TreeView.cjs.map +1 -1
- package/dist/components/treeview/TreeView.js +120 -90
- package/dist/components/treeview/TreeView.js.map +1 -1
- package/dist/components/virtuallist/VirtualList.cjs +1 -1
- package/dist/components/virtuallist/VirtualList.cjs.map +1 -1
- package/dist/components/virtuallist/VirtualList.js +52 -34
- package/dist/components/virtuallist/VirtualList.js.map +1 -1
- package/dist/dist/components/accordion/Accordion.cjs +2 -0
- package/dist/dist/components/accordion/Accordion.cjs.map +1 -0
- package/dist/dist/components/accordion/Accordion.js +51 -0
- package/dist/dist/components/accordion/Accordion.js.map +1 -0
- package/dist/dist/components/alert/Alert.cjs +2 -0
- package/dist/dist/components/alert/Alert.cjs.map +1 -0
- package/dist/dist/components/alert/Alert.js +32 -0
- package/dist/dist/components/alert/Alert.js.map +1 -0
- package/dist/dist/components/avatar/Avatar.cjs +2 -0
- package/dist/dist/components/avatar/Avatar.cjs.map +1 -0
- package/dist/dist/components/avatar/Avatar.js +51 -0
- package/dist/dist/components/avatar/Avatar.js.map +1 -0
- package/dist/dist/components/avatar/AvatarGroup.cjs +2 -0
- package/dist/dist/components/avatar/AvatarGroup.cjs.map +1 -0
- package/dist/dist/components/avatar/AvatarGroup.js +32 -0
- package/dist/dist/components/avatar/AvatarGroup.js.map +1 -0
- package/dist/dist/components/badge/Badge.cjs +2 -0
- package/dist/dist/components/badge/Badge.cjs.map +1 -0
- package/dist/dist/components/badge/Badge.js +81 -0
- package/dist/dist/components/badge/Badge.js.map +1 -0
- package/dist/dist/components/badge/BadgeGroup.cjs +2 -0
- package/dist/dist/components/badge/BadgeGroup.cjs.map +1 -0
- package/dist/dist/components/badge/BadgeGroup.js +17 -0
- package/dist/dist/components/badge/BadgeGroup.js.map +1 -0
- package/dist/dist/components/breadcrumbs/Breadcrumbs.cjs +2 -0
- package/dist/dist/components/breadcrumbs/Breadcrumbs.cjs.map +1 -0
- package/dist/dist/components/breadcrumbs/Breadcrumbs.js +46 -0
- package/dist/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/dist/components/button/Button.cjs +2 -0
- package/dist/dist/components/button/Button.cjs.map +1 -0
- package/dist/dist/components/button/Button.js +21 -0
- package/dist/dist/components/button/Button.js.map +1 -0
- package/dist/dist/components/card/Card.cjs +2 -0
- package/dist/dist/components/card/Card.cjs.map +1 -0
- package/dist/dist/components/card/Card.js +50 -0
- package/dist/dist/components/card/Card.js.map +1 -0
- package/dist/dist/components/checkbox/Checkbox.cjs +2 -0
- package/dist/dist/components/checkbox/Checkbox.cjs.map +1 -0
- package/dist/dist/components/checkbox/Checkbox.js +46 -0
- package/dist/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/dist/components/chip/Chip.cjs +2 -0
- package/dist/dist/components/chip/Chip.cjs.map +1 -0
- package/dist/dist/components/chip/Chip.js +51 -0
- package/dist/dist/components/chip/Chip.js.map +1 -0
- package/dist/dist/components/combobox/Combobox.cjs +2 -0
- package/dist/dist/components/combobox/Combobox.cjs.map +1 -0
- package/dist/dist/components/combobox/Combobox.js +114 -0
- package/dist/dist/components/combobox/Combobox.js.map +1 -0
- package/dist/dist/components/commandpalette/CommandPalette.cjs +2 -0
- package/dist/dist/components/commandpalette/CommandPalette.cjs.map +1 -0
- package/dist/dist/components/commandpalette/CommandPalette.js +111 -0
- package/dist/dist/components/commandpalette/CommandPalette.js.map +1 -0
- package/dist/dist/components/contextmenu/ContextMenu.cjs +2 -0
- package/dist/dist/components/contextmenu/ContextMenu.cjs.map +1 -0
- package/dist/dist/components/contextmenu/ContextMenu.js +104 -0
- package/dist/dist/components/contextmenu/ContextMenu.js.map +1 -0
- package/dist/dist/components/datagrid/DataGrid.cjs +2 -0
- package/dist/dist/components/datagrid/DataGrid.cjs.map +1 -0
- package/dist/dist/components/datagrid/DataGrid.js +227 -0
- package/dist/dist/components/datagrid/DataGrid.js.map +1 -0
- package/dist/dist/components/datepicker/DatePicker.cjs +2 -0
- package/dist/dist/components/datepicker/DatePicker.cjs.map +1 -0
- package/dist/dist/components/datepicker/DatePicker.js +265 -0
- package/dist/dist/components/datepicker/DatePicker.js.map +1 -0
- package/dist/dist/components/daterangepicker/DateRangePicker.cjs +2 -0
- package/dist/dist/components/daterangepicker/DateRangePicker.cjs.map +1 -0
- package/dist/dist/components/daterangepicker/DateRangePicker.js +322 -0
- package/dist/dist/components/daterangepicker/DateRangePicker.js.map +1 -0
- package/dist/dist/components/drawer/Drawer.cjs +2 -0
- package/dist/dist/components/drawer/Drawer.cjs.map +1 -0
- package/dist/dist/components/drawer/Drawer.js +57 -0
- package/dist/dist/components/drawer/Drawer.js.map +1 -0
- package/dist/dist/components/dropdown/Dropdown.cjs +2 -0
- package/dist/dist/components/dropdown/Dropdown.cjs.map +1 -0
- package/dist/dist/components/dropdown/Dropdown.js +115 -0
- package/dist/dist/components/dropdown/Dropdown.js.map +1 -0
- package/dist/dist/components/fileuploader/FileUploader.cjs +2 -0
- package/dist/dist/components/fileuploader/FileUploader.cjs.map +1 -0
- package/dist/dist/components/fileuploader/FileUploader.js +83 -0
- package/dist/dist/components/fileuploader/FileUploader.js.map +1 -0
- package/dist/dist/components/hovercard/HoverCard.cjs +2 -0
- package/dist/dist/components/hovercard/HoverCard.cjs.map +1 -0
- package/dist/dist/components/hovercard/HoverCard.js +78 -0
- package/dist/dist/components/hovercard/HoverCard.js.map +1 -0
- package/dist/dist/components/input/Input.cjs +2 -0
- package/dist/dist/components/input/Input.cjs.map +1 -0
- package/dist/dist/components/input/Input.js +41 -0
- package/dist/dist/components/input/Input.js.map +1 -0
- package/dist/dist/components/layout/Container.cjs +2 -0
- package/dist/dist/components/layout/Container.cjs.map +1 -0
- package/dist/dist/components/layout/Container.js +33 -0
- package/dist/dist/components/layout/Container.js.map +1 -0
- package/dist/dist/components/layout/Flex.cjs +2 -0
- package/dist/dist/components/layout/Flex.cjs.map +1 -0
- package/dist/dist/components/layout/Flex.js +26 -0
- package/dist/dist/components/layout/Flex.js.map +1 -0
- package/dist/dist/components/layout/Grid.cjs +2 -0
- package/dist/dist/components/layout/Grid.cjs.map +1 -0
- package/dist/dist/components/layout/Grid.js +21 -0
- package/dist/dist/components/layout/Grid.js.map +1 -0
- package/dist/dist/components/layout/HStack.cjs.map +1 -0
- package/dist/dist/components/layout/HStack.js.map +1 -0
- package/dist/dist/components/layout/Stack.cjs.map +1 -0
- package/dist/dist/components/layout/Stack.js.map +1 -0
- package/dist/dist/components/megamenu/MegaMenu.cjs +2 -0
- package/dist/dist/components/megamenu/MegaMenu.cjs.map +1 -0
- package/dist/dist/components/megamenu/MegaMenu.js +43 -0
- package/dist/dist/components/megamenu/MegaMenu.js.map +1 -0
- package/dist/dist/components/modal/Modal.cjs +2 -0
- package/dist/dist/components/modal/Modal.cjs.map +1 -0
- package/dist/dist/components/modal/Modal.js +91 -0
- package/dist/dist/components/modal/Modal.js.map +1 -0
- package/dist/dist/components/pagination/Pagination.cjs +2 -0
- package/dist/dist/components/pagination/Pagination.cjs.map +1 -0
- package/dist/dist/components/pagination/Pagination.js +62 -0
- package/dist/dist/components/pagination/Pagination.js.map +1 -0
- package/dist/dist/components/popover/Popover.cjs +2 -0
- package/dist/dist/components/popover/Popover.cjs.map +1 -0
- package/dist/dist/components/popover/Popover.js +123 -0
- package/dist/dist/components/popover/Popover.js.map +1 -0
- package/dist/dist/components/progress/Progress.cjs +2 -0
- package/dist/dist/components/progress/Progress.cjs.map +1 -0
- package/dist/dist/components/progress/Progress.js +33 -0
- package/dist/dist/components/progress/Progress.js.map +1 -0
- package/dist/dist/components/radiogroup/RadioGroup.cjs +2 -0
- package/dist/dist/components/radiogroup/RadioGroup.cjs.map +1 -0
- package/dist/dist/components/radiogroup/RadioGroup.js +79 -0
- package/dist/dist/components/radiogroup/RadioGroup.js.map +1 -0
- package/dist/dist/components/rating/Rating.cjs +2 -0
- package/dist/dist/components/rating/Rating.cjs.map +1 -0
- package/dist/dist/components/rating/Rating.js +49 -0
- package/dist/dist/components/rating/Rating.js.map +1 -0
- package/dist/dist/components/skeleton/Skeleton.cjs +2 -0
- package/dist/dist/components/skeleton/Skeleton.cjs.map +1 -0
- package/dist/dist/components/skeleton/Skeleton.js +86 -0
- package/dist/dist/components/skeleton/Skeleton.js.map +1 -0
- package/dist/dist/components/slider/Slider.cjs +2 -0
- package/dist/dist/components/slider/Slider.cjs.map +1 -0
- package/dist/dist/components/slider/Slider.js +116 -0
- package/dist/dist/components/slider/Slider.js.map +1 -0
- package/dist/dist/components/spinner/Spinner.cjs +2 -0
- package/dist/dist/components/spinner/Spinner.cjs.map +1 -0
- package/dist/dist/components/spinner/Spinner.js +21 -0
- package/dist/dist/components/spinner/Spinner.js.map +1 -0
- package/dist/dist/components/stepper/Stepper.cjs +6 -0
- package/dist/dist/components/stepper/Stepper.cjs.map +1 -0
- package/dist/dist/components/stepper/Stepper.js +43 -0
- package/dist/dist/components/stepper/Stepper.js.map +1 -0
- package/dist/dist/components/switch/Switch.cjs +2 -0
- package/dist/dist/components/switch/Switch.cjs.map +1 -0
- package/dist/dist/components/switch/Switch.js +67 -0
- package/dist/dist/components/switch/Switch.js.map +1 -0
- package/dist/dist/components/table/Table.cjs +2 -0
- package/dist/dist/components/table/Table.cjs.map +1 -0
- package/dist/dist/components/table/Table.js +46 -0
- package/dist/dist/components/table/Table.js.map +1 -0
- package/dist/dist/components/tabs/Tabs.cjs +2 -0
- package/dist/dist/components/tabs/Tabs.cjs.map +1 -0
- package/dist/dist/components/tabs/Tabs.js +56 -0
- package/dist/dist/components/tabs/Tabs.js.map +1 -0
- package/dist/dist/components/textarea/Textarea.cjs +2 -0
- package/dist/dist/components/textarea/Textarea.cjs.map +1 -0
- package/dist/dist/components/textarea/Textarea.js +75 -0
- package/dist/dist/components/textarea/Textarea.js.map +1 -0
- package/dist/dist/components/toast/Toast.cjs +2 -0
- package/dist/dist/components/toast/Toast.cjs.map +1 -0
- package/dist/dist/components/toast/Toast.js +52 -0
- package/dist/dist/components/toast/Toast.js.map +1 -0
- package/dist/dist/components/tooltip/Tooltip.cjs +2 -0
- package/dist/dist/components/tooltip/Tooltip.cjs.map +1 -0
- package/dist/dist/components/tooltip/Tooltip.js +73 -0
- package/dist/dist/components/tooltip/Tooltip.js.map +1 -0
- package/dist/dist/components/treeview/TreeView.cjs +2 -0
- package/dist/dist/components/treeview/TreeView.cjs.map +1 -0
- package/dist/dist/components/treeview/TreeView.js +98 -0
- package/dist/dist/components/treeview/TreeView.js.map +1 -0
- package/dist/dist/components/virtuallist/VirtualList.cjs +2 -0
- package/dist/dist/components/virtuallist/VirtualList.cjs.map +1 -0
- package/dist/dist/components/virtuallist/VirtualList.js +58 -0
- package/dist/dist/components/virtuallist/VirtualList.js.map +1 -0
- package/dist/dist/index.cjs +2 -0
- package/dist/dist/index.cjs.map +1 -0
- package/dist/dist/index.js +109 -0
- package/dist/dist/index.js.map +1 -0
- package/dist/dist/styles/index.css +1 -0
- package/dist/dist/theme/NUIProvider.cjs.map +1 -0
- package/dist/dist/theme/NUIProvider.js.map +1 -0
- package/dist/dist/theme/useTheme.cjs.map +1 -0
- package/dist/dist/theme/useTheme.js.map +1 -0
- package/dist/dist/types/components/accordion/Accordion.d.ts +18 -0
- package/dist/dist/types/components/accordion/Accordion.d.ts.map +1 -0
- package/dist/dist/types/components/alert/Alert.d.ts +13 -0
- package/dist/dist/types/components/alert/Alert.d.ts.map +1 -0
- package/dist/dist/types/components/avatar/Avatar.d.ts +18 -0
- package/dist/dist/types/components/avatar/Avatar.d.ts.map +1 -0
- package/dist/dist/types/components/avatar/AvatarGroup.d.ts +10 -0
- package/dist/dist/types/components/avatar/AvatarGroup.d.ts.map +1 -0
- package/dist/dist/types/components/badge/Badge.d.ts +22 -0
- package/dist/dist/types/components/badge/Badge.d.ts.map +1 -0
- package/dist/dist/types/components/badge/BadgeGroup.d.ts +9 -0
- package/dist/dist/types/components/badge/BadgeGroup.d.ts.map +1 -0
- package/dist/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +15 -0
- package/dist/dist/types/components/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/dist/types/components/button/Button.d.ts +15 -0
- package/dist/dist/types/components/button/Button.d.ts.map +1 -0
- package/dist/dist/types/components/card/Card.d.ts +27 -0
- package/dist/dist/types/components/card/Card.d.ts.map +1 -0
- package/dist/dist/types/components/checkbox/Checkbox.d.ts +15 -0
- package/dist/dist/types/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/dist/types/components/chip/Chip.d.ts +21 -0
- package/dist/dist/types/components/chip/Chip.d.ts.map +1 -0
- package/dist/dist/types/components/combobox/Combobox.d.ts +24 -0
- package/dist/dist/types/components/combobox/Combobox.d.ts.map +1 -0
- package/dist/dist/types/components/commandpalette/CommandPalette.d.ts +21 -0
- package/dist/dist/types/components/commandpalette/CommandPalette.d.ts.map +1 -0
- package/dist/dist/types/components/contextmenu/ContextMenu.d.ts +17 -0
- package/dist/dist/types/components/contextmenu/ContextMenu.d.ts.map +1 -0
- package/dist/dist/types/components/datagrid/DataGrid.d.ts +28 -0
- package/dist/dist/types/components/datagrid/DataGrid.d.ts.map +1 -0
- package/dist/dist/types/components/datepicker/DatePicker.d.ts +14 -0
- package/dist/dist/types/components/datepicker/DatePicker.d.ts.map +1 -0
- package/dist/dist/types/components/daterangepicker/DateRangePicker.d.ts +19 -0
- package/dist/dist/types/components/daterangepicker/DateRangePicker.d.ts.map +1 -0
- package/dist/dist/types/components/drawer/Drawer.d.ts +12 -0
- package/dist/dist/types/components/drawer/Drawer.d.ts.map +1 -0
- package/dist/dist/types/components/dropdown/Dropdown.d.ts +18 -0
- package/dist/dist/types/components/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/dist/types/components/fileuploader/FileUploader.d.ts +9 -0
- package/dist/dist/types/components/fileuploader/FileUploader.d.ts.map +1 -0
- package/dist/dist/types/components/hovercard/HoverCard.d.ts +10 -0
- package/dist/dist/types/components/hovercard/HoverCard.d.ts.map +1 -0
- package/dist/dist/types/components/input/Input.d.ts +15 -0
- package/dist/dist/types/components/input/Input.d.ts.map +1 -0
- package/dist/dist/types/components/layout/Container.d.ts +8 -0
- package/dist/dist/types/components/layout/Container.d.ts.map +1 -0
- package/dist/dist/types/components/layout/Flex.d.ts +14 -0
- package/dist/dist/types/components/layout/Flex.d.ts.map +1 -0
- package/dist/dist/types/components/layout/Grid.d.ts +10 -0
- package/dist/dist/types/components/layout/Grid.d.ts.map +1 -0
- package/dist/dist/types/components/layout/HStack.d.ts.map +1 -0
- package/dist/dist/types/components/layout/Stack.d.ts.map +1 -0
- package/dist/dist/types/components/megamenu/MegaMenu.d.ts +12 -0
- package/dist/dist/types/components/megamenu/MegaMenu.d.ts.map +1 -0
- package/dist/dist/types/components/modal/Modal.d.ts +16 -0
- package/dist/dist/types/components/modal/Modal.d.ts.map +1 -0
- package/dist/dist/types/components/pagination/Pagination.d.ts +9 -0
- package/dist/dist/types/components/pagination/Pagination.d.ts.map +1 -0
- package/dist/dist/types/components/popover/Popover.d.ts +21 -0
- package/dist/dist/types/components/popover/Popover.d.ts.map +1 -0
- package/dist/dist/types/components/progress/Progress.d.ts +13 -0
- package/dist/dist/types/components/progress/Progress.d.ts.map +1 -0
- package/dist/dist/types/components/radiogroup/RadioGroup.d.ts +18 -0
- package/dist/dist/types/components/radiogroup/RadioGroup.d.ts.map +1 -0
- package/dist/dist/types/components/rating/Rating.d.ts +19 -0
- package/dist/dist/types/components/rating/Rating.d.ts.map +1 -0
- package/dist/dist/types/components/select/Select.d.ts +20 -0
- package/dist/dist/types/components/select/Select.d.ts.map +1 -0
- package/dist/dist/types/components/skeleton/Skeleton.d.ts +44 -0
- package/dist/dist/types/components/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/dist/types/components/slider/Slider.d.ts +13 -0
- package/dist/dist/types/components/slider/Slider.d.ts.map +1 -0
- package/dist/dist/types/components/spinner/Spinner.d.ts +7 -0
- package/dist/dist/types/components/spinner/Spinner.d.ts.map +1 -0
- package/dist/dist/types/components/stepper/Stepper.d.ts +12 -0
- package/dist/dist/types/components/stepper/Stepper.d.ts.map +1 -0
- package/dist/dist/types/components/switch/Switch.d.ts +15 -0
- package/dist/dist/types/components/switch/Switch.d.ts.map +1 -0
- package/dist/dist/types/components/table/Table.d.ts +14 -0
- package/dist/dist/types/components/table/Table.d.ts.map +1 -0
- package/dist/dist/types/components/tabs/Tabs.d.ts +14 -0
- package/dist/dist/types/components/tabs/Tabs.d.ts.map +1 -0
- package/dist/dist/types/components/textarea/Textarea.d.ts +14 -0
- package/dist/dist/types/components/textarea/Textarea.d.ts.map +1 -0
- package/dist/dist/types/components/toast/Toast.d.ts +16 -0
- package/dist/dist/types/components/toast/Toast.d.ts.map +1 -0
- package/dist/dist/types/components/tooltip/Tooltip.d.ts +10 -0
- package/dist/dist/types/components/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/dist/types/components/treeview/TreeView.d.ts +16 -0
- package/dist/dist/types/components/treeview/TreeView.d.ts.map +1 -0
- package/dist/dist/types/components/virtuallist/VirtualList.d.ts +23 -0
- package/dist/dist/types/components/virtuallist/VirtualList.d.ts.map +1 -0
- package/dist/dist/types/index.d.ts +50 -0
- package/dist/dist/types/index.d.ts.map +1 -0
- package/dist/dist/types/theme/NUIProvider.d.ts.map +1 -0
- package/dist/dist/types/theme/useTheme.d.ts.map +1 -0
- package/dist/dist/types/utils/generateid/generateId.d.ts +2 -0
- package/dist/dist/types/utils/generateid/generateId.d.ts.map +1 -0
- package/dist/dist/types/utils/index.d.ts +9 -0
- package/dist/dist/types/utils/index.d.ts.map +1 -0
- package/dist/dist/types/utils/inertmanager/inertManager.d.ts +13 -0
- package/dist/dist/types/utils/inertmanager/inertManager.d.ts.map +1 -0
- package/dist/dist/types/utils/keyboardnav/keyboardNav.d.ts +11 -0
- package/dist/dist/types/utils/keyboardnav/keyboardNav.d.ts.map +1 -0
- package/dist/dist/types/utils/onclickoutside/onClickOutside.d.ts +3 -0
- package/dist/dist/types/utils/onclickoutside/onClickOutside.d.ts.map +1 -0
- package/dist/dist/types/utils/portal/portal.d.ts +4 -0
- package/dist/dist/types/utils/portal/portal.d.ts.map +1 -0
- package/dist/dist/types/utils/restorefocus/restoreFocus.d.ts +8 -0
- package/dist/dist/types/utils/restorefocus/restoreFocus.d.ts.map +1 -0
- package/dist/dist/types/utils/scrolllock/scrollLock.d.ts +11 -0
- package/dist/dist/types/utils/scrolllock/scrollLock.d.ts.map +1 -0
- package/dist/dist/types/utils/trapfocus/trapFocus.d.ts +8 -0
- package/dist/dist/types/utils/trapfocus/trapFocus.d.ts.map +1 -0
- package/dist/dist/utils/generateid/generateId.cjs.map +1 -0
- package/dist/dist/utils/generateid/generateId.js.map +1 -0
- package/dist/dist/utils/inertmanager/inertManager.cjs +2 -0
- package/dist/dist/utils/inertmanager/inertManager.cjs.map +1 -0
- package/dist/dist/utils/inertmanager/inertManager.js +18 -0
- package/dist/dist/utils/inertmanager/inertManager.js.map +1 -0
- package/dist/dist/utils/keyboardnav/keyboardNav.cjs.map +1 -0
- package/dist/dist/utils/keyboardnav/keyboardNav.js.map +1 -0
- package/dist/dist/utils/onclickoutside/onClickOutside.cjs +2 -0
- package/dist/dist/utils/onclickoutside/onClickOutside.cjs.map +1 -0
- package/dist/dist/utils/onclickoutside/onClickOutside.js +11 -0
- package/dist/dist/utils/onclickoutside/onClickOutside.js.map +1 -0
- package/dist/dist/utils/portal/portal.cjs +2 -0
- package/dist/dist/utils/portal/portal.cjs.map +1 -0
- package/dist/dist/utils/portal/portal.js +8 -0
- package/dist/dist/utils/portal/portal.js.map +1 -0
- package/dist/dist/utils/restorefocus/restoreFocus.cjs +2 -0
- package/dist/dist/utils/restorefocus/restoreFocus.cjs.map +1 -0
- package/dist/dist/utils/restorefocus/restoreFocus.js +7 -0
- package/dist/dist/utils/restorefocus/restoreFocus.js.map +1 -0
- package/dist/dist/utils/scrolllock/scrollLock.cjs +2 -0
- package/dist/dist/utils/scrolllock/scrollLock.cjs.map +1 -0
- package/dist/dist/utils/scrolllock/scrollLock.js +12 -0
- package/dist/dist/utils/scrolllock/scrollLock.js.map +1 -0
- package/dist/dist/utils/trapfocus/trapFocus.cjs +3 -0
- package/dist/dist/utils/trapfocus/trapFocus.cjs.map +1 -0
- package/dist/dist/utils/trapfocus/trapFocus.js +14 -0
- package/dist/dist/utils/trapfocus/trapFocus.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +118 -107
- package/dist/index.js.map +1 -1
- package/dist/package.json +2 -2
- package/dist/styles/nui.css +1 -1
- package/dist/types/components/accordion/Accordion.d.ts +7 -3
- package/dist/types/components/accordion/Accordion.d.ts.map +1 -1
- package/dist/types/components/alert/Alert.d.ts +18 -5
- package/dist/types/components/alert/Alert.d.ts.map +1 -1
- package/dist/types/components/avatar/Avatar.d.ts +12 -8
- package/dist/types/components/avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/avatar/AvatarGroup.d.ts +11 -4
- package/dist/types/components/avatar/AvatarGroup.d.ts.map +1 -1
- package/dist/types/components/badge/Badge.d.ts +19 -11
- package/dist/types/components/badge/Badge.d.ts.map +1 -1
- package/dist/types/components/badge/BadgeGroup.d.ts +7 -4
- package/dist/types/components/badge/BadgeGroup.d.ts.map +1 -1
- package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +14 -6
- package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/components/button/Button.d.ts +25 -10
- package/dist/types/components/button/Button.d.ts.map +1 -1
- package/dist/types/components/card/Card.d.ts +12 -21
- package/dist/types/components/card/Card.d.ts.map +1 -1
- package/dist/types/components/checkbox/Checkbox.d.ts +12 -7
- package/dist/types/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/components/chip/Chip.d.ts +14 -11
- package/dist/types/components/chip/Chip.d.ts.map +1 -1
- package/dist/types/components/combobox/Combobox.d.ts +15 -4
- package/dist/types/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/types/components/commandpalette/CommandPalette.d.ts +12 -3
- package/dist/types/components/commandpalette/CommandPalette.d.ts.map +1 -1
- package/dist/types/components/contextmenu/ContextMenu.d.ts +14 -6
- package/dist/types/components/contextmenu/ContextMenu.d.ts.map +1 -1
- package/dist/types/components/datagrid/DataGrid.d.ts +16 -4
- package/dist/types/components/datagrid/DataGrid.d.ts.map +1 -1
- package/dist/types/components/datepicker/DatePicker.d.ts +13 -1
- package/dist/types/components/datepicker/DatePicker.d.ts.map +1 -1
- package/dist/types/components/daterangepicker/DateRangePicker.d.ts +3 -1
- package/dist/types/components/daterangepicker/DateRangePicker.d.ts.map +1 -1
- package/dist/types/components/dialog/DialogProvider.d.ts +2 -0
- package/dist/types/components/dialog/DialogProvider.d.ts.map +1 -0
- package/dist/types/components/dialog/dialogStore.d.ts +42 -0
- package/dist/types/components/dialog/dialogStore.d.ts.map +1 -0
- package/dist/types/components/drawer/Drawer.d.ts +18 -4
- package/dist/types/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/types/components/dropdown/Dropdown.d.ts +21 -16
- package/dist/types/components/dropdown/Dropdown.d.ts.map +1 -1
- package/dist/types/components/fileuploader/FileUploader.d.ts +22 -3
- package/dist/types/components/fileuploader/FileUploader.d.ts.map +1 -1
- package/dist/types/components/hovercard/HoverCard.d.ts +45 -5
- package/dist/types/components/hovercard/HoverCard.d.ts.map +1 -1
- package/dist/types/components/input/Input.d.ts +20 -10
- package/dist/types/components/input/Input.d.ts.map +1 -1
- package/dist/types/components/layout/Container.d.ts +8 -4
- package/dist/types/components/layout/Container.d.ts.map +1 -1
- package/dist/types/components/layout/Flex.d.ts +27 -10
- package/dist/types/components/layout/Flex.d.ts.map +1 -1
- package/dist/types/components/layout/Grid.d.ts +11 -5
- package/dist/types/components/layout/Grid.d.ts.map +1 -1
- package/dist/types/components/link/Link.d.ts +22 -0
- package/dist/types/components/link/Link.d.ts.map +1 -0
- package/dist/types/components/megamenu/MegaMenu.d.ts +8 -11
- package/dist/types/components/megamenu/MegaMenu.d.ts.map +1 -1
- package/dist/types/components/modal/Modal.d.ts +8 -7
- package/dist/types/components/modal/Modal.d.ts.map +1 -1
- package/dist/types/components/multiselect/MultiSelect.d.ts +33 -0
- package/dist/types/components/multiselect/MultiSelect.d.ts.map +1 -0
- package/dist/types/components/nuiprovider/NUIProvider.d.ts +29 -0
- package/dist/types/components/nuiprovider/NUIProvider.d.ts.map +1 -0
- package/dist/types/components/pagination/Pagination.d.ts +17 -3
- package/dist/types/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/popover/Popover.d.ts +54 -16
- package/dist/types/components/popover/Popover.d.ts.map +1 -1
- package/dist/types/components/progress/Progress.d.ts +17 -7
- package/dist/types/components/progress/Progress.d.ts.map +1 -1
- package/dist/types/components/radiogroup/RadioGroup.d.ts +15 -10
- package/dist/types/components/radiogroup/RadioGroup.d.ts.map +1 -1
- package/dist/types/components/rating/Rating.d.ts +24 -10
- package/dist/types/components/rating/Rating.d.ts.map +1 -1
- package/dist/types/components/resizable/Resizable.d.ts +24 -0
- package/dist/types/components/resizable/Resizable.d.ts.map +1 -0
- package/dist/types/components/select/Select.d.ts +17 -8
- package/dist/types/components/select/Select.d.ts.map +1 -1
- package/dist/types/components/skeleton/Skeleton.d.ts +37 -36
- package/dist/types/components/skeleton/Skeleton.d.ts.map +1 -1
- package/dist/types/components/slider/Slider.d.ts +15 -4
- package/dist/types/components/slider/Slider.d.ts.map +1 -1
- package/dist/types/components/spinner/Spinner.d.ts +14 -4
- package/dist/types/components/spinner/Spinner.d.ts.map +1 -1
- package/dist/types/components/stepper/Stepper.d.ts +17 -3
- package/dist/types/components/stepper/Stepper.d.ts.map +1 -1
- package/dist/types/components/switch/Switch.d.ts +20 -5
- package/dist/types/components/switch/Switch.d.ts.map +1 -1
- package/dist/types/components/table/Table.d.ts +24 -4
- package/dist/types/components/table/Table.d.ts.map +1 -1
- package/dist/types/components/tabs/Tabs.d.ts +25 -12
- package/dist/types/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/types/components/textarea/Textarea.d.ts +8 -5
- package/dist/types/components/textarea/Textarea.d.ts.map +1 -1
- package/dist/types/components/timepicker/TimePicker.d.ts +26 -0
- package/dist/types/components/timepicker/TimePicker.d.ts.map +1 -0
- package/dist/types/components/timerangepicker/TimeRangePicker.d.ts +32 -0
- package/dist/types/components/timerangepicker/TimeRangePicker.d.ts.map +1 -0
- package/dist/types/components/toast/Toast.d.ts +23 -7
- package/dist/types/components/toast/Toast.d.ts.map +1 -1
- package/dist/types/components/tooltip/Tooltip.d.ts +13 -2
- package/dist/types/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/treeview/TreeView.d.ts +20 -6
- package/dist/types/components/treeview/TreeView.d.ts.map +1 -1
- package/dist/types/components/virtuallist/VirtualList.d.ts +12 -16
- package/dist/types/components/virtuallist/VirtualList.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/cn/cn.d.ts +19 -0
- package/dist/types/utils/cn/cn.d.ts.map +1 -0
- package/dist/types/utils/generateid/generateId.d.ts +7 -0
- package/dist/types/utils/generateid/generateId.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/inertmanager/inertManager.d.ts +13 -0
- package/dist/types/utils/inertmanager/inertManager.d.ts.map +1 -1
- package/dist/types/utils/keyboardnav/keyboardNav.d.ts +17 -6
- package/dist/types/utils/keyboardnav/keyboardNav.d.ts.map +1 -1
- package/dist/types/utils/onclickoutside/onClickOutside.d.ts +9 -1
- package/dist/types/utils/onclickoutside/onClickOutside.d.ts.map +1 -1
- package/dist/types/utils/portal/portal.d.ts +14 -1
- package/dist/types/utils/portal/portal.d.ts.map +1 -1
- package/dist/types/utils/restorefocus/restoreFocus.d.ts +8 -4
- package/dist/types/utils/restorefocus/restoreFocus.d.ts.map +1 -1
- package/dist/types/utils/scrolllock/scrollLock.d.ts +10 -2
- package/dist/types/utils/scrolllock/scrollLock.d.ts.map +1 -1
- package/dist/types/utils/slot/slot.d.ts +12 -0
- package/dist/types/utils/slot/slot.d.ts.map +1 -0
- package/dist/types/utils/trapfocus/trapFocus.d.ts +6 -2
- package/dist/types/utils/trapfocus/trapFocus.d.ts.map +1 -1
- package/dist/utils/cn/cn.cjs +2 -0
- package/dist/utils/cn/cn.cjs.map +1 -0
- package/dist/utils/cn/cn.js +21 -0
- package/dist/utils/cn/cn.js.map +1 -0
- package/dist/utils/inertmanager/inertManager.cjs.map +1 -1
- package/dist/utils/inertmanager/inertManager.js.map +1 -1
- package/dist/utils/onclickoutside/onClickOutside.cjs +1 -1
- package/dist/utils/onclickoutside/onClickOutside.cjs.map +1 -1
- package/dist/utils/onclickoutside/onClickOutside.js +10 -6
- package/dist/utils/onclickoutside/onClickOutside.js.map +1 -1
- package/dist/utils/portal/portal.cjs.map +1 -1
- package/dist/utils/portal/portal.js.map +1 -1
- package/dist/utils/restorefocus/restoreFocus.cjs.map +1 -1
- package/dist/utils/restorefocus/restoreFocus.js.map +1 -1
- package/dist/utils/scrolllock/scrollLock.cjs.map +1 -1
- package/dist/utils/scrolllock/scrollLock.js +7 -0
- package/dist/utils/scrolllock/scrollLock.js.map +1 -1
- package/dist/utils/slot/slot.cjs +2 -0
- package/dist/utils/slot/slot.cjs.map +1 -0
- package/dist/utils/slot/slot.js +57 -0
- package/dist/utils/slot/slot.js.map +1 -0
- package/dist/utils/trapfocus/trapFocus.cjs.map +1 -1
- package/dist/utils/trapfocus/trapFocus.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/layout/HStack.cjs.map +0 -1
- package/dist/components/layout/HStack.js.map +0 -1
- package/dist/components/layout/Stack.cjs.map +0 -1
- package/dist/components/layout/Stack.js.map +0 -1
- package/dist/theme/NUIProvider.cjs.map +0 -1
- package/dist/theme/NUIProvider.js.map +0 -1
- package/dist/theme/useTheme.cjs.map +0 -1
- package/dist/theme/useTheme.js.map +0 -1
- package/dist/types/components/layout/HStack.d.ts.map +0 -1
- package/dist/types/components/layout/Stack.d.ts.map +0 -1
- package/dist/types/theme/NUIProvider.d.ts.map +0 -1
- package/dist/types/theme/useTheme.d.ts.map +0 -1
- package/dist/utils/generateid/generateId.cjs.map +0 -1
- package/dist/utils/generateid/generateId.js.map +0 -1
- package/dist/utils/keyboardnav/keyboardNav.cjs.map +0 -1
- package/dist/utils/keyboardnav/keyboardNav.js.map +0 -1
- /package/dist/{components → dist/components}/layout/HStack.cjs +0 -0
- /package/dist/{components → dist/components}/layout/HStack.js +0 -0
- /package/dist/{components → dist/components}/layout/Stack.cjs +0 -0
- /package/dist/{components → dist/components}/layout/Stack.js +0 -0
- /package/dist/{theme → dist/theme}/NUIProvider.cjs +0 -0
- /package/dist/{theme → dist/theme}/NUIProvider.js +0 -0
- /package/dist/{theme → dist/theme}/useTheme.cjs +0 -0
- /package/dist/{theme → dist/theme}/useTheme.js +0 -0
- /package/dist/{types → dist/types}/components/layout/HStack.d.ts +0 -0
- /package/dist/{types → dist/types}/components/layout/Stack.d.ts +0 -0
- /package/dist/{types → dist/types}/theme/NUIProvider.d.ts +0 -0
- /package/dist/{types → dist/types}/theme/useTheme.d.ts +0 -0
- /package/dist/{utils → dist/utils}/generateid/generateId.cjs +0 -0
- /package/dist/{utils → dist/utils}/generateid/generateId.js +0 -0
- /package/dist/{utils → dist/utils}/keyboardnav/keyboardNav.cjs +0 -0
- /package/dist/{utils → dist/utils}/keyboardnav/keyboardNav.js +0 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { jsxs as f, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useState as D, useRef as S, useEffect as A, useMemo as v } from "react";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { onClickOutside as ue } from "../../utils/onclickoutside/onClickOutside.js";
|
|
5
|
+
import { restoreFocus as de } from "../../utils/restorefocus/restoreFocus.js";
|
|
6
|
+
import { Portal as me } from "../../utils/portal/portal.js";
|
|
7
|
+
const V = (n) => n < 10 ? `0${n}` : `${n}`, q = (n) => `${n.getFullYear()}-${V(n.getMonth() + 1)}-${V(n.getDate())}`;
|
|
8
|
+
function I(n) {
|
|
9
|
+
if (!n) return null;
|
|
10
|
+
const [h, Y, $] = n.split("-").map(Number), w = new Date(h, Y - 1, $);
|
|
11
|
+
return Number.isNaN(w.getTime()) ? null : w;
|
|
12
|
+
}
|
|
13
|
+
const z = (n) => new Date(n.getFullYear(), n.getMonth(), 1), M = (n, h) => new Date(n.getFullYear(), n.getMonth() + h, 1), G = (n) => new Date(n.getFullYear(), n.getMonth() + 1, 0).getDate();
|
|
14
|
+
function be({
|
|
15
|
+
value: n,
|
|
16
|
+
defaultValue: h,
|
|
17
|
+
onChange: Y,
|
|
18
|
+
minDate: $,
|
|
19
|
+
maxDate: w,
|
|
20
|
+
placeholder: H = "Select date",
|
|
21
|
+
name: P,
|
|
22
|
+
locale: p = "en-US",
|
|
23
|
+
id: J,
|
|
24
|
+
className: Q = ""
|
|
25
|
+
}) {
|
|
26
|
+
const R = n !== void 0, [W, X] = D(h), b = R ? n : W, Z = I(b) ?? /* @__PURE__ */ new Date(), [a, d] = D(z(Z)), [i, g] = D(!1), [F, u] = D(!1), y = S(null), L = S(null), O = S({}), N = I($) ?? void 0, k = I(w) ?? void 0, E = (e) => !!(N && e < N || k && e > k);
|
|
27
|
+
A(() => {
|
|
28
|
+
if (i)
|
|
29
|
+
return ue(L, () => {
|
|
30
|
+
g(!1), u(!1);
|
|
31
|
+
});
|
|
32
|
+
}, [i]), A(() => {
|
|
33
|
+
if (!i) return;
|
|
34
|
+
const e = y.current;
|
|
35
|
+
return () => {
|
|
36
|
+
de(e ?? null), u(!1);
|
|
37
|
+
};
|
|
38
|
+
}, [i]);
|
|
39
|
+
const [x, ee] = D(null);
|
|
40
|
+
A(() => {
|
|
41
|
+
if (!i || !y.current) return;
|
|
42
|
+
const e = y.current.getBoundingClientRect();
|
|
43
|
+
ee({ top: e.bottom + 8, left: e.left });
|
|
44
|
+
}, [i, a]);
|
|
45
|
+
const m = v(() => {
|
|
46
|
+
const t = z(a).getDay(), r = G(a), l = [];
|
|
47
|
+
for (let s = 0; s < t; s++) l.push(null);
|
|
48
|
+
for (let s = 1; s <= r; s++) l.push(s);
|
|
49
|
+
for (; l.length % 7 !== 0; ) l.push(null);
|
|
50
|
+
return l;
|
|
51
|
+
}, [a]), te = v(
|
|
52
|
+
() => Array.from({ length: 7 }).map(
|
|
53
|
+
(e, t) => new Date(2020, 5, 7 + t).toLocaleDateString(p, {
|
|
54
|
+
weekday: "short"
|
|
55
|
+
})
|
|
56
|
+
),
|
|
57
|
+
[p]
|
|
58
|
+
), ne = a.getFullYear(), _ = 100, U = ne - _, re = v(
|
|
59
|
+
() => Array.from({ length: _ * 2 + 1 }).map((e, t) => U + t),
|
|
60
|
+
[U]
|
|
61
|
+
), ae = v(
|
|
62
|
+
() => Array.from({ length: 12 }).map(
|
|
63
|
+
(e, t) => new Date(2020, t, 1).toLocaleDateString(p, { month: "short" })
|
|
64
|
+
),
|
|
65
|
+
[p]
|
|
66
|
+
), se = (e, t) => {
|
|
67
|
+
const r = new Date(e, t, 1), l = new Date(e, t, G(r));
|
|
68
|
+
return !!(N && l < N || k && r > k);
|
|
69
|
+
}, j = (e) => {
|
|
70
|
+
const t = new Date(a.getFullYear(), a.getMonth(), e);
|
|
71
|
+
if (E(t)) return;
|
|
72
|
+
const r = q(t);
|
|
73
|
+
R || X(r), Y?.(r), g(!1), u(!1);
|
|
74
|
+
}, oe = (e) => {
|
|
75
|
+
d(new Date(a.getFullYear(), e, 1)), u(!1);
|
|
76
|
+
}, le = (e) => {
|
|
77
|
+
d(new Date(e, a.getMonth(), 1));
|
|
78
|
+
}, ie = (e) => {
|
|
79
|
+
if (e < 0 || e >= m.length) return;
|
|
80
|
+
const t = m[e];
|
|
81
|
+
if (!t) return;
|
|
82
|
+
const r = `${a.getFullYear()}-${a.getMonth()}-${t}`;
|
|
83
|
+
O.current[r]?.focus();
|
|
84
|
+
}, ce = (e, t) => {
|
|
85
|
+
const r = m.findIndex((c) => c === t);
|
|
86
|
+
if (r === -1) return;
|
|
87
|
+
const l = 7;
|
|
88
|
+
let s = null;
|
|
89
|
+
switch (e.key) {
|
|
90
|
+
case "ArrowRight":
|
|
91
|
+
s = r + 1;
|
|
92
|
+
break;
|
|
93
|
+
case "ArrowLeft":
|
|
94
|
+
s = r - 1;
|
|
95
|
+
break;
|
|
96
|
+
case "ArrowDown":
|
|
97
|
+
s = r + l;
|
|
98
|
+
break;
|
|
99
|
+
case "ArrowUp":
|
|
100
|
+
s = r - l;
|
|
101
|
+
break;
|
|
102
|
+
case "Enter":
|
|
103
|
+
case " ":
|
|
104
|
+
e.preventDefault(), j(t);
|
|
105
|
+
return;
|
|
106
|
+
case "PageUp":
|
|
107
|
+
d((c) => M(c, -1));
|
|
108
|
+
return;
|
|
109
|
+
case "PageDown":
|
|
110
|
+
d((c) => M(c, 1));
|
|
111
|
+
return;
|
|
112
|
+
case "Escape":
|
|
113
|
+
g(!1);
|
|
114
|
+
return;
|
|
115
|
+
default:
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
e.preventDefault(), s !== null && (s < 0 || s >= m.length || m[s] != null && ie(s));
|
|
119
|
+
}, B = a.toLocaleDateString(p, {
|
|
120
|
+
month: "long"
|
|
121
|
+
}), K = a.getFullYear();
|
|
122
|
+
return /* @__PURE__ */ f("div", { className: `ui-datepicker minimal ${Q}`, children: [
|
|
123
|
+
P && /* @__PURE__ */ o("input", { type: "hidden", name: P, value: b ?? "" }),
|
|
124
|
+
/* @__PURE__ */ o(
|
|
125
|
+
"button",
|
|
126
|
+
{
|
|
127
|
+
id: J,
|
|
128
|
+
ref: y,
|
|
129
|
+
type: "button",
|
|
130
|
+
className: "ui-datepicker-input",
|
|
131
|
+
"aria-haspopup": "dialog",
|
|
132
|
+
"aria-expanded": i,
|
|
133
|
+
onClick: () => {
|
|
134
|
+
g((e) => !e), u(!1);
|
|
135
|
+
},
|
|
136
|
+
children: b ?? H
|
|
137
|
+
}
|
|
138
|
+
),
|
|
139
|
+
i && x && /* @__PURE__ */ o(me, { children: /* @__PURE__ */ o(
|
|
140
|
+
"div",
|
|
141
|
+
{
|
|
142
|
+
ref: L,
|
|
143
|
+
className: "ui-datepicker-popover",
|
|
144
|
+
style: {
|
|
145
|
+
position: "fixed",
|
|
146
|
+
top: x.top,
|
|
147
|
+
left: x.left
|
|
148
|
+
},
|
|
149
|
+
children: /* @__PURE__ */ f("div", { className: "ui-datepicker-panel minimal", children: [
|
|
150
|
+
/* @__PURE__ */ f("div", { className: "ui-header-row", children: [
|
|
151
|
+
/* @__PURE__ */ o(
|
|
152
|
+
"button",
|
|
153
|
+
{
|
|
154
|
+
className: "ui-arrow",
|
|
155
|
+
"aria-label": "Previous month",
|
|
156
|
+
onClick: () => d((e) => M(e, -1)),
|
|
157
|
+
children: "‹"
|
|
158
|
+
}
|
|
159
|
+
),
|
|
160
|
+
/* @__PURE__ */ f(
|
|
161
|
+
"button",
|
|
162
|
+
{
|
|
163
|
+
className: "ui-header-center",
|
|
164
|
+
onClick: () => u((e) => !e),
|
|
165
|
+
"aria-expanded": F,
|
|
166
|
+
children: [
|
|
167
|
+
B,
|
|
168
|
+
" ",
|
|
169
|
+
K
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
),
|
|
173
|
+
/* @__PURE__ */ o(
|
|
174
|
+
"button",
|
|
175
|
+
{
|
|
176
|
+
className: "ui-arrow",
|
|
177
|
+
"aria-label": "Next month",
|
|
178
|
+
onClick: () => d((e) => M(e, 1)),
|
|
179
|
+
children: "›"
|
|
180
|
+
}
|
|
181
|
+
)
|
|
182
|
+
] }),
|
|
183
|
+
F && /* @__PURE__ */ f("div", { className: "ui-ym-panel", children: [
|
|
184
|
+
/* @__PURE__ */ o("div", { className: "ui-year-grid", children: re.map((e) => {
|
|
185
|
+
const t = e === a.getFullYear();
|
|
186
|
+
return /* @__PURE__ */ o(
|
|
187
|
+
"button",
|
|
188
|
+
{
|
|
189
|
+
className: `ui-year-item ${t ? "selected" : ""}`,
|
|
190
|
+
onClick: () => le(e),
|
|
191
|
+
children: e
|
|
192
|
+
},
|
|
193
|
+
e
|
|
194
|
+
);
|
|
195
|
+
}) }),
|
|
196
|
+
/* @__PURE__ */ o("div", { className: "ui-month-grid", children: ae.map((e, t) => {
|
|
197
|
+
const r = se(
|
|
198
|
+
a.getFullYear(),
|
|
199
|
+
t
|
|
200
|
+
), l = t === a.getMonth();
|
|
201
|
+
return /* @__PURE__ */ o(
|
|
202
|
+
"button",
|
|
203
|
+
{
|
|
204
|
+
className: `ui-month-item ${r ? "disabled" : ""} ${l ? "selected" : ""}`,
|
|
205
|
+
disabled: r ? !0 : void 0,
|
|
206
|
+
onClick: () => !r && oe(t),
|
|
207
|
+
children: e
|
|
208
|
+
},
|
|
209
|
+
t
|
|
210
|
+
);
|
|
211
|
+
}) })
|
|
212
|
+
] }),
|
|
213
|
+
!F && /* @__PURE__ */ f(
|
|
214
|
+
"div",
|
|
215
|
+
{
|
|
216
|
+
className: "ui-calendar minimal",
|
|
217
|
+
role: "grid",
|
|
218
|
+
"aria-label": `${B} ${K}`,
|
|
219
|
+
children: [
|
|
220
|
+
/* @__PURE__ */ o("div", { className: "ui-weekdays", children: te.map((e, t) => /* @__PURE__ */ o("div", { className: "ui-weekday", children: e }, t)) }),
|
|
221
|
+
/* @__PURE__ */ o("div", { className: "ui-days-grid", children: m.map((e, t) => {
|
|
222
|
+
if (e === null)
|
|
223
|
+
return /* @__PURE__ */ o("div", { className: "ui-day-empty" }, t);
|
|
224
|
+
const r = new Date(
|
|
225
|
+
a.getFullYear(),
|
|
226
|
+
a.getMonth(),
|
|
227
|
+
e
|
|
228
|
+
), l = q(r), s = E(r), c = b === l, T = `${a.getFullYear()}-${a.getMonth()}-${e}`;
|
|
229
|
+
return /* @__PURE__ */ o(
|
|
230
|
+
"button",
|
|
231
|
+
{
|
|
232
|
+
ref: (C) => {
|
|
233
|
+
O.current[T] = C;
|
|
234
|
+
},
|
|
235
|
+
className: `ui-day ${c ? "selected" : ""}`,
|
|
236
|
+
"aria-selected": c || void 0,
|
|
237
|
+
onClick: () => !s && j(e),
|
|
238
|
+
onKeyDown: (C) => ce(C, e),
|
|
239
|
+
disabled: s ? !0 : void 0,
|
|
240
|
+
children: e
|
|
241
|
+
},
|
|
242
|
+
T
|
|
243
|
+
);
|
|
244
|
+
}) })
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
),
|
|
248
|
+
/* @__PURE__ */ o("div", { className: "ui-footer", children: /* @__PURE__ */ o(
|
|
249
|
+
"button",
|
|
250
|
+
{
|
|
251
|
+
onClick: () => {
|
|
252
|
+
g(!1), u(!1);
|
|
253
|
+
},
|
|
254
|
+
children: "Close"
|
|
255
|
+
}
|
|
256
|
+
) })
|
|
257
|
+
] })
|
|
258
|
+
}
|
|
259
|
+
) })
|
|
260
|
+
] });
|
|
261
|
+
}
|
|
262
|
+
export {
|
|
263
|
+
be as DatePicker
|
|
264
|
+
};
|
|
265
|
+
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":["../../../../src/components/datepicker/DatePicker.tsx"],"sourcesContent":["// DatePicker.tsx\r\n// Final Version — Minimal, Elegant, Inline Year + Month Selector\r\n// Calendar hides during year/month selection. No dependencies. Zero warnings.\r\n\r\nimport { useState, useRef, useEffect, KeyboardEvent, useMemo } from 'react';\r\nimport './DatePicker.css';\r\nimport { Portal, onClickOutside, restoreFocus } from '../../utils/index';\r\n\r\n/* ------------------------------------------\r\n Helpers\r\n------------------------------------------- */\r\n\r\nconst pad = (n: number) => (n < 10 ? `0${n}` : `${n}`);\r\nconst toISO = (d: Date) =>\r\n `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\r\n\r\nfunction fromISO(s?: string | null): Date | null {\r\n if (!s) return null;\r\n const [y, m, d] = s.split('-').map(Number);\r\n const dt = new Date(y, m - 1, d);\r\n return Number.isNaN(dt.getTime()) ? null : dt;\r\n}\r\n\r\nconst startOfMonth = (d: Date) => new Date(d.getFullYear(), d.getMonth(), 1);\r\nconst addMonths = (d: Date, n: number) =>\r\n new Date(d.getFullYear(), d.getMonth() + n, 1);\r\nconst daysInMonth = (d: Date) =>\r\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate();\r\n\r\n/* ------------------------------------------\r\n Component Props\r\n------------------------------------------- */\r\n\r\nexport interface DatePickerProps {\r\n value?: string; // YYYY-MM-DD\r\n defaultValue?: string;\r\n onChange?: (v: string) => void;\r\n minDate?: string;\r\n maxDate?: string;\r\n placeholder?: string;\r\n name?: string;\r\n locale?: string;\r\n id?: string;\r\n className?: string;\r\n}\r\n\r\n/* ------------------------------------------\r\n Component\r\n------------------------------------------- */\r\n\r\nexport function DatePicker({\r\n value,\r\n defaultValue,\r\n onChange,\r\n minDate,\r\n maxDate,\r\n placeholder = 'Select date',\r\n name,\r\n locale = 'en-US',\r\n id,\r\n className = '',\r\n}: DatePickerProps) {\r\n const controlled = value !== undefined;\r\n const [internal, setInternal] = useState<string | undefined>(defaultValue);\r\n const selected = controlled ? value : internal;\r\n const selectedDate = fromISO(selected) ?? new Date();\r\n\r\n const [visible, setVisible] = useState<Date>(startOfMonth(selectedDate));\r\n const [open, setOpen] = useState(false);\r\n const [showYMM, setShowYMM] = useState(false);\r\n\r\n const triggerRef = useRef<HTMLButtonElement | null>(null);\r\n const popRef = useRef<HTMLDivElement | null>(null);\r\n const gridDayRefs = useRef<Record<string, HTMLButtonElement | null>>({});\r\n\r\n /* ------------------------------------------\r\n Min/Max handling\r\n ------------------------------------------- */\r\n\r\n const minDt = fromISO(minDate) ?? undefined;\r\n const maxDt = fromISO(maxDate) ?? undefined;\r\n\r\n const isDisabledDate = (d: Date): boolean => {\r\n if (minDt && d < minDt) return true;\r\n if (maxDt && d > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ------------------------------------------\r\n Click outside\r\n ------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n return onClickOutside(popRef, () => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n });\r\n }, [open]);\r\n\r\n /* ------------------------------------------\r\n Restore focus when closing\r\n ------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n const t = triggerRef.current;\r\n return () => {\r\n restoreFocus(t ?? null);\r\n setShowYMM(false);\r\n };\r\n }, [open]);\r\n\r\n /* ------------------------------------------\r\n Positioning\r\n ------------------------------------------- */\r\n\r\n const [pos, setPos] = useState<{ top: number; left: number } | null>(null);\r\n\r\n useEffect(() => {\r\n if (!open || !triggerRef.current) return;\r\n const r = triggerRef.current.getBoundingClientRect();\r\n setPos({ top: r.bottom + 8, left: r.left });\r\n }, [open, visible]);\r\n\r\n /* ------------------------------------------\r\n Calendar Grid\r\n ------------------------------------------- */\r\n const grid = useMemo(() => {\r\n const first = startOfMonth(visible);\r\n const startDow = first.getDay();\r\n const totalDays = daysInMonth(visible);\r\n\r\n const cells: (number | null)[] = [];\r\n\r\n for (let i = 0; i < startDow; i++) cells.push(null);\r\n for (let d = 1; d <= totalDays; d++) cells.push(d);\r\n while (cells.length % 7 !== 0) cells.push(null);\r\n\r\n return cells;\r\n }, [visible]);\r\n\r\n const weekdays = useMemo(\r\n () =>\r\n Array.from({ length: 7 }).map((_, i) =>\r\n new Date(2020, 5, 7 + i).toLocaleDateString(locale, {\r\n weekday: 'short',\r\n })\r\n ),\r\n [locale]\r\n );\r\n\r\n /* ------------------------------------------\r\n Year & Month Overlay Grids\r\n ------------------------------------------- */\r\n\r\n const visibleYear = visible.getFullYear();\r\n const YEAR_SPAN = 100;\r\n const yearStart = visibleYear - YEAR_SPAN;\r\n\r\n const years = useMemo(\r\n () =>\r\n Array.from({ length: YEAR_SPAN * 2 + 1 }).map((_, i) => yearStart + i),\r\n [yearStart]\r\n );\r\n\r\n const months = useMemo(\r\n () =>\r\n Array.from({ length: 12 }).map((_, i) =>\r\n new Date(2020, i, 1).toLocaleDateString(locale, { month: 'short' })\r\n ),\r\n [locale]\r\n );\r\n\r\n const isMonthDisabled = (year: number, month: number): boolean => {\r\n const start = new Date(year, month, 1);\r\n const end = new Date(year, month, daysInMonth(start));\r\n if (minDt && end < minDt) return true;\r\n if (maxDt && start > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ------------------------------------------\r\n Commit selections\r\n ------------------------------------------- */\r\n\r\n const commitDay = (d: number) => {\r\n const dt = new Date(visible.getFullYear(), visible.getMonth(), d);\r\n if (isDisabledDate(dt)) return;\r\n\r\n const iso = toISO(dt);\r\n if (!controlled) setInternal(iso);\r\n onChange?.(iso);\r\n\r\n setOpen(false);\r\n setShowYMM(false);\r\n };\r\n\r\n const commitMonth = (month: number) => {\r\n setVisible(new Date(visible.getFullYear(), month, 1));\r\n setShowYMM(false); // close overlay\r\n };\r\n\r\n const commitYear = (year: number) => {\r\n setVisible(new Date(year, visible.getMonth(), 1));\r\n // leave overlay open for month selection\r\n };\r\n\r\n /* ------------------------------------------\r\n Keyboard navigation for days\r\n ------------------------------------------- */\r\n\r\n const focusDayByIndex = (idx: number) => {\r\n if (idx < 0 || idx >= grid.length) return;\r\n const day = grid[idx];\r\n if (!day) return;\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${day}`;\r\n gridDayRefs.current[key]?.focus();\r\n };\r\n\r\n const onDayKey = (e: KeyboardEvent<HTMLButtonElement>, day: number) => {\r\n const idx = grid.findIndex((c) => c === day);\r\n if (idx === -1) return;\r\n\r\n const cols = 7;\r\n let nextIdx: number | null = null;\r\n\r\n switch (e.key) {\r\n case 'ArrowRight':\r\n nextIdx = idx + 1;\r\n break;\r\n case 'ArrowLeft':\r\n nextIdx = idx - 1;\r\n break;\r\n case 'ArrowDown':\r\n nextIdx = idx + cols;\r\n break;\r\n case 'ArrowUp':\r\n nextIdx = idx - cols;\r\n break;\r\n case 'Enter':\r\n case ' ':\r\n e.preventDefault();\r\n commitDay(day);\r\n return;\r\n case 'PageUp':\r\n setVisible((v) => addMonths(v, -1));\r\n return;\r\n case 'PageDown':\r\n setVisible((v) => addMonths(v, 1));\r\n return;\r\n case 'Escape':\r\n setOpen(false);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n if (nextIdx === null) return;\r\n if (nextIdx < 0 || nextIdx >= grid.length) return;\r\n\r\n if (grid[nextIdx] != null) focusDayByIndex(nextIdx);\r\n };\r\n\r\n /* ------------------------------------------\r\n Labels\r\n ------------------------------------------- */\r\n\r\n const headerMonthLabel = visible.toLocaleDateString(locale, {\r\n month: 'long',\r\n });\r\n const headerYearLabel = visible.getFullYear();\r\n\r\n /* ------------------------------------------\r\n Render\r\n ------------------------------------------- */\r\n\r\n return (\r\n <div className={`ui-datepicker minimal ${className}`}>\r\n {name && <input type=\"hidden\" name={name} value={selected ?? ''} />}\r\n\r\n <button\r\n id={id}\r\n ref={triggerRef}\r\n type=\"button\"\r\n className=\"ui-datepicker-input\"\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n onClick={() => {\r\n setOpen((s) => !s);\r\n setShowYMM(false);\r\n }}\r\n >\r\n {selected ?? placeholder}\r\n </button>\r\n\r\n {open && pos && (\r\n <Portal>\r\n <div\r\n ref={popRef}\r\n className=\"ui-datepicker-popover\"\r\n style={{\r\n position: 'fixed',\r\n top: pos.top,\r\n left: pos.left,\r\n }}\r\n >\r\n <div className=\"ui-datepicker-panel minimal\">\r\n {/* Header */}\r\n <div className=\"ui-header-row\">\r\n <button\r\n className=\"ui-arrow\"\r\n aria-label=\"Previous month\"\r\n onClick={() => setVisible((v) => addMonths(v, -1))}\r\n >\r\n ‹\r\n </button>\r\n\r\n <button\r\n className=\"ui-header-center\"\r\n onClick={() => setShowYMM((s) => !s)}\r\n aria-expanded={showYMM}\r\n >\r\n {headerMonthLabel} {headerYearLabel}\r\n </button>\r\n\r\n <button\r\n className=\"ui-arrow\"\r\n aria-label=\"Next month\"\r\n onClick={() => setVisible((v) => addMonths(v, 1))}\r\n >\r\n ›\r\n </button>\r\n </div>\r\n\r\n {/* Year + Month Selector */}\r\n {showYMM && (\r\n <div className=\"ui-ym-panel\">\r\n <div className=\"ui-year-grid\">\r\n {years.map((y) => {\r\n const sel = y === visible.getFullYear();\r\n return (\r\n <button\r\n key={y}\r\n className={`ui-year-item ${sel ? 'selected' : ''}`}\r\n onClick={() => commitYear(y)}\r\n >\r\n {y}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n\r\n <div className=\"ui-month-grid\">\r\n {months.map((label, i) => {\r\n const disabled = isMonthDisabled(\r\n visible.getFullYear(),\r\n i\r\n );\r\n const sel = i === visible.getMonth();\r\n\r\n return (\r\n <button\r\n key={i}\r\n className={`ui-month-item ${\r\n disabled ? 'disabled' : ''\r\n } ${sel ? 'selected' : ''}`}\r\n disabled={disabled ? true : undefined}\r\n onClick={() => !disabled && commitMonth(i)}\r\n >\r\n {label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Calendar ONLY when overlay hidden */}\r\n {!showYMM && (\r\n <div\r\n className=\"ui-calendar minimal\"\r\n role=\"grid\"\r\n aria-label={`${headerMonthLabel} ${headerYearLabel}`}\r\n >\r\n <div className=\"ui-weekdays\">\r\n {weekdays.map((w, i) => (\r\n <div key={i} className=\"ui-weekday\">\r\n {w}\r\n </div>\r\n ))}\r\n </div>\r\n\r\n <div className=\"ui-days-grid\">\r\n {grid.map((cell, idx) => {\r\n if (cell === null)\r\n return <div key={idx} className=\"ui-day-empty\" />;\r\n\r\n const dt = new Date(\r\n visible.getFullYear(),\r\n visible.getMonth(),\r\n cell\r\n );\r\n const iso = toISO(dt);\r\n const disabled = isDisabledDate(dt);\r\n const sel = selected === iso;\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${cell}`;\r\n\r\n return (\r\n <button\r\n key={key}\r\n ref={(el) => {\r\n gridDayRefs.current[key] = el;\r\n }}\r\n className={`ui-day ${sel ? 'selected' : ''}`}\r\n aria-selected={sel || undefined}\r\n onClick={() => !disabled && commitDay(cell)}\r\n onKeyDown={(e) => onDayKey(e, cell)}\r\n disabled={disabled ? true : undefined}\r\n >\r\n {cell}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"ui-footer\">\r\n <button\r\n onClick={() => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n }}\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </Portal>\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"names":["pad","toISO","d","fromISO","s","y","m","dt","startOfMonth","addMonths","n","daysInMonth","DatePicker","value","defaultValue","onChange","minDate","maxDate","placeholder","name","locale","id","className","controlled","internal","setInternal","useState","selected","selectedDate","visible","setVisible","open","setOpen","showYMM","setShowYMM","triggerRef","useRef","popRef","gridDayRefs","minDt","maxDt","isDisabledDate","useEffect","onClickOutside","t","restoreFocus","pos","setPos","r","grid","useMemo","startDow","totalDays","cells","i","weekdays","_","visibleYear","YEAR_SPAN","yearStart","years","months","isMonthDisabled","year","month","start","end","commitDay","iso","commitMonth","commitYear","focusDayByIndex","idx","day","key","onDayKey","cols","nextIdx","v","headerMonthLabel","headerYearLabel","jsxs","jsx","Portal","sel","label","disabled","w","cell","el","e"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("react");;/* empty css */const je=require("../../utils/onclickoutside/onClickOutside.cjs"),ke=require("../../utils/restorefocus/restoreFocus.cjs"),Ne=require("../../utils/portal/portal.cjs"),Z=o=>o<10?`0${o}`:`${o}`,D=o=>`${o.getFullYear()}-${Z(o.getMonth()+1)}-${Z(o.getDate())}`;function C(o){if(!o)return null;const[v,w,P]=o.split("-").map(Number),N=new Date(v,w-1,P);return Number.isNaN(N.getTime())?null:N}const ee=o=>o||null,F=o=>new Date(o.getFullYear(),o.getMonth(),1),E=(o,v)=>new Date(o.getFullYear(),o.getMonth()+v,1),te=o=>new Date(o.getFullYear(),o.getMonth()+1,0).getDate();function Me({value:o,defaultValue:v,onChange:w,minDate:P,maxDate:N,placeholder:ne="Pick range",locale:x="en-US",id:re,className:se="",nameFrom:q,nameTo:L}){const M=o!==void 0,[oe,_]=a.useState(v),c=M?o||{}:oe||{},g=C(c.from),p=C(c.to),ae=F(g??p??new Date),[i,h]=a.useState(ae),[u,d]=a.useState(!1),[U,f]=a.useState(!1),[T,K]=a.useState("from"),S=a.useRef(null),V=a.useRef(null),z=a.useRef({}),$=C(P),R=C(N),B=e=>!!($&&e<$||R&&e>R),[b,G]=a.useState(null),[y,A]=a.useState(null),[Y,H]=a.useState(!1),ie=e=>{if(!Y||!b||!y)return!1;const t=e.getTime(),n=b.getTime(),r=y.getTime();return t>=Math.min(n,r)&&t<=Math.max(n,r)};a.useEffect(()=>{if(u)return je.onClickOutside(V,()=>{d(!1),f(!1)})},[u]),a.useEffect(()=>{if(!u)return;const e=S.current;return()=>ke.restoreFocus(e)},[u]);const[I,le]=a.useState(null);a.useEffect(()=>{if(!u||!S.current)return;const e=S.current.getBoundingClientRect();le({top:e.bottom+8,left:e.left})},[u,i]);const j=a.useMemo(()=>{const t=F(i).getDay(),n=te(i),r=[];for(let l=0;l<t;l++)r.push(null);for(let l=1;l<=n;l++)r.push(l);for(;r.length%7!==0;)r.push(null);return r},[i]),ce=a.useMemo(()=>Array.from({length:7}).map((e,t)=>new Date(2020,5,7+t).toLocaleDateString(x,{weekday:"short"})),[x]),ue=i.getFullYear(),J=100,Q=ue-J,de=a.useMemo(()=>Array.from({length:J*2+1}).map((e,t)=>Q+t),[Q]),fe=a.useMemo(()=>Array.from({length:12}).map((e,t)=>new Date(2020,t,1).toLocaleDateString(x,{month:"short"})),[x]),me=(e,t)=>{const n=new Date(e,t,1),r=new Date(e,t,te(n));return!!($&&r<$||R&&n>R)},ge=(e,t)=>{if(!e&&!t)return{from:void 0,to:void 0};if(!e)return{from:void 0,to:t?D(t):void 0};if(!t)return{from:D(e),to:void 0};const n=e.getTime(),r=t.getTime();return n<=r?{from:D(e),to:D(t)}:{from:D(t),to:D(e)}},O=a.useCallback((e,t)=>{const n=ge(e,t);M||_(n),w?.(n)},[w,M]),W=e=>{const t=new Date(i.getFullYear(),i.getMonth(),e);if(B(t))return;let n=g,r=p;T==="from"?(n=t,r&&t>r&&(r=null)):(r=t,n&&t<n&&(n=t,r=null)),O(ee(n),ee(r)),n&&r&&(d(!1),f(!1))};a.useEffect(()=>{const e=()=>{if(Y){if(H(!1),b&&y){const t=b,n=y,r=t<=n?t:n,l=t<=n?n:t;O(r,l),d(!1),f(!1)}G(null),A(null)}};return window.addEventListener("mouseup",e),()=>window.removeEventListener("mouseup",e)},[Y,b,y,O]);const pe=e=>!g||!p?!1:e>g&&e<p,he=e=>g&&e.getTime()===g.getTime(),De=e=>p&&e.getTime()===p.getTime(),ve=e=>{if(e<0||e>=j.length)return;const t=j[e];if(!t)return;const n=`${i.getFullYear()}-${i.getMonth()}-${t}`;z.current[n]?.focus()},we=(e,t)=>{const n=j.findIndex(m=>m===t);if(n===-1)return;const r=7;let l=null;switch(e.key){case"ArrowRight":l=n+1;break;case"ArrowLeft":l=n-1;break;case"ArrowDown":l=n+r;break;case"ArrowUp":l=n-r;break;case"Enter":case" ":e.preventDefault(),W(t);return;case"PageUp":h(m=>E(m,-1));return;case"PageDown":h(m=>E(m,1));return;case"Escape":d(!1);return;default:return}e.preventDefault(),l!=null&&j[l]!=null&&ve(l)},xe=()=>!c.from&&!c.to?ne:c.from&&!c.to?`${c.from} → `:!c.from&&c.to?` → ${c.to}`:`${c.from} → ${c.to}`;return s.jsxs("div",{className:`ui-daterange-picker ${se}`,children:[q&&s.jsx("input",{type:"hidden",name:q,value:c.from??""}),L&&s.jsx("input",{type:"hidden",name:L,value:c.to??""}),s.jsx("button",{id:re,ref:S,type:"button",className:"drp-trigger","aria-haspopup":"dialog","aria-expanded":u,onClick:()=>{d(e=>!e),f(!1)},children:xe()}),s.jsxs("div",{className:"drp-actions",children:[s.jsx("button",{className:`drp-part ${T==="from"?"active":""}`,onClick:()=>K("from"),children:"From"}),s.jsx("button",{className:`drp-part ${T==="to"?"active":""}`,onClick:()=>K("to"),children:"To"})]}),u&&I&&s.jsx(Ne.Portal,{children:s.jsx("div",{ref:V,className:"drp-popover",style:{position:"fixed",top:I.top,left:I.left},children:s.jsxs("div",{className:"drp-panel",children:[s.jsxs("div",{className:"drp-header",children:[s.jsx("button",{className:"drp-arrow",onClick:()=>h(e=>E(e,-1)),children:"‹"}),s.jsxs("button",{className:"drp-title",onClick:()=>f(e=>!e),children:[i.toLocaleDateString(x,{month:"long"})," ",i.getFullYear()]}),s.jsx("button",{className:"drp-arrow",onClick:()=>h(e=>E(e,1)),children:"›"})]}),U&&s.jsxs("div",{className:"drp-ym",children:[s.jsx("div",{className:"drp-year-grid",children:de.map(e=>s.jsx("button",{className:`drp-year ${e===i.getFullYear()?"selected":""}`,onClick:()=>h(F(new Date(e,i.getMonth(),1))),children:e},e))}),s.jsx("div",{className:"drp-month-grid",children:fe.map((e,t)=>{const n=me(i.getFullYear(),t);return s.jsx("button",{className:`drp-month ${n?"disabled":""} ${t===i.getMonth()?"selected":""}`,disabled:n?!0:void 0,onClick:()=>!n&&h(F(new Date(i.getFullYear(),t,1))),children:e},t)})})]}),!U&&s.jsxs("div",{className:"drp-calendar",children:[s.jsx("div",{className:"drp-weekdays",children:ce.map((e,t)=>s.jsx("div",{className:"drp-weekday",children:e},t))}),s.jsx("div",{className:"drp-days",children:j.map((e,t)=>{if(e===null)return s.jsx("div",{className:"drp-day-empty"},t);const n=new Date(i.getFullYear(),i.getMonth(),e),r=B(n),l=he(n),m=De(n),be=pe(n),ye=ie(n),X=`${i.getFullYear()}-${i.getMonth()}-${e}`;return s.jsx("button",{ref:k=>{z.current[X]=k},disabled:r?!0:void 0,className:["drp-day",l?"start":"",m?"end":"",be?"between":"",ye?"dragging":"",r?"disabled":""].join(" "),onClick:()=>!r&&W(e),onKeyDown:k=>we(k,e),onMouseDown:k=>{r||(k.preventDefault(),G(n),A(n),H(!0))},onMouseEnter:()=>{!Y||r||A(n)},children:e},X)})})]}),s.jsxs("div",{className:"drp-footer",children:[s.jsx("button",{className:"drp-clear",onClick:()=>{const e={from:void 0,to:void 0};M||_(e),w?.(e),d(!1),f(!1)},children:"Clear"}),s.jsx("button",{className:"drp-close",onClick:()=>{d(!1),f(!1)},children:"Close"})]})]})})})]})}exports.DateRangePicker=Me;
|
|
2
|
+
//# sourceMappingURL=DateRangePicker.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateRangePicker.cjs","sources":["../../../../src/components/daterangepicker/DateRangePicker.tsx"],"sourcesContent":["// DateRangePicker.tsx\r\n// Fully compliant, theme-aware, drag-select range picker\r\n// Matches your DatePicker UX exactly.\r\n\r\n// DateRangePicker.tsx — Final, Clean, Fully-Compliant Version\r\n\r\nimport {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useMemo,\r\n useCallback,\r\n KeyboardEvent,\r\n} from 'react';\r\nimport './DateRangePicker.css';\r\nimport { Portal, onClickOutside, restoreFocus } from '../../utils/index';\r\n\r\n/* ----------------------------------------------------\r\n Helpers\r\n---------------------------------------------------- */\r\n\r\nconst pad = (n: number) => (n < 10 ? `0${n}` : `${n}`);\r\nconst toISO = (d: Date) =>\r\n `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\r\n\r\nfunction fromISO(s?: string | null): Date | null {\r\n if (!s) return null;\r\n const [y, m, d] = s.split('-').map(Number);\r\n const dt = new Date(y, m - 1, d);\r\n return Number.isNaN(dt.getTime()) ? null : dt;\r\n}\r\n\r\nconst asDate = (v: Date | null | undefined): Date | null => (v ? v : null);\r\n\r\nconst startOfMonth = (d: Date) => new Date(d.getFullYear(), d.getMonth(), 1);\r\nconst addMonths = (d: Date, n: number) =>\r\n new Date(d.getFullYear(), d.getMonth() + n, 1);\r\nconst daysInMonth = (d: Date) =>\r\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate();\r\n\r\n/* ----------------------------------------------------\r\n Types\r\n---------------------------------------------------- */\r\n\r\nexport interface DateRange {\r\n from?: string;\r\n to?: string;\r\n}\r\n\r\nexport interface DateRangePickerProps {\r\n value?: DateRange;\r\n defaultValue?: DateRange;\r\n onChange?: (r: DateRange) => void;\r\n\r\n minDate?: string;\r\n maxDate?: string;\r\n\r\n placeholder?: string;\r\n locale?: string;\r\n\r\n id?: string;\r\n className?: string;\r\n\r\n nameFrom?: string;\r\n nameTo?: string;\r\n}\r\n\r\n/* ----------------------------------------------------\r\n Component\r\n---------------------------------------------------- */\r\n\r\nexport function DateRangePicker({\r\n value,\r\n defaultValue,\r\n onChange,\r\n minDate,\r\n maxDate,\r\n placeholder = 'Pick range',\r\n locale = 'en-US',\r\n id,\r\n className = '',\r\n nameFrom,\r\n nameTo,\r\n}: DateRangePickerProps) {\r\n const controlled = value !== undefined;\r\n const [internal, setInternal] = useState<DateRange | undefined>(defaultValue);\r\n const range: DateRange = controlled ? value || {} : internal || {};\r\n\r\n const fromDate = fromISO(range.from);\r\n const toDate = fromISO(range.to);\r\n\r\n const today = new Date();\r\n const initialVisible = startOfMonth(fromDate ?? toDate ?? today);\r\n\r\n const [visible, setVisible] = useState<Date>(initialVisible);\r\n const [open, setOpen] = useState(false);\r\n const [showYMM, setShowYMM] = useState(false);\r\n\r\n const [activePart, setActivePart] = useState<'from' | 'to'>('from');\r\n\r\n const triggerRef = useRef<HTMLButtonElement | null>(null);\r\n const popRef = useRef<HTMLDivElement | null>(null);\r\n const dayRefs = useRef<Record<string, HTMLButtonElement | null>>({});\r\n\r\n /* ----------------------------------------------------\r\n Min/max\r\n ---------------------------------------------------- */\r\n\r\n const minDt = fromISO(minDate);\r\n const maxDt = fromISO(maxDate);\r\n\r\n const isDisabled = (d: Date) => {\r\n if (minDt && d < minDt) return true;\r\n if (maxDt && d > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Drag select\r\n ---------------------------------------------------- */\r\n\r\n const [dragStart, setDragStart] = useState<Date | null>(null);\r\n const [dragEnd, setDragEnd] = useState<Date | null>(null);\r\n const [isDragging, setIsDragging] = useState(false);\r\n\r\n const inDragRange = (d: Date) => {\r\n if (!isDragging || !dragStart || !dragEnd) return false;\r\n const t = d.getTime();\r\n const a = dragStart.getTime();\r\n const b = dragEnd.getTime();\r\n return t >= Math.min(a, b) && t <= Math.max(a, b);\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Click outside to close\r\n ---------------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n return onClickOutside(popRef, () => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n });\r\n }, [open]);\r\n\r\n /* ----------------------------------------------------\r\n Restore focus\r\n ---------------------------------------------------- */\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n const t = triggerRef.current;\r\n return () => restoreFocus(t);\r\n }, [open]);\r\n\r\n /* ----------------------------------------------------\r\n Popover position\r\n ---------------------------------------------------- */\r\n\r\n const [pos, setPos] = useState<{ top: number; left: number } | null>(null);\r\n\r\n useEffect(() => {\r\n if (!open || !triggerRef.current) return;\r\n const r = triggerRef.current.getBoundingClientRect();\r\n setPos({ top: r.bottom + 8, left: r.left });\r\n }, [open, visible]);\r\n\r\n /* ----------------------------------------------------\r\n Grid computation\r\n ---------------------------------------------------- */\r\n\r\n const grid = useMemo(() => {\r\n const first = startOfMonth(visible);\r\n const startDow = first.getDay();\r\n const total = daysInMonth(visible);\r\n\r\n const g: (number | null)[] = [];\r\n for (let i = 0; i < startDow; i++) g.push(null);\r\n for (let d = 1; d <= total; d++) g.push(d);\r\n while (g.length % 7 !== 0) g.push(null);\r\n return g;\r\n }, [visible]);\r\n\r\n const weekdays = useMemo(\r\n () =>\r\n Array.from({ length: 7 }).map((_, i) =>\r\n new Date(2020, 5, 7 + i).toLocaleDateString(locale, {\r\n weekday: 'short',\r\n })\r\n ),\r\n [locale]\r\n );\r\n\r\n /* ----------------------------------------------------\r\n Month/year panel\r\n ---------------------------------------------------- */\r\n\r\n const visibleYear = visible.getFullYear();\r\n const YEAR_SPAN = 100;\r\n const yearStart = visibleYear - YEAR_SPAN;\r\n\r\n const years = useMemo(\r\n () =>\r\n Array.from({ length: YEAR_SPAN * 2 + 1 }).map((_, i) => yearStart + i),\r\n [yearStart]\r\n );\r\n\r\n const months = useMemo(\r\n () =>\r\n Array.from({ length: 12 }).map((_, i) =>\r\n new Date(2020, i, 1).toLocaleDateString(locale, { month: 'short' })\r\n ),\r\n [locale]\r\n );\r\n\r\n const isMonthDisabled = (y: number, m: number) => {\r\n const s = new Date(y, m, 1);\r\n const e = new Date(y, m, daysInMonth(s));\r\n if (minDt && e < minDt) return true;\r\n if (maxDt && s > maxDt) return true;\r\n return false;\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Normalize + commit range\r\n ---------------------------------------------------- */\r\n\r\n const normalizeRange = (a: Date | null, b: Date | null) => {\r\n if (!a && !b) return { from: undefined, to: undefined };\r\n if (!a) return { from: undefined, to: b ? toISO(b) : undefined };\r\n if (!b) return { from: toISO(a), to: undefined };\r\n\r\n const ta = a.getTime();\r\n const tb = b.getTime();\r\n\r\n return ta <= tb\r\n ? { from: toISO(a), to: toISO(b) }\r\n : { from: toISO(b), to: toISO(a) };\r\n };\r\n\r\n const commitRange = useCallback(\r\n (a: Date | null, b: Date | null) => {\r\n const out = normalizeRange(a, b);\r\n if (!controlled) setInternal(out);\r\n onChange?.(out);\r\n },\r\n [onChange, controlled]\r\n );\r\n\r\n /* ----------------------------------------------------\r\n Clicking days\r\n ---------------------------------------------------- */\r\n\r\n const pickDay = (d: number) => {\r\n const dt = new Date(visible.getFullYear(), visible.getMonth(), d);\r\n if (isDisabled(dt)) return;\r\n\r\n let s = fromDate;\r\n let e = toDate;\r\n\r\n if (activePart === 'from') {\r\n s = dt;\r\n if (e && dt > e) e = null;\r\n } else {\r\n e = dt;\r\n if (s && dt < s) {\r\n s = dt;\r\n e = null;\r\n }\r\n }\r\n\r\n commitRange(asDate(s), asDate(e));\r\n\r\n if (s && e) {\r\n setOpen(false);\r\n setShowYMM(false);\r\n }\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Drag end (global)\r\n ---------------------------------------------------- */\r\n\r\n useEffect(() => {\r\n const stopDrag = () => {\r\n if (!isDragging) return;\r\n\r\n setIsDragging(false);\r\n\r\n if (dragStart && dragEnd) {\r\n const a = dragStart;\r\n const b = dragEnd;\r\n const s = a <= b ? a : b;\r\n const e = a <= b ? b : a;\r\n\r\n commitRange(s, e);\r\n setOpen(false);\r\n setShowYMM(false);\r\n }\r\n\r\n setDragStart(null);\r\n setDragEnd(null);\r\n };\r\n\r\n window.addEventListener('mouseup', stopDrag);\r\n return () => window.removeEventListener('mouseup', stopDrag);\r\n }, [isDragging, dragStart, dragEnd, commitRange]);\r\n\r\n /* ----------------------------------------------------\r\n Range flags\r\n ---------------------------------------------------- */\r\n\r\n const inRange = (dt: Date) => {\r\n if (!fromDate || !toDate) return false;\r\n return dt > fromDate && dt < toDate;\r\n };\r\n\r\n const isStart = (dt: Date) => fromDate && dt.getTime() === fromDate.getTime();\r\n const isEnd = (dt: Date) => toDate && dt.getTime() === toDate.getTime();\r\n\r\n /* ----------------------------------------------------\r\n Keyboard nav\r\n ---------------------------------------------------- */\r\n\r\n const focusDay = (idx: number) => {\r\n if (idx < 0 || idx >= grid.length) return;\r\n const d = grid[idx];\r\n if (!d) return;\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${d}`;\r\n dayRefs.current[key]?.focus();\r\n };\r\n\r\n const onDayKey = (e: KeyboardEvent<HTMLButtonElement>, day: number) => {\r\n const idx = grid.findIndex((c) => c === day);\r\n if (idx === -1) return;\r\n\r\n const cols = 7;\r\n let nextIdx: number | null = null;\r\n\r\n switch (e.key) {\r\n case 'ArrowRight':\r\n nextIdx = idx + 1;\r\n break;\r\n case 'ArrowLeft':\r\n nextIdx = idx - 1;\r\n break;\r\n case 'ArrowDown':\r\n nextIdx = idx + cols;\r\n break;\r\n case 'ArrowUp':\r\n nextIdx = idx - cols;\r\n break;\r\n case 'Enter':\r\n case ' ':\r\n e.preventDefault();\r\n pickDay(day);\r\n return;\r\n case 'PageUp':\r\n setVisible((v) => addMonths(v, -1));\r\n return;\r\n case 'PageDown':\r\n setVisible((v) => addMonths(v, 1));\r\n return;\r\n case 'Escape':\r\n setOpen(false);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n if (nextIdx != null && grid[nextIdx] != null) focusDay(nextIdx);\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Trigger label\r\n ---------------------------------------------------- */\r\n\r\n const label = (): string => {\r\n if (!range.from && !range.to) return placeholder;\r\n if (range.from && !range.to) return `${range.from} → `;\r\n if (!range.from && range.to) return ` → ${range.to}`;\r\n return `${range.from} → ${range.to}`;\r\n };\r\n\r\n /* ----------------------------------------------------\r\n Render\r\n ---------------------------------------------------- */\r\n\r\n return (\r\n <div className={`ui-daterange-picker ${className}`}>\r\n {nameFrom && (\r\n <input type=\"hidden\" name={nameFrom} value={range.from ?? ''} />\r\n )}\r\n {nameTo && <input type=\"hidden\" name={nameTo} value={range.to ?? ''} />}\r\n\r\n <button\r\n id={id}\r\n ref={triggerRef}\r\n type=\"button\"\r\n className=\"drp-trigger\"\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n onClick={() => {\r\n setOpen((s) => !s);\r\n setShowYMM(false);\r\n }}\r\n >\r\n {label()}\r\n </button>\r\n\r\n <div className=\"drp-actions\">\r\n <button\r\n className={`drp-part ${activePart === 'from' ? 'active' : ''}`}\r\n onClick={() => setActivePart('from')}\r\n >\r\n From\r\n </button>\r\n\r\n <button\r\n className={`drp-part ${activePart === 'to' ? 'active' : ''}`}\r\n onClick={() => setActivePart('to')}\r\n >\r\n To\r\n </button>\r\n </div>\r\n\r\n {open && pos && (\r\n <Portal>\r\n <div\r\n ref={popRef}\r\n className=\"drp-popover\"\r\n style={{ position: 'fixed', top: pos.top, left: pos.left }}\r\n >\r\n <div className=\"drp-panel\">\r\n {/* HEADER */}\r\n <div className=\"drp-header\">\r\n <button\r\n className=\"drp-arrow\"\r\n onClick={() => setVisible((v) => addMonths(v, -1))}\r\n >\r\n ‹\r\n </button>\r\n\r\n <button\r\n className=\"drp-title\"\r\n onClick={() => setShowYMM((s) => !s)}\r\n >\r\n {visible.toLocaleDateString(locale, {\r\n month: 'long',\r\n })}{' '}\r\n {visible.getFullYear()}\r\n </button>\r\n\r\n <button\r\n className=\"drp-arrow\"\r\n onClick={() => setVisible((v) => addMonths(v, 1))}\r\n >\r\n ›\r\n </button>\r\n </div>\r\n\r\n {/* YEAR + MONTH PANEL */}\r\n {showYMM && (\r\n <div className=\"drp-ym\">\r\n <div className=\"drp-year-grid\">\r\n {years.map((y) => (\r\n <button\r\n key={y}\r\n className={`drp-year ${\r\n y === visible.getFullYear() ? 'selected' : ''\r\n }`}\r\n onClick={() =>\r\n setVisible(\r\n startOfMonth(new Date(y, visible.getMonth(), 1))\r\n )\r\n }\r\n >\r\n {y}\r\n </button>\r\n ))}\r\n </div>\r\n\r\n <div className=\"drp-month-grid\">\r\n {months.map((ml, i) => {\r\n const disabled = isMonthDisabled(\r\n visible.getFullYear(),\r\n i\r\n );\r\n return (\r\n <button\r\n key={i}\r\n className={`drp-month ${disabled ? 'disabled' : ''} ${\r\n i === visible.getMonth() ? 'selected' : ''\r\n }`}\r\n disabled={disabled ? true : undefined}\r\n onClick={() =>\r\n !disabled &&\r\n setVisible(\r\n startOfMonth(\r\n new Date(visible.getFullYear(), i, 1)\r\n )\r\n )\r\n }\r\n >\r\n {ml}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* CALENDAR */}\r\n {!showYMM && (\r\n <div className=\"drp-calendar\">\r\n <div className=\"drp-weekdays\">\r\n {weekdays.map((w, i) => (\r\n <div key={i} className=\"drp-weekday\">\r\n {w}\r\n </div>\r\n ))}\r\n </div>\r\n\r\n <div className=\"drp-days\">\r\n {grid.map((cell, idx) => {\r\n if (cell === null)\r\n return <div key={idx} className=\"drp-day-empty\" />;\r\n\r\n const dt = new Date(\r\n visible.getFullYear(),\r\n visible.getMonth(),\r\n cell\r\n );\r\n const disabled = isDisabled(dt);\r\n\r\n const start = isStart(dt);\r\n const end = isEnd(dt);\r\n const between = inRange(dt);\r\n const drag = inDragRange(dt);\r\n\r\n const key = `${visible.getFullYear()}-${visible.getMonth()}-${cell}`;\r\n\r\n return (\r\n <button\r\n key={key}\r\n ref={(el) => {\r\n dayRefs.current[key] = el;\r\n }}\r\n disabled={disabled ? true : undefined}\r\n className={[\r\n 'drp-day',\r\n start ? 'start' : '',\r\n end ? 'end' : '',\r\n between ? 'between' : '',\r\n drag ? 'dragging' : '',\r\n disabled ? 'disabled' : '',\r\n ].join(' ')}\r\n onClick={() => !disabled && pickDay(cell)}\r\n onKeyDown={(e) => onDayKey(e, cell)}\r\n onMouseDown={(e) => {\r\n if (disabled) return;\r\n e.preventDefault();\r\n setDragStart(dt);\r\n setDragEnd(dt);\r\n setIsDragging(true);\r\n }}\r\n onMouseEnter={() => {\r\n if (!isDragging || disabled) return;\r\n setDragEnd(dt);\r\n }}\r\n >\r\n {cell}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* FOOTER */}\r\n <div className=\"drp-footer\">\r\n <button\r\n className=\"drp-clear\"\r\n onClick={() => {\r\n const empty = { from: undefined, to: undefined };\r\n if (!controlled) setInternal(empty);\r\n onChange?.(empty);\r\n setOpen(false);\r\n setShowYMM(false);\r\n }}\r\n >\r\n Clear\r\n </button>\r\n\r\n <button\r\n className=\"drp-close\"\r\n onClick={() => {\r\n setOpen(false);\r\n setShowYMM(false);\r\n }}\r\n >\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </Portal>\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"names":["pad","n","toISO","d","fromISO","s","y","m","dt","asDate","v","startOfMonth","addMonths","daysInMonth","DateRangePicker","value","defaultValue","onChange","minDate","maxDate","placeholder","locale","id","className","nameFrom","nameTo","controlled","internal","setInternal","useState","range","fromDate","toDate","initialVisible","visible","setVisible","open","setOpen","showYMM","setShowYMM","activePart","setActivePart","triggerRef","useRef","popRef","dayRefs","minDt","maxDt","isDisabled","dragStart","setDragStart","dragEnd","setDragEnd","isDragging","setIsDragging","inDragRange","a","b","useEffect","onClickOutside","t","restoreFocus","pos","setPos","r","grid","useMemo","startDow","total","g","i","weekdays","_","visibleYear","YEAR_SPAN","yearStart","years","months","isMonthDisabled","e","normalizeRange","ta","tb","commitRange","useCallback","out","pickDay","stopDrag","inRange","isStart","isEnd","focusDay","idx","key","onDayKey","day","c","cols","nextIdx","label","jsxs","jsx","Portal","ml","disabled","w","cell","start","end","between","drag","el","empty"],"mappings":"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"}
|