@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,26 +1,26 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
1
|
+
import { jsx as s, jsxs as m, Fragment as X } from "react/jsx-runtime";
|
|
2
|
+
import n from "react";
|
|
3
3
|
import { MultiSelect as Y, MultiSelectTrigger as Z, MultiSelectValue as $, MultiSelectContent as B, MultiSelectGroup as F, MultiSelectItem as H, MultiSelectSeparator as R } from "../../packages/ui/src/components/select.js";
|
|
4
4
|
import { Combobox as q } from "../../packages/ui/src/components/combobox.js";
|
|
5
5
|
import { cn as o } from "../../packages/ui/src/lib/utils.js";
|
|
6
6
|
import { FloatingLabel as O } from "../FloatLabel.js";
|
|
7
7
|
import { Info as z } from "lucide-react";
|
|
8
8
|
import { Tooltip as L } from "../Tooltip/Tooltip.js";
|
|
9
|
-
const ee =
|
|
9
|
+
const ee = n.forwardRef(
|
|
10
10
|
({
|
|
11
11
|
className: N,
|
|
12
12
|
label: u,
|
|
13
13
|
helperText: w,
|
|
14
14
|
state: f = "default",
|
|
15
|
-
size:
|
|
16
|
-
isFloatLabel:
|
|
15
|
+
size: l = "normal",
|
|
16
|
+
isFloatLabel: t,
|
|
17
17
|
infoTooltip: p,
|
|
18
18
|
clearable: y = !1,
|
|
19
19
|
placeholder: b = "",
|
|
20
20
|
options: g = [],
|
|
21
|
-
tagRender:
|
|
21
|
+
tagRender: a,
|
|
22
22
|
multiple: S = !1,
|
|
23
|
-
value:
|
|
23
|
+
value: c,
|
|
24
24
|
defaultValue: T,
|
|
25
25
|
onValueChange: I,
|
|
26
26
|
values: A,
|
|
@@ -35,58 +35,58 @@ const ee = s.forwardRef(
|
|
|
35
35
|
onBlur: E,
|
|
36
36
|
required: M
|
|
37
37
|
}, K) => {
|
|
38
|
-
const i =
|
|
39
|
-
|
|
38
|
+
const i = n.useId(), [V, _] = n.useState(
|
|
39
|
+
c ?? T ?? ""
|
|
40
40
|
);
|
|
41
|
-
|
|
42
|
-
!S &&
|
|
43
|
-
}, [S,
|
|
44
|
-
const P =
|
|
45
|
-
(
|
|
46
|
-
const
|
|
47
|
-
|
|
41
|
+
n.useEffect(() => {
|
|
42
|
+
!S && c !== void 0 && _(c);
|
|
43
|
+
}, [S, c]);
|
|
44
|
+
const P = n.useCallback(
|
|
45
|
+
(d) => {
|
|
46
|
+
const r = d || "";
|
|
47
|
+
c === void 0 && _(r), I?.(r), x?.(r);
|
|
48
48
|
},
|
|
49
|
-
[I, x,
|
|
50
|
-
), Q =
|
|
51
|
-
(
|
|
52
|
-
j?.(
|
|
49
|
+
[I, x, c]
|
|
50
|
+
), Q = n.useCallback(
|
|
51
|
+
(d) => {
|
|
52
|
+
j?.(d), x?.(d);
|
|
53
53
|
},
|
|
54
54
|
[j, x]
|
|
55
55
|
), U = {
|
|
56
|
-
default: "text-muted-foreground",
|
|
57
|
-
success: "text-success",
|
|
58
|
-
warning: "text-warning",
|
|
59
|
-
error: "text-error"
|
|
60
|
-
}, G =
|
|
61
|
-
const
|
|
62
|
-
return g.forEach((
|
|
63
|
-
const e =
|
|
64
|
-
|
|
65
|
-
}),
|
|
56
|
+
default: "ds:text-muted-foreground",
|
|
57
|
+
success: "ds:text-success",
|
|
58
|
+
warning: "ds:text-warning",
|
|
59
|
+
error: "ds:text-error"
|
|
60
|
+
}, G = t ? l === "xl" || l === "lg" ? l : "xl" : l, W = n.useMemo(() => {
|
|
61
|
+
const d = /* @__PURE__ */ new Map();
|
|
62
|
+
return g.forEach((r) => {
|
|
63
|
+
const e = r.group;
|
|
64
|
+
d.has(e) || d.set(e, []), d.get(e).push(r);
|
|
65
|
+
}), d;
|
|
66
66
|
}, [g]);
|
|
67
|
-
return /* @__PURE__ */
|
|
67
|
+
return /* @__PURE__ */ s("div", { className: N, children: /* @__PURE__ */ m(
|
|
68
68
|
"div",
|
|
69
69
|
{
|
|
70
70
|
ref: K,
|
|
71
|
-
className: o("flex flex-col gap-1.5 relative", {
|
|
72
|
-
"floating-label relative":
|
|
71
|
+
className: o("ds:flex ds:flex-col ds:gap-1.5 ds:relative", {
|
|
72
|
+
"ds:floating-label ds:relative": t
|
|
73
73
|
}),
|
|
74
74
|
children: [
|
|
75
|
-
!
|
|
75
|
+
!t && u && /* @__PURE__ */ m(
|
|
76
76
|
"label",
|
|
77
77
|
{
|
|
78
78
|
htmlFor: i,
|
|
79
|
-
className: "flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
79
|
+
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",
|
|
80
80
|
children: [
|
|
81
81
|
/* @__PURE__ */ m("span", { children: [
|
|
82
82
|
u,
|
|
83
|
-
M && /* @__PURE__ */
|
|
83
|
+
M && /* @__PURE__ */ s("span", { className: "ds:text-error ds:ml-0.5", children: "*" })
|
|
84
84
|
] }),
|
|
85
|
-
p && /* @__PURE__ */
|
|
85
|
+
p && /* @__PURE__ */ s(L, { content: p, children: /* @__PURE__ */ s(z, { className: "ds:size-3.5 ds:min-w-3.5" }) })
|
|
86
86
|
]
|
|
87
87
|
}
|
|
88
88
|
),
|
|
89
|
-
/* @__PURE__ */
|
|
89
|
+
/* @__PURE__ */ s("div", { className: "ds:relative", children: S ? (
|
|
90
90
|
// Multi Mode
|
|
91
91
|
/* @__PURE__ */ m(
|
|
92
92
|
Y,
|
|
@@ -95,15 +95,15 @@ const ee = s.forwardRef(
|
|
|
95
95
|
defaultValues: typeof v == "string" ? [v] : v,
|
|
96
96
|
onValuesChange: Q,
|
|
97
97
|
children: [
|
|
98
|
-
/* @__PURE__ */
|
|
98
|
+
/* @__PURE__ */ s(
|
|
99
99
|
Z,
|
|
100
100
|
{
|
|
101
101
|
id: i,
|
|
102
102
|
disabled: C,
|
|
103
103
|
className: o(
|
|
104
|
-
"peer w-full",
|
|
104
|
+
"ds:peer ds:w-full",
|
|
105
105
|
{
|
|
106
|
-
"pt-5 pb-1":
|
|
106
|
+
"ds:pt-5 ds:pb-1": t && l !== "lg"
|
|
107
107
|
},
|
|
108
108
|
N
|
|
109
109
|
),
|
|
@@ -111,7 +111,7 @@ const ee = s.forwardRef(
|
|
|
111
111
|
state: f,
|
|
112
112
|
onFocus: k,
|
|
113
113
|
onBlur: E,
|
|
114
|
-
children: /* @__PURE__ */
|
|
114
|
+
children: /* @__PURE__ */ s(
|
|
115
115
|
$,
|
|
116
116
|
{
|
|
117
117
|
placeholder: b,
|
|
@@ -121,37 +121,37 @@ const ee = s.forwardRef(
|
|
|
121
121
|
)
|
|
122
122
|
}
|
|
123
123
|
),
|
|
124
|
-
|
|
124
|
+
t && /* @__PURE__ */ s(
|
|
125
125
|
O,
|
|
126
126
|
{
|
|
127
127
|
htmlFor: i,
|
|
128
|
-
size:
|
|
128
|
+
size: l,
|
|
129
129
|
infoTooltip: p,
|
|
130
130
|
required: M,
|
|
131
131
|
children: u
|
|
132
132
|
}
|
|
133
133
|
),
|
|
134
|
-
/* @__PURE__ */
|
|
135
|
-
/* @__PURE__ */
|
|
134
|
+
/* @__PURE__ */ s(B, { search: h, children: [...W.entries()].map(([d, r]) => d ? /* @__PURE__ */ m(n.Fragment, { children: [
|
|
135
|
+
/* @__PURE__ */ s(F, { heading: d, children: r.map((e) => /* @__PURE__ */ s(
|
|
136
136
|
H,
|
|
137
137
|
{
|
|
138
138
|
value: e.value,
|
|
139
139
|
disabled: e?.disabled,
|
|
140
140
|
icon: e?.icon,
|
|
141
|
-
tagRender: !!
|
|
142
|
-
children:
|
|
141
|
+
tagRender: !!a,
|
|
142
|
+
children: a ? a(e) : e.label
|
|
143
143
|
},
|
|
144
144
|
e.value
|
|
145
145
|
)) }),
|
|
146
|
-
/* @__PURE__ */
|
|
147
|
-
] },
|
|
146
|
+
/* @__PURE__ */ s(R, {})
|
|
147
|
+
] }, d) : r.map((e) => /* @__PURE__ */ s(
|
|
148
148
|
H,
|
|
149
149
|
{
|
|
150
150
|
value: e.value,
|
|
151
151
|
disabled: e?.disabled,
|
|
152
152
|
icon: e?.icon,
|
|
153
|
-
tagRender: !!
|
|
154
|
-
children:
|
|
153
|
+
tagRender: !!a,
|
|
154
|
+
children: a ? a(e) : e.label
|
|
155
155
|
},
|
|
156
156
|
e.value
|
|
157
157
|
))) })
|
|
@@ -161,10 +161,10 @@ const ee = s.forwardRef(
|
|
|
161
161
|
) : (
|
|
162
162
|
// Single Mode
|
|
163
163
|
/* @__PURE__ */ m(X, { children: [
|
|
164
|
-
/* @__PURE__ */
|
|
164
|
+
/* @__PURE__ */ s(
|
|
165
165
|
q,
|
|
166
166
|
{
|
|
167
|
-
value:
|
|
167
|
+
value: c ?? V,
|
|
168
168
|
options: g,
|
|
169
169
|
placeHolder: b,
|
|
170
170
|
emptyText: typeof h == "object" ? h.emptyMessage : "No results found",
|
|
@@ -173,38 +173,38 @@ const ee = s.forwardRef(
|
|
|
173
173
|
disabled: C,
|
|
174
174
|
id: i,
|
|
175
175
|
className: o(
|
|
176
|
-
"peer w-full justify-start",
|
|
176
|
+
"ds:peer ds:w-full ds:justify-start",
|
|
177
177
|
{
|
|
178
|
-
"pt-5 pb-1":
|
|
178
|
+
"ds:pt-5 ds:pb-1": t && l !== "lg"
|
|
179
179
|
}
|
|
180
180
|
// className,
|
|
181
181
|
),
|
|
182
182
|
size: G,
|
|
183
183
|
state: f,
|
|
184
|
-
dropdownClassName: o("opacity-40", {
|
|
185
|
-
"translate-y-[-8px]":
|
|
184
|
+
dropdownClassName: o("ds:opacity-40", {
|
|
185
|
+
"ds:translate-y-[-8px]": t && l !== "lg"
|
|
186
186
|
}),
|
|
187
187
|
searchable: !!h,
|
|
188
|
-
tagRender:
|
|
188
|
+
tagRender: a,
|
|
189
189
|
onFocus: k,
|
|
190
190
|
onBlur: E
|
|
191
191
|
}
|
|
192
192
|
),
|
|
193
|
-
|
|
193
|
+
t && /* @__PURE__ */ s(
|
|
194
194
|
O,
|
|
195
195
|
{
|
|
196
196
|
htmlFor: i,
|
|
197
|
-
size:
|
|
197
|
+
size: l,
|
|
198
198
|
infoTooltip: p,
|
|
199
199
|
required: M,
|
|
200
|
-
shouldFloat: !!(
|
|
201
|
-
className: "pointer-events-none",
|
|
200
|
+
shouldFloat: !!(c ?? V),
|
|
201
|
+
className: "ds:pointer-events-none",
|
|
202
202
|
children: u
|
|
203
203
|
}
|
|
204
204
|
)
|
|
205
205
|
] })
|
|
206
206
|
) }),
|
|
207
|
-
w && /* @__PURE__ */
|
|
207
|
+
w && /* @__PURE__ */ s("p", { className: o("ds:text-xs", f ? U[f] : ""), children: w })
|
|
208
208
|
]
|
|
209
209
|
}
|
|
210
210
|
) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n MultiSelect as BaseMultiSelect,\n MultiSelectTrigger as BaseMultiSelectTrigger,\n MultiSelectValue as BaseMultiSelectValue,\n MultiSelectContent as BaseMultiSelectContent,\n MultiSelectItem as BaseMultiSelectItem,\n MultiSelectGroup as BaseMultiSelectGroup,\n MultiSelectSeparator as BaseMultiSelectSeparator,\n} from \"@dsui/ui/components/select\";\nimport {\n Combobox,\n type ComboboxProps,\n type SelectOption as SSelectOption,\n} from \"@dsui/ui/components/combobox\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Info } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nexport type SelectOption = SSelectOption;\n\nexport type SelectProps = Omit<ComboboxProps, \"ref\"> & {\n label?: string;\n helperText?: React.ReactNode;\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n isFloatLabel?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n placeholder?: string;\n options?: SelectOption[];\n tagRender?: (option: SelectOption) => React.ReactNode;\n multiple?: boolean;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n values?: string[];\n defaultValues?: string | string[];\n onValuesChange?: (values: string[]) => void;\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n className?: string;\n disabled?: boolean;\n onChange?: (value: string | string[]) => void;\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n required?: boolean;\n};\n\nconst Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n className,\n label,\n helperText,\n state = \"default\",\n size = \"normal\",\n isFloatLabel,\n infoTooltip,\n clearable = false,\n placeholder = \"\",\n options = [],\n tagRender,\n multiple = false,\n value,\n defaultValue,\n onValueChange,\n values,\n defaultValues,\n onValuesChange,\n search,\n clickToRemove = true,\n overflowBehavior = \"wrap-when-open\",\n disabled,\n onChange,\n onFocus,\n onBlur,\n required,\n },\n ref\n ) => {\n const selectId = React.useId();\n\n // For single select, use controlled value or internal state\n const [internalValue, setInternalValue] = React.useState(\n value ?? defaultValue ?? \"\"\n );\n\n React.useEffect(() => {\n if (!multiple && value !== undefined) {\n setInternalValue(value);\n }\n }, [multiple, value]);\n\n // Handle single select value change\n const handleSingleValueChange = React.useCallback(\n (newValue?: string | null) => {\n const val = newValue || \"\";\n if (value === undefined) {\n setInternalValue(val);\n }\n onValueChange?.(val);\n onChange?.(val);\n },\n [onValueChange, onChange, value]\n );\n\n // Handle multi select values change\n const handleMultiValuesChange = React.useCallback(\n (newValues: string[]) => {\n onValuesChange?.(newValues);\n onChange?.(newValues);\n },\n [onValuesChange, onChange]\n );\n\n // Helper text styles\n const helperTextStyles = {\n default: \"text-muted-foreground\",\n success: \"text-success\",\n warning: \"text-warning\",\n error: \"text-error\",\n };\n\n // Calculate current size\n const currentSize = isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size;\n\n // Group options by group property\n const groupedOptions = React.useMemo(() => {\n const groups = new Map<string | undefined, SelectOption[]>();\n options.forEach((option) => {\n const group = option.group;\n if (!groups.has(group)) {\n groups.set(group, []);\n }\n groups.get(group)!.push(option);\n });\n return groups;\n }, [options]);\n\n return (\n <div className={className}>\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1.5 relative\", {\n \"floating-label relative\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <label\n htmlFor={selectId}\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 {!multiple ? (\n // Single Mode\n <>\n <Combobox\n value={value ?? internalValue}\n options={options}\n placeHolder={placeholder}\n emptyText={\n typeof search === \"object\"\n ? search.emptyMessage\n : \"No results found\"\n }\n onChange={handleSingleValueChange}\n clearable={clearable}\n disabled={disabled}\n id={selectId}\n className={cn(\n \"peer w-full justify-start\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n }\n // className,\n )}\n size={currentSize}\n state={state}\n dropdownClassName={cn(\"opacity-40\", {\n \"translate-y-[-8px]\": isFloatLabel && size !== \"lg\",\n })}\n searchable={!!search}\n tagRender={tagRender}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n required={required}\n shouldFloat={!!(value ?? internalValue)}\n className=\"pointer-events-none\"\n >\n {label}\n </FloatingLabel>\n )}\n </>\n ) : (\n // Multi Mode\n <BaseMultiSelect\n values={values}\n defaultValues={\n typeof defaultValues === \"string\"\n ? [defaultValues]\n : defaultValues\n }\n onValuesChange={handleMultiValuesChange}\n >\n <BaseMultiSelectTrigger\n id={selectId}\n disabled={disabled}\n className={cn(\n \"peer w-full\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n },\n className\n )}\n size={currentSize}\n state={state}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <BaseMultiSelectValue\n placeholder={placeholder}\n clickToRemove={clickToRemove && clearable}\n overflowBehavior={overflowBehavior}\n />\n </BaseMultiSelectTrigger>\n\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n required={required}\n >\n {label}\n </FloatingLabel>\n )}\n\n <BaseMultiSelectContent search={search}>\n {[...groupedOptions.entries()].map(([group, items]) => {\n if (group) {\n return (\n <React.Fragment key={group}>\n <BaseMultiSelectGroup heading={group}>\n {items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ))}\n </BaseMultiSelectGroup>\n <BaseMultiSelectSeparator />\n </React.Fragment>\n );\n }\n return items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ));\n })}\n </BaseMultiSelectContent>\n </BaseMultiSelect>\n )}\n </div>\n\n {helperText && (\n <p className={cn(\"text-xs\", state ? helperTextStyles[state] : \"\")}>\n {helperText}\n </p>\n )}\n </div>\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\nexport default Select;\n"],"names":["Select","React","className","label","helperText","state","size","isFloatLabel","infoTooltip","clearable","placeholder","options","tagRender","multiple","value","defaultValue","onValueChange","values","defaultValues","onValuesChange","search","clickToRemove","overflowBehavior","disabled","onChange","onFocus","onBlur","required","ref","selectId","internalValue","setInternalValue","handleSingleValueChange","newValue","val","handleMultiValuesChange","newValues","helperTextStyles","currentSize","groupedOptions","groups","option","group","jsx","jsxs","cn","Tooltip","Info","BaseMultiSelect","BaseMultiSelectTrigger","BaseMultiSelectValue","FloatingLabel","BaseMultiSelectContent","items","BaseMultiSelectGroup","BaseMultiSelectItem","BaseMultiSelectSeparator","Fragment","Combobox"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n MultiSelect as BaseMultiSelect,\n MultiSelectTrigger as BaseMultiSelectTrigger,\n MultiSelectValue as BaseMultiSelectValue,\n MultiSelectContent as BaseMultiSelectContent,\n MultiSelectItem as BaseMultiSelectItem,\n MultiSelectGroup as BaseMultiSelectGroup,\n MultiSelectSeparator as BaseMultiSelectSeparator,\n} from \"@dsui/ui/components/select\";\nimport {\n Combobox,\n type ComboboxProps,\n type SelectOption as SSelectOption,\n} from \"@dsui/ui/components/combobox\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Info } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nexport type SelectOption = SSelectOption;\n\nexport type SelectProps = Omit<ComboboxProps, \"ref\"> & {\n label?: string;\n helperText?: React.ReactNode;\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n isFloatLabel?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n placeholder?: string;\n options?: SelectOption[];\n tagRender?: (option: SelectOption) => React.ReactNode;\n multiple?: boolean;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n values?: string[];\n defaultValues?: string | string[];\n onValuesChange?: (values: string[]) => void;\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n className?: string;\n disabled?: boolean;\n onChange?: (value: string | string[]) => void;\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n required?: boolean;\n};\n\nconst Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n className,\n label,\n helperText,\n state = \"default\",\n size = \"normal\",\n isFloatLabel,\n infoTooltip,\n clearable = false,\n placeholder = \"\",\n options = [],\n tagRender,\n multiple = false,\n value,\n defaultValue,\n onValueChange,\n values,\n defaultValues,\n onValuesChange,\n search,\n clickToRemove = true,\n overflowBehavior = \"wrap-when-open\",\n disabled,\n onChange,\n onFocus,\n onBlur,\n required,\n },\n ref\n ) => {\n const selectId = React.useId();\n\n // For single select, use controlled value or internal state\n const [internalValue, setInternalValue] = React.useState(\n value ?? defaultValue ?? \"\"\n );\n\n React.useEffect(() => {\n if (!multiple && value !== undefined) {\n setInternalValue(value);\n }\n }, [multiple, value]);\n\n // Handle single select value change\n const handleSingleValueChange = React.useCallback(\n (newValue?: string | null) => {\n const val = newValue || \"\";\n if (value === undefined) {\n setInternalValue(val);\n }\n onValueChange?.(val);\n onChange?.(val);\n },\n [onValueChange, onChange, value]\n );\n\n // Handle multi select values change\n const handleMultiValuesChange = React.useCallback(\n (newValues: string[]) => {\n onValuesChange?.(newValues);\n onChange?.(newValues);\n },\n [onValuesChange, onChange]\n );\n\n // Helper text styles\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 // Calculate current size\n const currentSize = isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size;\n\n // Group options by group property\n const groupedOptions = React.useMemo(() => {\n const groups = new Map<string | undefined, SelectOption[]>();\n options.forEach((option) => {\n const group = option.group;\n if (!groups.has(group)) {\n groups.set(group, []);\n }\n groups.get(group)!.push(option);\n });\n return groups;\n }, [options]);\n\n return (\n <div className={className}>\n <div\n ref={ref}\n className={cn(\"ds:flex ds:flex-col ds:gap-1.5 ds:relative\", {\n \"ds:floating-label ds:relative\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <label\n htmlFor={selectId}\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 {!multiple ? (\n // Single Mode\n <>\n <Combobox\n value={value ?? internalValue}\n options={options}\n placeHolder={placeholder}\n emptyText={\n typeof search === \"object\"\n ? search.emptyMessage\n : \"No results found\"\n }\n onChange={handleSingleValueChange}\n clearable={clearable}\n disabled={disabled}\n id={selectId}\n className={cn(\n \"ds:peer ds:w-full ds:justify-start\",\n {\n \"ds:pt-5 ds:pb-1\": isFloatLabel && size !== \"lg\",\n }\n // className,\n )}\n size={currentSize}\n state={state}\n dropdownClassName={cn(\"ds:opacity-40\", {\n \"ds:translate-y-[-8px]\": isFloatLabel && size !== \"lg\",\n })}\n searchable={!!search}\n tagRender={tagRender}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n required={required}\n shouldFloat={!!(value ?? internalValue)}\n className=\"ds:pointer-events-none\"\n >\n {label}\n </FloatingLabel>\n )}\n </>\n ) : (\n // Multi Mode\n <BaseMultiSelect\n values={values}\n defaultValues={\n typeof defaultValues === \"string\"\n ? [defaultValues]\n : defaultValues\n }\n onValuesChange={handleMultiValuesChange}\n >\n <BaseMultiSelectTrigger\n id={selectId}\n disabled={disabled}\n className={cn(\n \"ds:peer ds:w-full\",\n {\n \"ds:pt-5 ds:pb-1\": isFloatLabel && size !== \"lg\",\n },\n className\n )}\n size={currentSize}\n state={state}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <BaseMultiSelectValue\n placeholder={placeholder}\n clickToRemove={clickToRemove && clearable}\n overflowBehavior={overflowBehavior}\n />\n </BaseMultiSelectTrigger>\n\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n required={required}\n >\n {label}\n </FloatingLabel>\n )}\n\n <BaseMultiSelectContent search={search}>\n {[...groupedOptions.entries()].map(([group, items]) => {\n if (group) {\n return (\n <React.Fragment key={group}>\n <BaseMultiSelectGroup heading={group}>\n {items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ))}\n </BaseMultiSelectGroup>\n <BaseMultiSelectSeparator />\n </React.Fragment>\n );\n }\n return items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ));\n })}\n </BaseMultiSelectContent>\n </BaseMultiSelect>\n )}\n </div>\n\n {helperText && (\n <p className={cn(\"ds:text-xs\", state ? helperTextStyles[state] : \"\")}>\n {helperText}\n </p>\n )}\n </div>\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\nexport default Select;\n"],"names":["Select","React","className","label","helperText","state","size","isFloatLabel","infoTooltip","clearable","placeholder","options","tagRender","multiple","value","defaultValue","onValueChange","values","defaultValues","onValuesChange","search","clickToRemove","overflowBehavior","disabled","onChange","onFocus","onBlur","required","ref","selectId","internalValue","setInternalValue","handleSingleValueChange","newValue","val","handleMultiValuesChange","newValues","helperTextStyles","currentSize","groupedOptions","groups","option","group","jsx","jsxs","cn","Tooltip","Info","BaseMultiSelect","BaseMultiSelectTrigger","BaseMultiSelectValue","FloatingLabel","BaseMultiSelectContent","items","BaseMultiSelectGroup","BaseMultiSelectItem","BaseMultiSelectSeparator","Fragment","Combobox"],"mappings":"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"}
|
|
@@ -21,8 +21,8 @@ const j = (f, o) => {
|
|
|
21
21
|
onOpenChange: p,
|
|
22
22
|
title: a,
|
|
23
23
|
description: r,
|
|
24
|
-
children:
|
|
25
|
-
trigger:
|
|
24
|
+
children: m,
|
|
25
|
+
trigger: c,
|
|
26
26
|
footer: n,
|
|
27
27
|
side: g = "right",
|
|
28
28
|
closeOnEsc: F = !0,
|
|
@@ -30,7 +30,7 @@ const j = (f, o) => {
|
|
|
30
30
|
showCloseButton: k = !0,
|
|
31
31
|
autoDrawerOnMobile: E = !0,
|
|
32
32
|
size: v = "md",
|
|
33
|
-
stickyHeader:
|
|
33
|
+
stickyHeader: i = !1,
|
|
34
34
|
stickyFooter: h = !1,
|
|
35
35
|
autoHeight: _ = !0,
|
|
36
36
|
animation: x,
|
|
@@ -43,17 +43,17 @@ const j = (f, o) => {
|
|
|
43
43
|
overlayClassName: A
|
|
44
44
|
} = f, b = w(() => x ? ee(x) : { className: "" }, [x]), B = s(
|
|
45
45
|
// Remove default padding and gap to allow custom header/footer
|
|
46
|
-
"
|
|
46
|
+
"ds:!p-0 ds:!gap-0 ds:flex ds:flex-col",
|
|
47
47
|
j(v, g),
|
|
48
48
|
b.className,
|
|
49
49
|
u
|
|
50
|
-
), O = s("px-6 pt-6 text-left", D), M = s(
|
|
51
|
-
"px-6 pb-6 flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
50
|
+
), O = s("ds:px-6 ds:pt-6 ds:text-left", D), M = s(
|
|
51
|
+
"ds:px-6 ds:pb-6 ds:flex-col-reverse ds:sm:flex-row ds:sm:justify-end ds:sm:space-x-2",
|
|
52
52
|
S
|
|
53
53
|
), z = w(() => a || r ? /* @__PURE__ */ l(
|
|
54
54
|
K,
|
|
55
55
|
{
|
|
56
|
-
className: s("py-4", { "border-b":
|
|
56
|
+
className: s("ds:py-4", { "ds:border-b": i }, O),
|
|
57
57
|
children: [
|
|
58
58
|
a && /* @__PURE__ */ e(V, { className: N, children: a }),
|
|
59
59
|
r && /* @__PURE__ */ e($, { className: C, children: r })
|
|
@@ -65,28 +65,28 @@ const j = (f, o) => {
|
|
|
65
65
|
O,
|
|
66
66
|
N,
|
|
67
67
|
C,
|
|
68
|
-
|
|
68
|
+
i
|
|
69
69
|
]), H = w(() => n ? /* @__PURE__ */ e(
|
|
70
70
|
q,
|
|
71
71
|
{
|
|
72
|
-
className: s("py-4", { "border-t": h }, M),
|
|
72
|
+
className: s("ds:py-4", { "ds:border-t": h }, M),
|
|
73
73
|
children: n
|
|
74
74
|
}
|
|
75
75
|
) : null, [n, M, h]);
|
|
76
76
|
if (se && E) {
|
|
77
|
-
const
|
|
78
|
-
"flex flex-col",
|
|
77
|
+
const d = s(
|
|
78
|
+
"ds:flex ds:flex-col",
|
|
79
79
|
b.className,
|
|
80
80
|
u
|
|
81
81
|
);
|
|
82
82
|
return /* @__PURE__ */ l(P, { open: t, onOpenChange: p, direction: "bottom", children: [
|
|
83
|
-
|
|
83
|
+
c && /* @__PURE__ */ e(Q, { asChild: !0, children: c }),
|
|
84
84
|
/* @__PURE__ */ l(
|
|
85
85
|
U,
|
|
86
86
|
{
|
|
87
87
|
ref: o,
|
|
88
88
|
className: s(
|
|
89
|
-
|
|
89
|
+
d,
|
|
90
90
|
_ ? "" : j(v, "bottom")
|
|
91
91
|
),
|
|
92
92
|
children: [
|
|
@@ -94,7 +94,7 @@ const j = (f, o) => {
|
|
|
94
94
|
a && /* @__PURE__ */ e(X, { className: N, children: a }),
|
|
95
95
|
r && /* @__PURE__ */ e(Y, { className: C, children: r })
|
|
96
96
|
] }),
|
|
97
|
-
/* @__PURE__ */ e(T, { className: s("flex flex-col overflow-hidden"), children:
|
|
97
|
+
/* @__PURE__ */ e(T, { className: s("ds:flex ds:flex-col ds:overflow-hidden"), children: m && /* @__PURE__ */ e("div", { className: s("ds:px-4 ds:py-2", y), children: m }) }),
|
|
98
98
|
n && /* @__PURE__ */ e(Z, { className: S, children: n })
|
|
99
99
|
]
|
|
100
100
|
}
|
|
@@ -102,15 +102,15 @@ const j = (f, o) => {
|
|
|
102
102
|
] });
|
|
103
103
|
}
|
|
104
104
|
return /* @__PURE__ */ l(G, { open: t, onOpenChange: p, children: [
|
|
105
|
-
|
|
105
|
+
c && /* @__PURE__ */ e(J, { asChild: !0, children: c }),
|
|
106
106
|
/* @__PURE__ */ l(
|
|
107
107
|
L,
|
|
108
108
|
{
|
|
109
109
|
ref: o,
|
|
110
110
|
side: g,
|
|
111
111
|
className: s(u, B),
|
|
112
|
-
onEscapeKeyDown: (
|
|
113
|
-
onInteractOutside: (
|
|
112
|
+
onEscapeKeyDown: (d) => !F && d.preventDefault(),
|
|
113
|
+
onInteractOutside: (d) => !R && d.preventDefault(),
|
|
114
114
|
overlayClassName: s(A),
|
|
115
115
|
children: [
|
|
116
116
|
!k && /* @__PURE__ */ e("style", { children: `
|
|
@@ -118,10 +118,10 @@ const j = (f, o) => {
|
|
|
118
118
|
display: none;
|
|
119
119
|
}
|
|
120
120
|
` }),
|
|
121
|
-
|
|
122
|
-
/* @__PURE__ */ l(T, { className: "flex max-h-full flex-col overflow-hidden", children: [
|
|
123
|
-
!
|
|
124
|
-
|
|
121
|
+
i && z,
|
|
122
|
+
/* @__PURE__ */ l(T, { className: "ds:flex ds:max-h-full ds:flex-col ds:overflow-hidden", children: [
|
|
123
|
+
!i && z,
|
|
124
|
+
m && /* @__PURE__ */ e("div", { className: s("ds:px-6 ds:py-4", y), children: m }),
|
|
125
125
|
!h && H
|
|
126
126
|
] }),
|
|
127
127
|
h && H
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sheet.js","sources":["../../../../src/components/Sheet/Sheet.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n Sheet as SSheet,\n SheetContent as SSheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n SheetClose,\n} from \"@dsui/ui/components/sheet\";\nimport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from \"@dsui/ui/components/drawer\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { ScrollArea } from \"@dsui/ui/components/scroll-area\";\nimport type { BasicAnimation } from \"@/types/variables\";\nimport { animationClass } from \"@/utils/animations\";\nimport { isMobile } from \"react-device-detect\";\n\nexport type SheetSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type SheetSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n\nexport interface SheetProps {\n // Core props\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n // Content\n title?: React.ReactNode;\n description?: React.ReactNode;\n children?: React.ReactNode;\n trigger?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Behavior\n side?: SheetSide;\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n showCloseButton?: boolean;\n autoDrawerOnMobile?: boolean;\n\n // Layout\n size?: SheetSize;\n stickyHeader?: boolean;\n stickyFooter?: boolean;\n autoHeight?: boolean;\n\n // Animation\n animation?: BasicAnimation;\n\n // Styling\n className?: string;\n contentClassName?: string;\n headerClassName?: string;\n titleClassName?: string;\n descriptionClassName?: string;\n footerClassName?: string;\n overlayClassName?: string;\n}\n\nconst getSizeClasses = (size: SheetSize, side: SheetSide): string => {\n const isVertical = side === \"top\" || side === \"bottom\";\n const sizeMap: Record<SheetSize, string> = {\n sm: isVertical ? \"max-h-[20vh]!\" : \"sm:max-w-sm\",\n md: isVertical ? \"max-h-[40vh]!\" : \"sm:max-w-md\",\n lg: isVertical ? \"max-h-[60vh]!\" : \"sm:max-w-lg\",\n xl: isVertical ? \"max-h-[80vh]!\" : \"sm:max-w-xl\",\n full: isVertical ? \"max-h-full!\" : \"sm:max-w-full\",\n };\n return sizeMap[size];\n};\n\nconst Sheet = React.forwardRef<HTMLDivElement, SheetProps>((props, ref) => {\n const {\n open,\n onOpenChange,\n title,\n description,\n children,\n trigger,\n footer,\n side = \"right\",\n closeOnEsc = true,\n closeOnOutside = true,\n showCloseButton = true,\n autoDrawerOnMobile = true,\n size = \"md\",\n stickyHeader = false,\n stickyFooter = false,\n autoHeight = true,\n animation,\n className,\n contentClassName,\n headerClassName,\n titleClassName,\n descriptionClassName,\n footerClassName,\n overlayClassName,\n } = props;\n\n const animationResult = useMemo(() => {\n return animation ? animationClass(animation) : { className: \"\" };\n }, [animation]);\n\n const contentClasses = cn(\n // Remove default padding and gap to allow custom header/footer\n \"!p-0 !gap-0 flex flex-col\",\n getSizeClasses(size, side),\n animationResult.className,\n className\n );\n\n const headerClasses = cn(\"px-6 pt-6 text-left\", headerClassName);\n\n const footerClasses = cn(\n \"px-6 pb-6 flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n footerClassName\n );\n\n const headerComponents = useMemo(() => {\n return title || description ? (\n <SheetHeader\n className={cn(\"py-4\", { \"border-b\": stickyHeader }, headerClasses)}\n >\n {title && <SheetTitle className={titleClassName}>{title}</SheetTitle>}\n {description && (\n <SheetDescription className={descriptionClassName}>\n {description}\n </SheetDescription>\n )}\n </SheetHeader>\n ) : null;\n }, [\n title,\n description,\n headerClasses,\n titleClassName,\n descriptionClassName,\n stickyHeader,\n ]);\n\n const footerComponents = useMemo(() => {\n return footer ? (\n <SheetFooter\n className={cn(\"py-4\", { \"border-t\": stickyFooter }, footerClasses)}\n >\n {footer}\n </SheetFooter>\n ) : null;\n }, [footer, footerClasses, stickyFooter]);\n\n // Mobile: use drawer with bottom direction if enabled\n if (isMobile && autoDrawerOnMobile) {\n const drawerContentClasses = cn(\n \"flex flex-col\",\n animationResult.className,\n className\n );\n\n return (\n <Drawer open={open} onOpenChange={onOpenChange} direction=\"bottom\">\n {trigger && <DrawerTrigger asChild>{trigger}</DrawerTrigger>}\n <DrawerContent\n ref={ref}\n className={cn(\n drawerContentClasses,\n autoHeight ? \"\" : getSizeClasses(size, \"bottom\")\n )}\n >\n {(title || description) && (\n <DrawerHeader className={headerClassName}>\n {title && (\n <DrawerTitle className={titleClassName}>{title}</DrawerTitle>\n )}\n {description && (\n <DrawerDescription className={descriptionClassName}>\n {description}\n </DrawerDescription>\n )}\n </DrawerHeader>\n )}\n\n <ScrollArea className={cn(\"flex flex-col overflow-hidden\")}>\n {children && (\n <div className={cn(\"px-4 py-2\", contentClassName)}>\n {children}\n </div>\n )}\n </ScrollArea>\n\n {footer && (\n <DrawerFooter className={footerClassName}>{footer}</DrawerFooter>\n )}\n </DrawerContent>\n </Drawer>\n );\n }\n\n // Desktop: use sheet with original behavior\n return (\n <SSheet open={open} onOpenChange={onOpenChange}>\n {trigger && <SheetTrigger asChild>{trigger}</SheetTrigger>}\n <SSheetContent\n ref={ref}\n side={side}\n className={cn(className, contentClasses)}\n onEscapeKeyDown={(e) => !closeOnEsc && e.preventDefault()}\n onInteractOutside={(e) => !closeOnOutside && e.preventDefault()}\n overlayClassName={cn(overlayClassName)}\n >\n {/* Hide default close button if showCloseButton is false */}\n {!showCloseButton && (\n <style>{`\n [data-slot=\"sheet-content\"] > [data-slot=\"sheet-close\"] {\n display: none;\n }\n `}</style>\n )}\n\n {stickyHeader && headerComponents}\n\n <ScrollArea className=\"flex max-h-full flex-col overflow-hidden\">\n {!stickyHeader && headerComponents}\n {children && (\n <div className={cn(\"px-6 py-4\", contentClassName)}>{children}</div>\n )}\n {!stickyFooter && footerComponents}\n </ScrollArea>\n\n {stickyFooter && footerComponents}\n </SSheetContent>\n </SSheet>\n );\n});\n\nSheet.displayName = \"Sheet\";\n\nexport { SheetClose, DrawerClose };\nexport default Sheet;\n"],"names":["getSizeClasses","size","side","isVertical","Sheet","React","props","ref","open","onOpenChange","title","description","children","trigger","footer","closeOnEsc","closeOnOutside","showCloseButton","autoDrawerOnMobile","stickyHeader","stickyFooter","autoHeight","animation","className","contentClassName","headerClassName","titleClassName","descriptionClassName","footerClassName","overlayClassName","animationResult","useMemo","animationClass","contentClasses","cn","headerClasses","footerClasses","headerComponents","jsxs","SheetHeader","jsx","SheetTitle","SheetDescription","footerComponents","SheetFooter","isMobile","drawerContentClasses","Drawer","DrawerTrigger","DrawerContent","DrawerHeader","DrawerTitle","DrawerDescription","ScrollArea","DrawerFooter","SSheet","SheetTrigger","SSheetContent","e"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sheet.js","sources":["../../../../src/components/Sheet/Sheet.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n Sheet as SSheet,\n SheetContent as SSheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n SheetClose,\n} from \"@dsui/ui/components/sheet\";\nimport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from \"@dsui/ui/components/drawer\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { ScrollArea } from \"@dsui/ui/components/scroll-area\";\nimport type { BasicAnimation } from \"@/types/variables\";\nimport { animationClass } from \"@/utils/animations\";\nimport { isMobile } from \"react-device-detect\";\n\nexport type SheetSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type SheetSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n\nexport interface SheetProps {\n // Core props\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n // Content\n title?: React.ReactNode;\n description?: React.ReactNode;\n children?: React.ReactNode;\n trigger?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Behavior\n side?: SheetSide;\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n showCloseButton?: boolean;\n autoDrawerOnMobile?: boolean;\n\n // Layout\n size?: SheetSize;\n stickyHeader?: boolean;\n stickyFooter?: boolean;\n autoHeight?: boolean;\n\n // Animation\n animation?: BasicAnimation;\n\n // Styling\n className?: string;\n contentClassName?: string;\n headerClassName?: string;\n titleClassName?: string;\n descriptionClassName?: string;\n footerClassName?: string;\n overlayClassName?: string;\n}\n\nconst getSizeClasses = (size: SheetSize, side: SheetSide): string => {\n const isVertical = side === \"top\" || side === \"bottom\";\n const sizeMap: Record<SheetSize, string> = {\n sm: isVertical ? \"max-h-[20vh]!\" : \"sm:max-w-sm\",\n md: isVertical ? \"max-h-[40vh]!\" : \"sm:max-w-md\",\n lg: isVertical ? \"max-h-[60vh]!\" : \"sm:max-w-lg\",\n xl: isVertical ? \"max-h-[80vh]!\" : \"sm:max-w-xl\",\n full: isVertical ? \"max-h-full!\" : \"sm:max-w-full\",\n };\n return sizeMap[size];\n};\n\nconst Sheet = React.forwardRef<HTMLDivElement, SheetProps>((props, ref) => {\n const {\n open,\n onOpenChange,\n title,\n description,\n children,\n trigger,\n footer,\n side = \"right\",\n closeOnEsc = true,\n closeOnOutside = true,\n showCloseButton = true,\n autoDrawerOnMobile = true,\n size = \"md\",\n stickyHeader = false,\n stickyFooter = false,\n autoHeight = true,\n animation,\n className,\n contentClassName,\n headerClassName,\n titleClassName,\n descriptionClassName,\n footerClassName,\n overlayClassName,\n } = props;\n\n const animationResult = useMemo(() => {\n return animation ? animationClass(animation) : { className: \"\" };\n }, [animation]);\n\n const contentClasses = cn(\n // Remove default padding and gap to allow custom header/footer\n \"ds:!p-0 ds:!gap-0 ds:flex ds:flex-col\",\n getSizeClasses(size, side),\n animationResult.className,\n className\n );\n\n const headerClasses = cn(\"ds:px-6 ds:pt-6 ds:text-left\", headerClassName);\n\n const footerClasses = cn(\n \"ds:px-6 ds:pb-6 ds:flex-col-reverse ds:sm:flex-row ds:sm:justify-end ds:sm:space-x-2\",\n footerClassName\n );\n\n const headerComponents = useMemo(() => {\n return title || description ? (\n <SheetHeader\n className={cn(\"ds:py-4\", { \"ds:border-b\": stickyHeader }, headerClasses)}\n >\n {title && <SheetTitle className={titleClassName}>{title}</SheetTitle>}\n {description && (\n <SheetDescription className={descriptionClassName}>\n {description}\n </SheetDescription>\n )}\n </SheetHeader>\n ) : null;\n }, [\n title,\n description,\n headerClasses,\n titleClassName,\n descriptionClassName,\n stickyHeader,\n ]);\n\n const footerComponents = useMemo(() => {\n return footer ? (\n <SheetFooter\n className={cn(\"ds:py-4\", { \"ds:border-t\": stickyFooter }, footerClasses)}\n >\n {footer}\n </SheetFooter>\n ) : null;\n }, [footer, footerClasses, stickyFooter]);\n\n // Mobile: use drawer with bottom direction if enabled\n if (isMobile && autoDrawerOnMobile) {\n const drawerContentClasses = cn(\n \"ds:flex ds:flex-col\",\n animationResult.className,\n className\n );\n\n return (\n <Drawer open={open} onOpenChange={onOpenChange} direction=\"bottom\">\n {trigger && <DrawerTrigger asChild>{trigger}</DrawerTrigger>}\n <DrawerContent\n ref={ref}\n className={cn(\n drawerContentClasses,\n autoHeight ? \"\" : getSizeClasses(size, \"bottom\")\n )}\n >\n {(title || description) && (\n <DrawerHeader className={headerClassName}>\n {title && (\n <DrawerTitle className={titleClassName}>{title}</DrawerTitle>\n )}\n {description && (\n <DrawerDescription className={descriptionClassName}>\n {description}\n </DrawerDescription>\n )}\n </DrawerHeader>\n )}\n\n <ScrollArea className={cn(\"ds:flex ds:flex-col ds:overflow-hidden\")}>\n {children && (\n <div className={cn(\"ds:px-4 ds:py-2\", contentClassName)}>\n {children}\n </div>\n )}\n </ScrollArea>\n\n {footer && (\n <DrawerFooter className={footerClassName}>{footer}</DrawerFooter>\n )}\n </DrawerContent>\n </Drawer>\n );\n }\n\n // Desktop: use sheet with original behavior\n return (\n <SSheet open={open} onOpenChange={onOpenChange}>\n {trigger && <SheetTrigger asChild>{trigger}</SheetTrigger>}\n <SSheetContent\n ref={ref}\n side={side}\n className={cn(className, contentClasses)}\n onEscapeKeyDown={(e) => !closeOnEsc && e.preventDefault()}\n onInteractOutside={(e) => !closeOnOutside && e.preventDefault()}\n overlayClassName={cn(overlayClassName)}\n >\n {/* Hide default close button if showCloseButton is false */}\n {!showCloseButton && (\n <style>{`\n [data-slot=\"sheet-content\"] > [data-slot=\"sheet-close\"] {\n display: none;\n }\n `}</style>\n )}\n\n {stickyHeader && headerComponents}\n\n <ScrollArea className=\"ds:flex ds:max-h-full ds:flex-col ds:overflow-hidden\">\n {!stickyHeader && headerComponents}\n {children && (\n <div className={cn(\"ds:px-6 ds:py-4\", contentClassName)}>{children}</div>\n )}\n {!stickyFooter && footerComponents}\n </ScrollArea>\n\n {stickyFooter && footerComponents}\n </SSheetContent>\n </SSheet>\n );\n});\n\nSheet.displayName = \"Sheet\";\n\nexport { SheetClose, DrawerClose };\nexport default Sheet;\n"],"names":["getSizeClasses","size","side","isVertical","Sheet","React","props","ref","open","onOpenChange","title","description","children","trigger","footer","closeOnEsc","closeOnOutside","showCloseButton","autoDrawerOnMobile","stickyHeader","stickyFooter","autoHeight","animation","className","contentClassName","headerClassName","titleClassName","descriptionClassName","footerClassName","overlayClassName","animationResult","useMemo","animationClass","contentClasses","cn","headerClasses","footerClasses","headerComponents","jsxs","SheetHeader","jsx","SheetTitle","SheetDescription","footerComponents","SheetFooter","isMobile","drawerContentClasses","Drawer","DrawerTrigger","DrawerContent","DrawerHeader","DrawerTitle","DrawerDescription","ScrollArea","DrawerFooter","SSheet","SheetTrigger","SSheetContent","e"],"mappings":"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"}
|