@sth87/shadcn-design-system 0.0.36 → 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/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,20 +1,20 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import
|
|
1
|
+
import { jsx as t, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import a from "react";
|
|
3
3
|
import { Textarea as S } from "../../packages/ui/src/components/textarea.js";
|
|
4
|
-
import { cn as
|
|
4
|
+
import { cn as o } from "../../packages/ui/src/lib/utils.js";
|
|
5
5
|
import { Info as T, X as V } from "lucide-react";
|
|
6
6
|
import { Tooltip as _ } from "../Tooltip/Tooltip.js";
|
|
7
7
|
import { FloatingLabel as k } from "../FloatLabel.js";
|
|
8
8
|
import { Label as H } from "../../packages/ui/src/components/label.js";
|
|
9
|
-
const X =
|
|
9
|
+
const X = a.forwardRef(
|
|
10
10
|
({
|
|
11
11
|
className: y,
|
|
12
12
|
label: u,
|
|
13
13
|
helperText: m,
|
|
14
14
|
state: i,
|
|
15
15
|
size: e = "normal",
|
|
16
|
-
isFloatLabel:
|
|
17
|
-
maxLength:
|
|
16
|
+
isFloatLabel: s,
|
|
17
|
+
maxLength: l,
|
|
18
18
|
showCharCount: h,
|
|
19
19
|
infoTooltip: f,
|
|
20
20
|
clearable: v,
|
|
@@ -22,78 +22,78 @@ const X = c.forwardRef(
|
|
|
22
22
|
placeholder: w = " ",
|
|
23
23
|
onChange: I,
|
|
24
24
|
required: p,
|
|
25
|
-
...
|
|
25
|
+
...d
|
|
26
26
|
}, R) => {
|
|
27
|
-
const [x, b] =
|
|
28
|
-
b(
|
|
29
|
-
}, g =
|
|
30
|
-
|
|
27
|
+
const [x, b] = a.useState(() => typeof d.value == "string" ? d.value.length : typeof d.defaultValue == "string" ? d.defaultValue.length : 0), j = (c) => {
|
|
28
|
+
b(c.target.value.length), I?.(c);
|
|
29
|
+
}, g = a.useId(), n = a.useRef(null);
|
|
30
|
+
a.useImperativeHandle(R, () => n.current);
|
|
31
31
|
const C = () => {
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
32
|
+
if (n.current) {
|
|
33
|
+
n.current.value = "", b(0);
|
|
34
|
+
const c = new Event("input", { bubbles: !0 });
|
|
35
|
+
n.current.dispatchEvent(c), N && N();
|
|
36
36
|
}
|
|
37
37
|
}, E = {
|
|
38
|
-
default: "text-muted-foreground",
|
|
39
|
-
success: "text-success",
|
|
40
|
-
warning: "text-warning",
|
|
41
|
-
error: "text-error"
|
|
38
|
+
default: "ds:text-muted-foreground",
|
|
39
|
+
success: "ds:text-success",
|
|
40
|
+
warning: "ds:text-warning",
|
|
41
|
+
error: "ds:text-error"
|
|
42
42
|
};
|
|
43
|
-
return /* @__PURE__ */ t("div", { className: y, children: /* @__PURE__ */
|
|
43
|
+
return /* @__PURE__ */ t("div", { className: y, children: /* @__PURE__ */ r(
|
|
44
44
|
"div",
|
|
45
45
|
{
|
|
46
|
-
className:
|
|
47
|
-
"floating-label":
|
|
46
|
+
className: o("ds:flex ds:flex-col ds:gap-1.5 ds:relative", {
|
|
47
|
+
"ds:floating-label": s
|
|
48
48
|
}),
|
|
49
49
|
children: [
|
|
50
|
-
!
|
|
50
|
+
!s && u && /* @__PURE__ */ r(
|
|
51
51
|
H,
|
|
52
52
|
{
|
|
53
53
|
htmlFor: g,
|
|
54
|
-
className: "flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
54
|
+
className: "ds:flex ds:gap-2 ds:text-sm ds:font-medium ds:leading-none ds:peer-disabled:cursor-not-allowed ds:peer-disabled:opacity-70",
|
|
55
55
|
children: [
|
|
56
|
-
/* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ r("span", { children: [
|
|
57
57
|
u,
|
|
58
|
-
p && /* @__PURE__ */ t("span", { className: "text-error ml-0.5", children: "*" })
|
|
58
|
+
p && /* @__PURE__ */ t("span", { className: "ds:text-error ds:ml-0.5", children: "*" })
|
|
59
59
|
] }),
|
|
60
|
-
f && /* @__PURE__ */ t(_, { content: f, children: /* @__PURE__ */ t(T, { className: "size-3.5 min-w-3.5" }) })
|
|
60
|
+
f && /* @__PURE__ */ t(_, { content: f, children: /* @__PURE__ */ t(T, { className: "ds:size-3.5 ds:min-w-3.5" }) })
|
|
61
61
|
]
|
|
62
62
|
}
|
|
63
63
|
),
|
|
64
|
-
/* @__PURE__ */
|
|
64
|
+
/* @__PURE__ */ r("div", { className: "ds:relative", children: [
|
|
65
65
|
/* @__PURE__ */ t(
|
|
66
66
|
S,
|
|
67
67
|
{
|
|
68
|
-
ref:
|
|
68
|
+
ref: n,
|
|
69
69
|
id: g,
|
|
70
|
-
className:
|
|
71
|
-
"peer resize-y",
|
|
70
|
+
className: o(
|
|
71
|
+
"ds:peer ds:resize-y",
|
|
72
72
|
{
|
|
73
|
-
"pt-6 pb-2":
|
|
74
|
-
"pt-6 pb-1":
|
|
75
|
-
"text-lg": (e === "xl" || e === "lg") && !
|
|
73
|
+
"ds:pt-6 ds:pb-2": s && (e === "lg" || e === "xl"),
|
|
74
|
+
"ds:pt-6 ds:pb-1": s && e !== "lg" && e !== "xl",
|
|
75
|
+
"ds:text-lg": (e === "xl" || e === "lg") && !s
|
|
76
76
|
},
|
|
77
|
-
v && x > 0 && "pr-10"
|
|
77
|
+
v && x > 0 && "ds:pr-10"
|
|
78
78
|
// className
|
|
79
79
|
),
|
|
80
80
|
placeholder: w,
|
|
81
|
-
maxLength:
|
|
81
|
+
maxLength: l,
|
|
82
82
|
onChange: j,
|
|
83
83
|
state: i,
|
|
84
|
-
size:
|
|
84
|
+
size: s ? e === "xl" || e === "lg" ? e : "xl" : e,
|
|
85
85
|
required: p,
|
|
86
|
-
...
|
|
86
|
+
...d
|
|
87
87
|
}
|
|
88
88
|
),
|
|
89
|
-
|
|
89
|
+
s && /* @__PURE__ */ t(
|
|
90
90
|
k,
|
|
91
91
|
{
|
|
92
92
|
htmlFor: g,
|
|
93
93
|
size: e,
|
|
94
94
|
infoTooltip: f,
|
|
95
95
|
required: p,
|
|
96
|
-
className: "peer-placeholder-shown:items-start",
|
|
96
|
+
className: "ds:peer-placeholder-shown:items-start",
|
|
97
97
|
children: u
|
|
98
98
|
}
|
|
99
99
|
),
|
|
@@ -102,30 +102,30 @@ const X = c.forwardRef(
|
|
|
102
102
|
{
|
|
103
103
|
type: "button",
|
|
104
104
|
tabIndex: -1,
|
|
105
|
-
className:
|
|
106
|
-
"absolute top-2 right-2 p-1 rounded hover:bg-accent transition-colors"
|
|
105
|
+
className: o(
|
|
106
|
+
"ds:absolute ds:top-2 ds:right-2 ds:p-1 ds:rounded ds:hover:bg-accent ds:transition-colors"
|
|
107
107
|
),
|
|
108
108
|
onClick: C,
|
|
109
|
-
disabled:
|
|
110
|
-
children: /* @__PURE__ */ t(V, { className: "size-4" })
|
|
109
|
+
disabled: d.disabled,
|
|
110
|
+
children: /* @__PURE__ */ t(V, { className: "ds:size-4" })
|
|
111
111
|
}
|
|
112
112
|
)
|
|
113
113
|
] }),
|
|
114
|
-
(m || h && typeof
|
|
114
|
+
(m || h && typeof l == "number") && /* @__PURE__ */ r("div", { className: "ds:flex ds:items-center ds:justify-between ds:text-xs ds:gap-2", children: [
|
|
115
115
|
m && /* @__PURE__ */ t(
|
|
116
116
|
"p",
|
|
117
117
|
{
|
|
118
|
-
className:
|
|
119
|
-
"text-xs",
|
|
118
|
+
className: o(
|
|
119
|
+
"ds:text-xs",
|
|
120
120
|
i ? E?.[i] : ""
|
|
121
121
|
),
|
|
122
122
|
children: m
|
|
123
123
|
}
|
|
124
124
|
),
|
|
125
|
-
h && typeof
|
|
125
|
+
h && typeof l == "number" && /* @__PURE__ */ r("span", { className: "ds:ml-auto ds:text-muted-foreground", children: [
|
|
126
126
|
x,
|
|
127
127
|
" / ",
|
|
128
|
-
|
|
128
|
+
l
|
|
129
129
|
] })
|
|
130
130
|
] })
|
|
131
131
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Textarea as STextarea,\n type TextareaProps as STextareaProps,\n} from \"@dsui/ui/components/textarea\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Info, X } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Label } from \"../Label\";\n\nexport type TextareaProps = Omit<\n STextareaProps,\n \"onChange\" | \"size\" | \"state\"\n> & {\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n label?: string;\n helperText?: React.ReactNode;\n isFloatLabel?: boolean;\n maxLength?: number;\n showCharCount?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n onClear?: () => void;\n required?: boolean;\n};\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n className,\n label,\n helperText,\n state,\n size = \"normal\",\n isFloatLabel,\n maxLength,\n showCharCount,\n infoTooltip,\n clearable,\n onClear,\n placeholder = \" \",\n onChange,\n required,\n ...props\n },\n ref\n ) => {\n // Character count state\n const [charCount, setCharCount] = React.useState(() => {\n if (typeof props.value === \"string\") return props.value.length;\n if (typeof props.defaultValue === \"string\")\n return props.defaultValue.length;\n return 0;\n });\n\n const handleInput = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setCharCount(e.target.value.length);\n onChange?.(e);\n };\n\n const textareaId = React.useId();\n const innerRef = React.useRef<HTMLTextAreaElement>(null);\n\n // Combine refs\n React.useImperativeHandle(ref, () => innerRef.current!);\n\n const handleClear = () => {\n if (innerRef.current) {\n innerRef.current.value = \"\";\n setCharCount(0);\n const event = new Event(\"input\", { bubbles: true });\n innerRef.current.dispatchEvent(event);\n if (onClear) onClear();\n }\n };\n\n // State\n const helperTextStyles = {\n default: \"text-muted-foreground\",\n success: \"text-success\",\n warning: \"text-warning\",\n error: \"text-error\",\n };\n\n return (\n <div className={className}>\n <div\n className={cn(\"flex flex-col gap-1.5 relative\", {\n \"floating-label\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <Label\n htmlFor={textareaId}\n className=\"flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n <span>\n {label}\n {required && <span className=\"text-error ml-0.5\">*</span>}\n </span>\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"size-3.5 min-w-3.5\" />\n </Tooltip>\n )}\n </Label>\n )}\n\n <div className=\"relative\">\n <STextarea\n ref={innerRef}\n id={textareaId}\n className={cn(\n \"peer resize-y\",\n {\n \"pt-6 pb-2\": isFloatLabel && (size === \"lg\" || size === \"xl\"),\n \"pt-6 pb-1\": isFloatLabel && size !== \"lg\" && size !== \"xl\",\n \"text-lg\": (size === \"xl\" || size === \"lg\") && !isFloatLabel,\n },\n clearable && charCount > 0 && \"pr-10\"\n // className\n )}\n placeholder={placeholder}\n maxLength={maxLength}\n onChange={handleInput}\n state={state}\n size={\n isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size\n }\n required={required}\n {...props}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={textareaId}\n size={size}\n infoTooltip={infoTooltip}\n required={required}\n className=\"peer-placeholder-shown:items-start\"\n >\n {label}\n </FloatingLabel>\n )}\n\n {/* Clear Button */}\n {clearable && charCount > 0 && (\n <button\n type=\"button\"\n tabIndex={-1}\n className={cn(\n \"absolute top-2 right-2 p-1 rounded hover:bg-accent transition-colors\"\n )}\n onClick={handleClear}\n disabled={props.disabled}\n >\n <X className=\"size-4\" />\n </button>\n )}\n </div>\n\n {(helperText || (showCharCount && typeof maxLength === \"number\")) && (\n <div className=\"flex items-center justify-between text-xs gap-2\">\n {helperText && (\n <p\n className={cn(\n \"text-xs\",\n state ? helperTextStyles?.[state] : \"\"\n )}\n >\n {helperText}\n </p>\n )}\n {showCharCount && typeof maxLength === \"number\" && (\n <span className=\"ml-auto text-muted-foreground\">\n {charCount} / {maxLength}\n </span>\n )}\n </div>\n )}\n </div>\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\nexport default Textarea;\n"],"names":["Textarea","React","className","label","helperText","state","size","isFloatLabel","maxLength","showCharCount","infoTooltip","clearable","onClear","placeholder","onChange","required","props","ref","charCount","setCharCount","handleInput","e","textareaId","innerRef","handleClear","event","helperTextStyles","jsx","jsxs","cn","Label","Tooltip","Info","STextarea","FloatingLabel","X"],"mappings":";;;;;;;;AA6BA,MAAMA,IAAWC,EAAM;AAAA,EACrB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AAEH,UAAM,CAACC,GAAWC,CAAY,IAAIlB,EAAM,SAAS,MAC3C,OAAOe,EAAM,SAAU,WAAiBA,EAAM,MAAM,SACpD,OAAOA,EAAM,gBAAiB,WACzBA,EAAM,aAAa,SACrB,CACR,GAEKI,IAAc,CAACC,MAA8C;AACjE,MAAAF,EAAaE,EAAE,OAAO,MAAM,MAAM,GAClCP,IAAWO,CAAC;AAAA,IACd,GAEMC,IAAarB,EAAM,MAAA,GACnBsB,IAAWtB,EAAM,OAA4B,IAAI;AAGvDA,IAAAA,EAAM,oBAAoBgB,GAAK,MAAMM,EAAS,OAAQ;AAEtD,UAAMC,IAAc,MAAM;AACxB,UAAID,EAAS,SAAS;AACpB,QAAAA,EAAS,QAAQ,QAAQ,IACzBJ,EAAa,CAAC;AACd,cAAMM,IAAQ,IAAI,MAAM,SAAS,EAAE,SAAS,IAAM;AAClD,QAAAF,EAAS,QAAQ,cAAcE,CAAK,GAChCb,KAASA,EAAA;AAAA,MACf;AAAA,IACF,GAGMc,IAAmB;AAAA,MACvB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAGT,WACE,gBAAAC,EAAC,SAAI,WAAAzB,GACH,UAAA,gBAAA0B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAG,
|
|
1
|
+
{"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Textarea as STextarea,\n type TextareaProps as STextareaProps,\n} from \"@dsui/ui/components/textarea\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Info, X } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Label } from \"../Label\";\n\nexport type TextareaProps = Omit<\n STextareaProps,\n \"onChange\" | \"size\" | \"state\"\n> & {\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n label?: string;\n helperText?: React.ReactNode;\n isFloatLabel?: boolean;\n maxLength?: number;\n showCharCount?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n onClear?: () => void;\n required?: boolean;\n};\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n className,\n label,\n helperText,\n state,\n size = \"normal\",\n isFloatLabel,\n maxLength,\n showCharCount,\n infoTooltip,\n clearable,\n onClear,\n placeholder = \" \",\n onChange,\n required,\n ...props\n },\n ref\n ) => {\n // Character count state\n const [charCount, setCharCount] = React.useState(() => {\n if (typeof props.value === \"string\") return props.value.length;\n if (typeof props.defaultValue === \"string\")\n return props.defaultValue.length;\n return 0;\n });\n\n const handleInput = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setCharCount(e.target.value.length);\n onChange?.(e);\n };\n\n const textareaId = React.useId();\n const innerRef = React.useRef<HTMLTextAreaElement>(null);\n\n // Combine refs\n React.useImperativeHandle(ref, () => innerRef.current!);\n\n const handleClear = () => {\n if (innerRef.current) {\n innerRef.current.value = \"\";\n setCharCount(0);\n const event = new Event(\"input\", { bubbles: true });\n innerRef.current.dispatchEvent(event);\n if (onClear) onClear();\n }\n };\n\n // State\n const helperTextStyles = {\n default: \"ds:text-muted-foreground\",\n success: \"ds:text-success\",\n warning: \"ds:text-warning\",\n error: \"ds:text-error\",\n };\n\n return (\n <div className={className}>\n <div\n className={cn(\"ds:flex ds:flex-col ds:gap-1.5 ds:relative\", {\n \"ds:floating-label\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <Label\n htmlFor={textareaId}\n className=\"ds:flex ds:gap-2 ds:text-sm ds:font-medium ds:leading-none ds:peer-disabled:cursor-not-allowed ds:peer-disabled:opacity-70\"\n >\n <span>\n {label}\n {required && <span className=\"ds:text-error ds:ml-0.5\">*</span>}\n </span>\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"ds:size-3.5 ds:min-w-3.5\" />\n </Tooltip>\n )}\n </Label>\n )}\n\n <div className=\"ds:relative\">\n <STextarea\n ref={innerRef}\n id={textareaId}\n className={cn(\n \"ds:peer ds:resize-y\",\n {\n \"ds:pt-6 ds:pb-2\": isFloatLabel && (size === \"lg\" || size === \"xl\"),\n \"ds:pt-6 ds:pb-1\": isFloatLabel && size !== \"lg\" && size !== \"xl\",\n \"ds:text-lg\": (size === \"xl\" || size === \"lg\") && !isFloatLabel,\n },\n clearable && charCount > 0 && \"ds:pr-10\"\n // className\n )}\n placeholder={placeholder}\n maxLength={maxLength}\n onChange={handleInput}\n state={state}\n size={\n isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size\n }\n required={required}\n {...props}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={textareaId}\n size={size}\n infoTooltip={infoTooltip}\n required={required}\n className=\"ds:peer-placeholder-shown:items-start\"\n >\n {label}\n </FloatingLabel>\n )}\n\n {/* Clear Button */}\n {clearable && charCount > 0 && (\n <button\n type=\"button\"\n tabIndex={-1}\n className={cn(\n \"ds:absolute ds:top-2 ds:right-2 ds:p-1 ds:rounded ds:hover:bg-accent ds:transition-colors\"\n )}\n onClick={handleClear}\n disabled={props.disabled}\n >\n <X className=\"ds:size-4\" />\n </button>\n )}\n </div>\n\n {(helperText || (showCharCount && typeof maxLength === \"number\")) && (\n <div className=\"ds:flex ds:items-center ds:justify-between ds:text-xs ds:gap-2\">\n {helperText && (\n <p\n className={cn(\n \"ds:text-xs\",\n state ? helperTextStyles?.[state] : \"\"\n )}\n >\n {helperText}\n </p>\n )}\n {showCharCount && typeof maxLength === \"number\" && (\n <span className=\"ds:ml-auto ds:text-muted-foreground\">\n {charCount} / {maxLength}\n </span>\n )}\n </div>\n )}\n </div>\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\nexport default Textarea;\n"],"names":["Textarea","React","className","label","helperText","state","size","isFloatLabel","maxLength","showCharCount","infoTooltip","clearable","onClear","placeholder","onChange","required","props","ref","charCount","setCharCount","handleInput","e","textareaId","innerRef","handleClear","event","helperTextStyles","jsx","jsxs","cn","Label","Tooltip","Info","STextarea","FloatingLabel","X"],"mappings":";;;;;;;;AA6BA,MAAMA,IAAWC,EAAM;AAAA,EACrB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AAEH,UAAM,CAACC,GAAWC,CAAY,IAAIlB,EAAM,SAAS,MAC3C,OAAOe,EAAM,SAAU,WAAiBA,EAAM,MAAM,SACpD,OAAOA,EAAM,gBAAiB,WACzBA,EAAM,aAAa,SACrB,CACR,GAEKI,IAAc,CAACC,MAA8C;AACjE,MAAAF,EAAaE,EAAE,OAAO,MAAM,MAAM,GAClCP,IAAWO,CAAC;AAAA,IACd,GAEMC,IAAarB,EAAM,MAAA,GACnBsB,IAAWtB,EAAM,OAA4B,IAAI;AAGvDA,IAAAA,EAAM,oBAAoBgB,GAAK,MAAMM,EAAS,OAAQ;AAEtD,UAAMC,IAAc,MAAM;AACxB,UAAID,EAAS,SAAS;AACpB,QAAAA,EAAS,QAAQ,QAAQ,IACzBJ,EAAa,CAAC;AACd,cAAMM,IAAQ,IAAI,MAAM,SAAS,EAAE,SAAS,IAAM;AAClD,QAAAF,EAAS,QAAQ,cAAcE,CAAK,GAChCb,KAASA,EAAA;AAAA,MACf;AAAA,IACF,GAGMc,IAAmB;AAAA,MACvB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAGT,WACE,gBAAAC,EAAC,SAAI,WAAAzB,GACH,UAAA,gBAAA0B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAG,8CAA8C;AAAA,UAC1D,qBAAqBtB;AAAA,QAAA,CACtB;AAAA,QAEA,UAAA;AAAA,UAAA,CAACA,KAAgBJ,KAChB,gBAAAyB;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,SAASR;AAAA,cACT,WAAU;AAAA,cAEV,UAAA;AAAA,gBAAA,gBAAAM,EAAC,QAAA,EACE,UAAA;AAAA,kBAAAzB;AAAA,kBACAY,KAAY,gBAAAY,EAAC,QAAA,EAAK,WAAU,2BAA0B,UAAA,IAAA,CAAC;AAAA,gBAAA,GAC1D;AAAA,gBACCjB,uBACEqB,GAAA,EAAQ,SAASrB,GAChB,UAAA,gBAAAiB,EAACK,GAAA,EAAK,WAAU,2BAAA,CAA2B,EAAA,CAC7C;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAKN,gBAAAJ,EAAC,OAAA,EAAI,WAAU,eACb,UAAA;AAAA,YAAA,gBAAAD;AAAA,cAACM;AAAAA,cAAA;AAAA,gBACC,KAAKV;AAAA,gBACL,IAAID;AAAA,gBACJ,WAAWO;AAAA,kBACT;AAAA,kBACA;AAAA,oBACE,mBAAmBtB,MAAiBD,MAAS,QAAQA,MAAS;AAAA,oBAC9D,mBAAmBC,KAAgBD,MAAS,QAAQA,MAAS;AAAA,oBAC7D,eAAeA,MAAS,QAAQA,MAAS,SAAS,CAACC;AAAA,kBAAA;AAAA,kBAErDI,KAAaO,IAAY,KAAK;AAAA;AAAA,gBAAA;AAAA,gBAGhC,aAAAL;AAAA,gBACA,WAAAL;AAAA,gBACA,UAAUY;AAAA,gBACV,OAAAf;AAAA,gBACA,MACEE,IACID,MAAS,QAAQA,MAAS,OACxBA,IACA,OACFA;AAAA,gBAEN,UAAAS;AAAA,gBACC,GAAGC;AAAA,cAAA;AAAA,YAAA;AAAA,YAELT,KACC,gBAAAoB;AAAA,cAACO;AAAA,cAAA;AAAA,gBACC,SAASZ;AAAA,gBACT,MAAAhB;AAAA,gBACA,aAAAI;AAAA,gBACA,UAAAK;AAAA,gBACA,WAAU;AAAA,gBAET,UAAAZ;AAAA,cAAA;AAAA,YAAA;AAAA,YAKJQ,KAAaO,IAAY,KACxB,gBAAAS;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,UAAU;AAAA,gBACV,WAAWE;AAAA,kBACT;AAAA,gBAAA;AAAA,gBAEF,SAASL;AAAA,gBACT,UAAUR,EAAM;AAAA,gBAEhB,UAAA,gBAAAW,EAACQ,GAAA,EAAE,WAAU,YAAA,CAAY;AAAA,cAAA;AAAA,YAAA;AAAA,UAC3B,GAEJ;AAAA,WAEE/B,KAAeK,KAAiB,OAAOD,KAAc,aACrD,gBAAAoB,EAAC,OAAA,EAAI,WAAU,kEACZ,UAAA;AAAA,YAAAxB,KACC,gBAAAuB;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWE;AAAA,kBACT;AAAA,kBACAxB,IAAQqB,IAAmBrB,CAAK,IAAI;AAAA,gBAAA;AAAA,gBAGrC,UAAAD;AAAA,cAAA;AAAA,YAAA;AAAA,YAGJK,KAAiB,OAAOD,KAAc,YACrC,gBAAAoB,EAAC,QAAA,EAAK,WAAU,uCACb,UAAA;AAAA,cAAAV;AAAA,cAAU;AAAA,cAAIV;AAAA,YAAA,EAAA,CACjB;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAEJ;AACF;AAEAR,EAAS,cAAc;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import * as w from "react";
|
|
3
3
|
import { memo as $, useMemo as h } from "react";
|
|
4
4
|
import "@radix-ui/react-slot";
|
|
@@ -76,10 +76,10 @@ const i = (o) => String(o).padStart(2, "0"), V = (o = "primary") => ({
|
|
|
76
76
|
({
|
|
77
77
|
HOURS: o,
|
|
78
78
|
MINUTES: m,
|
|
79
|
-
hours:
|
|
80
|
-
minutes:
|
|
79
|
+
hours: d,
|
|
80
|
+
minutes: n,
|
|
81
81
|
disabled: g,
|
|
82
|
-
isTimeDisabled:
|
|
82
|
+
isTimeDisabled: p,
|
|
83
83
|
onTimeSelect: u,
|
|
84
84
|
color: f = "primary"
|
|
85
85
|
}, l) => {
|
|
@@ -93,27 +93,27 @@ const i = (o) => String(o).padStart(2, "0"), V = (o = "primary") => ({
|
|
|
93
93
|
display: `${i(r)}:${i(e)}`
|
|
94
94
|
});
|
|
95
95
|
return t;
|
|
96
|
-
}, [o, m]), b =
|
|
97
|
-
|
|
96
|
+
}, [o, m]), b = d !== void 0 && n !== void 0 ? `${i(d)}:${i(n)}` : "", v = (t, r) => {
|
|
97
|
+
p(t, r, 0) || u(t, r);
|
|
98
98
|
};
|
|
99
|
-
return /* @__PURE__ */
|
|
99
|
+
return /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-2", children: /* @__PURE__ */ s(
|
|
100
100
|
"div",
|
|
101
101
|
{
|
|
102
102
|
ref: l,
|
|
103
|
-
className: "flex flex-col gap-1 h-64 overflow-y-auto p-2 rounded-md",
|
|
103
|
+
className: "ds:flex ds:flex-col ds:gap-1 ds:h-64 ds:overflow-y-auto ds:p-2 ds:rounded-md",
|
|
104
104
|
children: x.map(({ h: t, m: r, display: e }) => {
|
|
105
|
-
const y =
|
|
106
|
-
return /* @__PURE__ */
|
|
105
|
+
const y = p(t, r, 0), c = e === b, a = V(f);
|
|
106
|
+
return /* @__PURE__ */ s(
|
|
107
107
|
N,
|
|
108
108
|
{
|
|
109
109
|
type: "button",
|
|
110
110
|
variant: "outline",
|
|
111
111
|
onClick: () => v(t, r),
|
|
112
|
-
"data-selected":
|
|
112
|
+
"data-selected": c || void 0,
|
|
113
113
|
disabled: g || y,
|
|
114
114
|
size: "sm",
|
|
115
115
|
className: C(
|
|
116
|
-
|
|
116
|
+
c ? `${a.bg} ${a.text} ds:font-semibold` : "ds:text-foreground"
|
|
117
117
|
),
|
|
118
118
|
children: e
|
|
119
119
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeGridView.js","sources":["../../../src/components/TimeGridView.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { memo, useMemo } from \"react\";\nimport { cn } from \"@dsui/ui/index\";\nimport Button from \"./Button/Button\";\nimport type { CalendarColor } from \"./Calendar/Calendar\";\n\nconst pad = (num: number): string => String(num).padStart(2, \"0\");\n\n// Color variants for time grid items\nconst getColorClasses = (color: CalendarColor = \"primary\") => {\n const colorMap = {\n primary: {\n bg: \"bg-primary\",\n text: \"text-primary-foreground\",\n },\n secondary: {\n bg: \"bg-secondary\",\n text: \"text-secondary-foreground\",\n },\n accent: {\n bg: \"bg-accent\",\n text: \"text-accent-foreground\",\n },\n destructive: {\n bg: \"bg-destructive\",\n text: \"text-destructive-foreground\",\n },\n muted: {\n bg: \"bg-muted\",\n text: \"text-muted-foreground\",\n },\n success: {\n bg: \"bg-success\",\n text: \"text-success-foreground\",\n },\n error: {\n bg: \"bg-error\",\n text: \"text-error-foreground\",\n },\n warning: {\n bg: \"bg-warning\",\n text: \"text-warning-foreground\",\n },\n foreground: {\n bg: \"bg-foreground\",\n text: \"text-background\",\n },\n };\n return colorMap[color];\n};\n\ntype TimeGridViewProps = {\n HOURS: number[];\n MINUTES: number[];\n hours: number | undefined;\n minutes: number | undefined;\n disabled: boolean;\n isTimeDisabled: (h: number, m: number, s: number) => boolean;\n onTimeSelect: (h: number, m: number) => void;\n color?: CalendarColor;\n};\n\nexport const TimeGridView = memo(\n React.forwardRef<HTMLDivElement, TimeGridViewProps>(\n (\n {\n HOURS,\n MINUTES,\n hours,\n minutes,\n disabled,\n isTimeDisabled,\n onTimeSelect,\n color = \"primary\",\n },\n ref\n ) => {\n // Generate all time combinations based on intervals (always HH:mm, never shows seconds)\n const timeOptions = useMemo(() => {\n const options: Array<{ h: number; m: number; display: string }> = [];\n\n for (const h of HOURS) {\n for (const m of MINUTES) {\n options.push({\n h,\n m,\n display: `${pad(h)}:${pad(m)}`,\n });\n }\n }\n\n return options;\n }, [HOURS, MINUTES]);\n\n const currentValue =\n hours !== undefined && minutes !== undefined\n ? `${pad(hours)}:${pad(minutes)}`\n : \"\";\n\n const handleTimeSelect = (h: number, m: number) => {\n // Always set seconds to 0 in grid mode\n if (!isTimeDisabled(h, m, 0)) {\n onTimeSelect(h, m);\n }\n };\n\n return (\n <div className=\"flex flex-col gap-2\">\n <div\n ref={ref}\n className=\"flex flex-col gap-1 h-64 overflow-y-auto p-2 rounded-md\"\n >\n {timeOptions.map(({ h, m, display }) => {\n const itemDisabled = isTimeDisabled(h, m, 0);\n const isSelected = display === currentValue;\n const colorClasses = getColorClasses(color);\n\n return (\n <Button\n key={display}\n type=\"button\"\n variant=\"outline\"\n onClick={() => handleTimeSelect(h, m)}\n data-selected={isSelected || undefined}\n disabled={disabled || itemDisabled}\n size=\"sm\"\n className={cn(\n isSelected\n ? `${colorClasses.bg} ${colorClasses.text} font-semibold`\n : \"text-foreground\"\n )}\n >\n {display}\n </Button>\n );\n })}\n </div>\n </div>\n );\n }\n )\n);\n\nTimeGridView.displayName = \"TimeGridView\";\n"],"names":["pad","num","getColorClasses","color","TimeGridView","memo","React","HOURS","MINUTES","hours","minutes","disabled","isTimeDisabled","onTimeSelect","ref","timeOptions","useMemo","options","h","m","currentValue","handleTimeSelect","jsx","display","itemDisabled","isSelected","colorClasses","Button","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,IAAM,CAACC,MAAwB,OAAOA,CAAG,EAAE,SAAS,GAAG,GAAG,GAG1DC,IAAkB,CAACC,IAAuB,eAC7B;AAAA,EACf,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,WAAW;AAAA,IACT,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,aAAa;AAAA,IACX,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,YAAY;AAAA,IACV,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AACR,GAEcA,CAAK,GAcVC,IAAeC;AAAA,EAC1BC,EAAM;AAAA,IACJ,CACE;AAAA,MACE,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,OAAAV,IAAQ;AAAA,IAAA,GAEVW,MACG;AAEH,YAAMC,IAAcC,EAAQ,MAAM;AAChC,cAAMC,IAA4D,CAAA;AAElE,mBAAWC,KAAKX;AACd,qBAAWY,KAAKX;AACd,YAAAS,EAAQ,KAAK;AAAA,cACX,GAAAC;AAAA,cACA,GAAAC;AAAA,cACA,SAAS,GAAGnB,EAAIkB,CAAC,CAAC,IAAIlB,EAAImB,CAAC,CAAC;AAAA,YAAA,CAC7B;AAIL,eAAOF;AAAA,MACT,GAAG,CAACV,GAAOC,CAAO,CAAC,GAEbY,IACJX,MAAU,UAAaC,MAAY,SAC/B,GAAGV,EAAIS,CAAK,CAAC,IAAIT,EAAIU,CAAO,CAAC,KAC7B,IAEAW,IAAmB,CAACH,GAAWC,MAAc;AAEjD,QAAKP,EAAeM,GAAGC,GAAG,CAAC,KACzBN,EAAaK,GAAGC,CAAC;AAAA,MAErB;AAEA,aACE,gBAAAG,EAAC,OAAA,EAAI,WAAU,
|
|
1
|
+
{"version":3,"file":"TimeGridView.js","sources":["../../../src/components/TimeGridView.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { memo, useMemo } from \"react\";\nimport { cn } from \"@dsui/ui/index\";\nimport Button from \"./Button/Button\";\nimport type { CalendarColor } from \"./Calendar/Calendar\";\n\nconst pad = (num: number): string => String(num).padStart(2, \"0\");\n\n// Color variants for time grid items\nconst getColorClasses = (color: CalendarColor = \"primary\") => {\n const colorMap = {\n primary: {\n bg: \"bg-primary\",\n text: \"text-primary-foreground\",\n },\n secondary: {\n bg: \"bg-secondary\",\n text: \"text-secondary-foreground\",\n },\n accent: {\n bg: \"bg-accent\",\n text: \"text-accent-foreground\",\n },\n destructive: {\n bg: \"bg-destructive\",\n text: \"text-destructive-foreground\",\n },\n muted: {\n bg: \"bg-muted\",\n text: \"text-muted-foreground\",\n },\n success: {\n bg: \"bg-success\",\n text: \"text-success-foreground\",\n },\n error: {\n bg: \"bg-error\",\n text: \"text-error-foreground\",\n },\n warning: {\n bg: \"bg-warning\",\n text: \"text-warning-foreground\",\n },\n foreground: {\n bg: \"bg-foreground\",\n text: \"text-background\",\n },\n };\n return colorMap[color];\n};\n\ntype TimeGridViewProps = {\n HOURS: number[];\n MINUTES: number[];\n hours: number | undefined;\n minutes: number | undefined;\n disabled: boolean;\n isTimeDisabled: (h: number, m: number, s: number) => boolean;\n onTimeSelect: (h: number, m: number) => void;\n color?: CalendarColor;\n};\n\nexport const TimeGridView = memo(\n React.forwardRef<HTMLDivElement, TimeGridViewProps>(\n (\n {\n HOURS,\n MINUTES,\n hours,\n minutes,\n disabled,\n isTimeDisabled,\n onTimeSelect,\n color = \"primary\",\n },\n ref\n ) => {\n // Generate all time combinations based on intervals (always HH:mm, never shows seconds)\n const timeOptions = useMemo(() => {\n const options: Array<{ h: number; m: number; display: string }> = [];\n\n for (const h of HOURS) {\n for (const m of MINUTES) {\n options.push({\n h,\n m,\n display: `${pad(h)}:${pad(m)}`,\n });\n }\n }\n\n return options;\n }, [HOURS, MINUTES]);\n\n const currentValue =\n hours !== undefined && minutes !== undefined\n ? `${pad(hours)}:${pad(minutes)}`\n : \"\";\n\n const handleTimeSelect = (h: number, m: number) => {\n // Always set seconds to 0 in grid mode\n if (!isTimeDisabled(h, m, 0)) {\n onTimeSelect(h, m);\n }\n };\n\n return (\n <div className=\"ds:flex ds:flex-col ds:gap-2\">\n <div\n ref={ref}\n className=\"ds:flex ds:flex-col ds:gap-1 ds:h-64 ds:overflow-y-auto ds:p-2 ds:rounded-md\"\n >\n {timeOptions.map(({ h, m, display }) => {\n const itemDisabled = isTimeDisabled(h, m, 0);\n const isSelected = display === currentValue;\n const colorClasses = getColorClasses(color);\n\n return (\n <Button\n key={display}\n type=\"button\"\n variant=\"outline\"\n onClick={() => handleTimeSelect(h, m)}\n data-selected={isSelected || undefined}\n disabled={disabled || itemDisabled}\n size=\"sm\"\n className={cn(\n isSelected\n ? `${colorClasses.bg} ${colorClasses.text} ds:font-semibold`\n : \"ds:text-foreground\"\n )}\n >\n {display}\n </Button>\n );\n })}\n </div>\n </div>\n );\n }\n )\n);\n\nTimeGridView.displayName = \"TimeGridView\";\n"],"names":["pad","num","getColorClasses","color","TimeGridView","memo","React","HOURS","MINUTES","hours","minutes","disabled","isTimeDisabled","onTimeSelect","ref","timeOptions","useMemo","options","h","m","currentValue","handleTimeSelect","jsx","display","itemDisabled","isSelected","colorClasses","Button","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,IAAM,CAACC,MAAwB,OAAOA,CAAG,EAAE,SAAS,GAAG,GAAG,GAG1DC,IAAkB,CAACC,IAAuB,eAC7B;AAAA,EACf,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,WAAW;AAAA,IACT,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,aAAa;AAAA,IACX,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,YAAY;AAAA,IACV,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AACR,GAEcA,CAAK,GAcVC,IAAeC;AAAA,EAC1BC,EAAM;AAAA,IACJ,CACE;AAAA,MACE,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,OAAAV,IAAQ;AAAA,IAAA,GAEVW,MACG;AAEH,YAAMC,IAAcC,EAAQ,MAAM;AAChC,cAAMC,IAA4D,CAAA;AAElE,mBAAWC,KAAKX;AACd,qBAAWY,KAAKX;AACd,YAAAS,EAAQ,KAAK;AAAA,cACX,GAAAC;AAAA,cACA,GAAAC;AAAA,cACA,SAAS,GAAGnB,EAAIkB,CAAC,CAAC,IAAIlB,EAAImB,CAAC,CAAC;AAAA,YAAA,CAC7B;AAIL,eAAOF;AAAA,MACT,GAAG,CAACV,GAAOC,CAAO,CAAC,GAEbY,IACJX,MAAU,UAAaC,MAAY,SAC/B,GAAGV,EAAIS,CAAK,CAAC,IAAIT,EAAIU,CAAO,CAAC,KAC7B,IAEAW,IAAmB,CAACH,GAAWC,MAAc;AAEjD,QAAKP,EAAeM,GAAGC,GAAG,CAAC,KACzBN,EAAaK,GAAGC,CAAC;AAAA,MAErB;AAEA,aACE,gBAAAG,EAAC,OAAA,EAAI,WAAU,gCACb,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAAR;AAAA,UACA,WAAU;AAAA,UAET,YAAY,IAAI,CAAC,EAAE,GAAAI,GAAG,GAAAC,GAAG,SAAAI,QAAc;AACtC,kBAAMC,IAAeZ,EAAeM,GAAGC,GAAG,CAAC,GACrCM,IAAaF,MAAYH,GACzBM,IAAexB,EAAgBC,CAAK;AAE1C,mBACE,gBAAAmB;AAAA,cAACK;AAAA,cAAA;AAAA,gBAEC,MAAK;AAAA,gBACL,SAAQ;AAAA,gBACR,SAAS,MAAMN,EAAiBH,GAAGC,CAAC;AAAA,gBACpC,iBAAeM,KAAc;AAAA,gBAC7B,UAAUd,KAAYa;AAAA,gBACtB,MAAK;AAAA,gBACL,WAAWI;AAAA,kBACTH,IACI,GAAGC,EAAa,EAAE,IAAIA,EAAa,IAAI,sBACvC;AAAA,gBAAA;AAAA,gBAGL,UAAAH;AAAA,cAAA;AAAA,cAbIA;AAAA,YAAA;AAAA,UAgBX,CAAC;AAAA,QAAA;AAAA,MAAA,GAEL;AAAA,IAEJ;AAAA,EAAA;AAEJ;AAEAnB,EAAa,cAAc;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { toast as
|
|
3
|
-
import { Info as
|
|
1
|
+
import { jsxs as p, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { toast as o, Toaster as u } from "sonner";
|
|
3
|
+
import { Info as i, AlertTriangle as l, XCircle as b, CheckCircle as f } from "lucide-react";
|
|
4
4
|
import "@radix-ui/react-slot";
|
|
5
5
|
import "../../packages/ui/src/components/button.js";
|
|
6
6
|
import "../../packages/ui/src/components/button-group.js";
|
|
@@ -34,67 +34,67 @@ import "@radix-ui/react-slider";
|
|
|
34
34
|
import "../../packages/ui/src/components/tabs.js";
|
|
35
35
|
import "../../packages/ui/src/components/toggle.js";
|
|
36
36
|
const h = {
|
|
37
|
-
default: "bg-neutral-800 text-white border border-neutral-700",
|
|
38
|
-
success: "bg-success text-white border border-success/20",
|
|
39
|
-
error: "bg-error text-white border border-error/20",
|
|
40
|
-
warning: "bg-warning text-black border border-warning/20",
|
|
41
|
-
info: "bg-info text-foreground",
|
|
42
|
-
primary: "bg-primary text-primary-foreground border border-primary/20",
|
|
43
|
-
secondary: "bg-secondary text-secondary-foreground border border-secondary/20"
|
|
37
|
+
default: "ds:bg-neutral-800 ds:text-white ds:border ds:border-neutral-700",
|
|
38
|
+
success: "ds:bg-success ds:text-white ds:border ds:border-success/20",
|
|
39
|
+
error: "ds:bg-error ds:text-white ds:border ds:border-error/20",
|
|
40
|
+
warning: "ds:bg-warning ds:text-black ds:border ds:border-warning/20",
|
|
41
|
+
info: "ds:bg-info ds:text-foreground",
|
|
42
|
+
primary: "ds:bg-primary ds:text-primary-foreground ds:border ds:border-primary/20",
|
|
43
|
+
secondary: "ds:bg-secondary ds:text-secondary-foreground ds:border ds:border-secondary/20"
|
|
44
44
|
}, w = {
|
|
45
|
-
success: /* @__PURE__ */
|
|
46
|
-
error: /* @__PURE__ */
|
|
47
|
-
warning: /* @__PURE__ */
|
|
48
|
-
info: /* @__PURE__ */
|
|
45
|
+
success: /* @__PURE__ */ t(f, { className: "ds:w-4 ds:h-4 ds:shrink-0" }),
|
|
46
|
+
error: /* @__PURE__ */ t(b, { className: "ds:w-4 ds:h-4 ds:shrink-0" }),
|
|
47
|
+
warning: /* @__PURE__ */ t(l, { className: "ds:w-4 ds:h-4 ds:shrink-0" }),
|
|
48
|
+
info: /* @__PURE__ */ t(i, { className: "ds:w-4 ds:h-4 ds:shrink-0" }),
|
|
49
49
|
default: null,
|
|
50
|
-
primary: /* @__PURE__ */
|
|
51
|
-
secondary: /* @__PURE__ */
|
|
52
|
-
},
|
|
50
|
+
primary: /* @__PURE__ */ t(i, { className: "ds:w-4 ds:h-4 ds:shrink-0" }),
|
|
51
|
+
secondary: /* @__PURE__ */ t(i, { className: "ds:w-4 ds:h-4 ds:shrink-0" })
|
|
52
|
+
}, e = (s, r) => /* @__PURE__ */ p(
|
|
53
53
|
"div",
|
|
54
54
|
{
|
|
55
55
|
className: g(
|
|
56
|
-
"flex items-center gap-2 rounded-md px-3 py-2 shadow-md text-sm font-medium",
|
|
57
|
-
h[
|
|
56
|
+
"ds:flex ds:items-center ds:gap-2 ds:rounded-md ds:px-3 ds:py-2 ds:shadow-md ds:text-sm ds:font-medium",
|
|
57
|
+
h[s]
|
|
58
58
|
),
|
|
59
59
|
children: [
|
|
60
|
-
w[
|
|
61
|
-
/* @__PURE__ */
|
|
60
|
+
w[s],
|
|
61
|
+
/* @__PURE__ */ t("span", { children: r })
|
|
62
62
|
]
|
|
63
63
|
}
|
|
64
64
|
), rr = Object.assign(
|
|
65
|
-
(...
|
|
66
|
-
const [r] =
|
|
67
|
-
return
|
|
65
|
+
(...s) => {
|
|
66
|
+
const [r] = s, d = typeof r == "function" ? r() : r ?? "Notification";
|
|
67
|
+
return o.custom(() => e("default", d));
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
|
-
success: (
|
|
71
|
-
error: (
|
|
72
|
-
warning: (
|
|
73
|
-
info: (
|
|
74
|
-
primary: (
|
|
75
|
-
secondary: (
|
|
70
|
+
success: (s, r) => o.custom(() => e("success", s), r),
|
|
71
|
+
error: (s, r) => o.custom(() => e("error", s), r),
|
|
72
|
+
warning: (s, r) => o.custom(() => e("warning", s), r),
|
|
73
|
+
info: (s, r) => o.custom(() => e("info", s), r),
|
|
74
|
+
primary: (s, r) => o.custom(() => e("primary", s), r),
|
|
75
|
+
secondary: (s, r) => o.custom(() => e("secondary", s), r)
|
|
76
76
|
}
|
|
77
77
|
);
|
|
78
|
-
function
|
|
79
|
-
position:
|
|
78
|
+
function sr({
|
|
79
|
+
position: s = "top-right",
|
|
80
80
|
richColors: r = !0,
|
|
81
|
-
closeButton:
|
|
82
|
-
expand:
|
|
83
|
-
visibleToasts:
|
|
84
|
-
duration:
|
|
85
|
-
...
|
|
81
|
+
closeButton: d = !1,
|
|
82
|
+
expand: m = !1,
|
|
83
|
+
visibleToasts: n = 3,
|
|
84
|
+
duration: a = 4e3,
|
|
85
|
+
...c
|
|
86
86
|
}) {
|
|
87
|
-
return /* @__PURE__ */
|
|
87
|
+
return /* @__PURE__ */ t(
|
|
88
88
|
u,
|
|
89
89
|
{
|
|
90
|
-
...
|
|
91
|
-
position:
|
|
90
|
+
...c,
|
|
91
|
+
position: s,
|
|
92
92
|
richColors: r,
|
|
93
|
-
closeButton:
|
|
94
|
-
expand:
|
|
95
|
-
visibleToasts:
|
|
93
|
+
closeButton: d,
|
|
94
|
+
expand: m,
|
|
95
|
+
visibleToasts: n,
|
|
96
96
|
toastOptions: {
|
|
97
|
-
duration:
|
|
97
|
+
duration: a,
|
|
98
98
|
classNames: {
|
|
99
99
|
toast: "rounded-md shadow-md border-none text-sm font-medium backdrop-blur-sm text-black dark:text-white",
|
|
100
100
|
description: "text-muted-foreground",
|
|
@@ -105,7 +105,7 @@ function tr({
|
|
|
105
105
|
);
|
|
106
106
|
}
|
|
107
107
|
export {
|
|
108
|
-
|
|
108
|
+
sr as Toaster,
|
|
109
109
|
rr as toast
|
|
110
110
|
};
|
|
111
111
|
//# sourceMappingURL=Toast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import {\n Toaster as SonnerToaster,\n toast as sonnerToast,\n type ToasterProps as SonnerToasterProps,\n} from \"sonner\";\nimport { CheckCircle, XCircle, Info, AlertTriangle } from \"lucide-react\";\nimport { cn } from \"@dsui/ui/index\";\n\nconst variantStyles = {\n default: \"bg-neutral-800 text-white border border-neutral-700\",\n success: \"bg-success text-white border border-success/20\",\n error: \"bg-error text-white border border-error/20\",\n warning: \"bg-warning text-black border border-warning/20\",\n info: \"bg-info text-foreground\",\n primary: \"bg-primary text-primary-foreground border border-primary/20\",\n secondary:\n \"bg-secondary text-secondary-foreground border border-secondary/20\",\n};\n\nconst variantIcons = {\n success: <CheckCircle className=\"w-4 h-4 shrink-0\" />,\n error: <XCircle className=\"w-4 h-4 shrink-0\" />,\n warning: <AlertTriangle className=\"w-4 h-4 shrink-0\" />,\n info: <Info className=\"w-4 h-4 shrink-0\" />,\n default: null,\n primary: <Info className=\"w-4 h-4 shrink-0\" />,\n secondary: <Info className=\"w-4 h-4 shrink-0\" />,\n};\n\ntype Variant = keyof typeof variantStyles;\n\nconst renderToastContent = (variant: Variant, message: React.ReactNode) => (\n <div\n className={cn(\n \"flex items-center gap-2 rounded-md px-3 py-2 shadow-md text-sm font-medium\",\n variantStyles[variant]\n )}\n >\n {variantIcons[variant]}\n <span>{message}</span>\n </div>\n);\n\nconst toast = Object.assign(\n (...args: Parameters<typeof sonnerToast>) => {\n const [message] = args;\n const content =\n typeof message === \"function\" ? message() : (message ?? \"Notification\");\n\n return sonnerToast.custom(() => renderToastContent(\"default\", content));\n },\n {\n success: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"success\", message), opts),\n\n error: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"error\", message), opts),\n\n warning: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"warning\", message), opts),\n\n info: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"info\", message), opts),\n\n primary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"primary\", message), opts),\n\n secondary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) =>\n sonnerToast.custom(() => renderToastContent(\"secondary\", message), opts),\n }\n) as any;\n\nfunction Toaster({\n position = \"top-right\",\n richColors = true,\n closeButton = false,\n expand = false,\n visibleToasts = 3,\n duration = 4000,\n ...props\n}: SonnerToasterProps) {\n return (\n <SonnerToaster\n {...props}\n position={position}\n richColors={richColors}\n closeButton={closeButton}\n expand={expand}\n visibleToasts={visibleToasts}\n toastOptions={{\n duration: duration,\n classNames: {\n toast:\n \"rounded-md shadow-md border-none text-sm font-medium backdrop-blur-sm text-black dark:text-white\",\n description: \"text-muted-foreground\",\n actionButton: \"bg-white/10\",\n },\n }}\n />\n );\n}\n\nexport { toast, Toaster };\n"],"names":["variantStyles","variantIcons","jsx","CheckCircle","XCircle","AlertTriangle","Info","renderToastContent","variant","message","jsxs","cn","toast","args","content","sonnerToast","opts","Toaster","position","richColors","closeButton","expand","visibleToasts","duration","props","SonnerToaster"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAMA,IAAgB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WACE;AACJ,GAEMC,IAAe;AAAA,EACnB,SAAS,gBAAAC,EAACC,GAAA,EAAY,WAAU,
|
|
1
|
+
{"version":3,"file":"Toast.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import {\n Toaster as SonnerToaster,\n toast as sonnerToast,\n type ToasterProps as SonnerToasterProps,\n} from \"sonner\";\nimport { CheckCircle, XCircle, Info, AlertTriangle } from \"lucide-react\";\nimport { cn } from \"@dsui/ui/index\";\n\nconst variantStyles = {\n default: \"ds:bg-neutral-800 ds:text-white ds:border ds:border-neutral-700\",\n success: \"ds:bg-success ds:text-white ds:border ds:border-success/20\",\n error: \"ds:bg-error ds:text-white ds:border ds:border-error/20\",\n warning: \"ds:bg-warning ds:text-black ds:border ds:border-warning/20\",\n info: \"ds:bg-info ds:text-foreground\",\n primary: \"ds:bg-primary ds:text-primary-foreground ds:border ds:border-primary/20\",\n secondary:\n \"ds:bg-secondary ds:text-secondary-foreground ds:border ds:border-secondary/20\",\n};\n\nconst variantIcons = {\n success: <CheckCircle className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n error: <XCircle className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n warning: <AlertTriangle className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n info: <Info className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n default: null,\n primary: <Info className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n secondary: <Info className=\"ds:w-4 ds:h-4 ds:shrink-0\" />,\n};\n\ntype Variant = keyof typeof variantStyles;\n\nconst renderToastContent = (variant: Variant, message: React.ReactNode) => (\n <div\n className={cn(\n \"ds:flex ds:items-center ds:gap-2 ds:rounded-md ds:px-3 ds:py-2 ds:shadow-md ds:text-sm ds:font-medium\",\n variantStyles[variant]\n )}\n >\n {variantIcons[variant]}\n <span>{message}</span>\n </div>\n);\n\nconst toast = Object.assign(\n (...args: Parameters<typeof sonnerToast>) => {\n const [message] = args;\n const content =\n typeof message === \"function\" ? message() : (message ?? \"Notification\");\n\n return sonnerToast.custom(() => renderToastContent(\"default\", content));\n },\n {\n success: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"success\", message), opts),\n\n error: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"error\", message), opts),\n\n warning: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"warning\", message), opts),\n\n info: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"info\", message), opts),\n\n primary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) => sonnerToast.custom(() => renderToastContent(\"primary\", message), opts),\n\n secondary: (\n message: React.ReactNode,\n opts?: Parameters<typeof sonnerToast>[1]\n ) =>\n sonnerToast.custom(() => renderToastContent(\"secondary\", message), opts),\n }\n) as any;\n\nfunction Toaster({\n position = \"top-right\",\n richColors = true,\n closeButton = false,\n expand = false,\n visibleToasts = 3,\n duration = 4000,\n ...props\n}: SonnerToasterProps) {\n return (\n <SonnerToaster\n {...props}\n position={position}\n richColors={richColors}\n closeButton={closeButton}\n expand={expand}\n visibleToasts={visibleToasts}\n toastOptions={{\n duration: duration,\n classNames: {\n toast:\n \"rounded-md shadow-md border-none text-sm font-medium backdrop-blur-sm text-black dark:text-white\",\n description: \"text-muted-foreground\",\n actionButton: \"bg-white/10\",\n },\n }}\n />\n );\n}\n\nexport { toast, Toaster };\n"],"names":["variantStyles","variantIcons","jsx","CheckCircle","XCircle","AlertTriangle","Info","renderToastContent","variant","message","jsxs","cn","toast","args","content","sonnerToast","opts","Toaster","position","richColors","closeButton","expand","visibleToasts","duration","props","SonnerToaster"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAMA,IAAgB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WACE;AACJ,GAEMC,IAAe;AAAA,EACnB,SAAS,gBAAAC,EAACC,GAAA,EAAY,WAAU,4BAAA,CAA4B;AAAA,EAC5D,OAAO,gBAAAD,EAACE,GAAA,EAAQ,WAAU,4BAAA,CAA4B;AAAA,EACtD,SAAS,gBAAAF,EAACG,GAAA,EAAc,WAAU,4BAAA,CAA4B;AAAA,EAC9D,MAAM,gBAAAH,EAACI,GAAA,EAAK,WAAU,4BAAA,CAA4B;AAAA,EAClD,SAAS;AAAA,EACT,SAAS,gBAAAJ,EAACI,GAAA,EAAK,WAAU,4BAAA,CAA4B;AAAA,EACrD,WAAW,gBAAAJ,EAACI,GAAA,EAAK,WAAU,4BAAA,CAA4B;AACzD,GAIMC,IAAqB,CAACC,GAAkBC,MAC5C,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAX,EAAcQ,CAAO;AAAA,IAAA;AAAA,IAGtB,UAAA;AAAA,MAAAP,EAAaO,CAAO;AAAA,MACrB,gBAAAN,EAAC,UAAM,UAAAO,EAAA,CAAQ;AAAA,IAAA;AAAA,EAAA;AACjB,GAGIG,KAAQ,OAAO;AAAA,EACnB,IAAIC,MAAyC;AAC3C,UAAM,CAACJ,CAAO,IAAII,GACZC,IACJ,OAAOL,KAAY,aAAaA,EAAA,IAAaA,KAAW;AAE1D,WAAOM,EAAY,OAAO,MAAMR,EAAmB,WAAWO,CAAO,CAAC;AAAA,EACxE;AAAA,EACA;AAAA,IACE,SAAS,CACPL,GACAO,MACGD,EAAY,OAAO,MAAMR,EAAmB,WAAWE,CAAO,GAAGO,CAAI;AAAA,IAE1E,OAAO,CACLP,GACAO,MACGD,EAAY,OAAO,MAAMR,EAAmB,SAASE,CAAO,GAAGO,CAAI;AAAA,IAExE,SAAS,CACPP,GACAO,MACGD,EAAY,OAAO,MAAMR,EAAmB,WAAWE,CAAO,GAAGO,CAAI;AAAA,IAE1E,MAAM,CACJP,GACAO,MACGD,EAAY,OAAO,MAAMR,EAAmB,QAAQE,CAAO,GAAGO,CAAI;AAAA,IAEvE,SAAS,CACPP,GACAO,MACGD,EAAY,OAAO,MAAMR,EAAmB,WAAWE,CAAO,GAAGO,CAAI;AAAA,IAE1E,WAAW,CACTP,GACAO,MAEAD,EAAY,OAAO,MAAMR,EAAmB,aAAaE,CAAO,GAAGO,CAAI;AAAA,EAAA;AAE7E;AAEA,SAASC,GAAQ;AAAA,EACf,UAAAC,IAAW;AAAA,EACX,YAAAC,IAAa;AAAA,EACb,aAAAC,IAAc;AAAA,EACd,QAAAC,IAAS;AAAA,EACT,eAAAC,IAAgB;AAAA,EAChB,UAAAC,IAAW;AAAA,EACX,GAAGC;AACL,GAAuB;AACrB,SACE,gBAAAtB;AAAA,IAACuB;AAAAA,IAAA;AAAA,MACE,GAAGD;AAAA,MACJ,UAAAN;AAAA,MACA,YAAAC;AAAA,MACA,aAAAC;AAAA,MACA,QAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAc;AAAA,QACZ,UAAAC;AAAA,QACA,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cAAc;AAAA,QAAA;AAAA,MAChB;AAAA,IACF;AAAA,EAAA;AAGN;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as t, Fragment as _, jsxs as
|
|
2
|
-
import * as
|
|
1
|
+
import { jsx as t, Fragment as _, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import * as c from "react";
|
|
3
3
|
import { useMemo as g, useCallback as j } from "react";
|
|
4
4
|
import { TooltipProvider as S, Tooltip as W, TooltipTrigger as X, TooltipContent as A } from "../../packages/ui/src/components/tooltip.js";
|
|
5
5
|
import "@radix-ui/react-slot";
|
|
@@ -35,19 +35,19 @@ import "../../packages/ui/src/components/tabs.js";
|
|
|
35
35
|
import "../../packages/ui/src/components/toggle.js";
|
|
36
36
|
import { useMotionValue as E, useSpring as u, useTransform as f, motion as v } from "motion/react";
|
|
37
37
|
import { animationClass as F } from "../../utils/animations.js";
|
|
38
|
-
const xt =
|
|
38
|
+
const xt = c.memo(function({
|
|
39
39
|
content: n,
|
|
40
40
|
children: o,
|
|
41
41
|
sideOffset: b = 4,
|
|
42
42
|
delayDuration: h = 0,
|
|
43
|
-
className:
|
|
43
|
+
className: s,
|
|
44
44
|
childClassName: x,
|
|
45
45
|
position: y = "top",
|
|
46
46
|
noArrow: w = !1,
|
|
47
|
-
animation:
|
|
47
|
+
animation: i,
|
|
48
48
|
...a
|
|
49
49
|
}) {
|
|
50
|
-
const l = { stiffness: 100, damping: 5 }, k = g(() => F(
|
|
50
|
+
const l = { stiffness: 100, damping: 5 }, k = g(() => F(i, s), [i, s]), d = g(() => {
|
|
51
51
|
switch (a.color) {
|
|
52
52
|
case "primary":
|
|
53
53
|
return "bg-primary text-primary-foreground [&>span>svg]:bg-primary [&>span>svg]:fill-primary";
|
|
@@ -77,23 +77,23 @@ const xt = d.memo(function({
|
|
|
77
77
|
f(r, [-100, 100], [-50, 50]),
|
|
78
78
|
l
|
|
79
79
|
), M = j(
|
|
80
|
-
(
|
|
81
|
-
const N =
|
|
82
|
-
r.set(
|
|
80
|
+
(p) => {
|
|
81
|
+
const N = p.target.offsetWidth / 2;
|
|
82
|
+
r.set(p.nativeEvent.offsetX - N);
|
|
83
83
|
},
|
|
84
84
|
[r]
|
|
85
|
-
), z =
|
|
85
|
+
), z = c.memo(() => o ? /* @__PURE__ */ t(
|
|
86
86
|
"span",
|
|
87
87
|
{
|
|
88
88
|
onMouseMove: M,
|
|
89
|
-
className: e("inline-block", x),
|
|
89
|
+
className: e("ds:inline-block", x),
|
|
90
90
|
children: o
|
|
91
91
|
}
|
|
92
92
|
) : /* @__PURE__ */ t(_, {}));
|
|
93
|
-
return
|
|
93
|
+
return i === "spec" ? /* @__PURE__ */ m(
|
|
94
94
|
v.div,
|
|
95
95
|
{
|
|
96
|
-
className: e("relative
|
|
96
|
+
className: e("ds:relative ds:-me-2.5 ds:inline-block", s),
|
|
97
97
|
whileHover: "hover",
|
|
98
98
|
initial: "initial",
|
|
99
99
|
children: [
|
|
@@ -119,16 +119,16 @@ const xt = d.memo(function({
|
|
|
119
119
|
whiteSpace: "nowrap"
|
|
120
120
|
},
|
|
121
121
|
className: e(
|
|
122
|
-
"absolute
|
|
123
|
-
|
|
122
|
+
"ds:absolute ds:-top-2 ds:left-1/2 ds:z-50 ds:flex ds:-translate-x-1/2 ds:-translate-y-full ds:flex-col ds:items-center ds:justify-center ds:rounded-md ds:px-4 ds:py-2 ds:text-xs ds:shadow-xl",
|
|
123
|
+
d
|
|
124
124
|
),
|
|
125
|
-
children: /* @__PURE__ */ t("div", { className: "relative z-1", children: n })
|
|
125
|
+
children: /* @__PURE__ */ t("div", { className: "ds:relative ds:z-1", children: n })
|
|
126
126
|
}
|
|
127
127
|
),
|
|
128
128
|
/* @__PURE__ */ t(z, {})
|
|
129
129
|
]
|
|
130
130
|
}
|
|
131
|
-
) : /* @__PURE__ */ t(S, { delayDuration: h, children: /* @__PURE__ */
|
|
131
|
+
) : /* @__PURE__ */ t(S, { delayDuration: h, children: /* @__PURE__ */ m(W, { children: [
|
|
132
132
|
/* @__PURE__ */ t(X, { asChild: !0, children: o }),
|
|
133
133
|
/* @__PURE__ */ t(
|
|
134
134
|
A,
|
|
@@ -136,8 +136,8 @@ const xt = d.memo(function({
|
|
|
136
136
|
...a,
|
|
137
137
|
side: y,
|
|
138
138
|
sideOffset: b,
|
|
139
|
-
className: e(k?.className,
|
|
140
|
-
"[&>span>svg]:invisible": w
|
|
139
|
+
className: e(k?.className, d, {
|
|
140
|
+
"ds:[&>span>svg]:invisible": w
|
|
141
141
|
}),
|
|
142
142
|
children: n
|
|
143
143
|
}
|