@sth87/shadcn-design-system 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +487 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs +2 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/cjs/_virtual/index.cjs +2 -0
- package/dist/cjs/_virtual/index.cjs.map +1 -0
- package/dist/cjs/_virtual/index2.cjs +2 -0
- package/dist/cjs/_virtual/index2.cjs.map +1 -0
- package/dist/cjs/components/Accordion/Accordion.cjs +2 -0
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -0
- package/dist/cjs/components/Avatar/Avatar.cjs +2 -0
- package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -0
- package/dist/cjs/components/Badge/Badge.cjs +2 -0
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -0
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +2 -0
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/cjs/components/Button/Button.cjs +2 -0
- package/dist/cjs/components/Button/Button.cjs.map +1 -0
- package/dist/cjs/components/Button/ButtonGroup.cjs +2 -0
- package/dist/cjs/components/Button/ButtonGroup.cjs.map +1 -0
- package/dist/cjs/components/Calendar/Calendar.cjs +2 -0
- package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -0
- package/dist/cjs/components/Carousel/Carousel.cjs +2 -0
- package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.cjs +2 -0
- package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/cjs/components/Collapsible/Collapsible.cjs +2 -0
- package/dist/cjs/components/Collapsible/Collapsible.cjs.map +1 -0
- package/dist/cjs/components/Command/Command.cjs +2 -0
- package/dist/cjs/components/Command/Command.cjs.map +1 -0
- package/dist/cjs/components/Command/index.cjs +2 -0
- package/dist/cjs/components/Command/index.cjs.map +1 -0
- package/dist/cjs/components/ContextMenu/ContextMenu.cjs +2 -0
- package/dist/cjs/components/ContextMenu/ContextMenu.cjs.map +1 -0
- package/dist/cjs/components/ContextMenu/index.cjs +2 -0
- package/dist/cjs/components/ContextMenu/index.cjs.map +1 -0
- package/dist/cjs/components/Cropper/Cropper.cjs +2 -0
- package/dist/cjs/components/Cropper/Cropper.cjs.map +1 -0
- package/dist/cjs/components/Cropper/CropperTool.cjs +2 -0
- package/dist/cjs/components/Cropper/CropperTool.cjs.map +1 -0
- package/dist/cjs/components/Cropper/utils.cjs +2 -0
- package/dist/cjs/components/Cropper/utils.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/RangePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker/RangePicker.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/TimePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker/TimePicker.cjs.map +1 -0
- package/dist/cjs/components/Dialog/Dialog.cjs +2 -0
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +2 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
- package/dist/cjs/components/DropdownMenu/index.cjs +2 -0
- package/dist/cjs/components/DropdownMenu/index.cjs.map +1 -0
- package/dist/cjs/components/FloatLabel.cjs +2 -0
- package/dist/cjs/components/FloatLabel.cjs.map +1 -0
- package/dist/cjs/components/Glass/Glass.cjs +2 -0
- package/dist/cjs/components/Glass/Glass.cjs.map +1 -0
- package/dist/cjs/components/ImageViewer/ImageViewer.cjs +2 -0
- package/dist/cjs/components/ImageViewer/ImageViewer.cjs.map +1 -0
- package/dist/cjs/components/ImageViewer/ImageViewer.css +1 -0
- package/dist/cjs/components/Input/Input.cjs +2 -0
- package/dist/cjs/components/Input/Input.cjs.map +1 -0
- package/dist/cjs/components/InputOTP/InputOTP.cjs +2 -0
- package/dist/cjs/components/InputOTP/InputOTP.cjs.map +1 -0
- package/dist/cjs/components/Interactive/CursorFollow.cjs +2 -0
- package/dist/cjs/components/Interactive/CursorFollow.cjs.map +1 -0
- package/dist/cjs/components/Marquee/Marquee.cjs +2 -0
- package/dist/cjs/components/Marquee/Marquee.cjs.map +1 -0
- package/dist/cjs/components/Marquee/MarqueeWrapper.cjs +2 -0
- package/dist/cjs/components/Marquee/MarqueeWrapper.cjs.map +1 -0
- package/dist/cjs/components/Marquee/index.cjs +2 -0
- package/dist/cjs/components/Marquee/index.cjs.map +1 -0
- package/dist/cjs/components/Masonry/Masonry.cjs +2 -0
- package/dist/cjs/components/Masonry/Masonry.cjs.map +1 -0
- package/dist/cjs/components/Masonry/MasonryWrapper.cjs +2 -0
- package/dist/cjs/components/Masonry/MasonryWrapper.cjs.map +1 -0
- package/dist/cjs/components/Pagination/Pagination.cjs +2 -0
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -0
- package/dist/cjs/components/Pagination/index.cjs +2 -0
- package/dist/cjs/components/Pagination/index.cjs.map +1 -0
- package/dist/cjs/components/Popover/Popover.cjs +2 -0
- package/dist/cjs/components/Popover/Popover.cjs.map +1 -0
- package/dist/cjs/components/Popover/index.cjs +2 -0
- package/dist/cjs/components/Popover/index.cjs.map +1 -0
- package/dist/cjs/components/QrCode/QrCode.cjs +2 -0
- package/dist/cjs/components/QrCode/QrCode.cjs.map +1 -0
- package/dist/cjs/components/QrCode/index.cjs +2 -0
- package/dist/cjs/components/QrCode/index.cjs.map +1 -0
- package/dist/cjs/components/Radio/Radio.cjs +2 -0
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -0
- package/dist/cjs/components/Rate/Rate.cjs +2 -0
- package/dist/cjs/components/Rate/Rate.cjs.map +1 -0
- package/dist/cjs/components/Resizable/Resizable.cjs +2 -0
- package/dist/cjs/components/Resizable/Resizable.cjs.map +1 -0
- package/dist/cjs/components/ScrollArea/ScrollArea.cjs +2 -0
- package/dist/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -0
- package/dist/cjs/components/Select/Select.cjs +2 -0
- package/dist/cjs/components/Select/Select.cjs.map +1 -0
- package/dist/cjs/components/Separator/Separator.cjs +2 -0
- package/dist/cjs/components/Separator/Separator.cjs.map +1 -0
- package/dist/cjs/components/Sheet/Sheet.cjs +6 -0
- package/dist/cjs/components/Sheet/Sheet.cjs.map +1 -0
- package/dist/cjs/components/Sidebar/Sidebar.cjs +2 -0
- package/dist/cjs/components/Sidebar/Sidebar.cjs.map +1 -0
- package/dist/cjs/components/Skeleton/Skeleton.cjs +2 -0
- package/dist/cjs/components/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/cjs/components/Slider/Slider.cjs +2 -0
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -0
- package/dist/cjs/components/Stepper/Stepper.cjs +2 -0
- package/dist/cjs/components/Stepper/Stepper.cjs.map +1 -0
- package/dist/cjs/components/Stepper/StepperWrapper.cjs +2 -0
- package/dist/cjs/components/Stepper/StepperWrapper.cjs.map +1 -0
- package/dist/cjs/components/Stepper/index.cjs +2 -0
- package/dist/cjs/components/Stepper/index.cjs.map +1 -0
- package/dist/cjs/components/Switch/Switch.cjs +2 -0
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -0
- package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs +2 -0
- package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs.map +1 -0
- package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs +2 -0
- package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs.map +1 -0
- package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs +2 -0
- package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs.map +1 -0
- package/dist/cjs/components/Table/data-table-column-header.cjs +2 -0
- package/dist/cjs/components/Table/data-table-column-header.cjs.map +1 -0
- package/dist/cjs/components/Table/data-table-pagination.cjs +2 -0
- package/dist/cjs/components/Table/data-table-pagination.cjs.map +1 -0
- package/dist/cjs/components/Table/data-table.cjs +2 -0
- package/dist/cjs/components/Table/data-table.cjs.map +1 -0
- package/dist/cjs/components/Tabs/Tabs.cjs +2 -0
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -0
- package/dist/cjs/components/Tabs/classes.cjs +2 -0
- package/dist/cjs/components/Tabs/classes.cjs.map +1 -0
- package/dist/cjs/components/Textarea/Textarea.cjs +2 -0
- package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -0
- package/dist/cjs/components/TimeGridView.cjs +2 -0
- package/dist/cjs/components/TimeGridView.cjs.map +1 -0
- package/dist/cjs/components/Toast/Toast.cjs +2 -0
- package/dist/cjs/components/Toast/Toast.cjs.map +1 -0
- package/dist/cjs/components/Toggle/Toggle.cjs +2 -0
- package/dist/cjs/components/Toggle/Toggle.cjs.map +1 -0
- package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -0
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/cjs/components/Tour/Tour.cjs +2 -0
- package/dist/cjs/components/Tour/Tour.cjs.map +1 -0
- package/dist/cjs/components/Tour/TourWrapper.cjs +2 -0
- package/dist/cjs/components/Tour/TourWrapper.cjs.map +1 -0
- package/dist/cjs/components/Tour/index.cjs +2 -0
- package/dist/cjs/components/Tour/index.cjs.map +1 -0
- package/dist/cjs/components/Upload/Upload.cjs +4 -0
- package/dist/cjs/components/Upload/Upload.cjs.map +1 -0
- package/dist/cjs/components/WheelColumn.cjs +2 -0
- package/dist/cjs/components/WheelColumn.cjs.map +1 -0
- package/dist/cjs/constants/common.cjs +2 -0
- package/dist/cjs/constants/common.cjs.map +1 -0
- package/dist/cjs/favicon.ico +0 -0
- package/dist/cjs/hooks/use-callback-ref.cjs +2 -0
- package/dist/cjs/hooks/use-callback-ref.cjs.map +1 -0
- package/dist/cjs/hooks/use-debounced-callback.cjs +2 -0
- package/dist/cjs/hooks/use-debounced-callback.cjs.map +1 -0
- package/dist/cjs/hooks/use-debounced-value.cjs +2 -0
- package/dist/cjs/hooks/use-debounced-value.cjs.map +1 -0
- package/dist/cjs/hooks/use-event-listener.cjs +2 -0
- package/dist/cjs/hooks/use-event-listener.cjs.map +1 -0
- package/dist/cjs/hooks/use-intersection-observer.cjs +2 -0
- package/dist/cjs/hooks/use-intersection-observer.cjs.map +1 -0
- package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs +2 -0
- package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs.map +1 -0
- package/dist/cjs/hooks/use-media-query.cjs +2 -0
- package/dist/cjs/hooks/use-media-query.cjs.map +1 -0
- package/dist/cjs/hooks/use-on-click-outside.cjs +2 -0
- package/dist/cjs/hooks/use-on-click-outside.cjs.map +1 -0
- package/dist/cjs/hooks/use-script.cjs +2 -0
- package/dist/cjs/hooks/use-script.cjs.map +1 -0
- package/dist/cjs/hooks/use-scroll-lock.cjs +2 -0
- package/dist/cjs/hooks/use-scroll-lock.cjs.map +1 -0
- package/dist/cjs/image.png +0 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/BlurText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/BlurText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/CircularText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/CircularText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/FlipWords.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/FlipWords.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/GradientText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/GradientText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/RollingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/RollingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/RotatingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/RotatingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/SplittingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/SplittingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs +22 -0
- package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TypingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/TypingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/WritingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/WritingText.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs +253 -0
- package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/viewerjs@1.11.7/node_modules/viewerjs/dist/viewer.css +1 -0
- package/dist/cjs/styles/animation.css +1 -0
- package/dist/cjs/styles/index.css +1 -0
- package/dist/cjs/styles/theme.css +1 -0
- package/dist/cjs/utils/animations.cjs +2 -0
- package/dist/cjs/utils/animations.cjs.map +1 -0
- package/dist/cjs/utils/css.cjs +2 -0
- package/dist/cjs/utils/css.cjs.map +1 -0
- package/dist/cjs/utils/data-table.cjs +2 -0
- package/dist/cjs/utils/data-table.cjs.map +1 -0
- package/dist/cjs/utils/datetime.cjs +2 -0
- package/dist/cjs/utils/datetime.cjs.map +1 -0
- package/dist/cjs/vite.svg +1 -0
- package/dist/cjs/wave.png +0 -0
- package/dist/esm/_virtual/_commonjsHelpers.js +7 -0
- package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/esm/_virtual/index.js +8 -0
- package/dist/esm/_virtual/index.js.map +1 -0
- package/dist/esm/_virtual/index2.js +5 -0
- package/dist/esm/_virtual/index2.js.map +1 -0
- package/dist/esm/components/Accordion/Accordion.js +190 -0
- package/dist/esm/components/Accordion/Accordion.js.map +1 -0
- package/dist/esm/components/Avatar/Avatar.js +93 -0
- package/dist/esm/components/Avatar/Avatar.js.map +1 -0
- package/dist/esm/components/Badge/Badge.js +35 -0
- package/dist/esm/components/Badge/Badge.js.map +1 -0
- package/dist/esm/components/Breadcrumb/Breadcrumb.js +102 -0
- package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/esm/components/Button/Button.js +53 -0
- package/dist/esm/components/Button/Button.js.map +1 -0
- package/dist/esm/components/Button/ButtonGroup.js +53 -0
- package/dist/esm/components/Button/ButtonGroup.js.map +1 -0
- package/dist/esm/components/Calendar/Calendar.js +40 -0
- package/dist/esm/components/Calendar/Calendar.js.map +1 -0
- package/dist/esm/components/Carousel/Carousel.js +510 -0
- package/dist/esm/components/Carousel/Carousel.js.map +1 -0
- package/dist/esm/components/Checkbox/Checkbox.js +79 -0
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/esm/components/Collapsible/Collapsible.js +107 -0
- package/dist/esm/components/Collapsible/Collapsible.js.map +1 -0
- package/dist/esm/components/Command/Command.js +113 -0
- package/dist/esm/components/Command/Command.js.map +1 -0
- package/dist/esm/components/Command/index.js +16 -0
- package/dist/esm/components/Command/index.js.map +1 -0
- package/dist/esm/components/ContextMenu/ContextMenu.js +131 -0
- package/dist/esm/components/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/esm/components/ContextMenu/index.js +24 -0
- package/dist/esm/components/ContextMenu/index.js.map +1 -0
- package/dist/esm/components/Cropper/Cropper.js +1014 -0
- package/dist/esm/components/Cropper/Cropper.js.map +1 -0
- package/dist/esm/components/Cropper/CropperTool.js +157 -0
- package/dist/esm/components/Cropper/CropperTool.js.map +1 -0
- package/dist/esm/components/Cropper/utils.js +108 -0
- package/dist/esm/components/Cropper/utils.js.map +1 -0
- package/dist/esm/components/DatePicker/DatePicker.js +263 -0
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/esm/components/DatePicker/RangePicker.js +456 -0
- package/dist/esm/components/DatePicker/RangePicker.js.map +1 -0
- package/dist/esm/components/DatePicker/TimePicker.js +444 -0
- package/dist/esm/components/DatePicker/TimePicker.js.map +1 -0
- package/dist/esm/components/Dialog/Dialog.js +223 -0
- package/dist/esm/components/Dialog/Dialog.js.map +1 -0
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +196 -0
- package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/esm/components/DropdownMenu/index.js +24 -0
- package/dist/esm/components/DropdownMenu/index.js.map +1 -0
- package/dist/esm/components/FloatLabel.js +59 -0
- package/dist/esm/components/FloatLabel.js.map +1 -0
- package/dist/esm/components/Glass/Glass.js +93 -0
- package/dist/esm/components/Glass/Glass.js.map +1 -0
- package/dist/esm/components/ImageViewer/ImageViewer.css +1 -0
- package/dist/esm/components/ImageViewer/ImageViewer.js +273 -0
- package/dist/esm/components/ImageViewer/ImageViewer.js.map +1 -0
- package/dist/esm/components/Input/Input.js +267 -0
- package/dist/esm/components/Input/Input.js.map +1 -0
- package/dist/esm/components/InputOTP/InputOTP.js +70 -0
- package/dist/esm/components/InputOTP/InputOTP.js.map +1 -0
- package/dist/esm/components/Interactive/CursorFollow.js +257 -0
- package/dist/esm/components/Interactive/CursorFollow.js.map +1 -0
- package/dist/esm/components/Marquee/Marquee.js +419 -0
- package/dist/esm/components/Marquee/Marquee.js.map +1 -0
- package/dist/esm/components/Marquee/MarqueeWrapper.js +25 -0
- package/dist/esm/components/Marquee/MarqueeWrapper.js.map +1 -0
- package/dist/esm/components/Marquee/index.js +15 -0
- package/dist/esm/components/Marquee/index.js.map +1 -0
- package/dist/esm/components/Masonry/Masonry.js +840 -0
- package/dist/esm/components/Masonry/Masonry.js.map +1 -0
- package/dist/esm/components/Masonry/MasonryWrapper.js +19 -0
- package/dist/esm/components/Masonry/MasonryWrapper.js.map +1 -0
- package/dist/esm/components/Pagination/Pagination.js +209 -0
- package/dist/esm/components/Pagination/Pagination.js.map +1 -0
- package/dist/esm/components/Pagination/index.js +14 -0
- package/dist/esm/components/Pagination/index.js.map +1 -0
- package/dist/esm/components/Popover/Popover.js +51 -0
- package/dist/esm/components/Popover/Popover.js.map +1 -0
- package/dist/esm/components/Popover/index.js +9 -0
- package/dist/esm/components/Popover/index.js.map +1 -0
- package/dist/esm/components/QrCode/QrCode.js +300 -0
- package/dist/esm/components/QrCode/QrCode.js.map +1 -0
- package/dist/esm/components/QrCode/index.js +16 -0
- package/dist/esm/components/QrCode/index.js.map +1 -0
- package/dist/esm/components/Radio/Radio.js +74 -0
- package/dist/esm/components/Radio/Radio.js.map +1 -0
- package/dist/esm/components/Rate/Rate.js +191 -0
- package/dist/esm/components/Rate/Rate.js.map +1 -0
- package/dist/esm/components/Resizable/Resizable.js +89 -0
- package/dist/esm/components/Resizable/Resizable.js.map +1 -0
- package/dist/esm/components/ScrollArea/ScrollArea.js +45 -0
- package/dist/esm/components/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/esm/components/Select/Select.js +199 -0
- package/dist/esm/components/Select/Select.js.map +1 -0
- package/dist/esm/components/Separator/Separator.js +7 -0
- package/dist/esm/components/Separator/Separator.js.map +1 -0
- package/dist/esm/components/Sheet/Sheet.js +141 -0
- package/dist/esm/components/Sheet/Sheet.js.map +1 -0
- package/dist/esm/components/Sidebar/Sidebar.js +30 -0
- package/dist/esm/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/esm/components/Skeleton/Skeleton.js +12 -0
- package/dist/esm/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/esm/components/Slider/Slider.js +420 -0
- package/dist/esm/components/Slider/Slider.js.map +1 -0
- package/dist/esm/components/Stepper/Stepper.js +886 -0
- package/dist/esm/components/Stepper/Stepper.js.map +1 -0
- package/dist/esm/components/Stepper/StepperWrapper.js +80 -0
- package/dist/esm/components/Stepper/StepperWrapper.js.map +1 -0
- package/dist/esm/components/Stepper/index.js +21 -0
- package/dist/esm/components/Stepper/index.js.map +1 -0
- package/dist/esm/components/Switch/Switch.js +126 -0
- package/dist/esm/components/Switch/Switch.js.map +1 -0
- package/dist/esm/components/Table/TableFilter/data-table-date-filter.js +126 -0
- package/dist/esm/components/Table/TableFilter/data-table-date-filter.js.map +1 -0
- package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js +138 -0
- package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js.map +1 -0
- package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js +164 -0
- package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js.map +1 -0
- package/dist/esm/components/Table/data-table-column-header.js +82 -0
- package/dist/esm/components/Table/data-table-column-header.js.map +1 -0
- package/dist/esm/components/Table/data-table-pagination.js +73 -0
- package/dist/esm/components/Table/data-table-pagination.js.map +1 -0
- package/dist/esm/components/Table/data-table.js +94 -0
- package/dist/esm/components/Table/data-table.js.map +1 -0
- package/dist/esm/components/Tabs/Tabs.js +540 -0
- package/dist/esm/components/Tabs/Tabs.js.map +1 -0
- package/dist/esm/components/Tabs/classes.js +345 -0
- package/dist/esm/components/Tabs/classes.js.map +1 -0
- package/dist/esm/components/Textarea/Textarea.js +132 -0
- package/dist/esm/components/Textarea/Textarea.js.map +1 -0
- package/dist/esm/components/TimeGridView.js +101 -0
- package/dist/esm/components/TimeGridView.js.map +1 -0
- package/dist/esm/components/Toast/Toast.js +80 -0
- package/dist/esm/components/Toast/Toast.js.map +1 -0
- package/dist/esm/components/Toggle/Toggle.js +23 -0
- package/dist/esm/components/Toggle/Toggle.js.map +1 -0
- package/dist/esm/components/Tooltip/Tooltip.js +120 -0
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/esm/components/Tour/Tour.js +948 -0
- package/dist/esm/components/Tour/Tour.js.map +1 -0
- package/dist/esm/components/Tour/TourWrapper.js +67 -0
- package/dist/esm/components/Tour/TourWrapper.js.map +1 -0
- package/dist/esm/components/Tour/index.js +38 -0
- package/dist/esm/components/Tour/index.js.map +1 -0
- package/dist/esm/components/Upload/Upload.js +948 -0
- package/dist/esm/components/Upload/Upload.js.map +1 -0
- package/dist/esm/components/WheelColumn.js +127 -0
- package/dist/esm/components/WheelColumn.js.map +1 -0
- package/dist/esm/constants/common.js +5 -0
- package/dist/esm/constants/common.js.map +1 -0
- package/dist/esm/favicon.ico +0 -0
- package/dist/esm/hooks/use-callback-ref.js +14 -0
- package/dist/esm/hooks/use-callback-ref.js.map +1 -0
- package/dist/esm/hooks/use-debounced-callback.js +21 -0
- package/dist/esm/hooks/use-debounced-callback.js.map +1 -0
- package/dist/esm/hooks/use-debounced-value.js +12 -0
- package/dist/esm/hooks/use-debounced-value.js.map +1 -0
- package/dist/esm/hooks/use-event-listener.js +21 -0
- package/dist/esm/hooks/use-event-listener.js.map +1 -0
- package/dist/esm/hooks/use-intersection-observer.js +56 -0
- package/dist/esm/hooks/use-intersection-observer.js.map +1 -0
- package/dist/esm/hooks/use-isomorphic-layout-effect.js +6 -0
- package/dist/esm/hooks/use-isomorphic-layout-effect.js.map +1 -0
- package/dist/esm/hooks/use-media-query.js +22 -0
- package/dist/esm/hooks/use-media-query.js.map +1 -0
- package/dist/esm/hooks/use-on-click-outside.js +18 -0
- package/dist/esm/hooks/use-on-click-outside.js.map +1 -0
- package/dist/esm/hooks/use-script.js +46 -0
- package/dist/esm/hooks/use-script.js.map +1 -0
- package/dist/esm/hooks/use-scroll-lock.js +27 -0
- package/dist/esm/hooks/use-scroll-lock.js.map +1 -0
- package/dist/esm/image.png +0 -0
- package/dist/esm/index.js +223 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/TextAnimation/BlurText.js +84 -0
- package/dist/esm/lib/TextAnimation/BlurText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/CircularText.js +96 -0
- package/dist/esm/lib/TextAnimation/CircularText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/FlipWords.js +103 -0
- package/dist/esm/lib/TextAnimation/FlipWords.js.map +1 -0
- package/dist/esm/lib/TextAnimation/GradientText.js +54 -0
- package/dist/esm/lib/TextAnimation/GradientText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/RollingText.js +70 -0
- package/dist/esm/lib/TextAnimation/RollingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/RotatingText.js +38 -0
- package/dist/esm/lib/TextAnimation/RotatingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/ShimmeringText.js +64 -0
- package/dist/esm/lib/TextAnimation/ShimmeringText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/SplittingText.js +86 -0
- package/dist/esm/lib/TextAnimation/SplittingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TextGenerateEffect.js +59 -0
- package/dist/esm/lib/TextAnimation/TextGenerateEffect.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TextHoverEffect.js +128 -0
- package/dist/esm/lib/TextAnimation/TextHoverEffect.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TextPressureEffect.js +135 -0
- package/dist/esm/lib/TextAnimation/TextPressureEffect.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TypingText.js +118 -0
- package/dist/esm/lib/TextAnimation/TypingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/WritingText.js +45 -0
- package/dist/esm/lib/TextAnimation/WritingText.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js +865 -0
- package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/viewerjs@1.11.7/node_modules/viewerjs/dist/viewer.css +1 -0
- package/dist/esm/styles/animation.css +1 -0
- package/dist/esm/styles/index.css +1 -0
- package/dist/esm/styles/theme.css +1 -0
- package/dist/esm/utils/animations.js +189 -0
- package/dist/esm/utils/animations.js.map +1 -0
- package/dist/esm/utils/css.js +25 -0
- package/dist/esm/utils/css.js.map +1 -0
- package/dist/esm/utils/data-table.js +20 -0
- package/dist/esm/utils/data-table.js.map +1 -0
- package/dist/esm/utils/datetime.js +17 -0
- package/dist/esm/utils/datetime.js.map +1 -0
- package/dist/esm/vite.svg +1 -0
- package/dist/esm/wave.png +0 -0
- package/dist/types/components/Accordion/Accordion.d.ts +49 -0
- package/dist/types/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/types/components/Accordion/index.d.ts +3 -0
- package/dist/types/components/Accordion/index.d.ts.map +1 -0
- package/dist/types/components/Avatar/Avatar.d.ts +18 -0
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/types/components/Avatar/index.d.ts +3 -0
- package/dist/types/components/Avatar/index.d.ts.map +1 -0
- package/dist/types/components/Badge/Badge.d.ts +10 -0
- package/dist/types/components/Badge/Badge.d.ts.map +1 -0
- package/dist/types/components/Badge/index.d.ts +2 -0
- package/dist/types/components/Badge/index.d.ts.map +1 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +23 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/types/components/Breadcrumb/index.d.ts +2 -0
- package/dist/types/components/Breadcrumb/index.d.ts.map +1 -0
- package/dist/types/components/Button/Button.d.ts +10 -0
- package/dist/types/components/Button/Button.d.ts.map +1 -0
- package/dist/types/components/Button/ButtonGroup.d.ts +16 -0
- package/dist/types/components/Button/ButtonGroup.d.ts.map +1 -0
- package/dist/types/components/Button/index.d.ts +5 -0
- package/dist/types/components/Button/index.d.ts.map +1 -0
- package/dist/types/components/Calendar/Calendar.d.ts +15 -0
- package/dist/types/components/Calendar/Calendar.d.ts.map +1 -0
- package/dist/types/components/Calendar/index.d.ts +3 -0
- package/dist/types/components/Calendar/index.d.ts.map +1 -0
- package/dist/types/components/Carousel/Carousel.d.ts +79 -0
- package/dist/types/components/Carousel/Carousel.d.ts.map +1 -0
- package/dist/types/components/Carousel/index.d.ts +4 -0
- package/dist/types/components/Carousel/index.d.ts.map +1 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts +15 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/types/components/Checkbox/index.d.ts +2 -0
- package/dist/types/components/Checkbox/index.d.ts.map +1 -0
- package/dist/types/components/Collapsible/Collapsible.d.ts +17 -0
- package/dist/types/components/Collapsible/Collapsible.d.ts.map +1 -0
- package/dist/types/components/Collapsible/index.d.ts +2 -0
- package/dist/types/components/Collapsible/index.d.ts.map +1 -0
- package/dist/types/components/Command/Command.d.ts +39 -0
- package/dist/types/components/Command/Command.d.ts.map +1 -0
- package/dist/types/components/Command/index.d.ts +15 -0
- package/dist/types/components/Command/index.d.ts.map +1 -0
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +64 -0
- package/dist/types/components/ContextMenu/ContextMenu.d.ts.map +1 -0
- package/dist/types/components/ContextMenu/index.d.ts +23 -0
- package/dist/types/components/ContextMenu/index.d.ts.map +1 -0
- package/dist/types/components/Cropper/Cropper.d.ts +86 -0
- package/dist/types/components/Cropper/Cropper.d.ts.map +1 -0
- package/dist/types/components/Cropper/CropperTool.d.ts +149 -0
- package/dist/types/components/Cropper/CropperTool.d.ts.map +1 -0
- package/dist/types/components/Cropper/index.d.ts +4 -0
- package/dist/types/components/Cropper/index.d.ts.map +1 -0
- package/dist/types/components/Cropper/utils.d.ts +130 -0
- package/dist/types/components/Cropper/utils.d.ts.map +1 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +56 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/types/components/DatePicker/RangePicker.d.ts +42 -0
- package/dist/types/components/DatePicker/RangePicker.d.ts.map +1 -0
- package/dist/types/components/DatePicker/TimePicker.d.ts +43 -0
- package/dist/types/components/DatePicker/TimePicker.d.ts.map +1 -0
- package/dist/types/components/DatePicker/index.d.ts +7 -0
- package/dist/types/components/DatePicker/index.d.ts.map +1 -0
- package/dist/types/components/Dialog/Dialog.d.ts +45 -0
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/components/Dialog/index.d.ts +2 -0
- package/dist/types/components/Dialog/index.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +65 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/index.d.ts +22 -0
- package/dist/types/components/DropdownMenu/index.d.ts.map +1 -0
- package/dist/types/components/FloatLabel.d.ts +8 -0
- package/dist/types/components/FloatLabel.d.ts.map +1 -0
- package/dist/types/components/Glass/Glass.d.ts +10 -0
- package/dist/types/components/Glass/Glass.d.ts.map +1 -0
- package/dist/types/components/Glass/index.d.ts +2 -0
- package/dist/types/components/Glass/index.d.ts.map +1 -0
- package/dist/types/components/ImageViewer/ImageViewer.d.ts +58 -0
- package/dist/types/components/ImageViewer/ImageViewer.d.ts.map +1 -0
- package/dist/types/components/ImageViewer/index.d.ts +4 -0
- package/dist/types/components/ImageViewer/index.d.ts.map +1 -0
- package/dist/types/components/Input/Input.d.ts +27 -0
- package/dist/types/components/Input/Input.d.ts.map +1 -0
- package/dist/types/components/Input/index.d.ts +2 -0
- package/dist/types/components/Input/index.d.ts.map +1 -0
- package/dist/types/components/InputOTP/InputOTP.d.ts +20 -0
- package/dist/types/components/InputOTP/InputOTP.d.ts.map +1 -0
- package/dist/types/components/InputOTP/index.d.ts +2 -0
- package/dist/types/components/InputOTP/index.d.ts.map +1 -0
- package/dist/types/components/Interactive/3DCard.d.ts +28 -0
- package/dist/types/components/Interactive/3DCard.d.ts.map +1 -0
- package/dist/types/components/Interactive/3DMarquee.d.ts +20 -0
- package/dist/types/components/Interactive/3DMarquee.d.ts.map +1 -0
- package/dist/types/components/Interactive/CursorFollow.d.ts +75 -0
- package/dist/types/components/Interactive/CursorFollow.d.ts.map +1 -0
- package/dist/types/components/Interactive/index.cursor.d.ts +7 -0
- package/dist/types/components/Interactive/index.cursor.d.ts.map +1 -0
- package/dist/types/components/Interactive/index.d.ts +2 -0
- package/dist/types/components/Interactive/index.d.ts.map +1 -0
- package/dist/types/components/Label/Label.d.ts +3 -0
- package/dist/types/components/Label/Label.d.ts.map +1 -0
- package/dist/types/components/Label/index.d.ts +2 -0
- package/dist/types/components/Label/index.d.ts.map +1 -0
- package/dist/types/components/Marquee/Marquee.d.ts +31 -0
- package/dist/types/components/Marquee/Marquee.d.ts.map +1 -0
- package/dist/types/components/Marquee/MarqueeWrapper.d.ts +10 -0
- package/dist/types/components/Marquee/MarqueeWrapper.d.ts.map +1 -0
- package/dist/types/components/Marquee/index.d.ts +13 -0
- package/dist/types/components/Marquee/index.d.ts.map +1 -0
- package/dist/types/components/Masonry/Masonry.d.ts +41 -0
- package/dist/types/components/Masonry/Masonry.d.ts.map +1 -0
- package/dist/types/components/Masonry/MasonryWrapper.d.ts +29 -0
- package/dist/types/components/Masonry/MasonryWrapper.d.ts.map +1 -0
- package/dist/types/components/Masonry/index.d.ts +5 -0
- package/dist/types/components/Masonry/index.d.ts.map +1 -0
- package/dist/types/components/Pagination/Pagination.d.ts +24 -0
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/types/components/Pagination/index.d.ts +11 -0
- package/dist/types/components/Pagination/index.d.ts.map +1 -0
- package/dist/types/components/Popover/Popover.d.ts +22 -0
- package/dist/types/components/Popover/Popover.d.ts.map +1 -0
- package/dist/types/components/Popover/index.d.ts +5 -0
- package/dist/types/components/Popover/index.d.ts.map +1 -0
- package/dist/types/components/QrCode/QrCode.d.ts +51 -0
- package/dist/types/components/QrCode/QrCode.d.ts.map +1 -0
- package/dist/types/components/QrCode/index.d.ts +13 -0
- package/dist/types/components/QrCode/index.d.ts.map +1 -0
- package/dist/types/components/Radio/Radio.d.ts +35 -0
- package/dist/types/components/Radio/Radio.d.ts.map +1 -0
- package/dist/types/components/Radio/index.d.ts +2 -0
- package/dist/types/components/Radio/index.d.ts.map +1 -0
- package/dist/types/components/Rate/Rate.d.ts +26 -0
- package/dist/types/components/Rate/Rate.d.ts.map +1 -0
- package/dist/types/components/Rate/index.d.ts +3 -0
- package/dist/types/components/Rate/index.d.ts.map +1 -0
- package/dist/types/components/Resizable/Resizable.d.ts +71 -0
- package/dist/types/components/Resizable/Resizable.d.ts.map +1 -0
- package/dist/types/components/Resizable/index.d.ts +4 -0
- package/dist/types/components/Resizable/index.d.ts.map +1 -0
- package/dist/types/components/ScrollArea/ScrollArea.d.ts +19 -0
- package/dist/types/components/ScrollArea/ScrollArea.d.ts.map +1 -0
- package/dist/types/components/ScrollArea/index.d.ts +2 -0
- package/dist/types/components/ScrollArea/index.d.ts.map +1 -0
- package/dist/types/components/Select/Select.d.ts +33 -0
- package/dist/types/components/Select/Select.d.ts.map +1 -0
- package/dist/types/components/Select/index.d.ts +2 -0
- package/dist/types/components/Select/index.d.ts.map +1 -0
- package/dist/types/components/Separator/Separator.d.ts +5 -0
- package/dist/types/components/Separator/Separator.d.ts.map +1 -0
- package/dist/types/components/Separator/index.d.ts +2 -0
- package/dist/types/components/Separator/index.d.ts.map +1 -0
- package/dist/types/components/Sheet/Sheet.d.ts +36 -0
- package/dist/types/components/Sheet/Sheet.d.ts.map +1 -0
- package/dist/types/components/Sheet/index.d.ts +2 -0
- package/dist/types/components/Sheet/index.d.ts.map +1 -0
- package/dist/types/components/Sidebar/Sidebar.d.ts +50 -0
- package/dist/types/components/Sidebar/Sidebar.d.ts.map +1 -0
- package/dist/types/components/Sidebar/index.d.ts +4 -0
- package/dist/types/components/Sidebar/index.d.ts.map +1 -0
- package/dist/types/components/Skeleton/Skeleton.d.ts +6 -0
- package/dist/types/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/components/Skeleton/index.d.ts +2 -0
- package/dist/types/components/Skeleton/index.d.ts.map +1 -0
- package/dist/types/components/Slider/Slider.d.ts +25 -0
- package/dist/types/components/Slider/Slider.d.ts.map +1 -0
- package/dist/types/components/Slider/index.d.ts +2 -0
- package/dist/types/components/Slider/index.d.ts.map +1 -0
- package/dist/types/components/Stepper/Stepper.d.ts +86 -0
- package/dist/types/components/Stepper/Stepper.d.ts.map +1 -0
- package/dist/types/components/Stepper/StepperWrapper.d.ts +25 -0
- package/dist/types/components/Stepper/StepperWrapper.d.ts.map +1 -0
- package/dist/types/components/Stepper/index.d.ts +18 -0
- package/dist/types/components/Stepper/index.d.ts.map +1 -0
- package/dist/types/components/Switch/Switch.d.ts +14 -0
- package/dist/types/components/Switch/Switch.d.ts.map +1 -0
- package/dist/types/components/Switch/index.d.ts +2 -0
- package/dist/types/components/Switch/index.d.ts.map +1 -0
- package/dist/types/components/Table/TableFilter/data-table-date-filter.d.ts +9 -0
- package/dist/types/components/Table/TableFilter/data-table-date-filter.d.ts.map +1 -0
- package/dist/types/components/Table/TableFilter/data-table-filter-popover.d.ts +11 -0
- package/dist/types/components/Table/TableFilter/data-table-filter-popover.d.ts.map +1 -0
- package/dist/types/components/Table/TableFilter/data-table-slider-filter.d.ts +8 -0
- package/dist/types/components/Table/TableFilter/data-table-slider-filter.d.ts.map +1 -0
- package/dist/types/components/Table/TableWrapper.d.ts +2 -0
- package/dist/types/components/Table/TableWrapper.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-column-header.d.ts +9 -0
- package/dist/types/components/Table/data-table-column-header.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-pagination.d.ts +12 -0
- package/dist/types/components/Table/data-table-pagination.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-toolbar.d.ts +10 -0
- package/dist/types/components/Table/data-table-toolbar.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-view-options.d.ts +9 -0
- package/dist/types/components/Table/data-table-view-options.d.ts.map +1 -0
- package/dist/types/components/Table/data-table.d.ts +18 -0
- package/dist/types/components/Table/data-table.d.ts.map +1 -0
- package/dist/types/components/Table/index.d.ts +2 -0
- package/dist/types/components/Table/index.d.ts.map +1 -0
- package/dist/types/components/Table/select-column.d.ts +5 -0
- package/dist/types/components/Table/select-column.d.ts.map +1 -0
- package/dist/types/components/Tabs/Tabs.d.ts +22 -0
- package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/types/components/Tabs/classes.d.ts +29 -0
- package/dist/types/components/Tabs/classes.d.ts.map +1 -0
- package/dist/types/components/Tabs/index.d.ts +4 -0
- package/dist/types/components/Tabs/index.d.ts.map +1 -0
- package/dist/types/components/Tabs/types.d.ts +15 -0
- package/dist/types/components/Tabs/types.d.ts.map +1 -0
- package/dist/types/components/Textarea/Textarea.d.ts +17 -0
- package/dist/types/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/types/components/Textarea/index.d.ts +2 -0
- package/dist/types/components/Textarea/index.d.ts.map +1 -0
- package/dist/types/components/Theme/ThemeShowcase.d.ts +3 -0
- package/dist/types/components/Theme/ThemeShowcase.d.ts.map +1 -0
- package/dist/types/components/TimeGridView.d.ts +15 -0
- package/dist/types/components/TimeGridView.d.ts.map +1 -0
- package/dist/types/components/Toast/Toast.d.ts +12 -0
- package/dist/types/components/Toast/Toast.d.ts.map +1 -0
- package/dist/types/components/Toast/index.d.ts +3 -0
- package/dist/types/components/Toast/index.d.ts.map +1 -0
- package/dist/types/components/Toggle/Toggle.d.ts +10 -0
- package/dist/types/components/Toggle/Toggle.d.ts.map +1 -0
- package/dist/types/components/Toggle/index.d.ts +2 -0
- package/dist/types/components/Toggle/index.d.ts.map +1 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +19 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/types/components/Tooltip/index.d.ts +3 -0
- package/dist/types/components/Tooltip/index.d.ts.map +1 -0
- package/dist/types/components/Tour/Tour.d.ts +105 -0
- package/dist/types/components/Tour/Tour.d.ts.map +1 -0
- package/dist/types/components/Tour/TourWrapper.d.ts +46 -0
- package/dist/types/components/Tour/TourWrapper.d.ts.map +1 -0
- package/dist/types/components/Tour/index.d.ts +36 -0
- package/dist/types/components/Tour/index.d.ts.map +1 -0
- package/dist/types/components/TreeSelect/TreeSelect.d.ts +2 -0
- package/dist/types/components/TreeSelect/TreeSelect.d.ts.map +1 -0
- package/dist/types/components/TreeSelect/index.d.ts +2 -0
- package/dist/types/components/TreeSelect/index.d.ts.map +1 -0
- package/dist/types/components/Upload/Upload.d.ts +69 -0
- package/dist/types/components/Upload/Upload.d.ts.map +1 -0
- package/dist/types/components/Upload/index.d.ts +2 -0
- package/dist/types/components/Upload/index.d.ts.map +1 -0
- package/dist/types/components/WheelColumn.d.ts +15 -0
- package/dist/types/components/WheelColumn.d.ts.map +1 -0
- package/dist/types/config/data-table.d.ts +125 -0
- package/dist/types/config/data-table.d.ts.map +1 -0
- package/dist/types/constants/common.d.ts +4 -0
- package/dist/types/constants/common.d.ts.map +1 -0
- package/dist/types/constants/theme.d.ts +13 -0
- package/dist/types/constants/theme.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +10 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/use-callback-ref.d.ts +10 -0
- package/dist/types/hooks/use-callback-ref.d.ts.map +1 -0
- package/dist/types/hooks/use-data-table.d.ts +26 -0
- package/dist/types/hooks/use-data-table.d.ts.map +1 -0
- package/dist/types/hooks/use-debounced-callback.d.ts +2 -0
- package/dist/types/hooks/use-debounced-callback.d.ts.map +1 -0
- package/dist/types/hooks/use-debounced-value.d.ts +9 -0
- package/dist/types/hooks/use-debounced-value.d.ts.map +1 -0
- package/dist/types/hooks/use-event-listener.d.ts +7 -0
- package/dist/types/hooks/use-event-listener.d.ts.map +1 -0
- package/dist/types/hooks/use-intersection-observer.d.ts +20 -0
- package/dist/types/hooks/use-intersection-observer.d.ts.map +1 -0
- package/dist/types/hooks/use-isomorphic-layout-effect.d.ts +3 -0
- package/dist/types/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist/types/hooks/use-media-query.d.ts +7 -0
- package/dist/types/hooks/use-media-query.d.ts.map +1 -0
- package/dist/types/hooks/use-mouse-position.d.ts +14 -0
- package/dist/types/hooks/use-mouse-position.d.ts.map +1 -0
- package/dist/types/hooks/use-on-click-outside.d.ts +5 -0
- package/dist/types/hooks/use-on-click-outside.d.ts.map +1 -0
- package/dist/types/hooks/use-script.d.ts +9 -0
- package/dist/types/hooks/use-script.d.ts.map +1 -0
- package/dist/types/hooks/use-scroll-lock.d.ts +13 -0
- package/dist/types/hooks/use-scroll-lock.d.ts.map +1 -0
- package/dist/types/index.d.ts +72 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/BlurText.d.ts +18 -0
- package/dist/types/lib/TextAnimation/BlurText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/CircularText.d.ts +10 -0
- package/dist/types/lib/TextAnimation/CircularText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/FlipWords.d.ts +10 -0
- package/dist/types/lib/TextAnimation/FlipWords.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/GradientText.d.ts +11 -0
- package/dist/types/lib/TextAnimation/GradientText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/RollingText.d.ts +12 -0
- package/dist/types/lib/TextAnimation/RollingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/RotatingText.d.ts +11 -0
- package/dist/types/lib/TextAnimation/RotatingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/ShimmeringText.d.ts +12 -0
- package/dist/types/lib/TextAnimation/ShimmeringText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/SplittingText.d.ts +26 -0
- package/dist/types/lib/TextAnimation/SplittingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TextGenerateEffect.d.ts +10 -0
- package/dist/types/lib/TextAnimation/TextGenerateEffect.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TextHoverEffect.d.ts +6 -0
- package/dist/types/lib/TextAnimation/TextHoverEffect.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts +20 -0
- package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TypingText.d.ts +27 -0
- package/dist/types/lib/TextAnimation/TypingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/WritingText.d.ts +13 -0
- package/dist/types/lib/TextAnimation/WritingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/index.d.ts +16 -0
- package/dist/types/lib/TextAnimation/index.d.ts.map +1 -0
- package/dist/types/types/data-table.d.ts +44 -0
- package/dist/types/types/data-table.d.ts.map +1 -0
- package/dist/types/types/theme.d.ts +11 -0
- package/dist/types/types/theme.d.ts.map +1 -0
- package/dist/types/types/variables.d.ts +6 -0
- package/dist/types/types/variables.d.ts.map +1 -0
- package/dist/types/utils/animations.d.ts +47 -0
- package/dist/types/utils/animations.d.ts.map +1 -0
- package/dist/types/utils/css.d.ts +4 -0
- package/dist/types/utils/css.d.ts.map +1 -0
- package/dist/types/utils/data-table.d.ts +13 -0
- package/dist/types/utils/data-table.d.ts.map +1 -0
- package/dist/types/utils/datetime.d.ts +2 -0
- package/dist/types/utils/datetime.d.ts.map +1 -0
- package/dist/types/utils/parsers.d.ts +38 -0
- package/dist/types/utils/parsers.d.ts.map +1 -0
- package/package.json +968 -0
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
import { jsxs as H, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as $, useEffect as Te, useRef as z, useMemo as Z, useCallback as P, memo as $e } from "react";
|
|
3
|
+
import { cn as b } from "@dsui/ui/index";
|
|
4
|
+
import _ from "../Button/Button.js";
|
|
5
|
+
import ze from "../Select/Select.js";
|
|
6
|
+
import Ee from "../Input/Input.js";
|
|
7
|
+
import { Popover as Ue, PopoverTrigger as qe, PopoverContent as Ae } from "@dsui/ui/components/popover";
|
|
8
|
+
import { Drawer as Ge, DrawerTrigger as Je, DrawerContent as Ke, DrawerHeader as Qe, DrawerTitle as We, DrawerDescription as Xe } from "@dsui/ui/components/drawer";
|
|
9
|
+
import { isMobile as Ne } from "react-device-detect";
|
|
10
|
+
import { Clock as Ye } from "lucide-react";
|
|
11
|
+
import { TimeColumnwheel as B } from "../WheelColumn.js";
|
|
12
|
+
import { TimeGridView as Ze } from "../TimeGridView.js";
|
|
13
|
+
import { parse as _e, isValid as ye, format as Be } from "date-fns";
|
|
14
|
+
const L = (o, d = 1) => {
|
|
15
|
+
const C = [];
|
|
16
|
+
for (let g = 0; g < o; g += d)
|
|
17
|
+
C.push(g);
|
|
18
|
+
return C;
|
|
19
|
+
}, E = (o) => String(o).padStart(2, "0"), De = (o, d = "HH:mm") => !o || !ye(o) ? "" : Be(o, d), Se = (o, d = "HH:mm") => {
|
|
20
|
+
if (!o) return;
|
|
21
|
+
const g = _e(o, d, /* @__PURE__ */ new Date());
|
|
22
|
+
if (ye(g))
|
|
23
|
+
return g;
|
|
24
|
+
};
|
|
25
|
+
function Le(o) {
|
|
26
|
+
return o.replace(/HH|mm|ss/g, (d) => {
|
|
27
|
+
switch (d) {
|
|
28
|
+
case "HH":
|
|
29
|
+
case "mm":
|
|
30
|
+
case "ss":
|
|
31
|
+
return "99";
|
|
32
|
+
default:
|
|
33
|
+
return d;
|
|
34
|
+
}
|
|
35
|
+
}).replace(/H|m|s/g, () => "9");
|
|
36
|
+
}
|
|
37
|
+
function pt({
|
|
38
|
+
value: o,
|
|
39
|
+
onChange: d,
|
|
40
|
+
onSelect: C,
|
|
41
|
+
showHours: g = !0,
|
|
42
|
+
showMinutes: ee = !0,
|
|
43
|
+
showSeconds: j = !1,
|
|
44
|
+
disabled: v = !1,
|
|
45
|
+
className: te,
|
|
46
|
+
timeLabel: c,
|
|
47
|
+
mask: U,
|
|
48
|
+
format: y,
|
|
49
|
+
mode: a = "wheel",
|
|
50
|
+
hourInterval: ne = 1,
|
|
51
|
+
minuteInterval: re = 1,
|
|
52
|
+
secondInterval: se = 1,
|
|
53
|
+
disabledTimes: oe = [],
|
|
54
|
+
disabledTimeRanges: ie = [],
|
|
55
|
+
showNowButton: ce = !1,
|
|
56
|
+
nowButtonLabel: ae = "Now",
|
|
57
|
+
standalone: le = !0,
|
|
58
|
+
desktopMode: ue = "popover",
|
|
59
|
+
mobileMode: Me = "drawer",
|
|
60
|
+
color: F = "primary",
|
|
61
|
+
...ke
|
|
62
|
+
}) {
|
|
63
|
+
let x, T;
|
|
64
|
+
typeof y == "string" ? (x = y, T = y) : y ? (x = y.input, T = y.output) : (x = j ? "HH:mm:ss" : "HH:mm", T = j ? "HH:mm:ss" : "HH:mm");
|
|
65
|
+
const [p, N] = $(void 0), [h, D] = $(void 0), [w, S] = $(void 0), [q, me] = $(!1);
|
|
66
|
+
Te(() => {
|
|
67
|
+
if (o) {
|
|
68
|
+
const e = Se(o, x);
|
|
69
|
+
e && (N(e.getHours()), D(e.getMinutes()), S(e.getSeconds()));
|
|
70
|
+
} else
|
|
71
|
+
N(void 0), D(void 0), S(void 0);
|
|
72
|
+
}, [o, x]);
|
|
73
|
+
const A = z(null), G = z(null), J = z(null), K = z(null), M = Z(
|
|
74
|
+
() => L(24, ne),
|
|
75
|
+
[ne]
|
|
76
|
+
), k = Z(
|
|
77
|
+
() => L(60, re),
|
|
78
|
+
[re]
|
|
79
|
+
), V = Z(
|
|
80
|
+
() => L(60, se),
|
|
81
|
+
[se]
|
|
82
|
+
), l = P(
|
|
83
|
+
(e, t, n = 0) => {
|
|
84
|
+
const s = `${E(e ?? 0)}:${E(t ?? 0)}${j ? `:${E(n ?? 0)}` : ""}`;
|
|
85
|
+
if (oe.includes(s))
|
|
86
|
+
return !0;
|
|
87
|
+
for (const m of ie) {
|
|
88
|
+
const [u, i, f = 0] = m.from.split(":").map(Number), [R, Ie, Oe = 0] = m.to.split(":").map(Number), xe = (e ?? 0) * 3600 + (t ?? 0) * 60 + (n ?? 0), Fe = u * 3600 + i * 60 + f, Re = R * 3600 + Ie * 60 + Oe;
|
|
89
|
+
if (xe >= Fe && xe <= Re)
|
|
90
|
+
return !0;
|
|
91
|
+
}
|
|
92
|
+
return !1;
|
|
93
|
+
},
|
|
94
|
+
[oe, ie, j]
|
|
95
|
+
), Q = P(
|
|
96
|
+
(e) => {
|
|
97
|
+
if (c)
|
|
98
|
+
return typeof c == "boolean" ? c ? e === "hours" ? "Hour" : e === "minutes" ? "Minute" : "Second" : void 0 : typeof c == "string" ? c : e === "hours" ? c.hours || "Hour" : e === "minutes" ? c.minutes || "Minute" : c.seconds || "Second";
|
|
99
|
+
},
|
|
100
|
+
[c]
|
|
101
|
+
), fe = typeof c == "string" && /* @__PURE__ */ r(
|
|
102
|
+
"div",
|
|
103
|
+
{
|
|
104
|
+
className: "text-xs font-semibold text-muted-foreground uppercase p-2 border-b w-full text-center",
|
|
105
|
+
children: c
|
|
106
|
+
},
|
|
107
|
+
"common-label"
|
|
108
|
+
), Pe = P(
|
|
109
|
+
(e, t, n = 0) => {
|
|
110
|
+
const s = M.reduce(
|
|
111
|
+
(i, f) => Math.abs(f - e) < Math.abs(i - e) ? f : i
|
|
112
|
+
), m = k.reduce(
|
|
113
|
+
(i, f) => Math.abs(f - t) < Math.abs(i - t) ? f : i
|
|
114
|
+
), u = V.reduce(
|
|
115
|
+
(i, f) => Math.abs(f - n) < Math.abs(i - n) ? f : i
|
|
116
|
+
);
|
|
117
|
+
if (l(s, m, u)) {
|
|
118
|
+
for (const i of M)
|
|
119
|
+
for (const f of k)
|
|
120
|
+
for (const R of V)
|
|
121
|
+
if (!l(i, f, R))
|
|
122
|
+
return { h: i, m: f, s: R };
|
|
123
|
+
}
|
|
124
|
+
return { h: s, m, s: u };
|
|
125
|
+
},
|
|
126
|
+
[M, k, V, l]
|
|
127
|
+
), I = P(
|
|
128
|
+
(e, t, n) => {
|
|
129
|
+
const s = /* @__PURE__ */ new Date();
|
|
130
|
+
s.setHours(e, t, n, 0);
|
|
131
|
+
const m = De(s, T);
|
|
132
|
+
C?.(s, m);
|
|
133
|
+
},
|
|
134
|
+
[T, C]
|
|
135
|
+
), de = (e) => {
|
|
136
|
+
l(e, h, w) || (N(e), I(e, h ?? 0, w ?? 0));
|
|
137
|
+
}, pe = (e) => {
|
|
138
|
+
l(p, e, w) || (D(e), I(p ?? 0, e, w ?? 0));
|
|
139
|
+
}, he = (e) => {
|
|
140
|
+
l(p, h, e) || (S(e), I(p ?? 0, h ?? 0, e));
|
|
141
|
+
}, O = P(
|
|
142
|
+
(e) => {
|
|
143
|
+
if (e.current) {
|
|
144
|
+
const t = e.current.querySelector(
|
|
145
|
+
"[data-selected]"
|
|
146
|
+
);
|
|
147
|
+
if (t) {
|
|
148
|
+
const n = e.current, s = n.clientHeight, m = t.offsetTop, u = t.clientHeight, i = m - s / 2 + u / 2;
|
|
149
|
+
n.scrollTo({
|
|
150
|
+
top: i,
|
|
151
|
+
behavior: "smooth"
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
[]
|
|
157
|
+
), W = P(() => {
|
|
158
|
+
a === "wheel" ? (O(A), O(G), O(J)) : a === "compact" && O(K);
|
|
159
|
+
}, [A, G, J, K, a, O]), ge = () => {
|
|
160
|
+
const e = /* @__PURE__ */ new Date(), { h: t, m: n, s } = Pe(
|
|
161
|
+
e.getHours(),
|
|
162
|
+
e.getMinutes(),
|
|
163
|
+
e.getSeconds()
|
|
164
|
+
);
|
|
165
|
+
N(t), D(n), S(s), I(t, n, s), setTimeout(() => W(), 100);
|
|
166
|
+
};
|
|
167
|
+
Te(() => {
|
|
168
|
+
const e = setTimeout(() => W(), 100);
|
|
169
|
+
return () => clearTimeout(e);
|
|
170
|
+
}, [q, a, W]);
|
|
171
|
+
const X = $e(
|
|
172
|
+
({
|
|
173
|
+
items: e,
|
|
174
|
+
value: t,
|
|
175
|
+
onChange: n,
|
|
176
|
+
timeLabel: s,
|
|
177
|
+
type: m
|
|
178
|
+
}) => /* @__PURE__ */ H("div", { className: "flex flex-col gap-2", children: [
|
|
179
|
+
s && /* @__PURE__ */ r("div", { className: "text-xs font-semibold text-muted-foreground uppercase p-2 border-b w-full text-center", children: s }),
|
|
180
|
+
/* @__PURE__ */ r("div", { className: "p-2", children: /* @__PURE__ */ r(
|
|
181
|
+
ze,
|
|
182
|
+
{
|
|
183
|
+
value: t?.toString() || "",
|
|
184
|
+
onValueChange: (u) => n(Number(u)),
|
|
185
|
+
disabled: v,
|
|
186
|
+
clearable: !1,
|
|
187
|
+
search: !1,
|
|
188
|
+
options: e.map((u) => {
|
|
189
|
+
const i = m === "hours" && l(u, h, w) || m === "minutes" && l(p, u, w) || m === "seconds" && l(p, h, u);
|
|
190
|
+
return {
|
|
191
|
+
label: E(u),
|
|
192
|
+
value: u.toString(),
|
|
193
|
+
disabled: i
|
|
194
|
+
};
|
|
195
|
+
})
|
|
196
|
+
}
|
|
197
|
+
) })
|
|
198
|
+
] })
|
|
199
|
+
), je = (e, t) => {
|
|
200
|
+
l(e, t, 0) || (N(e), D(t), S(0), I(e, t, 0));
|
|
201
|
+
}, ve = () => {
|
|
202
|
+
const e = [];
|
|
203
|
+
if (a === "compact")
|
|
204
|
+
return /* @__PURE__ */ r(
|
|
205
|
+
Ze,
|
|
206
|
+
{
|
|
207
|
+
HOURS: M,
|
|
208
|
+
MINUTES: k,
|
|
209
|
+
hours: p,
|
|
210
|
+
minutes: h,
|
|
211
|
+
disabled: v,
|
|
212
|
+
isTimeDisabled: l,
|
|
213
|
+
onTimeSelect: je,
|
|
214
|
+
ref: K,
|
|
215
|
+
color: F
|
|
216
|
+
}
|
|
217
|
+
);
|
|
218
|
+
if (g) {
|
|
219
|
+
const t = typeof c == "string" ? void 0 : Q("hours");
|
|
220
|
+
a === "wheel" ? e.push(
|
|
221
|
+
/* @__PURE__ */ r(
|
|
222
|
+
B,
|
|
223
|
+
{
|
|
224
|
+
ref: A,
|
|
225
|
+
items: M,
|
|
226
|
+
value: p,
|
|
227
|
+
onChange: de,
|
|
228
|
+
timeLabel: t,
|
|
229
|
+
isItemDisabled: (n) => l(n, h, w),
|
|
230
|
+
disabled: v,
|
|
231
|
+
color: F
|
|
232
|
+
},
|
|
233
|
+
"hours"
|
|
234
|
+
)
|
|
235
|
+
) : a === "select" && e.push(
|
|
236
|
+
/* @__PURE__ */ r(
|
|
237
|
+
X,
|
|
238
|
+
{
|
|
239
|
+
items: M,
|
|
240
|
+
value: p,
|
|
241
|
+
onChange: de,
|
|
242
|
+
timeLabel: t,
|
|
243
|
+
type: "hours"
|
|
244
|
+
},
|
|
245
|
+
"hours"
|
|
246
|
+
)
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
if (ee) {
|
|
250
|
+
const t = typeof c == "string" ? void 0 : Q("minutes");
|
|
251
|
+
a === "wheel" ? e.push(
|
|
252
|
+
/* @__PURE__ */ r(
|
|
253
|
+
B,
|
|
254
|
+
{
|
|
255
|
+
ref: G,
|
|
256
|
+
items: k,
|
|
257
|
+
value: h,
|
|
258
|
+
onChange: pe,
|
|
259
|
+
timeLabel: t,
|
|
260
|
+
itemClassName: g ? "border-l" : void 0,
|
|
261
|
+
isItemDisabled: (n) => l(p, n, w),
|
|
262
|
+
disabled: v,
|
|
263
|
+
color: F
|
|
264
|
+
},
|
|
265
|
+
"minutes"
|
|
266
|
+
)
|
|
267
|
+
) : a === "select" && e.push(
|
|
268
|
+
/* @__PURE__ */ r(
|
|
269
|
+
X,
|
|
270
|
+
{
|
|
271
|
+
items: k,
|
|
272
|
+
value: h,
|
|
273
|
+
onChange: pe,
|
|
274
|
+
timeLabel: t,
|
|
275
|
+
type: "minutes"
|
|
276
|
+
},
|
|
277
|
+
"minutes"
|
|
278
|
+
)
|
|
279
|
+
);
|
|
280
|
+
}
|
|
281
|
+
if (j) {
|
|
282
|
+
const t = typeof c == "string" ? void 0 : Q("seconds");
|
|
283
|
+
a === "wheel" ? e.push(
|
|
284
|
+
/* @__PURE__ */ r(
|
|
285
|
+
B,
|
|
286
|
+
{
|
|
287
|
+
ref: J,
|
|
288
|
+
items: V,
|
|
289
|
+
value: w,
|
|
290
|
+
onChange: he,
|
|
291
|
+
timeLabel: t,
|
|
292
|
+
itemClassName: ee || g ? "border-l" : void 0,
|
|
293
|
+
isItemDisabled: (n) => l(p, h, n),
|
|
294
|
+
disabled: v,
|
|
295
|
+
color: F
|
|
296
|
+
},
|
|
297
|
+
"seconds"
|
|
298
|
+
)
|
|
299
|
+
) : a === "select" && e.push(
|
|
300
|
+
/* @__PURE__ */ r(
|
|
301
|
+
X,
|
|
302
|
+
{
|
|
303
|
+
items: V,
|
|
304
|
+
value: w,
|
|
305
|
+
onChange: he,
|
|
306
|
+
timeLabel: t,
|
|
307
|
+
type: "seconds"
|
|
308
|
+
},
|
|
309
|
+
"seconds"
|
|
310
|
+
)
|
|
311
|
+
);
|
|
312
|
+
}
|
|
313
|
+
return e;
|
|
314
|
+
};
|
|
315
|
+
if (!le)
|
|
316
|
+
return /* @__PURE__ */ H(
|
|
317
|
+
"div",
|
|
318
|
+
{
|
|
319
|
+
className: b("flex flex-col gap-2 h-full justify-between", te),
|
|
320
|
+
children: [
|
|
321
|
+
fe,
|
|
322
|
+
/* @__PURE__ */ r(
|
|
323
|
+
"div",
|
|
324
|
+
{
|
|
325
|
+
className: b(
|
|
326
|
+
"flex rounded overflow-clip mb-auto",
|
|
327
|
+
a === "wheel" ? "items-end justify-center p-0 h-72" : "items-start justify-center"
|
|
328
|
+
),
|
|
329
|
+
children: ve()
|
|
330
|
+
}
|
|
331
|
+
),
|
|
332
|
+
ce && /* @__PURE__ */ r(
|
|
333
|
+
_,
|
|
334
|
+
{
|
|
335
|
+
type: "button",
|
|
336
|
+
variant: "solid",
|
|
337
|
+
size: "xs",
|
|
338
|
+
onClick: ge,
|
|
339
|
+
disabled: v,
|
|
340
|
+
className: b("rounded-none"),
|
|
341
|
+
children: ae
|
|
342
|
+
}
|
|
343
|
+
)
|
|
344
|
+
]
|
|
345
|
+
}
|
|
346
|
+
);
|
|
347
|
+
const we = /* @__PURE__ */ H("div", { className: b("flex flex-col gap-4 h-full", te), children: [
|
|
348
|
+
fe,
|
|
349
|
+
/* @__PURE__ */ r(
|
|
350
|
+
"div",
|
|
351
|
+
{
|
|
352
|
+
className: b(
|
|
353
|
+
"flex rounded overflow-clip my-auto mx-auto max-w-sm md:max-w-md lg:max-w-lg relative",
|
|
354
|
+
a === "wheel" ? "items-end justify-center p-0" : "items-start justify-center",
|
|
355
|
+
{
|
|
356
|
+
"h-72": a === "wheel",
|
|
357
|
+
"w-xs": le && (Ne || ue === "drawer")
|
|
358
|
+
}
|
|
359
|
+
),
|
|
360
|
+
children: ve()
|
|
361
|
+
}
|
|
362
|
+
),
|
|
363
|
+
ce && /* @__PURE__ */ r(
|
|
364
|
+
_,
|
|
365
|
+
{
|
|
366
|
+
type: "button",
|
|
367
|
+
variant: "solid",
|
|
368
|
+
size: "xs",
|
|
369
|
+
onClick: ge,
|
|
370
|
+
disabled: v,
|
|
371
|
+
className: b("rounded-none"),
|
|
372
|
+
children: ae
|
|
373
|
+
}
|
|
374
|
+
)
|
|
375
|
+
] }), Ce = /* @__PURE__ */ H(
|
|
376
|
+
_,
|
|
377
|
+
{
|
|
378
|
+
variant: "ghost",
|
|
379
|
+
className: "!p-1 !leading-0 h-auto rounded hover:bg-accent transition-colors",
|
|
380
|
+
disabled: v,
|
|
381
|
+
children: [
|
|
382
|
+
/* @__PURE__ */ r(Ye, { className: "size-4" }),
|
|
383
|
+
/* @__PURE__ */ r("span", { className: "sr-only", children: "Select time" })
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
), He = /* @__PURE__ */ H(Ue, { open: q, onOpenChange: me, children: [
|
|
387
|
+
/* @__PURE__ */ r(qe, { asChild: !0, disabled: v, children: Ce }),
|
|
388
|
+
/* @__PURE__ */ r(
|
|
389
|
+
Ae,
|
|
390
|
+
{
|
|
391
|
+
className: b(
|
|
392
|
+
"w-auto overflow-hidden p-0",
|
|
393
|
+
"backdrop-blur bg-background/50"
|
|
394
|
+
),
|
|
395
|
+
children: we
|
|
396
|
+
}
|
|
397
|
+
)
|
|
398
|
+
] }), be = /* @__PURE__ */ H(Ge, { open: q, onOpenChange: me, children: [
|
|
399
|
+
/* @__PURE__ */ r(Je, { asChild: !0, children: Ce }),
|
|
400
|
+
/* @__PURE__ */ H(
|
|
401
|
+
Ke,
|
|
402
|
+
{
|
|
403
|
+
className: b(
|
|
404
|
+
"w-auto overflow-hidden p-0",
|
|
405
|
+
"backdrop-blur bg-background"
|
|
406
|
+
),
|
|
407
|
+
children: [
|
|
408
|
+
/* @__PURE__ */ H(Qe, { className: "sr-only", children: [
|
|
409
|
+
/* @__PURE__ */ r(We, { children: "Select time" }),
|
|
410
|
+
/* @__PURE__ */ r(Xe, { children: "Choose a time" })
|
|
411
|
+
] }),
|
|
412
|
+
we
|
|
413
|
+
]
|
|
414
|
+
}
|
|
415
|
+
)
|
|
416
|
+
] }), Ve = T;
|
|
417
|
+
let Y;
|
|
418
|
+
return U === !0 ? Y = Le(x) : typeof U == "string" && (Y = U), /* @__PURE__ */ r(
|
|
419
|
+
Ee,
|
|
420
|
+
{
|
|
421
|
+
...ke,
|
|
422
|
+
clearable: !0,
|
|
423
|
+
value: o || "",
|
|
424
|
+
placeholder: Ve,
|
|
425
|
+
mask: Y,
|
|
426
|
+
disabled: v,
|
|
427
|
+
className: "cursor-pointer",
|
|
428
|
+
onChange: (e) => {
|
|
429
|
+
const t = e.target.value, n = Se(t, x);
|
|
430
|
+
if (n) {
|
|
431
|
+
N(n.getHours()), D(n.getMinutes()), S(n.getSeconds());
|
|
432
|
+
const s = De(n, T);
|
|
433
|
+
d?.(e, s, n), C?.(n, s);
|
|
434
|
+
} else
|
|
435
|
+
N(0), D(0), S(0), d?.(e, t, void 0), C?.(void 0, t);
|
|
436
|
+
},
|
|
437
|
+
suffixIcon: Ne ? Me === "drawer" ? be : He : ue === "drawer" ? be : He
|
|
438
|
+
}
|
|
439
|
+
);
|
|
440
|
+
}
|
|
441
|
+
export {
|
|
442
|
+
pt as TimePicker
|
|
443
|
+
};
|
|
444
|
+
//# sourceMappingURL=TimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sources":["../../../../src/components/DatePicker/TimePicker.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type RefObject,\n} from \"react\";\nimport { cn } from \"@dsui/ui/index\";\nimport Button from \"../Button/Button\";\nimport Select from \"../Select/Select\";\nimport Input, { type InputProps } from \"../Input/Input\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@dsui/ui/components/popover\";\nimport {\n Drawer,\n DrawerContent,\n DrawerDescription,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from \"@dsui/ui/components/drawer\";\nimport { isMobile } from \"react-device-detect\";\nimport { Clock } from \"lucide-react\";\nimport { TimeColumnwheel } from \"../../components/WheelColumn\";\nimport { TimeGridView } from \"../../components/TimeGridView\";\nimport { format as dfFormat, parse, isValid } from \"date-fns\";\nimport type { CalendarColor } from \"../Calendar/Calendar\";\n\nexport type TimePickerMode = \"wheel\" | \"select\" | \"compact\";\n\nexport type DisabledTimeRange = {\n from: string; // Format: \"HH:mm\" or \"HH:mm:ss\"\n to: string; // Format: \"HH:mm\" or \"HH:mm:ss\"\n};\n\nexport type FormatType = string | { input: string; output: string };\n\nexport type TimePickerProps = Omit<\n InputProps,\n \"value\" | \"onChange\" | \"onSelect\" | \"mask\" | \"children\"\n> & {\n value?: string; // Time string in specified format\n onChange?: (\n event?: React.ChangeEvent<HTMLInputElement>,\n value?: string,\n date?: Date,\n ) => void;\n onSelect?: (date?: Date, value?: string) => void;\n showHours?: boolean;\n showMinutes?: boolean;\n showSeconds?: boolean;\n disabled?: boolean;\n className?: string;\n timeLabel?:\n | boolean\n | string\n | { hours?: string; minutes?: string; seconds?: string };\n mask?: boolean | string; // Enable mask for time input: true (auto-generate), string (custom mask), false/undefined (no mask)\n format?: FormatType; // Time format using date-fns format tokens (default: auto from showSeconds)\n\n // New configuration options\n mode?: TimePickerMode; // Display mode: 'wheel' (default), 'select', 'compact'\n hourInterval?: number; // Hour interval (e.g., 1, 2, 3) - defaults to 1\n minuteInterval?: number; // Minute interval (e.g., 5, 10, 15, 30) - defaults to 1\n secondInterval?: number; // Second interval (e.g., 5, 10, 15, 30) - defaults to 1\n disabledTimes?: string[]; // Array of disabled times in \"HH:mm\" or \"HH:mm:ss\" format\n disabledTimeRanges?: DisabledTimeRange[]; // Array of disabled time ranges\n showNowButton?: boolean; // Show \"Now\" button to select current time\n nowButtonLabel?: string; // Label for \"Now\" button (defaults to \"Now\")\n\n // Standalone mode configuration\n standalone?: boolean; // When true (default), TimePicker shows as a drawer/popover with trigger. When false, it's used as an integrated component (e.g., inside DatePicker)\n desktopMode?: \"popover\" | \"drawer\"; // Desktop display mode for standalone: 'popover' or 'drawer'\n mobileMode?: \"popover\" | \"drawer\"; // Mobile display mode for standalone: 'popover' or 'drawer'\n color?: CalendarColor; // Color variant for selected time (defaults to \"primary\")\n};\n\nconst generateIntervalArray = (max: number, interval: number = 1): number[] => {\n const result: number[] = [];\n for (let i = 0; i < max; i += interval) {\n result.push(i);\n }\n return result;\n};\n\nconst pad = (num: number): string => String(num).padStart(2, \"0\");\n\n// Format time Date to string using date-fns\nconst formatTime = (\n date: Date | undefined,\n format: string = \"HH:mm\",\n): string => {\n if (!date || !isValid(date)) return \"\";\n return dfFormat(date, format);\n};\n\n// Parse time string to Date using date-fns\nconst parseTimeString = (\n timeStr: string,\n format: string = \"HH:mm\",\n): Date | undefined => {\n if (!timeStr) return undefined;\n\n const referenceDate = new Date();\n const parsedDate = parse(timeStr, format, referenceDate);\n\n if (!isValid(parsedDate)) return undefined;\n\n return parsedDate;\n};\n\nfunction generateMaskFromTimeFormat(format: string): string {\n return format\n .replace(/HH|mm|ss/g, (match) => {\n switch (match) {\n case \"HH\":\n case \"mm\":\n case \"ss\":\n return \"99\";\n default:\n return match;\n }\n })\n .replace(/H|m|s/g, () => \"9\");\n}\n\nexport function TimePicker({\n value,\n onChange,\n onSelect,\n showHours = true,\n showMinutes = true,\n showSeconds = false,\n disabled = false,\n className,\n timeLabel,\n mask,\n format,\n mode = \"wheel\",\n hourInterval = 1,\n minuteInterval = 1,\n secondInterval = 1,\n disabledTimes = [],\n disabledTimeRanges = [],\n showNowButton = false,\n nowButtonLabel = \"Now\",\n standalone = true,\n desktopMode = \"popover\",\n mobileMode = \"drawer\",\n color = \"primary\",\n ...props\n}: TimePickerProps) {\n // Determine input and output formats (like DatePicker)\n let inputFormat: string;\n let outputFormat: string;\n if (typeof format === \"string\") {\n inputFormat = format;\n outputFormat = format;\n } else if (format) {\n inputFormat = format.input;\n outputFormat = format.output;\n } else {\n // Auto-determine from showSeconds if not provided\n inputFormat = showSeconds ? \"HH:mm:ss\" : \"HH:mm\";\n outputFormat = showSeconds ? \"HH:mm:ss\" : \"HH:mm\";\n }\n\n const [hours, setHours] = useState<number | undefined>(undefined);\n const [minutes, setMinutes] = useState<number | undefined>(undefined);\n const [seconds, setSeconds] = useState<number | undefined>(undefined);\n const [standaloneOpen, setStandaloneOpen] = useState(false);\n\n useEffect(() => {\n if (value) {\n const parsed = parseTimeString(value, inputFormat);\n if (parsed) {\n setHours(parsed.getHours());\n setMinutes(parsed.getMinutes());\n setSeconds(parsed.getSeconds());\n }\n } else {\n setHours(undefined);\n setMinutes(undefined);\n setSeconds(undefined);\n }\n }, [value, inputFormat]);\n\n const hoursRef = useRef<HTMLDivElement>(null);\n const minutesRef = useRef<HTMLDivElement>(null);\n const secondsRef = useRef<HTMLDivElement>(null);\n const gridRef = useRef<HTMLDivElement>(null);\n\n // Generate time arrays based on intervals\n const HOURS = useMemo(\n () => generateIntervalArray(24, hourInterval),\n [hourInterval],\n );\n const MINUTES = useMemo(\n () => generateIntervalArray(60, minuteInterval),\n [minuteInterval],\n );\n const SECONDS = useMemo(\n () => generateIntervalArray(60, secondInterval),\n [secondInterval],\n );\n\n // Helper function to check if a time is disabled\n const isTimeDisabled = useCallback(\n (\n h: number | undefined,\n m: number | undefined,\n s: number | undefined = 0,\n ): boolean => {\n const timeStr = `${pad(h ?? 0)}:${pad(m ?? 0)}${showSeconds ? `:${pad(s ?? 0)}` : \"\"}`;\n\n // Check if specific time is disabled\n if (disabledTimes.includes(timeStr)) {\n return true;\n }\n\n // Check if time is in a disabled range\n for (const range of disabledTimeRanges) {\n const [fromH, fromM, fromS = 0] = range.from.split(\":\").map(Number);\n const [toH, toM, toS = 0] = range.to.split(\":\").map(Number);\n\n const currentTime = (h ?? 0) * 3600 + (m ?? 0) * 60 + (s ?? 0);\n const fromTime = fromH * 3600 + fromM * 60 + fromS;\n const toTime = toH * 3600 + toM * 60 + toS;\n\n if (currentTime >= fromTime && currentTime <= toTime) {\n return true;\n }\n }\n\n return false;\n },\n [disabledTimes, disabledTimeRanges, showSeconds],\n );\n\n // Helper function to get time label based on type and timeLabel prop\n const getTimeLabel = useCallback(\n (type: \"hours\" | \"minutes\" | \"seconds\"): string | undefined => {\n if (!timeLabel) return undefined;\n\n if (typeof timeLabel === \"boolean\") {\n return timeLabel\n ? type === \"hours\"\n ? \"Hour\"\n : type === \"minutes\"\n ? \"Minute\"\n : \"Second\"\n : undefined;\n }\n\n if (typeof timeLabel === \"string\") {\n return timeLabel;\n }\n\n // Object case\n if (type === \"hours\") return timeLabel.hours || \"Hour\";\n if (type === \"minutes\") return timeLabel.minutes || \"Minute\";\n return timeLabel.seconds || \"Second\";\n },\n [timeLabel],\n );\n\n // If timeLabel is a string, show it as a common label above all columns\n const shareLabel = typeof timeLabel === \"string\" && (\n <div\n key=\"common-label\"\n className=\"text-xs font-semibold text-muted-foreground uppercase p-2 border-b w-full text-center\"\n >\n {timeLabel}\n </div>\n );\n\n // Find nearest valid time\n const findNearestValidTime = useCallback(\n (\n targetH: number,\n targetM: number,\n targetS: number = 0,\n ): { h: number; m: number; s: number } => {\n // Find nearest hour\n const nearestH = HOURS.reduce((prev, curr) =>\n Math.abs(curr - targetH) < Math.abs(prev - targetH) ? curr : prev,\n );\n\n // Find nearest minute\n const nearestM = MINUTES.reduce((prev, curr) =>\n Math.abs(curr - targetM) < Math.abs(prev - targetM) ? curr : prev,\n );\n\n // Find nearest second\n const nearestS = SECONDS.reduce((prev, curr) =>\n Math.abs(curr - targetS) < Math.abs(prev - targetS) ? curr : prev,\n );\n\n // If the nearest time is disabled, find the next available time\n if (isTimeDisabled(nearestH, nearestM, nearestS)) {\n // Try to find next available time\n for (const h of HOURS) {\n for (const m of MINUTES) {\n for (const s of SECONDS) {\n if (!isTimeDisabled(h, m, s)) {\n return { h, m, s };\n }\n }\n }\n }\n }\n\n return { h: nearestH, m: nearestM, s: nearestS };\n },\n [HOURS, MINUTES, SECONDS, isTimeDisabled],\n );\n\n const updateDateTime = useCallback(\n (h: number, m: number, s: number) => {\n const newDate = new Date();\n newDate.setHours(h, m, s, 0);\n const formattedValue = formatTime(newDate, outputFormat);\n onSelect?.(newDate, formattedValue);\n },\n [outputFormat, onSelect],\n );\n\n const handleHourChange = (h: number) => {\n if (!isTimeDisabled(h, minutes, seconds)) {\n setHours(h);\n updateDateTime(h, minutes ?? 0, seconds ?? 0);\n }\n };\n\n const handleMinuteChange = (m: number) => {\n if (!isTimeDisabled(hours, m, seconds)) {\n setMinutes(m);\n updateDateTime(hours ?? 0, m, seconds ?? 0);\n }\n };\n\n const handleSecondChange = (s: number) => {\n if (!isTimeDisabled(hours, minutes, s)) {\n setSeconds(s);\n updateDateTime(hours ?? 0, minutes ?? 0, s);\n }\n };\n\n // Scroll to center item when selected\n const scrollToSelected = useCallback(\n (ref: RefObject<HTMLDivElement | null>) => {\n if (ref.current) {\n const selected = ref.current.querySelector(\n \"[data-selected]\",\n ) as HTMLElement;\n if (selected) {\n const container = ref.current;\n const containerHeight = container.clientHeight;\n const selectedTop = selected.offsetTop;\n const selectedHeight = selected.clientHeight;\n\n const scrollPosition =\n selectedTop - containerHeight / 2 + selectedHeight / 2;\n\n container.scrollTo({\n top: scrollPosition,\n behavior: \"smooth\",\n });\n }\n }\n },\n [],\n );\n\n const scrollHandler = useCallback(() => {\n if (mode === \"wheel\") {\n // Scroll to selected item when picker opens (only for initial load)\n scrollToSelected(hoursRef);\n scrollToSelected(minutesRef);\n scrollToSelected(secondsRef);\n } else if (mode === \"compact\") {\n // Scroll to selected item in grid mode\n scrollToSelected(gridRef);\n }\n }, [hoursRef, minutesRef, secondsRef, gridRef, mode, scrollToSelected]);\n\n const handleNowClick = () => {\n const now = new Date();\n const { h, m, s } = findNearestValidTime(\n now.getHours(),\n now.getMinutes(),\n now.getSeconds(),\n );\n setHours(h);\n setMinutes(m);\n setSeconds(s);\n updateDateTime(h, m, s);\n setTimeout(() => scrollHandler(), 100);\n };\n\n useEffect(() => {\n const timer = setTimeout(() => scrollHandler(), 100);\n return () => clearTimeout(timer);\n }, [standaloneOpen, mode, scrollHandler]);\n\n // Normal Mode - Dropdown/Input style\n const TimeColumnNormal = memo(\n ({\n items,\n value: selectedValue,\n onChange: onChangeCol,\n timeLabel,\n type,\n }: {\n items: number[];\n value: number | undefined;\n onChange: (val: number) => void;\n timeLabel?: string;\n type: \"hours\" | \"minutes\" | \"seconds\";\n }) => (\n <div className=\"flex flex-col gap-2\">\n {timeLabel && (\n <div className=\"text-xs font-semibold text-muted-foreground uppercase p-2 border-b w-full text-center\">\n {timeLabel}\n </div>\n )}\n <div className=\"p-2\">\n <Select\n value={selectedValue?.toString() || \"\"}\n onValueChange={(value) => onChangeCol(Number(value))}\n disabled={disabled}\n clearable={false}\n search={false}\n options={items.map((item) => {\n const itemDisabled =\n (type === \"hours\" && isTimeDisabled(item, minutes, seconds)) ||\n (type === \"minutes\" && isTimeDisabled(hours, item, seconds)) ||\n (type === \"seconds\" && isTimeDisabled(hours, minutes, item));\n\n return {\n label: pad(item),\n value: item.toString(),\n disabled: itemDisabled,\n };\n })}\n />\n </div>\n </div>\n ),\n );\n\n // Grid Mode - Combined time selection (HH:mm format only, vertical layout)\n const handleTimeSelect = (h: number, m: number) => {\n // Always set seconds to 0 in grid mode\n if (!isTimeDisabled(h, m, 0)) {\n setHours(h);\n setMinutes(m);\n setSeconds(0);\n updateDateTime(h, m, 0);\n }\n };\n\n const renderColumns = () => {\n const columns = [];\n\n // Grid mode shows combined time options\n if (mode === \"compact\") {\n return (\n <TimeGridView\n HOURS={HOURS}\n MINUTES={MINUTES}\n hours={hours}\n minutes={minutes}\n disabled={disabled}\n isTimeDisabled={isTimeDisabled}\n onTimeSelect={handleTimeSelect}\n ref={gridRef}\n color={color}\n />\n );\n }\n\n if (showHours) {\n const hourLabel =\n typeof timeLabel === \"string\" ? undefined : getTimeLabel(\"hours\");\n\n if (mode === \"wheel\") {\n columns.push(\n <TimeColumnwheel\n key=\"hours\"\n ref={hoursRef}\n items={HOURS}\n value={hours}\n onChange={handleHourChange}\n timeLabel={hourLabel}\n isItemDisabled={(item) => isTimeDisabled(item, minutes, seconds)}\n disabled={disabled}\n color={color}\n />,\n );\n } else if (mode === \"select\") {\n columns.push(\n <TimeColumnNormal\n key=\"hours\"\n items={HOURS}\n value={hours}\n onChange={handleHourChange}\n timeLabel={hourLabel}\n type=\"hours\"\n />,\n );\n }\n }\n\n if (showMinutes) {\n const minuteLabel =\n typeof timeLabel === \"string\" ? undefined : getTimeLabel(\"minutes\");\n\n if (mode === \"wheel\") {\n columns.push(\n <TimeColumnwheel\n key=\"minutes\"\n ref={minutesRef}\n items={MINUTES}\n value={minutes}\n onChange={handleMinuteChange}\n timeLabel={minuteLabel}\n itemClassName={showHours ? \"border-l\" : undefined}\n isItemDisabled={(item) => isTimeDisabled(hours, item, seconds)}\n disabled={disabled}\n color={color}\n />,\n );\n } else if (mode === \"select\") {\n columns.push(\n <TimeColumnNormal\n key=\"minutes\"\n items={MINUTES}\n value={minutes}\n onChange={handleMinuteChange}\n timeLabel={minuteLabel}\n type=\"minutes\"\n />,\n );\n }\n }\n\n if (showSeconds) {\n const secondLabel =\n typeof timeLabel === \"string\" ? undefined : getTimeLabel(\"seconds\");\n\n if (mode === \"wheel\") {\n columns.push(\n <TimeColumnwheel\n key=\"seconds\"\n ref={secondsRef}\n items={SECONDS}\n value={seconds}\n onChange={handleSecondChange}\n timeLabel={secondLabel}\n itemClassName={showMinutes || showHours ? \"border-l\" : undefined}\n isItemDisabled={(item) => isTimeDisabled(hours, minutes, item)}\n disabled={disabled}\n color={color}\n />,\n );\n } else if (mode === \"select\") {\n columns.push(\n <TimeColumnNormal\n key=\"seconds\"\n items={SECONDS}\n value={seconds}\n onChange={handleSecondChange}\n timeLabel={secondLabel}\n type=\"seconds\"\n />,\n );\n }\n }\n\n return columns;\n };\n\n // If standalone mode is disabled, return the content directly (for integration with DatePicker)\n if (!standalone) {\n return (\n <div\n className={cn(\"flex flex-col gap-2 h-full justify-between\", className)}\n >\n {shareLabel}\n\n <div\n className={cn(\n \"flex rounded overflow-clip mb-auto\",\n mode === \"wheel\"\n ? \"items-end justify-center p-0 h-72\"\n : \"items-start justify-center\",\n )}\n >\n {renderColumns()}\n </div>\n\n {showNowButton && (\n <Button\n type=\"button\"\n variant=\"solid\"\n size=\"xs\"\n onClick={handleNowClick}\n disabled={disabled}\n className={cn(\"rounded-none\")}\n >\n {nowButtonLabel}\n </Button>\n )}\n </div>\n );\n }\n\n // Render the time picker content\n const timePickerContent = (\n <div className={cn(\"flex flex-col gap-4 h-full\", className)}>\n {shareLabel}\n\n <div\n className={cn(\n \"flex rounded overflow-clip my-auto mx-auto max-w-sm md:max-w-md lg:max-w-lg relative\",\n mode === \"wheel\"\n ? \"items-end justify-center p-0\"\n : \"items-start justify-center\",\n {\n \"h-72\": mode === \"wheel\",\n \"w-xs\": standalone && (isMobile || desktopMode === \"drawer\"),\n },\n )}\n >\n {renderColumns()}\n </div>\n\n {showNowButton && (\n <Button\n type=\"button\"\n variant=\"solid\"\n size=\"xs\"\n onClick={handleNowClick}\n disabled={disabled}\n className={cn(\"rounded-none\")}\n >\n {nowButtonLabel}\n </Button>\n )}\n </div>\n );\n\n // Standalone mode: show as drawer or popover with Input\n const iconTrigger = (\n <Button\n variant=\"ghost\"\n className=\"!p-1 !leading-0 h-auto rounded hover:bg-accent transition-colors\"\n disabled={disabled}\n >\n <Clock className=\"size-4\" />\n <span className=\"sr-only\">Select time</span>\n </Button>\n );\n\n const popPicker = (\n <Popover open={standaloneOpen} onOpenChange={setStandaloneOpen}>\n <PopoverTrigger asChild disabled={disabled}>\n {iconTrigger}\n </PopoverTrigger>\n <PopoverContent\n className={cn(\n \"w-auto overflow-hidden p-0\",\n \"backdrop-blur bg-background/50\",\n )}\n >\n {timePickerContent}\n </PopoverContent>\n </Popover>\n );\n\n const drawPicker = (\n <Drawer open={standaloneOpen} onOpenChange={setStandaloneOpen}>\n <DrawerTrigger asChild>{iconTrigger}</DrawerTrigger>\n <DrawerContent\n className={cn(\n \"w-auto overflow-hidden p-0\",\n \"backdrop-blur bg-background\",\n )}\n >\n <DrawerHeader className=\"sr-only\">\n <DrawerTitle>Select time</DrawerTitle>\n <DrawerDescription>Choose a time</DrawerDescription>\n </DrawerHeader>\n {timePickerContent}\n </DrawerContent>\n </Drawer>\n );\n\n // Determine the mask to use\n const timeFormat = outputFormat; // Use outputFormat for placeholder\n let maskToUse: string | undefined;\n if (mask === true) {\n maskToUse = generateMaskFromTimeFormat(inputFormat);\n } else if (typeof mask === \"string\") {\n maskToUse = mask;\n }\n // If mask is false or undefined, maskToUse remains undefined\n\n // Handle Input change (when user types)\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n const parsedDate = parseTimeString(inputValue, inputFormat);\n\n if (parsedDate) {\n setHours(parsedDate.getHours());\n setMinutes(parsedDate.getMinutes());\n setSeconds(parsedDate.getSeconds());\n const formattedValue = formatTime(parsedDate, outputFormat);\n onChange?.(e, formattedValue, parsedDate);\n onSelect?.(parsedDate, formattedValue);\n } else {\n // Reset state when input is cleared\n setHours(0);\n setMinutes(0);\n setSeconds(0);\n onChange?.(e, inputValue, undefined);\n onSelect?.(undefined, inputValue);\n }\n };\n\n // Return Input with picker as suffix icon (standalone mode)\n return (\n <Input\n {...props}\n clearable\n value={value || \"\"}\n placeholder={timeFormat}\n mask={maskToUse}\n disabled={disabled}\n className=\"cursor-pointer\"\n onChange={handleInputChange}\n suffixIcon={\n isMobile\n ? mobileMode === \"drawer\"\n ? drawPicker\n : popPicker\n : desktopMode === \"drawer\"\n ? drawPicker\n : popPicker\n }\n />\n );\n}\n"],"names":["generateIntervalArray","max","interval","result","i","pad","num","formatTime","date","format","isValid","dfFormat","parseTimeString","timeStr","parsedDate","parse","generateMaskFromTimeFormat","match","TimePicker","value","onChange","onSelect","showHours","showMinutes","showSeconds","disabled","className","timeLabel","mask","mode","hourInterval","minuteInterval","secondInterval","disabledTimes","disabledTimeRanges","showNowButton","nowButtonLabel","standalone","desktopMode","mobileMode","color","props","inputFormat","outputFormat","hours","setHours","useState","minutes","setMinutes","seconds","setSeconds","standaloneOpen","setStandaloneOpen","useEffect","parsed","hoursRef","useRef","minutesRef","secondsRef","gridRef","HOURS","useMemo","MINUTES","SECONDS","isTimeDisabled","useCallback","h","m","s","range","fromH","fromM","fromS","toH","toM","toS","currentTime","fromTime","toTime","getTimeLabel","type","shareLabel","jsx","findNearestValidTime","targetH","targetM","targetS","nearestH","prev","curr","nearestM","nearestS","updateDateTime","newDate","formattedValue","handleHourChange","handleMinuteChange","handleSecondChange","scrollToSelected","ref","selected","container","containerHeight","selectedTop","selectedHeight","scrollPosition","scrollHandler","handleNowClick","now","timer","TimeColumnNormal","memo","items","selectedValue","onChangeCol","jsxs","Select","item","itemDisabled","handleTimeSelect","renderColumns","columns","TimeGridView","hourLabel","TimeColumnwheel","minuteLabel","secondLabel","cn","Button","timePickerContent","isMobile","iconTrigger","Clock","popPicker","Popover","PopoverTrigger","PopoverContent","drawPicker","Drawer","DrawerTrigger","DrawerContent","DrawerHeader","DrawerTitle","DrawerDescription","timeFormat","maskToUse","Input","inputValue"],"mappings":"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"}
|