@sth87/shadcn-design-system 0.0.35 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -2
- package/dist/AI_CONTEXT.md +212 -214
- package/dist/cjs/components/Accordion/Accordion.cjs +1 -1
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/cjs/components/Badge/Badge.cjs +1 -1
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +1 -1
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.cjs +1 -1
- package/dist/cjs/components/Button/Button.cjs.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.cjs +1 -1
- package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/cjs/components/Carousel/Carousel.cjs +1 -1
- package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/cjs/components/Collapsible/Collapsible.cjs +1 -1
- package/dist/cjs/components/Collapsible/Collapsible.cjs.map +1 -1
- package/dist/cjs/components/Command/Command.cjs +1 -1
- package/dist/cjs/components/Command/Command.cjs.map +1 -1
- package/dist/cjs/components/ContextMenu/ContextMenu.cjs +1 -1
- package/dist/cjs/components/ContextMenu/ContextMenu.cjs.map +1 -1
- package/dist/cjs/components/Cropper/Cropper.cjs +1 -1
- package/dist/cjs/components/Cropper/Cropper.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/RangePicker.cjs +1 -1
- package/dist/cjs/components/DatePicker/RangePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/TimePicker.cjs +1 -1
- package/dist/cjs/components/DatePicker/TimePicker.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +1 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
- package/dist/cjs/components/FloatLabel.cjs +1 -1
- package/dist/cjs/components/FloatLabel.cjs.map +1 -1
- package/dist/cjs/components/Glass/Glass.cjs +1 -1
- package/dist/cjs/components/Glass/Glass.cjs.map +1 -1
- package/dist/cjs/components/ImageViewer/ImageViewer.cjs +1 -1
- package/dist/cjs/components/ImageViewer/ImageViewer.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.cjs +1 -1
- package/dist/cjs/components/Input/Input.cjs.map +1 -1
- package/dist/cjs/components/InputOTP/InputOTP.cjs +1 -1
- package/dist/cjs/components/InputOTP/InputOTP.cjs.map +1 -1
- package/dist/cjs/components/Interactive/CursorFollow.cjs +1 -1
- package/dist/cjs/components/Interactive/CursorFollow.cjs.map +1 -1
- package/dist/cjs/components/Marquee/Marquee.cjs +1 -1
- package/dist/cjs/components/Marquee/Marquee.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/QrCode/QrCode.cjs +1 -1
- package/dist/cjs/components/QrCode/QrCode.cjs.map +1 -1
- package/dist/cjs/components/Radio/Radio.cjs +1 -1
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/Rate/Rate.cjs +1 -1
- package/dist/cjs/components/Rate/Rate.cjs.map +1 -1
- package/dist/cjs/components/Resizable/Resizable.cjs +1 -1
- package/dist/cjs/components/Resizable/Resizable.cjs.map +1 -1
- package/dist/cjs/components/ScrollArea/ScrollArea.cjs +1 -1
- package/dist/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/dist/cjs/components/Select/Select.cjs +1 -1
- package/dist/cjs/components/Select/Select.cjs.map +1 -1
- package/dist/cjs/components/Sheet/Sheet.cjs +2 -2
- package/dist/cjs/components/Sheet/Sheet.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.cjs +1 -1
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
- package/dist/cjs/components/Stepper/Stepper.cjs +1 -1
- package/dist/cjs/components/Stepper/Stepper.cjs.map +1 -1
- package/dist/cjs/components/Stepper/StepperWrapper.cjs +1 -1
- package/dist/cjs/components/Stepper/StepperWrapper.cjs.map +1 -1
- package/dist/cjs/components/Switch/Switch.cjs +1 -1
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs +1 -1
- package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs.map +1 -1
- package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs +1 -1
- package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs.map +1 -1
- package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs +1 -1
- package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs.map +1 -1
- package/dist/cjs/components/Table/data-table-column-header.cjs +1 -1
- package/dist/cjs/components/Table/data-table-column-header.cjs.map +1 -1
- package/dist/cjs/components/Table/data-table-pagination.cjs +1 -1
- package/dist/cjs/components/Table/data-table-pagination.cjs.map +1 -1
- package/dist/cjs/components/Table/data-table.cjs +1 -1
- package/dist/cjs/components/Table/data-table.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/cjs/components/Tabs/classes.cjs +1 -1
- package/dist/cjs/components/Tabs/classes.cjs.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.cjs +1 -1
- package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -1
- package/dist/cjs/components/TimeGridView.cjs +1 -1
- package/dist/cjs/components/TimeGridView.cjs.map +1 -1
- package/dist/cjs/components/Toast/Toast.cjs +1 -1
- package/dist/cjs/components/Toast/Toast.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Tour/Tour.cjs +1 -1
- package/dist/cjs/components/Tour/Tour.cjs.map +1 -1
- package/dist/cjs/components/Tour/TourWrapper.cjs +1 -1
- package/dist/cjs/components/Tour/TourWrapper.cjs.map +1 -1
- package/dist/cjs/components/Upload/Upload.cjs +3 -3
- package/dist/cjs/components/Upload/Upload.cjs.map +1 -1
- package/dist/cjs/components/WheelColumn.cjs +1 -1
- package/dist/cjs/components/WheelColumn.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/BlurText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/BlurText.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/CircularText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/CircularText.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/FlipWords.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/FlipWords.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/GradientText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/GradientText.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/RollingText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/RollingText.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/RotatingText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/RotatingText.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs +2 -2
- package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/TypingText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/TypingText.cjs.map +1 -1
- package/dist/cjs/lib/TextAnimation/WritingText.cjs +1 -1
- package/dist/cjs/lib/TextAnimation/WritingText.cjs.map +1 -1
- package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +1 -0
- package/dist/cjs/packages/ui/src/components/accordion.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/accordion.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/alert-dialog.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/alert-dialog.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/avatar.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/avatar.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/badge.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/badge.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/breadcrumb.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/breadcrumb.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/button-group.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/button-group.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/button.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/button.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/calendar.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/calendar.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/checkbox.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/checkbox.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/combobox.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/combobox.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/command.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/command.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/context-menu.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/context-menu.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/dialog.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/dialog.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/drawer.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/drawer.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/dropdown-menu.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/input-otp.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/input-otp.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/input.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/input.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/label.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/label.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/pagination.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/pagination.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/popover.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/popover.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/radio-group.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/radio-group.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/resizable.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/resizable.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/scroll-area.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/scroll-area.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/select.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/select.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/separator.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/separator.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/sheet.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/sheet.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/sidebar.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/sidebar.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/skeleton.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/skeleton.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/switch.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/switch.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/table.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/table.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/tabs.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/tabs.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/textarea.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/textarea.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/toggle.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/toggle.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/tooltip.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/tooltip.cjs.map +1 -1
- package/dist/cjs/packages/ui/src/components/tree-view.cjs +1 -1
- package/dist/cjs/packages/ui/src/components/tree-view.cjs.map +1 -1
- package/dist/cjs/styles/index.css +1 -1
- package/dist/cjs/utils/animations.cjs +1 -1
- package/dist/cjs/utils/animations.cjs.map +1 -1
- package/dist/cjs/utils/css.cjs +1 -1
- package/dist/cjs/utils/css.cjs.map +1 -1
- package/dist/cjs/utils/parsers.cjs +1 -1
- package/dist/cjs/utils/parsers.cjs.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +60 -60
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +40 -40
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Badge/Badge.js +1 -1
- package/dist/esm/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/Breadcrumb/Breadcrumb.js +36 -36
- package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/esm/components/Button/Button.js +9 -9
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Calendar/Calendar.js +4 -4
- package/dist/esm/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/Carousel/Carousel.js +165 -165
- package/dist/esm/components/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +26 -26
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Collapsible/Collapsible.js +43 -43
- package/dist/esm/components/Collapsible/Collapsible.js.map +1 -1
- package/dist/esm/components/Command/Command.js +28 -28
- package/dist/esm/components/Command/Command.js.map +1 -1
- package/dist/esm/components/ContextMenu/ContextMenu.js +11 -11
- package/dist/esm/components/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/esm/components/Cropper/Cropper.js +132 -132
- package/dist/esm/components/Cropper/Cropper.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +75 -75
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/RangePicker.js +136 -136
- package/dist/esm/components/DatePicker/RangePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/TimePicker.js +150 -150
- package/dist/esm/components/DatePicker/TimePicker.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +114 -114
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +13 -13
- package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/esm/components/FloatLabel.js +44 -44
- package/dist/esm/components/FloatLabel.js.map +1 -1
- package/dist/esm/components/Glass/Glass.js +15 -15
- package/dist/esm/components/Glass/Glass.js.map +1 -1
- package/dist/esm/components/ImageViewer/ImageViewer.js +53 -53
- package/dist/esm/components/ImageViewer/ImageViewer.js.map +1 -1
- package/dist/esm/components/Input/Input.js +104 -104
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/InputOTP/InputOTP.js +16 -16
- package/dist/esm/components/InputOTP/InputOTP.js.map +1 -1
- package/dist/esm/components/Interactive/CursorFollow.js +49 -49
- package/dist/esm/components/Interactive/CursorFollow.js.map +1 -1
- package/dist/esm/components/Marquee/Marquee.js +130 -130
- package/dist/esm/components/Marquee/Marquee.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +68 -68
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/QrCode/QrCode.js +37 -37
- package/dist/esm/components/QrCode/QrCode.js.map +1 -1
- package/dist/esm/components/Radio/Radio.js +16 -16
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/Rate/Rate.js +62 -62
- package/dist/esm/components/Rate/Rate.js.map +1 -1
- package/dist/esm/components/Resizable/Resizable.js +6 -6
- package/dist/esm/components/Resizable/Resizable.js.map +1 -1
- package/dist/esm/components/ScrollArea/ScrollArea.js +10 -10
- package/dist/esm/components/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/esm/components/Select/Select.js +64 -64
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Sheet/Sheet.js +21 -21
- package/dist/esm/components/Sheet/Sheet.js.map +1 -1
- package/dist/esm/components/Slider/Slider.js +54 -54
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Stepper/Stepper.js +198 -198
- package/dist/esm/components/Stepper/Stepper.js.map +1 -1
- package/dist/esm/components/Stepper/StepperWrapper.js +15 -15
- package/dist/esm/components/Stepper/StepperWrapper.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +38 -38
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Table/TableFilter/data-table-date-filter.js +37 -37
- package/dist/esm/components/Table/TableFilter/data-table-date-filter.js.map +1 -1
- package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js +25 -25
- package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js.map +1 -1
- package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js +64 -64
- package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js.map +1 -1
- package/dist/esm/components/Table/data-table-column-header.js +18 -18
- package/dist/esm/components/Table/data-table-column-header.js.map +1 -1
- package/dist/esm/components/Table/data-table-pagination.js +21 -21
- package/dist/esm/components/Table/data-table-pagination.js.map +1 -1
- package/dist/esm/components/Table/data-table.js +18 -18
- package/dist/esm/components/Table/data-table.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +242 -242
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tabs/classes.js +51 -51
- package/dist/esm/components/Tabs/classes.js.map +1 -1
- package/dist/esm/components/Textarea/Textarea.js +49 -49
- package/dist/esm/components/Textarea/Textarea.js.map +1 -1
- package/dist/esm/components/TimeGridView.js +12 -12
- package/dist/esm/components/TimeGridView.js.map +1 -1
- package/dist/esm/components/Toast/Toast.js +45 -45
- package/dist/esm/components/Toast/Toast.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +19 -19
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Tour/Tour.js +11 -11
- package/dist/esm/components/Tour/Tour.js.map +1 -1
- package/dist/esm/components/Tour/TourWrapper.js +15 -15
- package/dist/esm/components/Tour/TourWrapper.js.map +1 -1
- package/dist/esm/components/Upload/Upload.js +405 -405
- package/dist/esm/components/Upload/Upload.js.map +1 -1
- package/dist/esm/components/WheelColumn.js +47 -47
- package/dist/esm/components/WheelColumn.js.map +1 -1
- package/dist/esm/lib/TextAnimation/BlurText.js +18 -18
- package/dist/esm/lib/TextAnimation/BlurText.js.map +1 -1
- package/dist/esm/lib/TextAnimation/CircularText.js +7 -7
- package/dist/esm/lib/TextAnimation/CircularText.js.map +1 -1
- package/dist/esm/lib/TextAnimation/FlipWords.js +21 -21
- package/dist/esm/lib/TextAnimation/FlipWords.js.map +1 -1
- package/dist/esm/lib/TextAnimation/GradientText.js +4 -4
- package/dist/esm/lib/TextAnimation/GradientText.js.map +1 -1
- package/dist/esm/lib/TextAnimation/RollingText.js +24 -24
- package/dist/esm/lib/TextAnimation/RollingText.js.map +1 -1
- package/dist/esm/lib/TextAnimation/RotatingText.js +6 -6
- package/dist/esm/lib/TextAnimation/RotatingText.js.map +1 -1
- package/dist/esm/lib/TextAnimation/ShimmeringText.js +9 -9
- package/dist/esm/lib/TextAnimation/ShimmeringText.js.map +1 -1
- package/dist/esm/lib/TextAnimation/TextGenerateEffect.js +14 -14
- package/dist/esm/lib/TextAnimation/TextGenerateEffect.js.map +1 -1
- package/dist/esm/lib/TextAnimation/TextHoverEffect.js +9 -9
- package/dist/esm/lib/TextAnimation/TextHoverEffect.js.map +1 -1
- package/dist/esm/lib/TextAnimation/TextPressureEffect.js +3 -3
- package/dist/esm/lib/TextAnimation/TextPressureEffect.js.map +1 -1
- package/dist/esm/lib/TextAnimation/TypingText.js +17 -17
- package/dist/esm/lib/TextAnimation/TypingText.js.map +1 -1
- package/dist/esm/lib/TextAnimation/WritingText.js +10 -10
- package/dist/esm/lib/TextAnimation/WritingText.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +1 -0
- package/dist/esm/packages/ui/src/components/accordion.js +31 -31
- package/dist/esm/packages/ui/src/components/accordion.js.map +1 -1
- package/dist/esm/packages/ui/src/components/alert-dialog.js +33 -33
- package/dist/esm/packages/ui/src/components/alert-dialog.js.map +1 -1
- package/dist/esm/packages/ui/src/components/avatar.js +20 -20
- package/dist/esm/packages/ui/src/components/avatar.js.map +1 -1
- package/dist/esm/packages/ui/src/components/badge.js +53 -53
- package/dist/esm/packages/ui/src/components/badge.js.map +1 -1
- package/dist/esm/packages/ui/src/components/breadcrumb.js +20 -20
- package/dist/esm/packages/ui/src/components/breadcrumb.js.map +1 -1
- package/dist/esm/packages/ui/src/components/button-group.js +31 -31
- package/dist/esm/packages/ui/src/components/button-group.js.map +1 -1
- package/dist/esm/packages/ui/src/components/button.js +90 -90
- package/dist/esm/packages/ui/src/components/button.js.map +1 -1
- package/dist/esm/packages/ui/src/components/calendar.js +94 -94
- package/dist/esm/packages/ui/src/components/calendar.js.map +1 -1
- package/dist/esm/packages/ui/src/components/checkbox.js +47 -47
- package/dist/esm/packages/ui/src/components/checkbox.js.map +1 -1
- package/dist/esm/packages/ui/src/components/combobox.js +64 -64
- package/dist/esm/packages/ui/src/components/combobox.js.map +1 -1
- package/dist/esm/packages/ui/src/components/command.js +77 -77
- package/dist/esm/packages/ui/src/components/command.js.map +1 -1
- package/dist/esm/packages/ui/src/components/context-menu.js +76 -76
- package/dist/esm/packages/ui/src/components/context-menu.js.map +1 -1
- package/dist/esm/packages/ui/src/components/dialog.js +54 -54
- package/dist/esm/packages/ui/src/components/dialog.js.map +1 -1
- package/dist/esm/packages/ui/src/components/drawer.js +39 -39
- package/dist/esm/packages/ui/src/components/drawer.js.map +1 -1
- package/dist/esm/packages/ui/src/components/dropdown-menu.js +109 -109
- package/dist/esm/packages/ui/src/components/dropdown-menu.js.map +1 -1
- package/dist/esm/packages/ui/src/components/input-otp.js +30 -30
- package/dist/esm/packages/ui/src/components/input-otp.js.map +1 -1
- package/dist/esm/packages/ui/src/components/input.js +19 -19
- package/dist/esm/packages/ui/src/components/input.js.map +1 -1
- package/dist/esm/packages/ui/src/components/label.js +9 -9
- package/dist/esm/packages/ui/src/components/label.js.map +1 -1
- package/dist/esm/packages/ui/src/components/pagination.js +26 -26
- package/dist/esm/packages/ui/src/components/pagination.js.map +1 -1
- package/dist/esm/packages/ui/src/components/popover.js +13 -13
- package/dist/esm/packages/ui/src/components/popover.js.map +1 -1
- package/dist/esm/packages/ui/src/components/radio-group.js +45 -45
- package/dist/esm/packages/ui/src/components/radio-group.js.map +1 -1
- package/dist/esm/packages/ui/src/components/resizable.js +18 -18
- package/dist/esm/packages/ui/src/components/resizable.js.map +1 -1
- package/dist/esm/packages/ui/src/components/scroll-area.js +31 -31
- package/dist/esm/packages/ui/src/components/scroll-area.js.map +1 -1
- package/dist/esm/packages/ui/src/components/select.js +119 -119
- package/dist/esm/packages/ui/src/components/select.js.map +1 -1
- package/dist/esm/packages/ui/src/components/separator.js +86 -86
- package/dist/esm/packages/ui/src/components/separator.js.map +1 -1
- package/dist/esm/packages/ui/src/components/sheet.js +50 -50
- package/dist/esm/packages/ui/src/components/sheet.js.map +1 -1
- package/dist/esm/packages/ui/src/components/sidebar.js +198 -198
- package/dist/esm/packages/ui/src/components/sidebar.js.map +1 -1
- package/dist/esm/packages/ui/src/components/skeleton.js +3 -3
- package/dist/esm/packages/ui/src/components/skeleton.js.map +1 -1
- package/dist/esm/packages/ui/src/components/switch.js +57 -57
- package/dist/esm/packages/ui/src/components/switch.js.map +1 -1
- package/dist/esm/packages/ui/src/components/table.js +17 -17
- package/dist/esm/packages/ui/src/components/table.js.map +1 -1
- package/dist/esm/packages/ui/src/components/tabs.js +33 -33
- package/dist/esm/packages/ui/src/components/tabs.js.map +1 -1
- package/dist/esm/packages/ui/src/components/textarea.js +17 -17
- package/dist/esm/packages/ui/src/components/textarea.js.map +1 -1
- package/dist/esm/packages/ui/src/components/toggle.js +36 -36
- package/dist/esm/packages/ui/src/components/toggle.js.map +1 -1
- package/dist/esm/packages/ui/src/components/tooltip.js +20 -20
- package/dist/esm/packages/ui/src/components/tooltip.js.map +1 -1
- package/dist/esm/packages/ui/src/components/tree-view.js +218 -218
- package/dist/esm/packages/ui/src/components/tree-view.js.map +1 -1
- package/dist/esm/styles/index.css +1 -1
- package/dist/esm/utils/animations.js +55 -55
- package/dist/esm/utils/animations.js.map +1 -1
- package/dist/esm/utils/css.js +7 -7
- package/dist/esm/utils/css.js.map +1 -1
- package/dist/esm/utils/parsers.js +1 -1
- package/dist/types/components/DatePicker/RangePicker.d.ts.map +1 -1
- package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts.map +1 -1
- package/dist/types/lib/TextAnimation/TypingText.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +0 -1
- /package/dist/cjs/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.cjs +0 -0
- /package/dist/esm/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../../../../../../packages/ui/src/components/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst colorVariants = {\n primary: {\n solid:\n \"border-primary bg-primary text-primary-foreground hover:bg-primary/90 focus-visible:ring-primary/20\",\n mix: \"bg-primary/30 border-primary text-primary hover:bg-primary/40 dark:bg-primary/30 dark:hover:bg-primary/40\",\n light:\n \"bg-primary/30 border-primary/0 text-primary hover:bg-primary/40 dark:bg-primary/30 dark:hover:bg-primary/40\",\n outline:\n \"border-primary text-primary hover:bg-primary/10 dark:border-primary dark:hover:bg-primary/20\",\n stroke:\n \"border-primary text-primary hover:bg-primary/10 dark:border-primary dark:hover:bg-primary/20\",\n ghost:\n \"text-primary hover:bg-primary/10 hover:text-primary dark:hover:bg-primary/20\",\n link: \"text-primary\",\n },\n secondary: {\n solid:\n \"border-secondary bg-secondary text-secondary-foreground hover:bg-secondary/80 focus-visible:ring-secondary/20\",\n mix: \"bg-secondary/30 border-secondary text-secondary hover:bg-secondary/40 dark:bg-secondary/30 dark:hover:bg-secondary/40\",\n light:\n \"bg-secondary/30 border-secondary/0 text-secondary hover:bg-secondary/40 dark:bg-secondary/30 dark:hover:bg-secondary/40\",\n outline:\n \"border-secondary text-secondary hover:bg-secondary/10 dark:border-secondary dark:hover:bg-secondary/20\",\n stroke:\n \"border-secondary text-secondary hover:bg-secondary/10 dark:border-secondary dark:hover:bg-secondary/20\",\n ghost:\n \"text-secondary hover:bg-secondary/10 hover:text-secondary dark:hover:bg-secondary/20\",\n link: \"text-secondary\",\n },\n accent: {\n solid:\n \"border-accent bg-accent text-accent-foreground hover:bg-accent/80 focus-visible:ring-accent/20\",\n mix: \"bg-accent/30 border-accent text-accent hover:bg-accent/40 dark:bg-accent/30 dark:hover:bg-accent/40\",\n light:\n \"bg-accent/30 border-accent/0 text-accent hover:bg-accent/40 dark:bg-accent/30 dark:hover:bg-accent/40\",\n outline:\n \"border-accent text-accent hover:bg-accent/10 dark:border-accent dark:hover:bg-accent/20\",\n stroke:\n \"border-accent text-accent hover:bg-accent/10 dark:border-accent dark:hover:bg-accent/20\",\n ghost:\n \"text-accent hover:bg-accent/10 hover:text-accent dark:hover:bg-accent/20\",\n link: \"text-accent\",\n },\n destructive: {\n solid:\n \"border-destructive bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60\",\n mix: \"bg-destructive/30 border-destructive text-destructive hover:bg-destructive/40 dark:bg-destructive/30 dark:hover:bg-destructive/40\",\n light:\n \"bg-destructive/30 border-destructive/0 text-destructive hover:bg-destructive/40 dark:bg-destructive/30 dark:hover:bg-destructive/40\",\n outline:\n \"border-destructive text-destructive hover:bg-destructive/10 dark:border-destructive dark:hover:bg-destructive/20\",\n stroke:\n \"border-destructive text-destructive hover:bg-destructive/10 dark:border-destructive dark:hover:bg-destructive/20\",\n ghost:\n \"text-destructive hover:bg-destructive/10 hover:text-destructive dark:hover:bg-destructive/20\",\n link: \"text-destructive\",\n },\n muted: {\n solid:\n \"border-muted bg-muted text-muted-foreground hover:bg-muted/80 focus-visible:ring-muted/20\",\n mix: \"bg-muted/30 border-muted text-muted-foreground hover:bg-muted/40 dark:bg-muted/30 dark:hover:bg-muted/40\",\n light:\n \"bg-muted/30 border-muted/0 text-muted-foreground hover:bg-muted/40 dark:bg-muted/30 dark:hover:bg-muted/40\",\n outline:\n \"border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground dark:border-input dark:hover:bg-input/50\",\n stroke:\n \"border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground dark:border-input dark:hover:bg-input/50\",\n ghost:\n \"text-muted-foreground hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-muted-foreground\",\n },\n success: {\n solid:\n \"border-success bg-success text-success-foreground hover:bg-success/90 focus-visible:ring-success/20 dark:bg-success/60\",\n mix: \"bg-success/30 border-success text-success hover:bg-success/40 dark:bg-success/30 dark:hover:bg-success/40\",\n light:\n \"bg-success/30 border-success/0 text-success hover:bg-success/40 dark:bg-success/30 dark:hover:bg-success/40\",\n outline:\n \"border-success text-success hover:bg-success/10 dark:border-success dark:hover:bg-success/20\",\n stroke:\n \"border-success text-success hover:bg-success/10 dark:border-success dark:hover:bg-success/20\",\n ghost:\n \"text-success hover:bg-success/10 hover:text-success dark:hover:bg-success/20\",\n link: \"text-success\",\n },\n error: {\n solid:\n \"border-error bg-error text-error-foreground hover:bg-error/90 focus-visible:ring-error/20 dark:bg-error/60\",\n mix: \"bg-error/30 border-error text-error hover:bg-error/40 dark:bg-error/30 dark:hover:bg-error/40\",\n light:\n \"bg-error/30 border-error/0 text-error hover:bg-error/40 dark:bg-error/30 dark:hover:bg-error/40\",\n outline:\n \"border-error text-error hover:bg-error/10 dark:border-error dark:hover:bg-error/20\",\n stroke:\n \"border-error text-error hover:bg-error/10 dark:border-error dark:hover:bg-error/20\",\n ghost:\n \"text-error hover:bg-error/10 hover:text-error dark:hover:bg-error/20\",\n link: \"text-error\",\n },\n warning: {\n solid:\n \"border-warning bg-warning text-warning-foreground hover:bg-warning/90 focus-visible:ring-warning/20 dark:bg-warning/60\",\n mix: \"bg-warning/30 border-warning text-warning hover:bg-warning/40 dark:bg-warning/30 dark:hover:bg-warning/40\",\n light:\n \"bg-warning/30 border-warning/0 text-warning hover:bg-warning/40 dark:bg-warning/30 dark:hover:bg-warning/40\",\n outline:\n \"border-warning text-warning hover:bg-warning/10 dark:border-warning dark:hover:bg-warning/20\",\n stroke:\n \"border-warning text-warning hover:bg-warning/10 dark:border-warning dark:hover:bg-warning/20\",\n ghost:\n \"text-warning hover:bg-warning/10 hover:text-warning dark:hover:bg-warning/20\",\n link: \"text-warning\",\n },\n};\n\nconst generateCompoundVariants = () => {\n const variants: Array<{\n variant: keyof typeof colorVariants.primary;\n color: keyof typeof colorVariants;\n className: string;\n }> = [];\n\n (Object.keys(colorVariants) as Array<keyof typeof colorVariants>).forEach(\n (color) => {\n (\n Object.keys(colorVariants[color]) as Array<\n keyof typeof colorVariants.primary\n >\n ).forEach((variant) => {\n variants.push({\n variant,\n color,\n className: colorVariants[color][variant],\n });\n });\n }\n );\n\n return variants;\n};\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n solid: \"border hover:bg-border\",\n mix: \"border bg-background shadow-xs dark:bg-input/30\",\n light: \"shadow-xs\",\n outline: \"border bg-background shadow-xs dark:bg-input/30\",\n stroke: \"border bg-background shadow-xs dark:bg-input/30\",\n ghost: \"\",\n link: \"\",\n },\n size: {\n xs: \"h-6 rounded-md gap-2 px-2 text-sm py-0.5 has-[>svg]:px-2\",\n sm: \"h-8 rounded-md gap-2 px-3 text-sm py-1.5 has-[>svg]:px-2.5\",\n normal: \"h-10 px-4 py-2 has-[>svg]:px-3\",\n lg: \"h-12 rounded-md px-4 py-3 has-[>svg]:px-4\",\n xl: \"h-14 rounded-md px-4 py-4 has-[>svg]:px-4\",\n icon: \"size-10 [&_svg:not([class*='size-'])]:size-6\",\n \"icon-xs\": \"size-6 [&_svg:not([class*='size-'])]:size-4\",\n \"icon-sm\": \"size-8 [&_svg:not([class*='size-'])]:size-5\",\n \"icon-lg\": \"size-12 [&_svg:not([class*='size-'])]:size-6\",\n \"icon-xl\": \"size-14 [&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon\":\n \"size-10 rounded-full [&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xs\":\n \"size-6 rounded-full [&_svg:not([class*='size-'])]:size-4\",\n \"circle-icon-sm\":\n \"size-8 rounded-full [&_svg:not([class*='size-'])]:size-5\",\n \"circle-icon-lg\":\n \"size-12 rounded-full [&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xl\":\n \"size-14 rounded-full [&_svg:not([class*='size-'])]:size-6\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n destructive: \"\",\n muted: \"\",\n mix: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n },\n },\n compoundVariants: generateCompoundVariants(),\n defaultVariants: {\n variant: \"solid\",\n size: \"normal\",\n color: null,\n },\n }\n);\n\ntype ButtonProps = React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n };\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, color, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, color, className }))}\n {...props}\n />\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"names":["colorVariants","generateCompoundVariants","variants","color","variant","buttonVariants","cva","Button","React","className","size","asChild","props","ref","jsx","Slot","cn"],"mappings":";;;;;AAMA,MAAMA,IAAgB;AAAA,EACpB,SAAS;AAAA,IACP,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAAA,EAER,WAAW;AAAA,IACT,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAAA,EAER,QAAQ;AAAA,IACN,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAAA,EAER,aAAa;AAAA,IACX,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAAA,EAER,OAAO;AAAA,IACL,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAAA,EAER,SAAS;AAAA,IACP,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAAA,EAER,OAAO;AAAA,IACL,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAAA,EAER,SAAS;AAAA,IACP,OACE;AAAA,IACF,KAAK;AAAA,IACL,OACE;AAAA,IACF,SACE;AAAA,IACF,QACE;AAAA,IACF,OACE;AAAA,IACF,MAAM;AAAA,EAAA;AAEV,GAEMC,IAA2B,MAAM;AACrC,QAAMC,IAID,CAAA;AAEJ,gBAAO,KAAKF,CAAa,EAAwC;AAAA,IAChE,CAACG,MAAU;AAEP,aAAO,KAAKH,EAAcG,CAAK,CAAC,EAGhC,QAAQ,CAACC,MAAY;AACrB,QAAAF,EAAS,KAAK;AAAA,UACZ,SAAAE;AAAA,UACA,OAAAD;AAAA,UACA,WAAWH,EAAcG,CAAK,EAAEC,CAAO;AAAA,QAAA,CACxC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EAAA,GAGKF;AACT,GAEMG,IAAiBC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,OAAO;AAAA,QACP,KAAK;AAAA,QACL,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,MAAA;AAAA,MAER,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,QAAQ;AAAA,QACR,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,eACE;AAAA,QACF,kBACE;AAAA,QACF,kBACE;AAAA,QACF,kBACE;AAAA,QACF,kBACE;AAAA,MAAA;AAAA,MAEJ,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,OAAO;AAAA,QACP,KAAK;AAAA,QACL,SAAS;AAAA,QACT,OAAO;AAAA,QACP,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,kBAAkBL,EAAA;AAAA,IAClB,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAOMM,IAASC,EAAM;AAAA,EACnB,CAAC,EAAE,WAAAC,GAAW,SAAAL,GAAS,MAAAM,GAAM,OAAAP,GAAO,SAAAQ,IAAU,IAAO,GAAGC,EAAA,GAASC,MAI7D,gBAAAC;AAAA,IAHWH,IAAUI,IAAO;AAAA,IAG3B;AAAA,MACC,KAAAF;AAAA,MACA,aAAU;AAAA,MACV,WAAWG,EAAGX,EAAe,EAAE,SAAAD,GAAS,MAAAM,GAAM,OAAAP,GAAO,WAAAM,EAAA,CAAW,CAAC;AAAA,MAChE,GAAGG;AAAA,IAAA;AAAA,EAAA;AAIZ;AAEAL,EAAO,cAAc;"}
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../../../../../../packages/ui/src/components/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst colorVariants = {\n primary: {\n solid:\n \"ds:border-primary ds:bg-primary ds:text-primary-foreground ds:hover:bg-primary/90 ds:focus-visible:ring-primary/20\",\n mix: \"ds:bg-primary/30 ds:border-primary ds:text-primary ds:hover:bg-primary/40 ds:dark:bg-primary/30 ds:dark:hover:bg-primary/40\",\n light:\n \"ds:bg-primary/30 ds:border-primary/0 ds:text-primary ds:hover:bg-primary/40 ds:dark:bg-primary/30 ds:dark:hover:bg-primary/40\",\n outline:\n \"ds:border-primary ds:text-primary ds:hover:bg-primary/10 ds:dark:border-primary ds:dark:hover:bg-primary/20\",\n stroke:\n \"ds:border-primary ds:text-primary ds:hover:bg-primary/10 ds:dark:border-primary ds:dark:hover:bg-primary/20\",\n ghost:\n \"ds:text-primary ds:hover:bg-primary/10 ds:hover:text-primary ds:dark:hover:bg-primary/20\",\n link: \"ds:text-primary\",\n },\n secondary: {\n solid:\n \"ds:border-secondary ds:bg-secondary ds:text-secondary-foreground ds:hover:bg-secondary/80 ds:focus-visible:ring-secondary/20\",\n mix: \"ds:bg-secondary/30 ds:border-secondary ds:text-secondary ds:hover:bg-secondary/40 ds:dark:bg-secondary/30 ds:dark:hover:bg-secondary/40\",\n light:\n \"ds:bg-secondary/30 ds:border-secondary/0 ds:text-secondary ds:hover:bg-secondary/40 ds:dark:bg-secondary/30 ds:dark:hover:bg-secondary/40\",\n outline:\n \"ds:border-secondary ds:text-secondary ds:hover:bg-secondary/10 ds:dark:border-secondary ds:dark:hover:bg-secondary/20\",\n stroke:\n \"ds:border-secondary ds:text-secondary ds:hover:bg-secondary/10 ds:dark:border-secondary ds:dark:hover:bg-secondary/20\",\n ghost:\n \"ds:text-secondary ds:hover:bg-secondary/10 ds:hover:text-secondary ds:dark:hover:bg-secondary/20\",\n link: \"ds:text-secondary\",\n },\n accent: {\n solid:\n \"ds:border-accent ds:bg-accent ds:text-accent-foreground ds:hover:bg-accent/80 ds:focus-visible:ring-accent/20\",\n mix: \"ds:bg-accent/30 ds:border-accent ds:text-accent ds:hover:bg-accent/40 ds:dark:bg-accent/30 ds:dark:hover:bg-accent/40\",\n light:\n \"ds:bg-accent/30 ds:border-accent/0 ds:text-accent ds:hover:bg-accent/40 ds:dark:bg-accent/30 ds:dark:hover:bg-accent/40\",\n outline:\n \"ds:border-accent ds:text-accent ds:hover:bg-accent/10 ds:dark:border-accent ds:dark:hover:bg-accent/20\",\n stroke:\n \"ds:border-accent ds:text-accent ds:hover:bg-accent/10 ds:dark:border-accent ds:dark:hover:bg-accent/20\",\n ghost:\n \"ds:text-accent ds:hover:bg-accent/10 ds:hover:text-accent ds:dark:hover:bg-accent/20\",\n link: \"ds:text-accent\",\n },\n destructive: {\n solid:\n \"ds:border-destructive ds:bg-destructive ds:text-destructive-foreground ds:hover:bg-destructive/90 ds:focus-visible:ring-destructive/20 ds:dark:bg-destructive/60\",\n mix: \"ds:bg-destructive/30 ds:border-destructive ds:text-destructive ds:hover:bg-destructive/40 ds:dark:bg-destructive/30 ds:dark:hover:bg-destructive/40\",\n light:\n \"ds:bg-destructive/30 ds:border-destructive/0 ds:text-destructive ds:hover:bg-destructive/40 ds:dark:bg-destructive/30 ds:dark:hover:bg-destructive/40\",\n outline:\n \"ds:border-destructive ds:text-destructive ds:hover:bg-destructive/10 ds:dark:border-destructive ds:dark:hover:bg-destructive/20\",\n stroke:\n \"ds:border-destructive ds:text-destructive ds:hover:bg-destructive/10 ds:dark:border-destructive ds:dark:hover:bg-destructive/20\",\n ghost:\n \"ds:text-destructive ds:hover:bg-destructive/10 ds:hover:text-destructive ds:dark:hover:bg-destructive/20\",\n link: \"ds:text-destructive\",\n },\n muted: {\n solid:\n \"ds:border-muted ds:bg-muted ds:text-muted-foreground ds:hover:bg-muted/80 ds:focus-visible:ring-muted/20\",\n mix: \"ds:bg-muted/30 ds:border-muted ds:text-muted-foreground ds:hover:bg-muted/40 ds:dark:bg-muted/30 ds:dark:hover:bg-muted/40\",\n light:\n \"ds:bg-muted/30 ds:border-muted/0 ds:text-muted-foreground ds:hover:bg-muted/40 ds:dark:bg-muted/30 ds:dark:hover:bg-muted/40\",\n outline:\n \"ds:border-input ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:border-input ds:dark:hover:bg-input/50\",\n stroke:\n \"ds:border-input ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:border-input ds:dark:hover:bg-input/50\",\n ghost:\n \"ds:text-muted-foreground ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:bg-accent/50\",\n link: \"ds:text-muted-foreground\",\n },\n success: {\n solid:\n \"ds:border-success ds:bg-success ds:text-success-foreground ds:hover:bg-success/90 ds:focus-visible:ring-success/20 ds:dark:bg-success/60\",\n mix: \"ds:bg-success/30 ds:border-success ds:text-success ds:hover:bg-success/40 ds:dark:bg-success/30 ds:dark:hover:bg-success/40\",\n light:\n \"ds:bg-success/30 ds:border-success/0 ds:text-success ds:hover:bg-success/40 ds:dark:bg-success/30 ds:dark:hover:bg-success/40\",\n outline:\n \"ds:border-success ds:text-success ds:hover:bg-success/10 ds:dark:border-success ds:dark:hover:bg-success/20\",\n stroke:\n \"ds:border-success ds:text-success ds:hover:bg-success/10 ds:dark:border-success ds:dark:hover:bg-success/20\",\n ghost:\n \"ds:text-success ds:hover:bg-success/10 ds:hover:text-success ds:dark:hover:bg-success/20\",\n link: \"ds:text-success\",\n },\n error: {\n solid:\n \"ds:border-error ds:bg-error ds:text-error-foreground ds:hover:bg-error/90 ds:focus-visible:ring-error/20 ds:dark:bg-error/60\",\n mix: \"ds:bg-error/30 ds:border-error ds:text-error ds:hover:bg-error/40 ds:dark:bg-error/30 ds:dark:hover:bg-error/40\",\n light:\n \"ds:bg-error/30 ds:border-error/0 ds:text-error ds:hover:bg-error/40 ds:dark:bg-error/30 ds:dark:hover:bg-error/40\",\n outline:\n \"ds:border-error ds:text-error ds:hover:bg-error/10 ds:dark:border-error ds:dark:hover:bg-error/20\",\n stroke:\n \"ds:border-error ds:text-error ds:hover:bg-error/10 ds:dark:border-error ds:dark:hover:bg-error/20\",\n ghost:\n \"ds:text-error ds:hover:bg-error/10 ds:hover:text-error ds:dark:hover:bg-error/20\",\n link: \"ds:text-error\",\n },\n warning: {\n solid:\n \"ds:border-warning ds:bg-warning ds:text-warning-foreground ds:hover:bg-warning/90 ds:focus-visible:ring-warning/20 ds:dark:bg-warning/60\",\n mix: \"ds:bg-warning/30 ds:border-warning ds:text-warning ds:hover:bg-warning/40 ds:dark:bg-warning/30 ds:dark:hover:bg-warning/40\",\n light:\n \"ds:bg-warning/30 ds:border-warning/0 ds:text-warning ds:hover:bg-warning/40 ds:dark:bg-warning/30 ds:dark:hover:bg-warning/40\",\n outline:\n \"ds:border-warning ds:text-warning ds:hover:bg-warning/10 ds:dark:border-warning ds:dark:hover:bg-warning/20\",\n stroke:\n \"ds:border-warning ds:text-warning ds:hover:bg-warning/10 ds:dark:border-warning ds:dark:hover:bg-warning/20\",\n ghost:\n \"ds:text-warning ds:hover:bg-warning/10 ds:hover:text-warning ds:dark:hover:bg-warning/20\",\n link: \"ds:text-warning\",\n },\n};\n\nconst generateCompoundVariants = () => {\n const variants: Array<{\n variant: keyof typeof colorVariants.primary;\n color: keyof typeof colorVariants;\n className: string;\n }> = [];\n\n (Object.keys(colorVariants) as Array<keyof typeof colorVariants>).forEach(\n (color) => {\n (\n Object.keys(colorVariants[color]) as Array<\n keyof typeof colorVariants.primary\n >\n ).forEach((variant) => {\n variants.push({\n variant,\n color,\n className: colorVariants[color][variant],\n });\n });\n }\n );\n\n return variants;\n};\n\nconst buttonVariants = cva(\n \"ds:inline-flex ds:items-center ds:justify-center ds:gap-2 ds:whitespace-nowrap ds:rounded-md ds:text-sm ds:font-medium ds:transition-all ds:disabled:pointer-events-none ds:disabled:opacity-50 ds:[&_svg]:pointer-events-none ds:[&_svg:not([class*='size-'])]:size-4 ds:shrink-0 ds:[&_svg]:shrink-0 ds:outline-none ds:focus-visible:border-ring ds:focus-visible:ring-ring/50 ds:focus-visible:ring-[3px] ds:aria-invalid:ring-destructive/20 ds:dark:aria-invalid:ring-destructive/40 ds:aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n solid: \"ds:border ds:hover:bg-border\",\n mix: \"ds:border ds:bg-background ds:shadow-xs ds:dark:bg-input/30\",\n light: \"ds:shadow-xs\",\n outline: \"ds:border ds:bg-background ds:shadow-xs ds:dark:bg-input/30\",\n stroke: \"ds:border ds:bg-background ds:shadow-xs ds:dark:bg-input/30\",\n ghost: \"\",\n link: \"\",\n },\n size: {\n xs: \"ds:h-6 ds:rounded-md ds:gap-2 ds:px-2 ds:text-sm ds:py-0.5 ds:has-[>svg]:px-2\",\n sm: \"ds:h-8 ds:rounded-md ds:gap-2 ds:px-3 ds:text-sm ds:py-1.5 ds:has-[>svg]:px-2.5\",\n normal: \"ds:h-10 ds:px-4 ds:py-2 ds:has-[>svg]:px-3\",\n lg: \"ds:h-12 ds:rounded-md ds:px-4 ds:py-3 ds:has-[>svg]:px-4\",\n xl: \"ds:h-14 ds:rounded-md ds:px-4 ds:py-4 ds:has-[>svg]:px-4\",\n icon: \"ds:size-10 ds:[&_svg:not([class*='size-'])]:size-6\",\n \"icon-xs\": \"ds:size-6 ds:[&_svg:not([class*='size-'])]:size-4\",\n \"icon-sm\": \"ds:size-8 ds:[&_svg:not([class*='size-'])]:size-5\",\n \"icon-lg\": \"ds:size-12 ds:[&_svg:not([class*='size-'])]:size-6\",\n \"icon-xl\": \"ds:size-14 ds:[&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon\":\n \"ds:size-10 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xs\":\n \"ds:size-6 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-4\",\n \"circle-icon-sm\":\n \"ds:size-8 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-5\",\n \"circle-icon-lg\":\n \"ds:size-12 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-6\",\n \"circle-icon-xl\":\n \"ds:size-14 ds:rounded-full ds:[&_svg:not([class*='size-'])]:size-6\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n destructive: \"\",\n muted: \"\",\n mix: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n },\n },\n compoundVariants: generateCompoundVariants(),\n defaultVariants: {\n variant: \"solid\",\n size: \"normal\",\n color: null,\n },\n }\n);\n\ntype ButtonProps = React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n };\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, color, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, color, className }))}\n {...props}\n />\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"names":["colorVariants","generateCompoundVariants","variants","color","variant","buttonVariants","cva","Button","React","className","size","asChild","props","ref","jsx","Slot","cn"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import * as x from "react";
|
|
3
3
|
import { ChevronLeftIcon as y, ChevronRightIcon as w, ChevronDownIcon as k } from "lucide-react";
|
|
4
4
|
import { getDefaultClassNames as v, DayPicker as z } from "react-day-picker";
|
|
@@ -7,139 +7,139 @@ import { Button as B, buttonVariants as _ } from "./button.js";
|
|
|
7
7
|
function j({
|
|
8
8
|
className: u,
|
|
9
9
|
classNames: l,
|
|
10
|
-
showOutsideDays:
|
|
10
|
+
showOutsideDays: d = !0,
|
|
11
11
|
captionLayout: g = "label",
|
|
12
12
|
buttonVariant: i = "ghost",
|
|
13
|
-
variant:
|
|
13
|
+
variant: a = "default",
|
|
14
14
|
color: f = "primary",
|
|
15
|
-
formatters:
|
|
15
|
+
formatters: n,
|
|
16
16
|
components: b,
|
|
17
17
|
...p
|
|
18
18
|
}) {
|
|
19
|
-
const
|
|
20
|
-
return /* @__PURE__ */
|
|
19
|
+
const r = v(), m = h(f);
|
|
20
|
+
return /* @__PURE__ */ s(
|
|
21
21
|
z,
|
|
22
22
|
{
|
|
23
|
-
showOutsideDays:
|
|
23
|
+
showOutsideDays: d,
|
|
24
24
|
className: e(
|
|
25
|
-
"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
|
|
26
|
-
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
27
|
-
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
25
|
+
"ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent",
|
|
26
|
+
String.raw`ds:rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
27
|
+
String.raw`ds:rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
28
28
|
u
|
|
29
29
|
),
|
|
30
30
|
captionLayout: g,
|
|
31
31
|
formatters: {
|
|
32
|
-
formatMonthDropdown: (
|
|
33
|
-
...
|
|
32
|
+
formatMonthDropdown: (t) => t.toLocaleString("default", { month: "short" }),
|
|
33
|
+
...n
|
|
34
34
|
},
|
|
35
35
|
classNames: {
|
|
36
|
-
root: e("w-fit",
|
|
36
|
+
root: e("ds:w-fit", r.root),
|
|
37
37
|
months: e(
|
|
38
|
-
"flex gap-4 flex-col md:flex-row relative",
|
|
39
|
-
|
|
38
|
+
"ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative",
|
|
39
|
+
r.months
|
|
40
40
|
),
|
|
41
|
-
month: e("flex flex-col w-full gap-4",
|
|
41
|
+
month: e("ds:flex ds:flex-col ds:w-full ds:gap-4", r.month),
|
|
42
42
|
nav: e(
|
|
43
|
-
"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
|
|
44
|
-
|
|
43
|
+
"ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between",
|
|
44
|
+
r.nav
|
|
45
45
|
),
|
|
46
46
|
button_previous: e(
|
|
47
47
|
_({ variant: i }),
|
|
48
|
-
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
49
|
-
|
|
48
|
+
"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",
|
|
49
|
+
r.button_previous
|
|
50
50
|
),
|
|
51
51
|
button_next: e(
|
|
52
52
|
_({ variant: i }),
|
|
53
|
-
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
54
|
-
|
|
53
|
+
"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none",
|
|
54
|
+
r.button_next
|
|
55
55
|
),
|
|
56
56
|
month_caption: e(
|
|
57
|
-
"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
|
|
58
|
-
|
|
57
|
+
"ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)",
|
|
58
|
+
r.month_caption
|
|
59
59
|
),
|
|
60
60
|
dropdowns: e(
|
|
61
|
-
"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
|
|
62
|
-
|
|
61
|
+
"ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5",
|
|
62
|
+
r.dropdowns
|
|
63
63
|
),
|
|
64
64
|
dropdown_root: e(
|
|
65
|
-
"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
|
|
66
|
-
|
|
65
|
+
"ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md",
|
|
66
|
+
r.dropdown_root
|
|
67
67
|
),
|
|
68
68
|
dropdown: e(
|
|
69
|
-
"absolute bg-popover inset-0 opacity-0",
|
|
70
|
-
|
|
69
|
+
"ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0",
|
|
70
|
+
r.dropdown
|
|
71
71
|
),
|
|
72
72
|
caption_label: e(
|
|
73
|
-
"select-none font-medium",
|
|
74
|
-
g === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
|
|
75
|
-
|
|
73
|
+
"ds:select-none ds:font-medium",
|
|
74
|
+
g === "label" ? "ds:text-sm" : "ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5",
|
|
75
|
+
r.caption_label
|
|
76
76
|
),
|
|
77
77
|
table: "w-full border-collapse",
|
|
78
|
-
weekdays: e("flex",
|
|
78
|
+
weekdays: e("ds:flex", r.weekdays),
|
|
79
79
|
weekday: e(
|
|
80
|
-
"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
|
|
81
|
-
|
|
80
|
+
"ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none",
|
|
81
|
+
r.weekday
|
|
82
82
|
),
|
|
83
|
-
week: e("flex w-full mt-2",
|
|
83
|
+
week: e("ds:flex ds:w-full ds:mt-2", r.week),
|
|
84
84
|
week_number_header: e(
|
|
85
|
-
"select-none w-(--cell-size)",
|
|
86
|
-
|
|
85
|
+
"ds:select-none ds:w-(--cell-size)",
|
|
86
|
+
r.week_number_header
|
|
87
87
|
),
|
|
88
88
|
week_number: e(
|
|
89
|
-
"text-[0.8rem] select-none text-muted-foreground",
|
|
90
|
-
|
|
89
|
+
"ds:text-[0.8rem] ds:select-none ds:text-muted-foreground",
|
|
90
|
+
r.week_number
|
|
91
91
|
),
|
|
92
92
|
day: e(
|
|
93
|
-
"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
|
|
94
|
-
p.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
|
|
95
|
-
|
|
93
|
+
"ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none",
|
|
94
|
+
p.showWeekNumber ? "ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "ds:[&:first-child[data-selected=true]_button]:rounded-l-md",
|
|
95
|
+
r.day
|
|
96
96
|
),
|
|
97
97
|
range_start: e(
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
a === "rounded" ? `${m.rangeBg} ds:rounded-l-full` : "ds:rounded-l-md ds:bg-accent",
|
|
99
|
+
r.range_start
|
|
100
100
|
),
|
|
101
101
|
range_middle: e(
|
|
102
|
-
"rounded-none",
|
|
103
|
-
|
|
102
|
+
"ds:rounded-none",
|
|
103
|
+
r.range_middle
|
|
104
104
|
),
|
|
105
105
|
range_end: e(
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
a === "rounded" ? `${m.rangeBg} ds:rounded-r-full` : "ds:rounded-r-md ds:bg-accent",
|
|
107
|
+
r.range_end
|
|
108
108
|
),
|
|
109
109
|
today: e(
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
a === "rounded" ? `ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${m.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent` : "ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none",
|
|
111
|
+
r.today
|
|
112
112
|
),
|
|
113
113
|
outside: e(
|
|
114
|
-
"text-muted-foreground aria-selected:text-muted-foreground",
|
|
115
|
-
|
|
114
|
+
"ds:text-muted-foreground ds:aria-selected:text-muted-foreground",
|
|
115
|
+
r.outside
|
|
116
116
|
),
|
|
117
117
|
disabled: e(
|
|
118
|
-
"text-muted-foreground opacity-50",
|
|
119
|
-
|
|
118
|
+
"ds:text-muted-foreground ds:opacity-50",
|
|
119
|
+
r.disabled
|
|
120
120
|
),
|
|
121
|
-
hidden: e("invisible",
|
|
121
|
+
hidden: e("ds:invisible", r.hidden),
|
|
122
122
|
...l
|
|
123
123
|
},
|
|
124
124
|
components: {
|
|
125
|
-
Root: ({ className:
|
|
125
|
+
Root: ({ className: t, rootRef: o, ...c }) => /* @__PURE__ */ s(
|
|
126
126
|
"div",
|
|
127
127
|
{
|
|
128
128
|
"data-slot": "calendar",
|
|
129
|
-
ref:
|
|
130
|
-
className: e(
|
|
129
|
+
ref: o,
|
|
130
|
+
className: e(t),
|
|
131
131
|
...c
|
|
132
132
|
}
|
|
133
133
|
),
|
|
134
|
-
Chevron: ({ className:
|
|
134
|
+
Chevron: ({ className: t, orientation: o, ...c }) => o === "left" ? /* @__PURE__ */ s(y, { className: e("ds:size-4", t), ...c }) : o === "right" ? /* @__PURE__ */ s(
|
|
135
135
|
w,
|
|
136
136
|
{
|
|
137
|
-
className: e("size-4",
|
|
137
|
+
className: e("ds:size-4", t),
|
|
138
138
|
...c
|
|
139
139
|
}
|
|
140
|
-
) : /* @__PURE__ */
|
|
141
|
-
DayButton: (
|
|
142
|
-
WeekNumber: ({ children:
|
|
140
|
+
) : /* @__PURE__ */ s(k, { className: e("ds:size-4", t), ...c }),
|
|
141
|
+
DayButton: (t) => /* @__PURE__ */ s(R, { ...t, variant: a, color: f }),
|
|
142
|
+
WeekNumber: ({ children: t, ...o }) => /* @__PURE__ */ s("td", { ...o, children: /* @__PURE__ */ s("div", { className: "ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center", children: t }) }),
|
|
143
143
|
...b
|
|
144
144
|
},
|
|
145
145
|
...p
|
|
@@ -205,58 +205,58 @@ const h = (u = "foreground") => ({
|
|
|
205
205
|
function R({
|
|
206
206
|
className: u,
|
|
207
207
|
day: l,
|
|
208
|
-
modifiers:
|
|
208
|
+
modifiers: d,
|
|
209
209
|
variant: g = "default",
|
|
210
210
|
color: i = "foreground",
|
|
211
|
-
...
|
|
211
|
+
...a
|
|
212
212
|
}) {
|
|
213
|
-
const f = v(),
|
|
213
|
+
const f = v(), n = h(i), b = x.useRef(null);
|
|
214
214
|
return x.useEffect(() => {
|
|
215
|
-
|
|
216
|
-
}, [
|
|
215
|
+
d.focused && b.current?.focus();
|
|
216
|
+
}, [d.focused]), /* @__PURE__ */ s(
|
|
217
217
|
B,
|
|
218
218
|
{
|
|
219
219
|
ref: b,
|
|
220
220
|
variant: "ghost",
|
|
221
221
|
size: "icon",
|
|
222
222
|
"data-day": l.date.toLocaleDateString(),
|
|
223
|
-
"data-selected-single":
|
|
224
|
-
"data-range-start":
|
|
225
|
-
"data-range-end":
|
|
226
|
-
"data-range-middle":
|
|
223
|
+
"data-selected-single": d.selected && !d.range_start && !d.range_end && !d.range_middle,
|
|
224
|
+
"data-range-start": d.range_start,
|
|
225
|
+
"data-range-end": d.range_end,
|
|
226
|
+
"data-range-middle": d.range_middle,
|
|
227
227
|
className: e(
|
|
228
|
-
"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal",
|
|
229
|
-
"group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px]",
|
|
230
|
-
"group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50",
|
|
231
|
-
"[&>span]:text-xs [&>span]:opacity-70",
|
|
228
|
+
"ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal",
|
|
229
|
+
"ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]",
|
|
230
|
+
"ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50",
|
|
231
|
+
"ds:[&>span]:text-xs ds:[&>span]:opacity-70",
|
|
232
232
|
// Hover effect chỉ khi chưa selected
|
|
233
|
-
!
|
|
233
|
+
!d.selected && !d.range_start && !d.range_end && !d.range_middle && "ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground",
|
|
234
234
|
// Selected single day - chỉ apply color khi selected
|
|
235
|
-
|
|
235
|
+
d.selected && !d.range_start && !d.range_end && !d.range_middle && n.selected,
|
|
236
236
|
// Range start/end - chỉ apply color khi là range start/end
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
d.range_start && n.selected,
|
|
238
|
+
d.range_end && n.selected,
|
|
239
239
|
// Range middle - apply rangeBg nhưng giữ text color mặc định
|
|
240
|
-
|
|
240
|
+
d.range_middle && `${n.rangeBg} ds:text-accent-foreground`,
|
|
241
241
|
g === "default" && [
|
|
242
|
-
"data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md",
|
|
243
|
-
"data-[range-middle=true]:rounded-none",
|
|
244
|
-
"data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md"
|
|
242
|
+
"ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md",
|
|
243
|
+
"ds:data-[range-middle=true]:rounded-none",
|
|
244
|
+
"ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md"
|
|
245
245
|
],
|
|
246
246
|
g === "rounded" && [
|
|
247
|
-
"data-[selected-single=true]:rounded-full",
|
|
248
|
-
"data-[range-end=true]:rounded-full",
|
|
249
|
-
"data-[range-start=true]:rounded-full",
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
247
|
+
"ds:data-[selected-single=true]:rounded-full",
|
|
248
|
+
"ds:data-[range-end=true]:rounded-full",
|
|
249
|
+
"ds:data-[range-start=true]:rounded-full",
|
|
250
|
+
d.range_start && `ds:group-data-[focused=true]/day:${n.focusRing}`,
|
|
251
|
+
d.range_end && `ds:group-data-[focused=true]/day:${n.focusRing}`,
|
|
252
|
+
d.range_middle && "ds:rounded-none",
|
|
253
253
|
// Chỉ hover:rounded-full khi chưa selected
|
|
254
|
-
!
|
|
254
|
+
!d.selected && !d.range_start && !d.range_end && !d.range_middle && "ds:hover:rounded-full"
|
|
255
255
|
],
|
|
256
256
|
f.day,
|
|
257
257
|
u
|
|
258
258
|
),
|
|
259
|
-
...
|
|
259
|
+
...a
|
|
260
260
|
}
|
|
261
261
|
);
|
|
262
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sources":["../../../../../../../../packages/ui/src/components/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Button, buttonVariants } from \"@dsui/ui/components/button\";\n\ntype CalendarColor =\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"foreground\";\n\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n variant = \"default\",\n color = \"primary\",\n formatters,\n components,\n ...props\n}: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} rounded-l-full`\n : \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\n variant === \"rounded\" ? \"rounded-none\" : \"rounded-none\",\n defaultClassNames.range_middle\n ),\n range_end: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} rounded-r-full`\n : \"rounded-r-md bg-accent\",\n defaultClassNames.range_end\n ),\n today: cn(\n variant === \"rounded\"\n ? `rounded-full bg-accent data-[selected=true]:rounded-l-none data-[selected=true]:${colorClasses.rangeBg} [&_button[data-range-middle=true]]:bg-transparent`\n : \"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: (props) => (\n <CalendarDayButton {...props} variant={variant} color={color} />\n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\ntype CalendarDayButtonProps = Omit<\n React.ComponentProps<typeof DayButton>,\n \"color\"\n> & {\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\n\n// Color variants for calendar day buttons\nconst getColorClasses = (color: CalendarColor = \"foreground\") => {\n const colorMap = {\n primary: {\n selected: \"bg-primary text-primary-foreground\",\n selectedHover: \"hover:bg-primary/90\",\n rangeBg: \"bg-primary/20 dark:bg-primary/10\",\n focusRing: \"ring-primary/20 dark:ring-primary/40\",\n },\n secondary: {\n selected: \"bg-secondary text-secondary-foreground\",\n selectedHover: \"hover:bg-secondary/90\",\n rangeBg: \"bg-secondary/20 dark:bg-secondary/10\",\n focusRing: \"ring-secondary/20 dark:ring-secondary/40\",\n },\n accent: {\n selected: \"bg-accent text-accent-foreground\",\n selectedHover: \"hover:bg-accent/90\",\n rangeBg: \"bg-accent/20 dark:bg-accent/10\",\n focusRing: \"ring-accent/20 dark:ring-accent/40\",\n },\n destructive: {\n selected: \"bg-destructive text-destructive-foreground\",\n selectedHover: \"hover:bg-destructive/90\",\n rangeBg: \"bg-destructive/20 dark:bg-destructive/10\",\n focusRing: \"ring-destructive/20 dark:ring-destructive/40\",\n },\n muted: {\n selected: \"bg-muted text-muted-foreground\",\n selectedHover: \"hover:bg-muted/90\",\n rangeBg: \"bg-muted/30 dark:bg-muted/20\",\n focusRing: \"ring-muted/20 dark:ring-muted/40\",\n },\n success: {\n selected: \"bg-success text-success-foreground\",\n selectedHover: \"hover:bg-success/90\",\n rangeBg: \"bg-success/20 dark:bg-success/10\",\n focusRing: \"ring-success/20 dark:ring-success/40\",\n },\n error: {\n selected: \"bg-error text-error-foreground\",\n selectedHover: \"hover:bg-error/90\",\n rangeBg: \"bg-error/20 dark:bg-error/10\",\n focusRing: \"ring-error/20 dark:ring-error/40\",\n },\n warning: {\n selected: \"bg-warning text-warning-foreground\",\n selectedHover: \"hover:bg-warning/90\",\n rangeBg: \"bg-warning/20 dark:bg-warning/10\",\n focusRing: \"ring-warning/20 dark:ring-warning/40\",\n },\n foreground: {\n selected: \"bg-foreground text-background\",\n selectedHover: \"hover:bg-foreground/90\",\n rangeBg: \"bg-foreground/10 dark:bg-foreground/5\",\n focusRing: \"ring-foreground/20 dark:ring-foreground/40\",\n },\n };\n\n return colorMap[color];\n};\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n variant = \"default\",\n color = \"foreground\",\n ...props\n}: CalendarDayButtonProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal\",\n \"group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px]\",\n \"group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50\",\n \"[&>span]:text-xs [&>span]:opacity-70\",\n // Hover effect chỉ khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"hover:bg-accent hover:text-accent-foreground dark:hover:text-accent-foreground\",\n // Selected single day - chỉ apply color khi selected\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n colorClasses.selected,\n // Range start/end - chỉ apply color khi là range start/end\n modifiers.range_start && colorClasses.selected,\n modifiers.range_end && colorClasses.selected,\n // Range middle - apply rangeBg nhưng giữ text color mặc định\n modifiers.range_middle &&\n `${colorClasses.rangeBg} text-accent-foreground`,\n variant === \"default\" && [\n \"data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md\",\n \"data-[range-middle=true]:rounded-none\",\n \"data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md\",\n ],\n variant === \"rounded\" && [\n \"data-[selected-single=true]:rounded-full\",\n \"data-[range-end=true]:rounded-full\",\n \"data-[range-start=true]:rounded-full\",\n modifiers.range_start &&\n `group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_end &&\n `group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_middle && \"rounded-none\",\n // Chỉ hover:rounded-full khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"hover:rounded-full\",\n ],\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Calendar,\n CalendarDayButton,\n type CalendarProps,\n type CalendarDayButtonProps,\n type CalendarColor,\n};\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","variant","color","formatters","components","props","defaultClassNames","getDefaultClassNames","colorClasses","getColorClasses","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar.js","sources":["../../../../../../../../packages/ui/src/components/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport { DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Button, buttonVariants } from \"@dsui/ui/components/button\";\n\ntype CalendarColor =\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"foreground\";\n\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n variant = \"default\",\n color = \"primary\",\n formatters,\n components,\n ...props\n}: CalendarProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"ds:bg-background ds:group/calendar ds:p-3 ds:[--cell-size:--spacing(8)] ds:[[data-slot=card-content]_&]:bg-transparent ds:[[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`ds:rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`ds:rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"ds:w-fit\", defaultClassNames.root),\n months: cn(\n \"ds:flex ds:gap-4 ds:flex-col ds:md:flex-row ds:relative\",\n defaultClassNames.months\n ),\n month: cn(\"ds:flex ds:flex-col ds:w-full ds:gap-4\", defaultClassNames.month),\n nav: cn(\n \"ds:flex ds:items-center ds:gap-1 ds:w-full ds:absolute ds:top-0 ds:inset-x-0 ds:justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"ds:size-(--cell-size) ds:aria-disabled:opacity-50 ds:p-0 ds:select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"ds:flex ds:items-center ds:justify-center ds:h-(--cell-size) ds:w-full ds:px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"ds:w-full ds:flex ds:items-center ds:text-sm ds:font-medium ds:justify-center ds:h-(--cell-size) ds:gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"ds:relative ds:has-focus:border-ring ds:border ds:border-input ds:shadow-xs ds:has-focus:ring-ring/50 ds:has-focus:ring-[3px] ds:rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"ds:absolute ds:bg-popover ds:inset-0 ds:opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"ds:select-none ds:font-medium\",\n captionLayout === \"label\"\n ? \"ds:text-sm\"\n : \"ds:rounded-md ds:pl-2 ds:pr-1 ds:flex ds:items-center ds:gap-1 ds:text-sm ds:h-8 ds:[&>svg]:text-muted-foreground ds:[&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"ds:flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"ds:text-muted-foreground ds:rounded-md ds:flex-1 ds:font-normal ds:text-[0.8rem] ds:select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"ds:flex ds:w-full ds:mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"ds:select-none ds:w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"ds:text-[0.8rem] ds:select-none ds:text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"ds:relative ds:w-full ds:h-full ds:p-0 ds:text-center ds:[&:last-child[data-selected=true]_button]:rounded-r-md ds:group/day ds:aspect-square ds:select-none\",\n props.showWeekNumber\n ? \"ds:[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"ds:[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-l-full`\n : \"ds:rounded-l-md ds:bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\n variant === \"rounded\" ? \"ds:rounded-none\" : \"ds:rounded-none\",\n defaultClassNames.range_middle\n ),\n range_end: cn(\n variant === \"rounded\"\n ? `${colorClasses.rangeBg} ds:rounded-r-full`\n : \"ds:rounded-r-md ds:bg-accent\",\n defaultClassNames.range_end\n ),\n today: cn(\n variant === \"rounded\"\n ? `ds:rounded-full ds:bg-accent ds:data-[selected=true]:rounded-l-none ds:data-[selected=true]:${colorClasses.rangeBg} ds:[&_button[data-range-middle=true]]:bg-transparent`\n : \"ds:bg-accent ds:text-accent-foreground ds:rounded-md ds:data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"ds:text-muted-foreground ds:aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"ds:text-muted-foreground ds:opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"ds:invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"ds:size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"ds:size-4\", className)} {...props} />\n );\n },\n DayButton: (props) => (\n <CalendarDayButton {...props} variant={variant} color={color} />\n ),\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"ds:flex ds:size-(--cell-size) ds:items-center ds:justify-center ds:text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\ntype CalendarDayButtonProps = Omit<\n React.ComponentProps<typeof DayButton>,\n \"color\"\n> & {\n variant?: \"default\" | \"rounded\";\n color?: CalendarColor;\n};\n\n// Color variants for calendar day buttons\nconst getColorClasses = (color: CalendarColor = \"foreground\") => {\n const colorMap = {\n primary: {\n selected: \"bg-primary text-primary-foreground\",\n selectedHover: \"hover:bg-primary/90\",\n rangeBg: \"bg-primary/20 dark:bg-primary/10\",\n focusRing: \"ring-primary/20 dark:ring-primary/40\",\n },\n secondary: {\n selected: \"bg-secondary text-secondary-foreground\",\n selectedHover: \"hover:bg-secondary/90\",\n rangeBg: \"bg-secondary/20 dark:bg-secondary/10\",\n focusRing: \"ring-secondary/20 dark:ring-secondary/40\",\n },\n accent: {\n selected: \"bg-accent text-accent-foreground\",\n selectedHover: \"hover:bg-accent/90\",\n rangeBg: \"bg-accent/20 dark:bg-accent/10\",\n focusRing: \"ring-accent/20 dark:ring-accent/40\",\n },\n destructive: {\n selected: \"bg-destructive text-destructive-foreground\",\n selectedHover: \"hover:bg-destructive/90\",\n rangeBg: \"bg-destructive/20 dark:bg-destructive/10\",\n focusRing: \"ring-destructive/20 dark:ring-destructive/40\",\n },\n muted: {\n selected: \"bg-muted text-muted-foreground\",\n selectedHover: \"hover:bg-muted/90\",\n rangeBg: \"bg-muted/30 dark:bg-muted/20\",\n focusRing: \"ring-muted/20 dark:ring-muted/40\",\n },\n success: {\n selected: \"bg-success text-success-foreground\",\n selectedHover: \"hover:bg-success/90\",\n rangeBg: \"bg-success/20 dark:bg-success/10\",\n focusRing: \"ring-success/20 dark:ring-success/40\",\n },\n error: {\n selected: \"bg-error text-error-foreground\",\n selectedHover: \"hover:bg-error/90\",\n rangeBg: \"bg-error/20 dark:bg-error/10\",\n focusRing: \"ring-error/20 dark:ring-error/40\",\n },\n warning: {\n selected: \"bg-warning text-warning-foreground\",\n selectedHover: \"hover:bg-warning/90\",\n rangeBg: \"bg-warning/20 dark:bg-warning/10\",\n focusRing: \"ring-warning/20 dark:ring-warning/40\",\n },\n foreground: {\n selected: \"bg-foreground text-background\",\n selectedHover: \"hover:bg-foreground/90\",\n rangeBg: \"bg-foreground/10 dark:bg-foreground/5\",\n focusRing: \"ring-foreground/20 dark:ring-foreground/40\",\n },\n };\n\n return colorMap[color];\n};\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n variant = \"default\",\n color = \"foreground\",\n ...props\n}: CalendarDayButtonProps) {\n const defaultClassNames = getDefaultClassNames();\n const colorClasses = getColorClasses(color);\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"ds:flex ds:aspect-square ds:size-auto ds:w-full ds:min-w-(--cell-size) ds:flex-col ds:gap-1 ds:leading-none ds:font-normal\",\n \"ds:group-data-[focused=true]/day:relative ds:group-data-[focused=true]/day:z-10 ds:group-data-[focused=true]/day:ring-[3px]\",\n \"ds:group-data-[focused=true]/day:border-ring ds:group-data-[focused=true]/day:ring-ring/50\",\n \"ds:[&>span]:text-xs ds:[&>span]:opacity-70\",\n // Hover effect chỉ khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:bg-accent ds:hover:text-accent-foreground ds:dark:hover:text-accent-foreground\",\n // Selected single day - chỉ apply color khi selected\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n colorClasses.selected,\n // Range start/end - chỉ apply color khi là range start/end\n modifiers.range_start && colorClasses.selected,\n modifiers.range_end && colorClasses.selected,\n // Range middle - apply rangeBg nhưng giữ text color mặc định\n modifiers.range_middle &&\n `${colorClasses.rangeBg} ds:text-accent-foreground`,\n variant === \"default\" && [\n \"ds:data-[range-end=true]:rounded-md ds:data-[range-end=true]:rounded-r-md\",\n \"ds:data-[range-middle=true]:rounded-none\",\n \"ds:data-[range-start=true]:rounded-md ds:data-[range-start=true]:rounded-l-md\",\n ],\n variant === \"rounded\" && [\n \"ds:data-[selected-single=true]:rounded-full\",\n \"ds:data-[range-end=true]:rounded-full\",\n \"ds:data-[range-start=true]:rounded-full\",\n modifiers.range_start &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_end &&\n `ds:group-data-[focused=true]/day:${colorClasses.focusRing}`,\n modifiers.range_middle && \"ds:rounded-none\",\n // Chỉ hover:rounded-full khi chưa selected\n !modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle &&\n \"ds:hover:rounded-full\",\n ],\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Calendar,\n CalendarDayButton,\n type CalendarProps,\n type CalendarDayButtonProps,\n type CalendarColor,\n};\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","variant","color","formatters","components","props","defaultClassNames","getDefaultClassNames","colorClasses","getColorClasses","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
|