@sth87/shadcn-design-system 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +487 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs +2 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/cjs/_virtual/index.cjs +2 -0
- package/dist/cjs/_virtual/index.cjs.map +1 -0
- package/dist/cjs/_virtual/index2.cjs +2 -0
- package/dist/cjs/_virtual/index2.cjs.map +1 -0
- package/dist/cjs/components/Accordion/Accordion.cjs +2 -0
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -0
- package/dist/cjs/components/Avatar/Avatar.cjs +2 -0
- package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -0
- package/dist/cjs/components/Badge/Badge.cjs +2 -0
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -0
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +2 -0
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/cjs/components/Button/Button.cjs +2 -0
- package/dist/cjs/components/Button/Button.cjs.map +1 -0
- package/dist/cjs/components/Button/ButtonGroup.cjs +2 -0
- package/dist/cjs/components/Button/ButtonGroup.cjs.map +1 -0
- package/dist/cjs/components/Calendar/Calendar.cjs +2 -0
- package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -0
- package/dist/cjs/components/Carousel/Carousel.cjs +2 -0
- package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.cjs +2 -0
- package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/cjs/components/Collapsible/Collapsible.cjs +2 -0
- package/dist/cjs/components/Collapsible/Collapsible.cjs.map +1 -0
- package/dist/cjs/components/Command/Command.cjs +2 -0
- package/dist/cjs/components/Command/Command.cjs.map +1 -0
- package/dist/cjs/components/Command/index.cjs +2 -0
- package/dist/cjs/components/Command/index.cjs.map +1 -0
- package/dist/cjs/components/ContextMenu/ContextMenu.cjs +2 -0
- package/dist/cjs/components/ContextMenu/ContextMenu.cjs.map +1 -0
- package/dist/cjs/components/ContextMenu/index.cjs +2 -0
- package/dist/cjs/components/ContextMenu/index.cjs.map +1 -0
- package/dist/cjs/components/Cropper/Cropper.cjs +2 -0
- package/dist/cjs/components/Cropper/Cropper.cjs.map +1 -0
- package/dist/cjs/components/Cropper/CropperTool.cjs +2 -0
- package/dist/cjs/components/Cropper/CropperTool.cjs.map +1 -0
- package/dist/cjs/components/Cropper/utils.cjs +2 -0
- package/dist/cjs/components/Cropper/utils.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/RangePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker/RangePicker.cjs.map +1 -0
- package/dist/cjs/components/DatePicker/TimePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker/TimePicker.cjs.map +1 -0
- package/dist/cjs/components/Dialog/Dialog.cjs +2 -0
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +2 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
- package/dist/cjs/components/DropdownMenu/index.cjs +2 -0
- package/dist/cjs/components/DropdownMenu/index.cjs.map +1 -0
- package/dist/cjs/components/FloatLabel.cjs +2 -0
- package/dist/cjs/components/FloatLabel.cjs.map +1 -0
- package/dist/cjs/components/Glass/Glass.cjs +2 -0
- package/dist/cjs/components/Glass/Glass.cjs.map +1 -0
- package/dist/cjs/components/ImageViewer/ImageViewer.cjs +2 -0
- package/dist/cjs/components/ImageViewer/ImageViewer.cjs.map +1 -0
- package/dist/cjs/components/ImageViewer/ImageViewer.css +1 -0
- package/dist/cjs/components/Input/Input.cjs +2 -0
- package/dist/cjs/components/Input/Input.cjs.map +1 -0
- package/dist/cjs/components/InputOTP/InputOTP.cjs +2 -0
- package/dist/cjs/components/InputOTP/InputOTP.cjs.map +1 -0
- package/dist/cjs/components/Interactive/CursorFollow.cjs +2 -0
- package/dist/cjs/components/Interactive/CursorFollow.cjs.map +1 -0
- package/dist/cjs/components/Marquee/Marquee.cjs +2 -0
- package/dist/cjs/components/Marquee/Marquee.cjs.map +1 -0
- package/dist/cjs/components/Marquee/MarqueeWrapper.cjs +2 -0
- package/dist/cjs/components/Marquee/MarqueeWrapper.cjs.map +1 -0
- package/dist/cjs/components/Marquee/index.cjs +2 -0
- package/dist/cjs/components/Marquee/index.cjs.map +1 -0
- package/dist/cjs/components/Masonry/Masonry.cjs +2 -0
- package/dist/cjs/components/Masonry/Masonry.cjs.map +1 -0
- package/dist/cjs/components/Masonry/MasonryWrapper.cjs +2 -0
- package/dist/cjs/components/Masonry/MasonryWrapper.cjs.map +1 -0
- package/dist/cjs/components/Pagination/Pagination.cjs +2 -0
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -0
- package/dist/cjs/components/Pagination/index.cjs +2 -0
- package/dist/cjs/components/Pagination/index.cjs.map +1 -0
- package/dist/cjs/components/Popover/Popover.cjs +2 -0
- package/dist/cjs/components/Popover/Popover.cjs.map +1 -0
- package/dist/cjs/components/Popover/index.cjs +2 -0
- package/dist/cjs/components/Popover/index.cjs.map +1 -0
- package/dist/cjs/components/QrCode/QrCode.cjs +2 -0
- package/dist/cjs/components/QrCode/QrCode.cjs.map +1 -0
- package/dist/cjs/components/QrCode/index.cjs +2 -0
- package/dist/cjs/components/QrCode/index.cjs.map +1 -0
- package/dist/cjs/components/Radio/Radio.cjs +2 -0
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -0
- package/dist/cjs/components/Rate/Rate.cjs +2 -0
- package/dist/cjs/components/Rate/Rate.cjs.map +1 -0
- package/dist/cjs/components/Resizable/Resizable.cjs +2 -0
- package/dist/cjs/components/Resizable/Resizable.cjs.map +1 -0
- package/dist/cjs/components/ScrollArea/ScrollArea.cjs +2 -0
- package/dist/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -0
- package/dist/cjs/components/Select/Select.cjs +2 -0
- package/dist/cjs/components/Select/Select.cjs.map +1 -0
- package/dist/cjs/components/Separator/Separator.cjs +2 -0
- package/dist/cjs/components/Separator/Separator.cjs.map +1 -0
- package/dist/cjs/components/Sheet/Sheet.cjs +6 -0
- package/dist/cjs/components/Sheet/Sheet.cjs.map +1 -0
- package/dist/cjs/components/Sidebar/Sidebar.cjs +2 -0
- package/dist/cjs/components/Sidebar/Sidebar.cjs.map +1 -0
- package/dist/cjs/components/Skeleton/Skeleton.cjs +2 -0
- package/dist/cjs/components/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/cjs/components/Slider/Slider.cjs +2 -0
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -0
- package/dist/cjs/components/Stepper/Stepper.cjs +2 -0
- package/dist/cjs/components/Stepper/Stepper.cjs.map +1 -0
- package/dist/cjs/components/Stepper/StepperWrapper.cjs +2 -0
- package/dist/cjs/components/Stepper/StepperWrapper.cjs.map +1 -0
- package/dist/cjs/components/Stepper/index.cjs +2 -0
- package/dist/cjs/components/Stepper/index.cjs.map +1 -0
- package/dist/cjs/components/Switch/Switch.cjs +2 -0
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -0
- package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs +2 -0
- package/dist/cjs/components/Table/TableFilter/data-table-date-filter.cjs.map +1 -0
- package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs +2 -0
- package/dist/cjs/components/Table/TableFilter/data-table-filter-popover.cjs.map +1 -0
- package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs +2 -0
- package/dist/cjs/components/Table/TableFilter/data-table-slider-filter.cjs.map +1 -0
- package/dist/cjs/components/Table/data-table-column-header.cjs +2 -0
- package/dist/cjs/components/Table/data-table-column-header.cjs.map +1 -0
- package/dist/cjs/components/Table/data-table-pagination.cjs +2 -0
- package/dist/cjs/components/Table/data-table-pagination.cjs.map +1 -0
- package/dist/cjs/components/Table/data-table.cjs +2 -0
- package/dist/cjs/components/Table/data-table.cjs.map +1 -0
- package/dist/cjs/components/Tabs/Tabs.cjs +2 -0
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -0
- package/dist/cjs/components/Tabs/classes.cjs +2 -0
- package/dist/cjs/components/Tabs/classes.cjs.map +1 -0
- package/dist/cjs/components/Textarea/Textarea.cjs +2 -0
- package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -0
- package/dist/cjs/components/TimeGridView.cjs +2 -0
- package/dist/cjs/components/TimeGridView.cjs.map +1 -0
- package/dist/cjs/components/Toast/Toast.cjs +2 -0
- package/dist/cjs/components/Toast/Toast.cjs.map +1 -0
- package/dist/cjs/components/Toggle/Toggle.cjs +2 -0
- package/dist/cjs/components/Toggle/Toggle.cjs.map +1 -0
- package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -0
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/cjs/components/Tour/Tour.cjs +2 -0
- package/dist/cjs/components/Tour/Tour.cjs.map +1 -0
- package/dist/cjs/components/Tour/TourWrapper.cjs +2 -0
- package/dist/cjs/components/Tour/TourWrapper.cjs.map +1 -0
- package/dist/cjs/components/Tour/index.cjs +2 -0
- package/dist/cjs/components/Tour/index.cjs.map +1 -0
- package/dist/cjs/components/Upload/Upload.cjs +4 -0
- package/dist/cjs/components/Upload/Upload.cjs.map +1 -0
- package/dist/cjs/components/WheelColumn.cjs +2 -0
- package/dist/cjs/components/WheelColumn.cjs.map +1 -0
- package/dist/cjs/constants/common.cjs +2 -0
- package/dist/cjs/constants/common.cjs.map +1 -0
- package/dist/cjs/favicon.ico +0 -0
- package/dist/cjs/hooks/use-callback-ref.cjs +2 -0
- package/dist/cjs/hooks/use-callback-ref.cjs.map +1 -0
- package/dist/cjs/hooks/use-debounced-callback.cjs +2 -0
- package/dist/cjs/hooks/use-debounced-callback.cjs.map +1 -0
- package/dist/cjs/hooks/use-debounced-value.cjs +2 -0
- package/dist/cjs/hooks/use-debounced-value.cjs.map +1 -0
- package/dist/cjs/hooks/use-event-listener.cjs +2 -0
- package/dist/cjs/hooks/use-event-listener.cjs.map +1 -0
- package/dist/cjs/hooks/use-intersection-observer.cjs +2 -0
- package/dist/cjs/hooks/use-intersection-observer.cjs.map +1 -0
- package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs +2 -0
- package/dist/cjs/hooks/use-isomorphic-layout-effect.cjs.map +1 -0
- package/dist/cjs/hooks/use-media-query.cjs +2 -0
- package/dist/cjs/hooks/use-media-query.cjs.map +1 -0
- package/dist/cjs/hooks/use-on-click-outside.cjs +2 -0
- package/dist/cjs/hooks/use-on-click-outside.cjs.map +1 -0
- package/dist/cjs/hooks/use-script.cjs +2 -0
- package/dist/cjs/hooks/use-script.cjs.map +1 -0
- package/dist/cjs/hooks/use-scroll-lock.cjs +2 -0
- package/dist/cjs/hooks/use-scroll-lock.cjs.map +1 -0
- package/dist/cjs/image.png +0 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/BlurText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/BlurText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/CircularText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/CircularText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/FlipWords.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/FlipWords.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/GradientText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/GradientText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/RollingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/RollingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/RotatingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/RotatingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/ShimmeringText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/SplittingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/SplittingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/TextGenerateEffect.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/TextHoverEffect.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs +22 -0
- package/dist/cjs/lib/TextAnimation/TextPressureEffect.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/TypingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/TypingText.cjs.map +1 -0
- package/dist/cjs/lib/TextAnimation/WritingText.cjs +2 -0
- package/dist/cjs/lib/TextAnimation/WritingText.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs +253 -0
- package/dist/cjs/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/viewerjs@1.11.7/node_modules/viewerjs/dist/viewer.css +1 -0
- package/dist/cjs/styles/animation.css +1 -0
- package/dist/cjs/styles/index.css +1 -0
- package/dist/cjs/styles/theme.css +1 -0
- package/dist/cjs/utils/animations.cjs +2 -0
- package/dist/cjs/utils/animations.cjs.map +1 -0
- package/dist/cjs/utils/css.cjs +2 -0
- package/dist/cjs/utils/css.cjs.map +1 -0
- package/dist/cjs/utils/data-table.cjs +2 -0
- package/dist/cjs/utils/data-table.cjs.map +1 -0
- package/dist/cjs/utils/datetime.cjs +2 -0
- package/dist/cjs/utils/datetime.cjs.map +1 -0
- package/dist/cjs/vite.svg +1 -0
- package/dist/cjs/wave.png +0 -0
- package/dist/esm/_virtual/_commonjsHelpers.js +7 -0
- package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/esm/_virtual/index.js +8 -0
- package/dist/esm/_virtual/index.js.map +1 -0
- package/dist/esm/_virtual/index2.js +5 -0
- package/dist/esm/_virtual/index2.js.map +1 -0
- package/dist/esm/components/Accordion/Accordion.js +190 -0
- package/dist/esm/components/Accordion/Accordion.js.map +1 -0
- package/dist/esm/components/Avatar/Avatar.js +93 -0
- package/dist/esm/components/Avatar/Avatar.js.map +1 -0
- package/dist/esm/components/Badge/Badge.js +35 -0
- package/dist/esm/components/Badge/Badge.js.map +1 -0
- package/dist/esm/components/Breadcrumb/Breadcrumb.js +102 -0
- package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/esm/components/Button/Button.js +53 -0
- package/dist/esm/components/Button/Button.js.map +1 -0
- package/dist/esm/components/Button/ButtonGroup.js +53 -0
- package/dist/esm/components/Button/ButtonGroup.js.map +1 -0
- package/dist/esm/components/Calendar/Calendar.js +40 -0
- package/dist/esm/components/Calendar/Calendar.js.map +1 -0
- package/dist/esm/components/Carousel/Carousel.js +510 -0
- package/dist/esm/components/Carousel/Carousel.js.map +1 -0
- package/dist/esm/components/Checkbox/Checkbox.js +79 -0
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/esm/components/Collapsible/Collapsible.js +107 -0
- package/dist/esm/components/Collapsible/Collapsible.js.map +1 -0
- package/dist/esm/components/Command/Command.js +113 -0
- package/dist/esm/components/Command/Command.js.map +1 -0
- package/dist/esm/components/Command/index.js +16 -0
- package/dist/esm/components/Command/index.js.map +1 -0
- package/dist/esm/components/ContextMenu/ContextMenu.js +131 -0
- package/dist/esm/components/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/esm/components/ContextMenu/index.js +24 -0
- package/dist/esm/components/ContextMenu/index.js.map +1 -0
- package/dist/esm/components/Cropper/Cropper.js +1014 -0
- package/dist/esm/components/Cropper/Cropper.js.map +1 -0
- package/dist/esm/components/Cropper/CropperTool.js +157 -0
- package/dist/esm/components/Cropper/CropperTool.js.map +1 -0
- package/dist/esm/components/Cropper/utils.js +108 -0
- package/dist/esm/components/Cropper/utils.js.map +1 -0
- package/dist/esm/components/DatePicker/DatePicker.js +263 -0
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/esm/components/DatePicker/RangePicker.js +456 -0
- package/dist/esm/components/DatePicker/RangePicker.js.map +1 -0
- package/dist/esm/components/DatePicker/TimePicker.js +444 -0
- package/dist/esm/components/DatePicker/TimePicker.js.map +1 -0
- package/dist/esm/components/Dialog/Dialog.js +223 -0
- package/dist/esm/components/Dialog/Dialog.js.map +1 -0
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +196 -0
- package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/esm/components/DropdownMenu/index.js +24 -0
- package/dist/esm/components/DropdownMenu/index.js.map +1 -0
- package/dist/esm/components/FloatLabel.js +59 -0
- package/dist/esm/components/FloatLabel.js.map +1 -0
- package/dist/esm/components/Glass/Glass.js +93 -0
- package/dist/esm/components/Glass/Glass.js.map +1 -0
- package/dist/esm/components/ImageViewer/ImageViewer.css +1 -0
- package/dist/esm/components/ImageViewer/ImageViewer.js +273 -0
- package/dist/esm/components/ImageViewer/ImageViewer.js.map +1 -0
- package/dist/esm/components/Input/Input.js +267 -0
- package/dist/esm/components/Input/Input.js.map +1 -0
- package/dist/esm/components/InputOTP/InputOTP.js +70 -0
- package/dist/esm/components/InputOTP/InputOTP.js.map +1 -0
- package/dist/esm/components/Interactive/CursorFollow.js +257 -0
- package/dist/esm/components/Interactive/CursorFollow.js.map +1 -0
- package/dist/esm/components/Marquee/Marquee.js +419 -0
- package/dist/esm/components/Marquee/Marquee.js.map +1 -0
- package/dist/esm/components/Marquee/MarqueeWrapper.js +25 -0
- package/dist/esm/components/Marquee/MarqueeWrapper.js.map +1 -0
- package/dist/esm/components/Marquee/index.js +15 -0
- package/dist/esm/components/Marquee/index.js.map +1 -0
- package/dist/esm/components/Masonry/Masonry.js +840 -0
- package/dist/esm/components/Masonry/Masonry.js.map +1 -0
- package/dist/esm/components/Masonry/MasonryWrapper.js +19 -0
- package/dist/esm/components/Masonry/MasonryWrapper.js.map +1 -0
- package/dist/esm/components/Pagination/Pagination.js +209 -0
- package/dist/esm/components/Pagination/Pagination.js.map +1 -0
- package/dist/esm/components/Pagination/index.js +14 -0
- package/dist/esm/components/Pagination/index.js.map +1 -0
- package/dist/esm/components/Popover/Popover.js +51 -0
- package/dist/esm/components/Popover/Popover.js.map +1 -0
- package/dist/esm/components/Popover/index.js +9 -0
- package/dist/esm/components/Popover/index.js.map +1 -0
- package/dist/esm/components/QrCode/QrCode.js +300 -0
- package/dist/esm/components/QrCode/QrCode.js.map +1 -0
- package/dist/esm/components/QrCode/index.js +16 -0
- package/dist/esm/components/QrCode/index.js.map +1 -0
- package/dist/esm/components/Radio/Radio.js +74 -0
- package/dist/esm/components/Radio/Radio.js.map +1 -0
- package/dist/esm/components/Rate/Rate.js +191 -0
- package/dist/esm/components/Rate/Rate.js.map +1 -0
- package/dist/esm/components/Resizable/Resizable.js +89 -0
- package/dist/esm/components/Resizable/Resizable.js.map +1 -0
- package/dist/esm/components/ScrollArea/ScrollArea.js +45 -0
- package/dist/esm/components/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/esm/components/Select/Select.js +199 -0
- package/dist/esm/components/Select/Select.js.map +1 -0
- package/dist/esm/components/Separator/Separator.js +7 -0
- package/dist/esm/components/Separator/Separator.js.map +1 -0
- package/dist/esm/components/Sheet/Sheet.js +141 -0
- package/dist/esm/components/Sheet/Sheet.js.map +1 -0
- package/dist/esm/components/Sidebar/Sidebar.js +30 -0
- package/dist/esm/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/esm/components/Skeleton/Skeleton.js +12 -0
- package/dist/esm/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/esm/components/Slider/Slider.js +420 -0
- package/dist/esm/components/Slider/Slider.js.map +1 -0
- package/dist/esm/components/Stepper/Stepper.js +886 -0
- package/dist/esm/components/Stepper/Stepper.js.map +1 -0
- package/dist/esm/components/Stepper/StepperWrapper.js +80 -0
- package/dist/esm/components/Stepper/StepperWrapper.js.map +1 -0
- package/dist/esm/components/Stepper/index.js +21 -0
- package/dist/esm/components/Stepper/index.js.map +1 -0
- package/dist/esm/components/Switch/Switch.js +126 -0
- package/dist/esm/components/Switch/Switch.js.map +1 -0
- package/dist/esm/components/Table/TableFilter/data-table-date-filter.js +126 -0
- package/dist/esm/components/Table/TableFilter/data-table-date-filter.js.map +1 -0
- package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js +138 -0
- package/dist/esm/components/Table/TableFilter/data-table-filter-popover.js.map +1 -0
- package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js +164 -0
- package/dist/esm/components/Table/TableFilter/data-table-slider-filter.js.map +1 -0
- package/dist/esm/components/Table/data-table-column-header.js +82 -0
- package/dist/esm/components/Table/data-table-column-header.js.map +1 -0
- package/dist/esm/components/Table/data-table-pagination.js +73 -0
- package/dist/esm/components/Table/data-table-pagination.js.map +1 -0
- package/dist/esm/components/Table/data-table.js +94 -0
- package/dist/esm/components/Table/data-table.js.map +1 -0
- package/dist/esm/components/Tabs/Tabs.js +540 -0
- package/dist/esm/components/Tabs/Tabs.js.map +1 -0
- package/dist/esm/components/Tabs/classes.js +345 -0
- package/dist/esm/components/Tabs/classes.js.map +1 -0
- package/dist/esm/components/Textarea/Textarea.js +132 -0
- package/dist/esm/components/Textarea/Textarea.js.map +1 -0
- package/dist/esm/components/TimeGridView.js +101 -0
- package/dist/esm/components/TimeGridView.js.map +1 -0
- package/dist/esm/components/Toast/Toast.js +80 -0
- package/dist/esm/components/Toast/Toast.js.map +1 -0
- package/dist/esm/components/Toggle/Toggle.js +23 -0
- package/dist/esm/components/Toggle/Toggle.js.map +1 -0
- package/dist/esm/components/Tooltip/Tooltip.js +120 -0
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/esm/components/Tour/Tour.js +948 -0
- package/dist/esm/components/Tour/Tour.js.map +1 -0
- package/dist/esm/components/Tour/TourWrapper.js +67 -0
- package/dist/esm/components/Tour/TourWrapper.js.map +1 -0
- package/dist/esm/components/Tour/index.js +38 -0
- package/dist/esm/components/Tour/index.js.map +1 -0
- package/dist/esm/components/Upload/Upload.js +948 -0
- package/dist/esm/components/Upload/Upload.js.map +1 -0
- package/dist/esm/components/WheelColumn.js +127 -0
- package/dist/esm/components/WheelColumn.js.map +1 -0
- package/dist/esm/constants/common.js +5 -0
- package/dist/esm/constants/common.js.map +1 -0
- package/dist/esm/favicon.ico +0 -0
- package/dist/esm/hooks/use-callback-ref.js +14 -0
- package/dist/esm/hooks/use-callback-ref.js.map +1 -0
- package/dist/esm/hooks/use-debounced-callback.js +21 -0
- package/dist/esm/hooks/use-debounced-callback.js.map +1 -0
- package/dist/esm/hooks/use-debounced-value.js +12 -0
- package/dist/esm/hooks/use-debounced-value.js.map +1 -0
- package/dist/esm/hooks/use-event-listener.js +21 -0
- package/dist/esm/hooks/use-event-listener.js.map +1 -0
- package/dist/esm/hooks/use-intersection-observer.js +56 -0
- package/dist/esm/hooks/use-intersection-observer.js.map +1 -0
- package/dist/esm/hooks/use-isomorphic-layout-effect.js +6 -0
- package/dist/esm/hooks/use-isomorphic-layout-effect.js.map +1 -0
- package/dist/esm/hooks/use-media-query.js +22 -0
- package/dist/esm/hooks/use-media-query.js.map +1 -0
- package/dist/esm/hooks/use-on-click-outside.js +18 -0
- package/dist/esm/hooks/use-on-click-outside.js.map +1 -0
- package/dist/esm/hooks/use-script.js +46 -0
- package/dist/esm/hooks/use-script.js.map +1 -0
- package/dist/esm/hooks/use-scroll-lock.js +27 -0
- package/dist/esm/hooks/use-scroll-lock.js.map +1 -0
- package/dist/esm/image.png +0 -0
- package/dist/esm/index.js +223 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/TextAnimation/BlurText.js +84 -0
- package/dist/esm/lib/TextAnimation/BlurText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/CircularText.js +96 -0
- package/dist/esm/lib/TextAnimation/CircularText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/FlipWords.js +103 -0
- package/dist/esm/lib/TextAnimation/FlipWords.js.map +1 -0
- package/dist/esm/lib/TextAnimation/GradientText.js +54 -0
- package/dist/esm/lib/TextAnimation/GradientText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/RollingText.js +70 -0
- package/dist/esm/lib/TextAnimation/RollingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/RotatingText.js +38 -0
- package/dist/esm/lib/TextAnimation/RotatingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/ShimmeringText.js +64 -0
- package/dist/esm/lib/TextAnimation/ShimmeringText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/SplittingText.js +86 -0
- package/dist/esm/lib/TextAnimation/SplittingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TextGenerateEffect.js +59 -0
- package/dist/esm/lib/TextAnimation/TextGenerateEffect.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TextHoverEffect.js +128 -0
- package/dist/esm/lib/TextAnimation/TextHoverEffect.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TextPressureEffect.js +135 -0
- package/dist/esm/lib/TextAnimation/TextPressureEffect.js.map +1 -0
- package/dist/esm/lib/TextAnimation/TypingText.js +118 -0
- package/dist/esm/lib/TextAnimation/TypingText.js.map +1 -0
- package/dist/esm/lib/TextAnimation/WritingText.js +45 -0
- package/dist/esm/lib/TextAnimation/WritingText.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js +865 -0
- package/dist/esm/node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/viewerjs@1.11.7/node_modules/viewerjs/dist/viewer.css +1 -0
- package/dist/esm/styles/animation.css +1 -0
- package/dist/esm/styles/index.css +1 -0
- package/dist/esm/styles/theme.css +1 -0
- package/dist/esm/utils/animations.js +189 -0
- package/dist/esm/utils/animations.js.map +1 -0
- package/dist/esm/utils/css.js +25 -0
- package/dist/esm/utils/css.js.map +1 -0
- package/dist/esm/utils/data-table.js +20 -0
- package/dist/esm/utils/data-table.js.map +1 -0
- package/dist/esm/utils/datetime.js +17 -0
- package/dist/esm/utils/datetime.js.map +1 -0
- package/dist/esm/vite.svg +1 -0
- package/dist/esm/wave.png +0 -0
- package/dist/types/components/Accordion/Accordion.d.ts +49 -0
- package/dist/types/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/types/components/Accordion/index.d.ts +3 -0
- package/dist/types/components/Accordion/index.d.ts.map +1 -0
- package/dist/types/components/Avatar/Avatar.d.ts +18 -0
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/types/components/Avatar/index.d.ts +3 -0
- package/dist/types/components/Avatar/index.d.ts.map +1 -0
- package/dist/types/components/Badge/Badge.d.ts +10 -0
- package/dist/types/components/Badge/Badge.d.ts.map +1 -0
- package/dist/types/components/Badge/index.d.ts +2 -0
- package/dist/types/components/Badge/index.d.ts.map +1 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +23 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/types/components/Breadcrumb/index.d.ts +2 -0
- package/dist/types/components/Breadcrumb/index.d.ts.map +1 -0
- package/dist/types/components/Button/Button.d.ts +10 -0
- package/dist/types/components/Button/Button.d.ts.map +1 -0
- package/dist/types/components/Button/ButtonGroup.d.ts +16 -0
- package/dist/types/components/Button/ButtonGroup.d.ts.map +1 -0
- package/dist/types/components/Button/index.d.ts +5 -0
- package/dist/types/components/Button/index.d.ts.map +1 -0
- package/dist/types/components/Calendar/Calendar.d.ts +15 -0
- package/dist/types/components/Calendar/Calendar.d.ts.map +1 -0
- package/dist/types/components/Calendar/index.d.ts +3 -0
- package/dist/types/components/Calendar/index.d.ts.map +1 -0
- package/dist/types/components/Carousel/Carousel.d.ts +79 -0
- package/dist/types/components/Carousel/Carousel.d.ts.map +1 -0
- package/dist/types/components/Carousel/index.d.ts +4 -0
- package/dist/types/components/Carousel/index.d.ts.map +1 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts +15 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/types/components/Checkbox/index.d.ts +2 -0
- package/dist/types/components/Checkbox/index.d.ts.map +1 -0
- package/dist/types/components/Collapsible/Collapsible.d.ts +17 -0
- package/dist/types/components/Collapsible/Collapsible.d.ts.map +1 -0
- package/dist/types/components/Collapsible/index.d.ts +2 -0
- package/dist/types/components/Collapsible/index.d.ts.map +1 -0
- package/dist/types/components/Command/Command.d.ts +39 -0
- package/dist/types/components/Command/Command.d.ts.map +1 -0
- package/dist/types/components/Command/index.d.ts +15 -0
- package/dist/types/components/Command/index.d.ts.map +1 -0
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +64 -0
- package/dist/types/components/ContextMenu/ContextMenu.d.ts.map +1 -0
- package/dist/types/components/ContextMenu/index.d.ts +23 -0
- package/dist/types/components/ContextMenu/index.d.ts.map +1 -0
- package/dist/types/components/Cropper/Cropper.d.ts +86 -0
- package/dist/types/components/Cropper/Cropper.d.ts.map +1 -0
- package/dist/types/components/Cropper/CropperTool.d.ts +149 -0
- package/dist/types/components/Cropper/CropperTool.d.ts.map +1 -0
- package/dist/types/components/Cropper/index.d.ts +4 -0
- package/dist/types/components/Cropper/index.d.ts.map +1 -0
- package/dist/types/components/Cropper/utils.d.ts +130 -0
- package/dist/types/components/Cropper/utils.d.ts.map +1 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +56 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/types/components/DatePicker/RangePicker.d.ts +42 -0
- package/dist/types/components/DatePicker/RangePicker.d.ts.map +1 -0
- package/dist/types/components/DatePicker/TimePicker.d.ts +43 -0
- package/dist/types/components/DatePicker/TimePicker.d.ts.map +1 -0
- package/dist/types/components/DatePicker/index.d.ts +7 -0
- package/dist/types/components/DatePicker/index.d.ts.map +1 -0
- package/dist/types/components/Dialog/Dialog.d.ts +45 -0
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/components/Dialog/index.d.ts +2 -0
- package/dist/types/components/Dialog/index.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +65 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/index.d.ts +22 -0
- package/dist/types/components/DropdownMenu/index.d.ts.map +1 -0
- package/dist/types/components/FloatLabel.d.ts +8 -0
- package/dist/types/components/FloatLabel.d.ts.map +1 -0
- package/dist/types/components/Glass/Glass.d.ts +10 -0
- package/dist/types/components/Glass/Glass.d.ts.map +1 -0
- package/dist/types/components/Glass/index.d.ts +2 -0
- package/dist/types/components/Glass/index.d.ts.map +1 -0
- package/dist/types/components/ImageViewer/ImageViewer.d.ts +58 -0
- package/dist/types/components/ImageViewer/ImageViewer.d.ts.map +1 -0
- package/dist/types/components/ImageViewer/index.d.ts +4 -0
- package/dist/types/components/ImageViewer/index.d.ts.map +1 -0
- package/dist/types/components/Input/Input.d.ts +27 -0
- package/dist/types/components/Input/Input.d.ts.map +1 -0
- package/dist/types/components/Input/index.d.ts +2 -0
- package/dist/types/components/Input/index.d.ts.map +1 -0
- package/dist/types/components/InputOTP/InputOTP.d.ts +20 -0
- package/dist/types/components/InputOTP/InputOTP.d.ts.map +1 -0
- package/dist/types/components/InputOTP/index.d.ts +2 -0
- package/dist/types/components/InputOTP/index.d.ts.map +1 -0
- package/dist/types/components/Interactive/3DCard.d.ts +28 -0
- package/dist/types/components/Interactive/3DCard.d.ts.map +1 -0
- package/dist/types/components/Interactive/3DMarquee.d.ts +20 -0
- package/dist/types/components/Interactive/3DMarquee.d.ts.map +1 -0
- package/dist/types/components/Interactive/CursorFollow.d.ts +75 -0
- package/dist/types/components/Interactive/CursorFollow.d.ts.map +1 -0
- package/dist/types/components/Interactive/index.cursor.d.ts +7 -0
- package/dist/types/components/Interactive/index.cursor.d.ts.map +1 -0
- package/dist/types/components/Interactive/index.d.ts +2 -0
- package/dist/types/components/Interactive/index.d.ts.map +1 -0
- package/dist/types/components/Label/Label.d.ts +3 -0
- package/dist/types/components/Label/Label.d.ts.map +1 -0
- package/dist/types/components/Label/index.d.ts +2 -0
- package/dist/types/components/Label/index.d.ts.map +1 -0
- package/dist/types/components/Marquee/Marquee.d.ts +31 -0
- package/dist/types/components/Marquee/Marquee.d.ts.map +1 -0
- package/dist/types/components/Marquee/MarqueeWrapper.d.ts +10 -0
- package/dist/types/components/Marquee/MarqueeWrapper.d.ts.map +1 -0
- package/dist/types/components/Marquee/index.d.ts +13 -0
- package/dist/types/components/Marquee/index.d.ts.map +1 -0
- package/dist/types/components/Masonry/Masonry.d.ts +41 -0
- package/dist/types/components/Masonry/Masonry.d.ts.map +1 -0
- package/dist/types/components/Masonry/MasonryWrapper.d.ts +29 -0
- package/dist/types/components/Masonry/MasonryWrapper.d.ts.map +1 -0
- package/dist/types/components/Masonry/index.d.ts +5 -0
- package/dist/types/components/Masonry/index.d.ts.map +1 -0
- package/dist/types/components/Pagination/Pagination.d.ts +24 -0
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/types/components/Pagination/index.d.ts +11 -0
- package/dist/types/components/Pagination/index.d.ts.map +1 -0
- package/dist/types/components/Popover/Popover.d.ts +22 -0
- package/dist/types/components/Popover/Popover.d.ts.map +1 -0
- package/dist/types/components/Popover/index.d.ts +5 -0
- package/dist/types/components/Popover/index.d.ts.map +1 -0
- package/dist/types/components/QrCode/QrCode.d.ts +51 -0
- package/dist/types/components/QrCode/QrCode.d.ts.map +1 -0
- package/dist/types/components/QrCode/index.d.ts +13 -0
- package/dist/types/components/QrCode/index.d.ts.map +1 -0
- package/dist/types/components/Radio/Radio.d.ts +35 -0
- package/dist/types/components/Radio/Radio.d.ts.map +1 -0
- package/dist/types/components/Radio/index.d.ts +2 -0
- package/dist/types/components/Radio/index.d.ts.map +1 -0
- package/dist/types/components/Rate/Rate.d.ts +26 -0
- package/dist/types/components/Rate/Rate.d.ts.map +1 -0
- package/dist/types/components/Rate/index.d.ts +3 -0
- package/dist/types/components/Rate/index.d.ts.map +1 -0
- package/dist/types/components/Resizable/Resizable.d.ts +71 -0
- package/dist/types/components/Resizable/Resizable.d.ts.map +1 -0
- package/dist/types/components/Resizable/index.d.ts +4 -0
- package/dist/types/components/Resizable/index.d.ts.map +1 -0
- package/dist/types/components/ScrollArea/ScrollArea.d.ts +19 -0
- package/dist/types/components/ScrollArea/ScrollArea.d.ts.map +1 -0
- package/dist/types/components/ScrollArea/index.d.ts +2 -0
- package/dist/types/components/ScrollArea/index.d.ts.map +1 -0
- package/dist/types/components/Select/Select.d.ts +33 -0
- package/dist/types/components/Select/Select.d.ts.map +1 -0
- package/dist/types/components/Select/index.d.ts +2 -0
- package/dist/types/components/Select/index.d.ts.map +1 -0
- package/dist/types/components/Separator/Separator.d.ts +5 -0
- package/dist/types/components/Separator/Separator.d.ts.map +1 -0
- package/dist/types/components/Separator/index.d.ts +2 -0
- package/dist/types/components/Separator/index.d.ts.map +1 -0
- package/dist/types/components/Sheet/Sheet.d.ts +36 -0
- package/dist/types/components/Sheet/Sheet.d.ts.map +1 -0
- package/dist/types/components/Sheet/index.d.ts +2 -0
- package/dist/types/components/Sheet/index.d.ts.map +1 -0
- package/dist/types/components/Sidebar/Sidebar.d.ts +50 -0
- package/dist/types/components/Sidebar/Sidebar.d.ts.map +1 -0
- package/dist/types/components/Sidebar/index.d.ts +4 -0
- package/dist/types/components/Sidebar/index.d.ts.map +1 -0
- package/dist/types/components/Skeleton/Skeleton.d.ts +6 -0
- package/dist/types/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/components/Skeleton/index.d.ts +2 -0
- package/dist/types/components/Skeleton/index.d.ts.map +1 -0
- package/dist/types/components/Slider/Slider.d.ts +25 -0
- package/dist/types/components/Slider/Slider.d.ts.map +1 -0
- package/dist/types/components/Slider/index.d.ts +2 -0
- package/dist/types/components/Slider/index.d.ts.map +1 -0
- package/dist/types/components/Stepper/Stepper.d.ts +86 -0
- package/dist/types/components/Stepper/Stepper.d.ts.map +1 -0
- package/dist/types/components/Stepper/StepperWrapper.d.ts +25 -0
- package/dist/types/components/Stepper/StepperWrapper.d.ts.map +1 -0
- package/dist/types/components/Stepper/index.d.ts +18 -0
- package/dist/types/components/Stepper/index.d.ts.map +1 -0
- package/dist/types/components/Switch/Switch.d.ts +14 -0
- package/dist/types/components/Switch/Switch.d.ts.map +1 -0
- package/dist/types/components/Switch/index.d.ts +2 -0
- package/dist/types/components/Switch/index.d.ts.map +1 -0
- package/dist/types/components/Table/TableFilter/data-table-date-filter.d.ts +9 -0
- package/dist/types/components/Table/TableFilter/data-table-date-filter.d.ts.map +1 -0
- package/dist/types/components/Table/TableFilter/data-table-filter-popover.d.ts +11 -0
- package/dist/types/components/Table/TableFilter/data-table-filter-popover.d.ts.map +1 -0
- package/dist/types/components/Table/TableFilter/data-table-slider-filter.d.ts +8 -0
- package/dist/types/components/Table/TableFilter/data-table-slider-filter.d.ts.map +1 -0
- package/dist/types/components/Table/TableWrapper.d.ts +2 -0
- package/dist/types/components/Table/TableWrapper.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-column-header.d.ts +9 -0
- package/dist/types/components/Table/data-table-column-header.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-pagination.d.ts +12 -0
- package/dist/types/components/Table/data-table-pagination.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-toolbar.d.ts +10 -0
- package/dist/types/components/Table/data-table-toolbar.d.ts.map +1 -0
- package/dist/types/components/Table/data-table-view-options.d.ts +9 -0
- package/dist/types/components/Table/data-table-view-options.d.ts.map +1 -0
- package/dist/types/components/Table/data-table.d.ts +18 -0
- package/dist/types/components/Table/data-table.d.ts.map +1 -0
- package/dist/types/components/Table/index.d.ts +2 -0
- package/dist/types/components/Table/index.d.ts.map +1 -0
- package/dist/types/components/Table/select-column.d.ts +5 -0
- package/dist/types/components/Table/select-column.d.ts.map +1 -0
- package/dist/types/components/Tabs/Tabs.d.ts +22 -0
- package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/types/components/Tabs/classes.d.ts +29 -0
- package/dist/types/components/Tabs/classes.d.ts.map +1 -0
- package/dist/types/components/Tabs/index.d.ts +4 -0
- package/dist/types/components/Tabs/index.d.ts.map +1 -0
- package/dist/types/components/Tabs/types.d.ts +15 -0
- package/dist/types/components/Tabs/types.d.ts.map +1 -0
- package/dist/types/components/Textarea/Textarea.d.ts +17 -0
- package/dist/types/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/types/components/Textarea/index.d.ts +2 -0
- package/dist/types/components/Textarea/index.d.ts.map +1 -0
- package/dist/types/components/Theme/ThemeShowcase.d.ts +3 -0
- package/dist/types/components/Theme/ThemeShowcase.d.ts.map +1 -0
- package/dist/types/components/TimeGridView.d.ts +15 -0
- package/dist/types/components/TimeGridView.d.ts.map +1 -0
- package/dist/types/components/Toast/Toast.d.ts +12 -0
- package/dist/types/components/Toast/Toast.d.ts.map +1 -0
- package/dist/types/components/Toast/index.d.ts +3 -0
- package/dist/types/components/Toast/index.d.ts.map +1 -0
- package/dist/types/components/Toggle/Toggle.d.ts +10 -0
- package/dist/types/components/Toggle/Toggle.d.ts.map +1 -0
- package/dist/types/components/Toggle/index.d.ts +2 -0
- package/dist/types/components/Toggle/index.d.ts.map +1 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +19 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/types/components/Tooltip/index.d.ts +3 -0
- package/dist/types/components/Tooltip/index.d.ts.map +1 -0
- package/dist/types/components/Tour/Tour.d.ts +105 -0
- package/dist/types/components/Tour/Tour.d.ts.map +1 -0
- package/dist/types/components/Tour/TourWrapper.d.ts +46 -0
- package/dist/types/components/Tour/TourWrapper.d.ts.map +1 -0
- package/dist/types/components/Tour/index.d.ts +36 -0
- package/dist/types/components/Tour/index.d.ts.map +1 -0
- package/dist/types/components/TreeSelect/TreeSelect.d.ts +2 -0
- package/dist/types/components/TreeSelect/TreeSelect.d.ts.map +1 -0
- package/dist/types/components/TreeSelect/index.d.ts +2 -0
- package/dist/types/components/TreeSelect/index.d.ts.map +1 -0
- package/dist/types/components/Upload/Upload.d.ts +69 -0
- package/dist/types/components/Upload/Upload.d.ts.map +1 -0
- package/dist/types/components/Upload/index.d.ts +2 -0
- package/dist/types/components/Upload/index.d.ts.map +1 -0
- package/dist/types/components/WheelColumn.d.ts +15 -0
- package/dist/types/components/WheelColumn.d.ts.map +1 -0
- package/dist/types/config/data-table.d.ts +125 -0
- package/dist/types/config/data-table.d.ts.map +1 -0
- package/dist/types/constants/common.d.ts +4 -0
- package/dist/types/constants/common.d.ts.map +1 -0
- package/dist/types/constants/theme.d.ts +13 -0
- package/dist/types/constants/theme.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +10 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/use-callback-ref.d.ts +10 -0
- package/dist/types/hooks/use-callback-ref.d.ts.map +1 -0
- package/dist/types/hooks/use-data-table.d.ts +26 -0
- package/dist/types/hooks/use-data-table.d.ts.map +1 -0
- package/dist/types/hooks/use-debounced-callback.d.ts +2 -0
- package/dist/types/hooks/use-debounced-callback.d.ts.map +1 -0
- package/dist/types/hooks/use-debounced-value.d.ts +9 -0
- package/dist/types/hooks/use-debounced-value.d.ts.map +1 -0
- package/dist/types/hooks/use-event-listener.d.ts +7 -0
- package/dist/types/hooks/use-event-listener.d.ts.map +1 -0
- package/dist/types/hooks/use-intersection-observer.d.ts +20 -0
- package/dist/types/hooks/use-intersection-observer.d.ts.map +1 -0
- package/dist/types/hooks/use-isomorphic-layout-effect.d.ts +3 -0
- package/dist/types/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist/types/hooks/use-media-query.d.ts +7 -0
- package/dist/types/hooks/use-media-query.d.ts.map +1 -0
- package/dist/types/hooks/use-mouse-position.d.ts +14 -0
- package/dist/types/hooks/use-mouse-position.d.ts.map +1 -0
- package/dist/types/hooks/use-on-click-outside.d.ts +5 -0
- package/dist/types/hooks/use-on-click-outside.d.ts.map +1 -0
- package/dist/types/hooks/use-script.d.ts +9 -0
- package/dist/types/hooks/use-script.d.ts.map +1 -0
- package/dist/types/hooks/use-scroll-lock.d.ts +13 -0
- package/dist/types/hooks/use-scroll-lock.d.ts.map +1 -0
- package/dist/types/index.d.ts +72 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/BlurText.d.ts +18 -0
- package/dist/types/lib/TextAnimation/BlurText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/CircularText.d.ts +10 -0
- package/dist/types/lib/TextAnimation/CircularText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/FlipWords.d.ts +10 -0
- package/dist/types/lib/TextAnimation/FlipWords.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/GradientText.d.ts +11 -0
- package/dist/types/lib/TextAnimation/GradientText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/RollingText.d.ts +12 -0
- package/dist/types/lib/TextAnimation/RollingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/RotatingText.d.ts +11 -0
- package/dist/types/lib/TextAnimation/RotatingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/ShimmeringText.d.ts +12 -0
- package/dist/types/lib/TextAnimation/ShimmeringText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/SplittingText.d.ts +26 -0
- package/dist/types/lib/TextAnimation/SplittingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TextGenerateEffect.d.ts +10 -0
- package/dist/types/lib/TextAnimation/TextGenerateEffect.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TextHoverEffect.d.ts +6 -0
- package/dist/types/lib/TextAnimation/TextHoverEffect.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts +20 -0
- package/dist/types/lib/TextAnimation/TextPressureEffect.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/TypingText.d.ts +27 -0
- package/dist/types/lib/TextAnimation/TypingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/WritingText.d.ts +13 -0
- package/dist/types/lib/TextAnimation/WritingText.d.ts.map +1 -0
- package/dist/types/lib/TextAnimation/index.d.ts +16 -0
- package/dist/types/lib/TextAnimation/index.d.ts.map +1 -0
- package/dist/types/types/data-table.d.ts +44 -0
- package/dist/types/types/data-table.d.ts.map +1 -0
- package/dist/types/types/theme.d.ts +11 -0
- package/dist/types/types/theme.d.ts.map +1 -0
- package/dist/types/types/variables.d.ts +6 -0
- package/dist/types/types/variables.d.ts.map +1 -0
- package/dist/types/utils/animations.d.ts +47 -0
- package/dist/types/utils/animations.d.ts.map +1 -0
- package/dist/types/utils/css.d.ts +4 -0
- package/dist/types/utils/css.d.ts.map +1 -0
- package/dist/types/utils/data-table.d.ts +13 -0
- package/dist/types/utils/data-table.d.ts.map +1 -0
- package/dist/types/utils/datetime.d.ts +2 -0
- package/dist/types/utils/datetime.d.ts.map +1 -0
- package/dist/types/utils/parsers.d.ts +38 -0
- package/dist/types/utils/parsers.d.ts.map +1 -0
- package/package.json +968 -0
package/README.md
ADDED
|
@@ -0,0 +1,487 @@
|
|
|
1
|
+
# @dsui/design-system
|
|
2
|
+
|
|
3
|
+
A modern, fully-typed React design system built on top of **shadcn/ui** with enhanced features, TypeScript, TailwindCSS, and Radix UI primitives.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@dsui/design-system)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## 📦 Installation
|
|
9
|
+
|
|
10
|
+
DSUI bundles all its dependencies for easy installation:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# npm
|
|
14
|
+
npm install dsui react react-dom
|
|
15
|
+
|
|
16
|
+
# yarn
|
|
17
|
+
yarn add dsui react react-dom
|
|
18
|
+
|
|
19
|
+
# pnpm
|
|
20
|
+
pnpm add dsui react react-dom
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
That's it! All other dependencies (motion, date-fns, lucide-react, tailwindcss, etc.) are automatically installed.
|
|
24
|
+
|
|
25
|
+
See [INSTALLATION.md](./INSTALLATION.md) for detailed installation guide.
|
|
26
|
+
|
|
27
|
+
## 🚀 Quick Start
|
|
28
|
+
|
|
29
|
+
### 1. Import CSS
|
|
30
|
+
|
|
31
|
+
Import the design system CSS in your app entry point:
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
// main.tsx or App.tsx
|
|
35
|
+
import "dsui/theme.css";
|
|
36
|
+
import "dsui/index.css";
|
|
37
|
+
import "dsui/animation.css";
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. Configure TailwindCSS
|
|
41
|
+
|
|
42
|
+
Add the design system to your `tailwind.config.js`:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
/** @type {import('tailwindcss').Config} */
|
|
46
|
+
export default {
|
|
47
|
+
content: [
|
|
48
|
+
"./src/**/*.{js,jsx,ts,tsx}",
|
|
49
|
+
"./node_modules/dsui/dist/**/*.{js,mjs}",
|
|
50
|
+
],
|
|
51
|
+
theme: {
|
|
52
|
+
extend: {},
|
|
53
|
+
},
|
|
54
|
+
plugins: [require("tailwindcss-animate")],
|
|
55
|
+
};
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3. Use Components
|
|
59
|
+
|
|
60
|
+
```tsx
|
|
61
|
+
import { Button, Dialog } from "@dsui/design-system";
|
|
62
|
+
|
|
63
|
+
function App() {
|
|
64
|
+
const [open, setOpen] = useState(false);
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<div>
|
|
68
|
+
<Button variant="default">Click me</Button>
|
|
69
|
+
|
|
70
|
+
{/* Dialog with trigger prop */}
|
|
71
|
+
<Dialog
|
|
72
|
+
trigger={<Button>Open Dialog</Button>}
|
|
73
|
+
title="Welcome"
|
|
74
|
+
description="This is an enhanced dialog component"
|
|
75
|
+
footer={
|
|
76
|
+
<div className="flex gap-2 justify-end w-full">
|
|
77
|
+
<Button variant="outline" onClick={() => setOpen(false)}>
|
|
78
|
+
Cancel
|
|
79
|
+
</Button>
|
|
80
|
+
<Button>Confirm</Button>
|
|
81
|
+
</div>
|
|
82
|
+
}
|
|
83
|
+
>
|
|
84
|
+
<p>Dialog content goes here</p>
|
|
85
|
+
</Dialog>
|
|
86
|
+
</div>
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 📚 Component Import
|
|
92
|
+
|
|
93
|
+
### Full Import
|
|
94
|
+
|
|
95
|
+
Import all components from the main entry:
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
import {
|
|
99
|
+
Avatar,
|
|
100
|
+
Badge,
|
|
101
|
+
Button,
|
|
102
|
+
Calendar,
|
|
103
|
+
Checkbox,
|
|
104
|
+
Dialog,
|
|
105
|
+
Input,
|
|
106
|
+
Select,
|
|
107
|
+
Tabs,
|
|
108
|
+
Toast,
|
|
109
|
+
} from "@dsui/design-system";
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Tree-shakeable Imports
|
|
113
|
+
|
|
114
|
+
Import individual components for optimal bundle size:
|
|
115
|
+
|
|
116
|
+
```tsx
|
|
117
|
+
import { Button } from "@dsui/design-system/button";
|
|
118
|
+
import { Dialog } from "@dsui/design-system/dialog";
|
|
119
|
+
import { DatePicker } from "@dsui/design-system/datepicker";
|
|
120
|
+
import { Input } from "@dsui/design-system/input";
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 🎨 Theme Configuration
|
|
124
|
+
|
|
125
|
+
### CSS Variables
|
|
126
|
+
|
|
127
|
+
The design system uses CSS variables for theming. Customize colors in your global CSS:
|
|
128
|
+
|
|
129
|
+
```css
|
|
130
|
+
:root {
|
|
131
|
+
/* Light mode */
|
|
132
|
+
--background: 0 0% 100%;
|
|
133
|
+
--foreground: 222.2 84% 4.9%;
|
|
134
|
+
--primary: 221.2 83.2% 53.3%;
|
|
135
|
+
--primary-foreground: 210 40% 98%;
|
|
136
|
+
--secondary: 210 40% 96.1%;
|
|
137
|
+
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
138
|
+
--muted: 210 40% 96.1%;
|
|
139
|
+
--muted-foreground: 215.4 16.3% 46.9%;
|
|
140
|
+
--accent: 210 40% 96.1%;
|
|
141
|
+
--accent-foreground: 222.2 47.4% 11.2%;
|
|
142
|
+
--destructive: 0 84.2% 60.2%;
|
|
143
|
+
--destructive-foreground: 210 40% 98%;
|
|
144
|
+
--border: 214.3 31.8% 91.4%;
|
|
145
|
+
--input: 214.3 31.8% 91.4%;
|
|
146
|
+
--ring: 221.2 83.2% 53.3%;
|
|
147
|
+
--radius: 0.5rem;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.dark {
|
|
151
|
+
/* Dark mode */
|
|
152
|
+
--background: 222.2 84% 4.9%;
|
|
153
|
+
--foreground: 210 40% 98%;
|
|
154
|
+
--primary: 217.2 91.2% 59.8%;
|
|
155
|
+
--primary-foreground: 222.2 47.4% 11.2%;
|
|
156
|
+
/* ... other dark mode variables */
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Dark Mode
|
|
161
|
+
|
|
162
|
+
Toggle dark mode by adding/removing the `dark` class on the root element:
|
|
163
|
+
|
|
164
|
+
```tsx
|
|
165
|
+
// Toggle dark mode
|
|
166
|
+
document.documentElement.classList.toggle("dark");
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## 🧩 Available Components
|
|
170
|
+
|
|
171
|
+
### Form Components
|
|
172
|
+
|
|
173
|
+
- **Button** - Primary, secondary, outline, ghost, and destructive variants
|
|
174
|
+
- **Input** - Text, password, email with label support
|
|
175
|
+
- **Checkbox** - Accessible checkbox with label
|
|
176
|
+
- **Radio** - Radio button groups
|
|
177
|
+
- **Switch** - Toggle switch component
|
|
178
|
+
- **Select** - Dropdown select with search
|
|
179
|
+
- **Textarea** - Multi-line text input
|
|
180
|
+
- **Slider** - Range slider component
|
|
181
|
+
- **InputOTP** - One-time password input
|
|
182
|
+
|
|
183
|
+
### Data Display
|
|
184
|
+
|
|
185
|
+
- **Avatar** - User profile pictures with fallback
|
|
186
|
+
- **Badge** - Status badges and labels
|
|
187
|
+
- **Calendar** - Date calendar picker
|
|
188
|
+
- **DatePicker** - Date selection with range support
|
|
189
|
+
- **Toast** - Notification toasts
|
|
190
|
+
- **Tooltip** - Hover tooltips
|
|
191
|
+
- **Skeleton** - Loading skeletons
|
|
192
|
+
|
|
193
|
+
### Layout & Navigation
|
|
194
|
+
|
|
195
|
+
- **Dialog** - Modal dialogs
|
|
196
|
+
- **Sheet** - Side sheet/drawer
|
|
197
|
+
- **Tabs** - Tab navigation
|
|
198
|
+
- **Sidebar** - Navigation sidebar
|
|
199
|
+
- **Breadcrumb** - Breadcrumb navigation
|
|
200
|
+
- **Separator** - Visual dividers
|
|
201
|
+
- **ScrollArea** - Custom scrollbars
|
|
202
|
+
- **Collapsible** - Expandable sections
|
|
203
|
+
|
|
204
|
+
### Overlay
|
|
205
|
+
|
|
206
|
+
- **Popover** - Floating popovers
|
|
207
|
+
- **Glass** - Glassmorphism effect component
|
|
208
|
+
|
|
209
|
+
### Utility
|
|
210
|
+
|
|
211
|
+
- **Theme** - Theme utilities and showcase
|
|
212
|
+
- **FloatLabel** - Floating label for inputs
|
|
213
|
+
|
|
214
|
+
## 🎯 Usage Examples
|
|
215
|
+
|
|
216
|
+
### Button Component
|
|
217
|
+
|
|
218
|
+
```tsx
|
|
219
|
+
import { Button } from "@dsui/design-system";
|
|
220
|
+
|
|
221
|
+
<Button variant="default" size="md">
|
|
222
|
+
Default Button
|
|
223
|
+
</Button>
|
|
224
|
+
|
|
225
|
+
<Button variant="outline" size="lg">
|
|
226
|
+
Outline Button
|
|
227
|
+
</Button>
|
|
228
|
+
|
|
229
|
+
<Button variant="solid" color="destructive">
|
|
230
|
+
Destructive Button
|
|
231
|
+
</Button>
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Dialog Component
|
|
235
|
+
|
|
236
|
+
The Dialog component is enhanced with additional features beyond shadcn/ui:
|
|
237
|
+
|
|
238
|
+
```tsx
|
|
239
|
+
import { Dialog, Button } from "@dsui/design-system";
|
|
240
|
+
import { useState } from "react";
|
|
241
|
+
|
|
242
|
+
function MyComponent() {
|
|
243
|
+
const [open, setOpen] = useState(false);
|
|
244
|
+
|
|
245
|
+
return (
|
|
246
|
+
// Simple dialog with trigger
|
|
247
|
+
<Dialog
|
|
248
|
+
open={open}
|
|
249
|
+
onOpenChange={setOpen}
|
|
250
|
+
trigger={<Button>Open Dialog</Button>}
|
|
251
|
+
title="Dialog Title"
|
|
252
|
+
description="Dialog description"
|
|
253
|
+
footer={
|
|
254
|
+
<div className="flex gap-2 justify-end w-full">
|
|
255
|
+
<Button variant="outline" onClick={() => setOpen(false)}>
|
|
256
|
+
Cancel
|
|
257
|
+
</Button>
|
|
258
|
+
<Button onClick={() => setOpen(false)}>Save Changes</Button>
|
|
259
|
+
</div>
|
|
260
|
+
}
|
|
261
|
+
>
|
|
262
|
+
<p className="text-sm text-muted-foreground">Dialog content goes here</p>
|
|
263
|
+
</Dialog>
|
|
264
|
+
);
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Enhanced Dialog Features:**
|
|
269
|
+
|
|
270
|
+
- **Variants**: `dialog`, `confirm`, `alert`, `info`, `warning`
|
|
271
|
+
- **Sizes**: `sm`, `md`, `lg`, `xl`, `2xl`, `3xl`, `4xl`, `full`
|
|
272
|
+
- **Positions**: `center`, `top`, `bottom`, `left`, `right`, `top-left`, `top-right`, `bottom-left`, `bottom-right`
|
|
273
|
+
- **Animations**: `bounce`, `slide-up`, `slide-down`, `slide-left`, `slide-right`, `zoom-in`, `zoom-out`, `flip`, `glow`, `spec`
|
|
274
|
+
- **Scroll Options**: `stickyHeader`, `stickyFooter`, `scrollable`
|
|
275
|
+
|
|
276
|
+
```tsx
|
|
277
|
+
// Confirm dialog variant
|
|
278
|
+
<Dialog
|
|
279
|
+
variant="confirm"
|
|
280
|
+
trigger={<Button>Confirm Action</Button>}
|
|
281
|
+
title="Confirm Action"
|
|
282
|
+
description="Are you sure you want to proceed?"
|
|
283
|
+
onConfirm={() => console.log("Confirmed")}
|
|
284
|
+
onCancel={() => console.log("Cancelled")}
|
|
285
|
+
/>
|
|
286
|
+
|
|
287
|
+
// Alert dialog variant
|
|
288
|
+
<Dialog
|
|
289
|
+
variant="alert"
|
|
290
|
+
trigger={<Button>Show Alert</Button>}
|
|
291
|
+
title="Warning"
|
|
292
|
+
description="This action cannot be undone"
|
|
293
|
+
onConfirm={() => console.log("Acknowledged")}
|
|
294
|
+
confirmText="I Understand"
|
|
295
|
+
/>
|
|
296
|
+
|
|
297
|
+
// Dialog with custom position and animation
|
|
298
|
+
<Dialog
|
|
299
|
+
position="right"
|
|
300
|
+
animation="slide-left"
|
|
301
|
+
size="lg"
|
|
302
|
+
trigger={<Button>Side Panel</Button>}
|
|
303
|
+
title="Settings"
|
|
304
|
+
>
|
|
305
|
+
<div className="space-y-4">
|
|
306
|
+
{/* Settings content */}
|
|
307
|
+
</div>
|
|
308
|
+
</Dialog>
|
|
309
|
+
|
|
310
|
+
// Scrollable dialog with sticky header/footer
|
|
311
|
+
<Dialog
|
|
312
|
+
stickyHeader
|
|
313
|
+
stickyFooter
|
|
314
|
+
trigger={<Button>Long Content</Button>}
|
|
315
|
+
title="Scrollable Dialog"
|
|
316
|
+
footer={
|
|
317
|
+
<div className="flex gap-2 justify-end w-full">
|
|
318
|
+
<Button variant="outline">Cancel</Button>
|
|
319
|
+
<Button>Save</Button>
|
|
320
|
+
</div>
|
|
321
|
+
}
|
|
322
|
+
>
|
|
323
|
+
<div className="space-y-4">
|
|
324
|
+
{Array.from({ length: 20 }).map((_, i) => (
|
|
325
|
+
<div key={i} className="p-4 border rounded">
|
|
326
|
+
Section {i + 1}
|
|
327
|
+
</div>
|
|
328
|
+
))}
|
|
329
|
+
</div>
|
|
330
|
+
</Dialog>
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**Standalone Usage (without trigger prop):**
|
|
334
|
+
|
|
335
|
+
```tsx
|
|
336
|
+
function MyComponent() {
|
|
337
|
+
const [open, setOpen] = useState(false);
|
|
338
|
+
|
|
339
|
+
return (
|
|
340
|
+
<>
|
|
341
|
+
<Button onClick={() => setOpen(true)}>Open</Button>
|
|
342
|
+
|
|
343
|
+
<Dialog
|
|
344
|
+
open={open}
|
|
345
|
+
onOpenChange={setOpen}
|
|
346
|
+
title="Standalone Dialog"
|
|
347
|
+
description="Dialog without trigger prop"
|
|
348
|
+
>
|
|
349
|
+
<p>Content here</p>
|
|
350
|
+
</Dialog>
|
|
351
|
+
</>
|
|
352
|
+
);
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### DatePicker Component
|
|
357
|
+
|
|
358
|
+
Enhanced DatePicker with range and time selection:
|
|
359
|
+
|
|
360
|
+
```tsx
|
|
361
|
+
import { DatePicker } from "@dsui/design-system";
|
|
362
|
+
import { useState } from "react";
|
|
363
|
+
|
|
364
|
+
function MyComponent() {
|
|
365
|
+
const [date, setDate] = useState<Date>();
|
|
366
|
+
|
|
367
|
+
return (
|
|
368
|
+
<DatePicker selected={date} onSelect={setDate} placeholder="Pick a date" />
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### Toast Notifications
|
|
374
|
+
|
|
375
|
+
```tsx
|
|
376
|
+
import { toast, Toaster } from "@dsui/design-system";
|
|
377
|
+
|
|
378
|
+
function App() {
|
|
379
|
+
return (
|
|
380
|
+
<>
|
|
381
|
+
<Button onClick={() => toast.success("Success message!")}>
|
|
382
|
+
Show Toast
|
|
383
|
+
</Button>
|
|
384
|
+
<Button onClick={() => toast.error("Error message!")}>Show Error</Button>
|
|
385
|
+
<Button onClick={() => toast.info("Info message!")}>Show Info</Button>
|
|
386
|
+
<Toaster />
|
|
387
|
+
</>
|
|
388
|
+
);
|
|
389
|
+
}
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
## 🎨 Styling & Customization
|
|
393
|
+
|
|
394
|
+
### Using CSS Variables
|
|
395
|
+
|
|
396
|
+
```tsx
|
|
397
|
+
// Override specific component styles
|
|
398
|
+
<Button
|
|
399
|
+
style={
|
|
400
|
+
{
|
|
401
|
+
"--primary": "200 100% 50%",
|
|
402
|
+
"--primary-foreground": "0 0% 100%",
|
|
403
|
+
} as React.CSSProperties
|
|
404
|
+
}
|
|
405
|
+
>
|
|
406
|
+
Custom Styled Button
|
|
407
|
+
</Button>
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Class Names
|
|
411
|
+
|
|
412
|
+
All components accept `className` prop for custom styling:
|
|
413
|
+
|
|
414
|
+
```tsx
|
|
415
|
+
<Button className="custom-button-class">
|
|
416
|
+
Styled Button
|
|
417
|
+
</Button>
|
|
418
|
+
|
|
419
|
+
<Dialog
|
|
420
|
+
className="custom-dialog-class"
|
|
421
|
+
headerClassName="custom-header"
|
|
422
|
+
contentClassName="custom-content"
|
|
423
|
+
footerClassName="custom-footer"
|
|
424
|
+
trigger={<Button>Custom Styled Dialog</Button>}
|
|
425
|
+
title="Custom Dialog"
|
|
426
|
+
>
|
|
427
|
+
<p>Content with custom styling</p>
|
|
428
|
+
</Dialog>
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### Variants with CVA
|
|
432
|
+
|
|
433
|
+
Components use `class-variance-authority` for variant management:
|
|
434
|
+
|
|
435
|
+
```tsx
|
|
436
|
+
<Button variant="outline" size="lg" className="w-full">
|
|
437
|
+
Full Width Button
|
|
438
|
+
</Button>
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
## 🔧 Development
|
|
442
|
+
|
|
443
|
+
```bash
|
|
444
|
+
# Install dependencies
|
|
445
|
+
pnpm install
|
|
446
|
+
|
|
447
|
+
# Start Storybook
|
|
448
|
+
pnpm dev
|
|
449
|
+
|
|
450
|
+
# Build library
|
|
451
|
+
pnpm build
|
|
452
|
+
|
|
453
|
+
# Run linting
|
|
454
|
+
pnpm lint
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
## 📖 Documentation
|
|
458
|
+
|
|
459
|
+
For detailed documentation and interactive examples, visit our [Storybook](https://your-storybook-url.com).
|
|
460
|
+
|
|
461
|
+
## 🤝 Contributing
|
|
462
|
+
|
|
463
|
+
Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
464
|
+
|
|
465
|
+
## 📄 License
|
|
466
|
+
|
|
467
|
+
MIT © [Your Name]
|
|
468
|
+
|
|
469
|
+
## 🙏 Credits
|
|
470
|
+
|
|
471
|
+
This design system is built on top of [shadcn/ui](https://ui.shadcn.com/), enhancing it with:
|
|
472
|
+
|
|
473
|
+
- Additional component variants and sizes
|
|
474
|
+
- Enhanced animation support with Motion
|
|
475
|
+
- Extended theming capabilities
|
|
476
|
+
- Custom components like DatePicker with range/time support
|
|
477
|
+
- Improved Dialog with positions, animations, and scroll options
|
|
478
|
+
|
|
479
|
+
Built with:
|
|
480
|
+
|
|
481
|
+
- [shadcn/ui](https://ui.shadcn.com/) - Base component library
|
|
482
|
+
- [Radix UI](https://www.radix-ui.com/) - Unstyled, accessible primitives
|
|
483
|
+
- [TailwindCSS](https://tailwindcss.com/) - Utility-first CSS framework
|
|
484
|
+
- [Motion](https://motion.dev/) - Animation library
|
|
485
|
+
- [date-fns](https://date-fns.org/) - Date utility library
|
|
486
|
+
- [Lucide React](https://lucide.dev/) - Beautiful icon set
|
|
487
|
+
- [React Day Picker](https://react-day-picker.js.org/) - Date picker component
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_commonjsHelpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs"),r=require("../node_modules/.pnpm/react-viewer@3.2.2/node_modules/react-viewer/dist/index.cjs");var t=r.__require();const o=e.getDefaultExportFromCjs(t);exports.default=o;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),j=require("react"),t=require("@dsui/ui/components/accordion"),o=require("@dsui/ui/lib/utils"),A={primary:{trigger:"data-[state=open]:bg-primary/10 data-[state=open]:text-primary data-[state=open]:rounded-b-none data-[state=open]:border-primary/20",content:"bg-primary/10 rounded-b-md"},secondary:{trigger:"data-[state=open]:bg-secondary/10 data-[state=open]:text-secondary data-[state=open]:rounded-b-none data-[state=open]:border-secondary/20",content:"bg-secondary/10 rounded-b-md"},success:{trigger:"data-[state=open]:bg-success/10 data-[state=open]:text-success data-[state=open]:rounded-b-none data-[state=open]:border-success/20",content:"bg-success/10 rounded-b-md"},warning:{trigger:"data-[state=open]:bg-warning/10 data-[state=open]:text-warning data-[state=open]:rounded-b-none data-[state=open]:border-warning/20",content:"bg-warning/10 rounded-b-md"},error:{trigger:"data-[state=open]:bg-error/10 data-[state=open]:text-error data-[state=open]:rounded-b-none data-[state=open]:border-error/20",content:"bg-error/10 rounded-b-md"},glass:{trigger:"data-[state=open]:bg-glass/10 data-[state=open]:text-glass data-[state=open]:rounded-b-none data-[state=open]:border-glass/20",content:"bg-glass/10 rounded-b-md"}},v={default:{root:"rounded-lg",item:"px-0",trigger:"px-4 hover:bg-accent/50",content:"px-4"},bordered:{root:"rounded-lg border-2 divide-y-2",item:"px-0 border-0",trigger:"px-4 font-semibold hover:bg-accent",content:"px-4"},separated:{root:"space-y-2",item:"rounded-lg border bg-card last:border-b",trigger:"px-4 hover:bg-accent/50",content:"px-4"},ghost:{root:"",item:"border-0",trigger:"px-2 hover:bg-accent/30 rounded-md",content:"px-2"}},l=j.forwardRef((N,a)=>{const{items:i,variant:C="default",color:s,className:c,itemClassName:p,triggerClassName:u,contentClassName:b,children:g,type:m,...d}=N,r=v[C],x=s?A[s].trigger:"",y=s?A[s].content:"";return g&&!i?m==="multiple"?n.jsx(t.Accordion,{ref:a,type:"multiple",className:o.cn(r.root,c),...d,children:g}):n.jsx(t.Accordion,{ref:a,type:"single",className:o.cn(r.root,c),...d,children:g}):m==="multiple"?n.jsx(t.Accordion,{ref:a,type:"multiple",className:o.cn(r.root,c),...d,children:i?.map(e=>n.jsxs(t.AccordionItem,{value:e.value,disabled:e.disabled,className:o.cn(r.item,p,e.className),children:[n.jsx(t.AccordionTrigger,{className:o.cn(r.trigger,x,u,e.triggerClassName),children:e.trigger}),n.jsx(t.AccordionContent,{className:o.cn(r.content,y,b,e.contentClassName),children:e.content})]},e.value))}):n.jsx(t.Accordion,{ref:a,type:"single",className:o.cn(r.root,c),...d,children:i?.map(e=>n.jsxs(t.AccordionItem,{value:e.value,disabled:e.disabled,className:o.cn(r.item,p,e.className),children:[n.jsx(t.AccordionTrigger,{className:o.cn(r.trigger,x,u,e.triggerClassName),children:e.trigger}),n.jsx(t.AccordionContent,{className:o.cn(r.content,y,b,e.contentClassName),children:e?.content})]},e.value))})});l.displayName="Accordion";const h=Object.assign(l,{Item:t.AccordionItem,Trigger:t.AccordionTrigger,Content:t.AccordionContent});Object.defineProperty(exports,"AccordionContent",{enumerable:!0,get:()=>t.AccordionContent});Object.defineProperty(exports,"AccordionItem",{enumerable:!0,get:()=>t.AccordionItem});Object.defineProperty(exports,"AccordionTrigger",{enumerable:!0,get:()=>t.AccordionTrigger});exports.Accordion=l;exports.default=h;
|
|
2
|
+
//# sourceMappingURL=Accordion.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.cjs","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Accordion as SAccordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"@dsui/ui/components/accordion\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { type BasicColor } from \"@/types/variables\";\n\nexport type AccordionItemConfig = {\n value: string;\n trigger: React.ReactNode;\n content?: React.ReactNode;\n disabled?: boolean;\n className?: string;\n triggerClassName?: string;\n contentClassName?: string;\n};\n\ntype AccordionBaseProps = {\n items?: AccordionItemConfig[];\n variant?: \"default\" | \"bordered\" | \"separated\" | \"ghost\";\n color?: BasicColor;\n itemClassName?: string;\n triggerClassName?: string;\n contentClassName?: string;\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n dir?: \"ltr\" | \"rtl\";\n orientation?: \"horizontal\" | \"vertical\";\n asChild?: boolean;\n};\n\ntype AccordionSingleProps = AccordionBaseProps & {\n type: \"single\";\n value?: string;\n defaultValue?: string;\n collapsible?: boolean;\n onValueChange?: (newValue: string) => void;\n};\n\ntype AccordionMultipleProps = AccordionBaseProps & {\n type: \"multiple\";\n value?: string[];\n defaultValue?: string[];\n onValueChange?: (newValue: string[]) => void;\n};\n\nexport type AccordionProps = AccordionSingleProps | AccordionMultipleProps;\n\nconst colorVariants = {\n primary: {\n trigger:\n \"data-[state=open]:bg-primary/10 data-[state=open]:text-primary data-[state=open]:rounded-b-none data-[state=open]:border-primary/20\",\n content: \"bg-primary/10 rounded-b-md\",\n },\n secondary: {\n trigger:\n \"data-[state=open]:bg-secondary/10 data-[state=open]:text-secondary data-[state=open]:rounded-b-none data-[state=open]:border-secondary/20\",\n content: \"bg-secondary/10 rounded-b-md\",\n },\n success: {\n trigger:\n \"data-[state=open]:bg-success/10 data-[state=open]:text-success data-[state=open]:rounded-b-none data-[state=open]:border-success/20\",\n content: \"bg-success/10 rounded-b-md\",\n },\n warning: {\n trigger:\n \"data-[state=open]:bg-warning/10 data-[state=open]:text-warning data-[state=open]:rounded-b-none data-[state=open]:border-warning/20\",\n content: \"bg-warning/10 rounded-b-md\",\n },\n error: {\n trigger:\n \"data-[state=open]:bg-error/10 data-[state=open]:text-error data-[state=open]:rounded-b-none data-[state=open]:border-error/20\",\n content: \"bg-error/10 rounded-b-md\",\n },\n glass: {\n trigger:\n \"data-[state=open]:bg-glass/10 data-[state=open]:text-glass data-[state=open]:rounded-b-none data-[state=open]:border-glass/20\",\n content: \"bg-glass/10 rounded-b-md\",\n },\n};\n\nconst variantStyles = {\n default: {\n root: \"rounded-lg\",\n item: \"px-0\",\n trigger: \"px-4 hover:bg-accent/50\",\n content: \"px-4\",\n },\n bordered: {\n root: \"rounded-lg border-2 divide-y-2\",\n item: \"px-0 border-0\",\n trigger: \"px-4 font-semibold hover:bg-accent\",\n content: \"px-4\",\n },\n separated: {\n root: \"space-y-2\",\n item: \"rounded-lg border bg-card last:border-b\",\n trigger: \"px-4 hover:bg-accent/50\",\n content: \"px-4\",\n },\n ghost: {\n root: \"\",\n item: \"border-0\",\n trigger: \"px-2 hover:bg-accent/30 rounded-md\",\n content: \"px-2\",\n },\n};\n\nconst Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(\n (props, ref) => {\n const {\n items,\n variant = \"default\",\n color,\n className,\n itemClassName,\n triggerClassName,\n contentClassName,\n children,\n type,\n ...rest\n } = props;\n\n const styles = variantStyles[variant];\n const triggerColorClass = color ? colorVariants[color].trigger : \"\";\n const contentColorClass = color ? colorVariants[color].content : \"\";\n\n // If children are provided, use them directly (primitive usage)\n if (children && !items) {\n if (type === \"multiple\") {\n return (\n <SAccordion\n ref={ref}\n type=\"multiple\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionMultipleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {children}\n </SAccordion>\n );\n }\n return (\n <SAccordion\n ref={ref}\n type=\"single\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionSingleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {children}\n </SAccordion>\n );\n }\n\n // Wrapper usage with items array\n if (type === \"multiple\") {\n return (\n <SAccordion\n ref={ref}\n type=\"multiple\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionMultipleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {items?.map((item) => (\n <AccordionItem\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n className={cn(styles.item, itemClassName, item.className)}\n >\n <AccordionTrigger\n className={cn(\n styles.trigger,\n triggerColorClass,\n triggerClassName,\n item.triggerClassName,\n )}\n >\n {item.trigger}\n </AccordionTrigger>\n <AccordionContent\n className={cn(\n styles.content,\n contentColorClass,\n contentClassName,\n item.contentClassName,\n )}\n >\n {item.content}\n </AccordionContent>\n </AccordionItem>\n ))}\n </SAccordion>\n );\n }\n\n return (\n <SAccordion\n ref={ref}\n type=\"single\"\n className={cn(styles.root, className)}\n {...(rest as Omit<\n AccordionSingleProps,\n keyof AccordionBaseProps | \"type\"\n >)}\n >\n {items?.map((item) => (\n <AccordionItem\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n className={cn(styles.item, itemClassName, item.className)}\n >\n <AccordionTrigger\n className={cn(\n styles.trigger,\n triggerColorClass,\n triggerClassName,\n item.triggerClassName,\n )}\n >\n {item.trigger}\n </AccordionTrigger>\n <AccordionContent\n className={cn(\n styles.content,\n contentColorClass,\n contentClassName,\n item.contentClassName,\n )}\n >\n {item?.content}\n </AccordionContent>\n </AccordionItem>\n ))}\n </SAccordion>\n );\n },\n);\n\nAccordion.displayName = \"Accordion\";\n\n// Create compound component\nconst AccordionCompound = Object.assign(Accordion, {\n Item: AccordionItem,\n Trigger: AccordionTrigger,\n Content: AccordionContent,\n});\n\nexport default AccordionCompound;\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["colorVariants","variantStyles","Accordion","React","props","ref","items","variant","color","className","itemClassName","triggerClassName","contentClassName","children","type","rest","styles","triggerColorClass","contentColorClass","jsx","SAccordion","cn","item","jsxs","AccordionItem","AccordionTrigger","AccordionContent","AccordionCompound"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),v=require("react"),c=require("@dsui/ui/components/avatar"),d=require("@dsui/ui/index"),h=require("../../utils/animations.cjs");function p(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=p(v);function y({size:e="md",variant:t="circle",animation:r,color:a,className:n,src:o,alt:l,fallback:g,...f}){const m=s.useMemo(()=>h.animationClass(r,n),[r,n]),b=s.useMemo(()=>{switch(e){case"xs":return"size-6";case"sm":return"size-8";case"md":return"size-10";case"lg":return"size-12";case"xl":return"size-16";default:return"size-10"}},[e]),x=s.useMemo(()=>{switch(t){case"circle":return"rounded-full";case"square":return"rounded-md";default:return"rounded-full"}},[t]),i=s.useMemo(()=>{switch(a){case"primary":return"bg-primary text-primary-foreground";case"secondary":return"bg-secondary text-secondary-foreground";case"dark":return"bg-neutral-900 text-white";case"light":return"bg-neutral-200 text-neutral-950";case"inverted":return"dark:bg-white dark:text-black";case"success":return"bg-success text-success-foreground";case"warning":return"bg-warning text-warning-foreground";case"error":return"bg-error text-error-foreground";case"glass":return"bg-white/15 backdrop-blur-sm";default:return""}},[a]);return u.jsxs(c.Avatar,{className:d.cn("relative flex shrink-0 transition-all duration-300",b,x,m?.className,i,n),...f,children:[o&&u.jsx(c.AvatarImage,{src:o,alt:l,className:"rounded-[inherit]"}),u.jsx(c.AvatarFallback,{className:d.cn("rounded-[inherit]",i,n),children:g})]})}exports.Avatar=y;
|
|
2
|
+
//# sourceMappingURL=Avatar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.cjs","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n Avatar as DsAvatar,\n AvatarImage,\n AvatarFallback,\n} from \"@dsui/ui/components/avatar\";\nimport { cn } from \"@dsui/ui/index\";\nimport type { BasicAnimation, BasicColor } from \"@/types/variables\";\nimport { animationClass } from \"@/utils/animations\";\n\ntype Color = BasicColor | \"dark\" | \"light\" | \"inverted\";\n\ntype Size = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\ntype Variant = \"circle\" | \"square\";\n\nexport type AvatarProps = React.ComponentProps<typeof DsAvatar> & {\n size?: Size;\n variant?: Variant;\n animation?: BasicAnimation;\n color?: Color | string;\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n};\n\nexport function Avatar({\n size = \"md\",\n variant = \"circle\",\n animation,\n color,\n className,\n src,\n alt,\n fallback,\n ...props\n}: AvatarProps) {\n const avatarAnimation = React.useMemo<{ className?: string } | null>(() => {\n return animationClass(animation, className);\n }, [animation, className]);\n\n const avatarSize = React.useMemo<string>(() => {\n switch (size) {\n case \"xs\":\n return \"size-6\";\n case \"sm\":\n return \"size-8\";\n case \"md\":\n return \"size-10\";\n case \"lg\":\n return \"size-12\";\n case \"xl\":\n return \"size-16\";\n default:\n return \"size-10\";\n }\n }, [size]);\n\n const avatarVariant = React.useMemo<string>(() => {\n switch (variant) {\n case \"circle\":\n return \"rounded-full\";\n case \"square\":\n return \"rounded-md\";\n default:\n return \"rounded-full\";\n }\n }, [variant]);\n\n const avatarColor = React.useMemo<string>(() => {\n switch (color) {\n case \"primary\":\n return \"bg-primary text-primary-foreground\";\n case \"secondary\":\n return \"bg-secondary text-secondary-foreground\";\n case \"dark\":\n return \"bg-neutral-900 text-white\";\n case \"light\":\n return \"bg-neutral-200 text-neutral-950\";\n case \"inverted\":\n return \"dark:bg-white dark:text-black\";\n case \"success\":\n return \"bg-success text-success-foreground\";\n case \"warning\":\n return \"bg-warning text-warning-foreground\";\n case \"error\":\n return \"bg-error text-error-foreground\";\n case \"glass\":\n return \"bg-white/15 backdrop-blur-sm\";\n default:\n return \"\";\n }\n }, [color]);\n\n return (\n <DsAvatar\n className={cn(\n \"relative flex shrink-0 transition-all duration-300\",\n avatarSize,\n avatarVariant,\n avatarAnimation?.className,\n avatarColor,\n className,\n )}\n {...props}\n >\n {src && <AvatarImage src={src} alt={alt} className=\"rounded-[inherit]\" />}\n <AvatarFallback\n className={cn(\"rounded-[inherit]\", avatarColor, className)}\n >\n {fallback}\n </AvatarFallback>\n </DsAvatar>\n );\n}\n"],"names":["Avatar","size","variant","animation","color","className","src","alt","fallback","props","avatarAnimation","React","animationClass","avatarSize","avatarVariant","avatarColor","jsxs","DsAvatar","cn","jsx","AvatarImage","AvatarFallback"],"mappings":"8gBA0BO,SAASA,EAAO,CACrB,KAAAC,EAAO,KACP,QAAAC,EAAU,SACV,UAAAC,EACA,MAAAC,EACA,UAAAC,EACA,IAAAC,EACA,IAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAkBC,EAAM,QAAuC,IAC5DC,EAAAA,eAAeT,EAAWE,CAAS,EACzC,CAACF,EAAWE,CAAS,CAAC,EAEnBQ,EAAaF,EAAM,QAAgB,IAAM,CAC7C,OAAQV,EAAA,CACN,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,QACE,MAAO,SAAA,CAEb,EAAG,CAACA,CAAI,CAAC,EAEHa,EAAgBH,EAAM,QAAgB,IAAM,CAChD,OAAQT,EAAA,CACN,IAAK,SACH,MAAO,eACT,IAAK,SACH,MAAO,aACT,QACE,MAAO,cAAA,CAEb,EAAG,CAACA,CAAO,CAAC,EAENa,EAAcJ,EAAM,QAAgB,IAAM,CAC9C,OAAQP,EAAA,CACN,IAAK,UACH,MAAO,qCACT,IAAK,YACH,MAAO,yCACT,IAAK,OACH,MAAO,4BACT,IAAK,QACH,MAAO,kCACT,IAAK,WACH,MAAO,gCACT,IAAK,UACH,MAAO,qCACT,IAAK,UACH,MAAO,qCACT,IAAK,QACH,MAAO,iCACT,IAAK,QACH,MAAO,+BACT,QACE,MAAO,EAAA,CAEb,EAAG,CAACA,CAAK,CAAC,EAEV,OACEY,EAAAA,KAACC,EAAAA,OAAA,CACC,UAAWC,EAAAA,GACT,qDACAL,EACAC,EACAJ,GAAiB,UACjBK,EACAV,CAAA,EAED,GAAGI,EAEH,SAAA,CAAAH,GAAOa,EAAAA,IAACC,cAAA,CAAY,IAAAd,EAAU,IAAAC,EAAU,UAAU,oBAAoB,EACvEY,EAAAA,IAACE,EAAAA,eAAA,CACC,UAAWH,EAAAA,GAAG,oBAAqBH,EAAaV,CAAS,EAExD,SAAAG,CAAA,CAAA,CACH,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),r=require("react"),n=require("@dsui/ui/components/badge"),d=require("@dsui/ui/lib/utils"),o=require("lucide-react"),u=require("../../utils/animations.cjs"),t=r.forwardRef((c,l)=>{const{animation:i,...e}=c,s=r.useMemo(()=>u.animationEffect({animation:i,children:e?.children,className:e?.className,rootClassName:n.badgeVariants({variant:e?.variant,size:e?.size})}),[i,e]);return a.jsx(n.Badge,{ref:l,...e,className:d.cn(e?.className,s?.className),asChild:s?.children?!0:e.asChild,children:a.jsxs(a.Fragment,{children:[e?.isLoading&&a.jsx(o.LoaderCircle,{className:"animate-spin"}),!e?.isLoading&&(s?.children??e.children)]})})});t.displayName="Badge";exports.default=t;
|
|
2
|
+
//# sourceMappingURL=Badge.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.cjs","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n badgeVariants,\n Badge as SBadge,\n type BadgeProps as SBadgeProps,\n} from \"@dsui/ui/components/badge\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport type { BadgeAnimation } from \"@/types/variables\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { animationEffect } from \"@/utils/animations\";\n\nexport type BadgeProps = SBadgeProps & {\n animation?: BadgeAnimation;\n isLoading?: boolean;\n};\n\ntype AnimResult = {\n className?: string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n variant?: SBadgeProps[\"variant\"];\n};\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n const { animation, ...rest } = props;\n\n const badgeAnimation = useMemo<AnimResult | null>(() => {\n return animationEffect<BadgeAnimation, SBadgeProps[\"variant\"]>({\n animation,\n children: rest?.children,\n className: rest?.className,\n rootClassName: badgeVariants({\n variant: rest?.variant,\n size: rest?.size,\n }),\n });\n }, [animation, rest]);\n\n return (\n <SBadge\n ref={ref}\n {...rest}\n className={cn(rest?.className, badgeAnimation?.className)}\n asChild={badgeAnimation?.children ? true : rest.asChild}\n >\n <>\n {rest?.isLoading && <LoaderCircle className=\"animate-spin\" />}\n {!rest?.isLoading && (badgeAnimation?.children ?? rest.children)}\n </>\n </SBadge>\n );\n});\n\nBadge.displayName = \"Badge\";\nexport default Badge;\n"],"names":["Badge","React","props","ref","animation","rest","badgeAnimation","useMemo","animationEffect","badgeVariants","jsx","SBadge","cn","jsxs","Fragment","LoaderCircle"],"mappings":"6SAuBMA,EAAQC,EAAM,WAAwC,CAACC,EAAOC,IAAQ,CAC1E,KAAM,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASH,EAEzBI,EAAiBC,EAAAA,QAA2B,IACzCC,kBAAwD,CAC7D,UAAAJ,EACA,SAAUC,GAAM,SAChB,UAAWA,GAAM,UACjB,cAAeI,EAAAA,cAAc,CAC3B,QAASJ,GAAM,QACf,KAAMA,GAAM,IAAA,CACb,CAAA,CACF,EACA,CAACD,EAAWC,CAAI,CAAC,EAEpB,OACEK,EAAAA,IAACC,EAAAA,MAAA,CACC,IAAAR,EACC,GAAGE,EACJ,UAAWO,EAAAA,GAAGP,GAAM,UAAWC,GAAgB,SAAS,EACxD,QAASA,GAAgB,SAAW,GAAOD,EAAK,QAEhD,SAAAQ,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAAT,GAAM,WAAaK,EAAAA,IAACK,EAAAA,aAAA,CAAa,UAAU,eAAe,EAC1D,CAACV,GAAM,YAAcC,GAAgB,UAAYD,EAAK,SAAA,CAAA,CACzD,CAAA,CAAA,CAGN,CAAC,EAEDL,EAAM,YAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),o=require("react"),t=require("@dsui/ui/components/breadcrumb"),E=require("@dsui/ui/lib/utils"),g=require("lucide-react"),m=require("@dsui/ui/components/popover"),P={default:"",primary:"text-primary [&_[data-slot=breadcrumb-link]:hover]:text-primary/80 [&_[data-slot=breadcrumb-page]]:text-primary",secondary:"text-secondary [&_[data-slot=breadcrumb-link]:hover]:text-secondary/80 [&_[data-slot=breadcrumb-page]]:text-secondary",accent:"text-accent [&_[data-slot=breadcrumb-link]:hover]:text-accent/80 [&_[data-slot=breadcrumb-page]]:text-accent",destructive:"text-destructive [&_[data-slot=breadcrumb-link]:hover]:text-destructive/80 [&_[data-slot=breadcrumb-page]]:text-destructive",muted:"text-muted-foreground [&_[data-slot=breadcrumb-link]:hover]:text-muted-foreground/80 [&_[data-slot=breadcrumb-page]]:text-muted-foreground",success:"text-success [&_[data-slot=breadcrumb-link]:hover]:text-success/80 [&_[data-slot=breadcrumb-page]]:text-success",error:"text-error [&_[data-slot=breadcrumb-link]:hover]:text-error/80 [&_[data-slot=breadcrumb-page]]:text-error",warning:"text-warning [&_[data-slot=breadcrumb-link]:hover]:text-warning/80 [&_[data-slot=breadcrumb-page]]:text-warning"},C={default:"",compact:"text-xs [&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-separator]>svg]:size-3",badge:"[&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-item]]:border [&_[data-slot=breadcrumb-item]]:bg-muted [&_[data-slot=breadcrumb-item]]:px-2 [&_[data-slot=breadcrumb-item]]:py-0.5 [&_[data-slot=breadcrumb-item]]:rounded-full [&_[data-slot=breadcrumb-item]]:text-sm",bordered:"border rounded-md px-3 py-2"},f=o.forwardRef(({className:j,variant:v="default",color:_="default",items:y,separator:n,maxItems:i,showEllipsis:B=!0,showHome:b="label",showPopoverOnEllipsis:N=!1,...k},w)=>{const[S,I]=o.useState(!1),d=y;let a=[];const s=b===!0?"label":b;s&&(s==="label"?a=[{label:"Home",href:"/"}]:s==="icon"?a=[{icon:e.jsx(g.Home,{className:"size-4"}),href:"/"}]:s==="both"?a=[{label:"Home",icon:e.jsx(g.Home,{className:"size-4"}),href:"/"}]:typeof s=="object"&&!o.isValidElement(s)?a=[s]:a=[{label:s,href:"/"}]);let c=[],u=!1,x=[];if(i===0)c=[...a,...d];else if(i){const r=i-a.length,l=r>0?d.slice(-r):[];c=[...a,...l],u=r>0&&d.length>r&&B,x=r>0?d.slice(0,-r):d}else c=[...a,...d];const h=()=>N?e.jsxs(m.Popover,{open:S,onOpenChange:I,children:[e.jsx(m.PopoverTrigger,{asChild:!0,children:e.jsx(t.BreadcrumbItem,{children:e.jsx(t.BreadcrumbEllipsis,{})})}),e.jsx(m.PopoverContent,{className:"w-auto max-w-64 p-2",children:x.map((r,l)=>e.jsxs("div",{className:"flex items-center gap-2 py-1 px-3 rounded hover:bg-muted",children:[r.icon,r.label&&e.jsx("a",{href:r.href,className:"text-sm hover:underline",children:r.label})]},l))})]}):e.jsx(t.BreadcrumbItem,{children:e.jsx(t.BreadcrumbEllipsis,{})});return e.jsx(t.Breadcrumb,{ref:w,className:E.cn(C[v],j),...k,children:e.jsxs(t.BreadcrumbList,{className:P[_],children:[u&&a.length===0&&e.jsxs(e.Fragment,{children:[h(),e.jsx(t.BreadcrumbSeparator,{children:n})]}),c.map((r,l)=>{const p=l===c.length-1,q=u&&l===0&&a.length>0;return e.jsxs(o.Fragment,{children:[e.jsx(t.BreadcrumbItem,{children:p?e.jsx(t.BreadcrumbPage,{children:e.jsxs("div",{className:"flex items-center gap-1",children:[r.icon,r.label]})}):e.jsx(t.BreadcrumbLink,{href:r.href,children:e.jsxs("div",{className:"flex items-center gap-1",children:[r.icon,r.label]})})}),q&&e.jsxs(e.Fragment,{children:[e.jsx(t.BreadcrumbSeparator,{children:n}),h()]}),!p&&e.jsx(t.BreadcrumbSeparator,{children:n})]},l)})]})})});f.displayName="Breadcrumb";exports.default=f;
|
|
2
|
+
//# sourceMappingURL=Breadcrumb.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.cjs","sources":["../../../../src/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Breadcrumb as SBreadcrumb,\n BreadcrumbList as SBreadcrumbList,\n BreadcrumbItem as SBreadcrumbItem,\n BreadcrumbLink as SBreadcrumbLink,\n BreadcrumbPage as SBreadcrumbPage,\n BreadcrumbSeparator as SBreadcrumbSeparator,\n BreadcrumbEllipsis as SBreadcrumbEllipsis,\n} from \"@dsui/ui/components/breadcrumb\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { Home } from \"lucide-react\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@dsui/ui/components/popover\";\n\nexport type BreadcrumbItemType = {\n label?: React.ReactNode;\n href?: string;\n icon?: React.ReactNode;\n};\n\nexport type BreadcrumbProps = React.ComponentProps<\"nav\"> & {\n variant?: \"default\" | \"compact\" | \"badge\" | \"bordered\";\n color?:\n | \"default\"\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"destructive\"\n | \"muted\"\n | \"success\"\n | \"error\"\n | \"warning\";\n items: BreadcrumbItemType[];\n separator?: React.ReactNode;\n maxItems?: number;\n showEllipsis?: boolean;\n showHome?:\n | boolean\n | \"label\"\n | \"icon\"\n | \"both\"\n | React.ReactNode\n | { label?: React.ReactNode; icon?: React.ReactNode; href?: string };\n showPopoverOnEllipsis?: boolean;\n};\n\nconst colorClasses = {\n default: \"\",\n primary:\n \"text-primary [&_[data-slot=breadcrumb-link]:hover]:text-primary/80 [&_[data-slot=breadcrumb-page]]:text-primary\",\n secondary:\n \"text-secondary [&_[data-slot=breadcrumb-link]:hover]:text-secondary/80 [&_[data-slot=breadcrumb-page]]:text-secondary\",\n accent:\n \"text-accent [&_[data-slot=breadcrumb-link]:hover]:text-accent/80 [&_[data-slot=breadcrumb-page]]:text-accent\",\n destructive:\n \"text-destructive [&_[data-slot=breadcrumb-link]:hover]:text-destructive/80 [&_[data-slot=breadcrumb-page]]:text-destructive\",\n muted:\n \"text-muted-foreground [&_[data-slot=breadcrumb-link]:hover]:text-muted-foreground/80 [&_[data-slot=breadcrumb-page]]:text-muted-foreground\",\n success:\n \"text-success [&_[data-slot=breadcrumb-link]:hover]:text-success/80 [&_[data-slot=breadcrumb-page]]:text-success\",\n error:\n \"text-error [&_[data-slot=breadcrumb-link]:hover]:text-error/80 [&_[data-slot=breadcrumb-page]]:text-error\",\n warning:\n \"text-warning [&_[data-slot=breadcrumb-link]:hover]:text-warning/80 [&_[data-slot=breadcrumb-page]]:text-warning\",\n};\n\nconst variantClasses = {\n default: \"\",\n compact:\n \"text-xs [&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-separator]>svg]:size-3\",\n badge:\n \"[&_[data-slot=breadcrumb-list]]:gap-1 [&_[data-slot=breadcrumb-item]]:border [&_[data-slot=breadcrumb-item]]:bg-muted [&_[data-slot=breadcrumb-item]]:px-2 [&_[data-slot=breadcrumb-item]]:py-0.5 [&_[data-slot=breadcrumb-item]]:rounded-full [&_[data-slot=breadcrumb-item]]:text-sm\",\n bordered: \"border rounded-md px-3 py-2\",\n};\n\nconst Breadcrumb = React.forwardRef<HTMLElement, BreadcrumbProps>(\n (\n {\n className,\n variant = \"default\",\n color = \"default\",\n items,\n separator,\n maxItems,\n showEllipsis = true,\n showHome = \"label\",\n showPopoverOnEllipsis = false,\n ...props\n },\n ref,\n ) => {\n const [popoverOpen, setPopoverOpen] = React.useState(false);\n const userItems = items;\n let homeItem: BreadcrumbItemType[] = [];\n const normalizedShowHome = showHome === true ? \"label\" : showHome;\n if (normalizedShowHome) {\n if (normalizedShowHome === \"label\") {\n homeItem = [{ label: \"Home\", href: \"/\" }];\n } else if (normalizedShowHome === \"icon\") {\n homeItem = [{ icon: <Home className=\"size-4\" />, href: \"/\" }];\n } else if (normalizedShowHome === \"both\") {\n homeItem = [\n { label: \"Home\", icon: <Home className=\"size-4\" />, href: \"/\" },\n ];\n } else if (\n typeof normalizedShowHome === \"object\" &&\n !React.isValidElement(normalizedShowHome)\n ) {\n // custom object\n homeItem = [normalizedShowHome as BreadcrumbItemType];\n } else {\n // ReactNode\n homeItem = [\n { label: normalizedShowHome as React.ReactNode, href: \"/\" },\n ];\n }\n }\n // Calculate which items to display\n let displayItems: BreadcrumbItemType[] = [];\n let hasEllipsis = false;\n let hiddenItems: BreadcrumbItemType[] = [];\n\n if (maxItems === 0) {\n displayItems = [...homeItem, ...userItems];\n } else if (maxItems) {\n const numUserItems = maxItems - homeItem.length;\n const truncatedUserItems =\n numUserItems > 0 ? userItems.slice(-numUserItems) : [];\n displayItems = [...homeItem, ...truncatedUserItems];\n hasEllipsis =\n numUserItems > 0 && userItems.length > numUserItems && showEllipsis;\n hiddenItems =\n numUserItems > 0 ? userItems.slice(0, -numUserItems) : userItems;\n } else {\n displayItems = [...homeItem, ...userItems];\n }\n\n const renderEllipsis = () => {\n if (showPopoverOnEllipsis) {\n return (\n <Popover open={popoverOpen} onOpenChange={setPopoverOpen}>\n <PopoverTrigger asChild>\n <SBreadcrumbItem>\n <SBreadcrumbEllipsis />\n </SBreadcrumbItem>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto max-w-64 p-2\">\n {hiddenItems.map((item, index) => (\n <div\n key={index}\n className=\"flex items-center gap-2 py-1 px-3 rounded hover:bg-muted\"\n >\n {item.icon}\n {item.label && (\n <a href={item.href} className=\"text-sm hover:underline\">\n {item.label}\n </a>\n )}\n </div>\n ))}\n </PopoverContent>\n </Popover>\n );\n }\n return (\n <SBreadcrumbItem>\n <SBreadcrumbEllipsis />\n </SBreadcrumbItem>\n );\n };\n\n return (\n <SBreadcrumb\n ref={ref}\n className={cn(variantClasses[variant], className)}\n {...props}\n >\n <SBreadcrumbList className={colorClasses[color]}>\n {hasEllipsis && homeItem.length === 0 && (\n <>\n {renderEllipsis()}\n <SBreadcrumbSeparator>{separator}</SBreadcrumbSeparator>\n </>\n )}\n {displayItems.map((item, index) => {\n const isLast = index === displayItems.length - 1;\n const shouldShowEllipsisAfter =\n hasEllipsis && index === 0 && homeItem.length > 0;\n return (\n <React.Fragment key={index}>\n <SBreadcrumbItem>\n {isLast ? (\n <SBreadcrumbPage>\n <div className=\"flex items-center gap-1\">\n {item.icon}\n {item.label}\n </div>\n </SBreadcrumbPage>\n ) : (\n <SBreadcrumbLink href={item.href}>\n <div className=\"flex items-center gap-1\">\n {item.icon}\n {item.label}\n </div>\n </SBreadcrumbLink>\n )}\n </SBreadcrumbItem>\n {shouldShowEllipsisAfter && (\n <>\n <SBreadcrumbSeparator>{separator}</SBreadcrumbSeparator>\n {renderEllipsis()}\n </>\n )}\n {!isLast && (\n <SBreadcrumbSeparator>{separator}</SBreadcrumbSeparator>\n )}\n </React.Fragment>\n );\n })}\n </SBreadcrumbList>\n </SBreadcrumb>\n );\n },\n);\n\nBreadcrumb.displayName = \"Breadcrumb\";\n\nexport default Breadcrumb;\n"],"names":["colorClasses","variantClasses","Breadcrumb","React","className","variant","color","items","separator","maxItems","showEllipsis","showHome","showPopoverOnEllipsis","props","ref","popoverOpen","setPopoverOpen","userItems","homeItem","normalizedShowHome","jsx","Home","displayItems","hasEllipsis","hiddenItems","numUserItems","truncatedUserItems","renderEllipsis","jsxs","Popover","PopoverTrigger","SBreadcrumbItem","SBreadcrumbEllipsis","PopoverContent","item","index","SBreadcrumb","cn","SBreadcrumbList","Fragment","SBreadcrumbSeparator","isLast","shouldShowEllipsisAfter","SBreadcrumbPage","SBreadcrumbLink"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),r=require("react"),o=require("@dsui/ui/components/button"),N=require("@dsui/ui/lib/utils"),b=require("lucide-react"),f=require("../../utils/animations.cjs"),l=r.forwardRef((c,u)=>{const{variant:n="solid",size:a="normal",color:d="muted",animation:i,...e}=c,t=r.useMemo(()=>f.animationEffect({animation:i,children:e?.children,className:e?.className,rootClassName:o.buttonVariants({variant:n,size:a}),variantType:n,...e}),[i,e,a,n]),m=(t?.children?!0:e.asChild)&&!e?.isLoading,h=e?.isLoading?s.jsxs(s.Fragment,{children:[s.jsx(b.LoaderCircle,{className:"animate-spin"}),t?.children??e.children??null]}):t?.children??e.children??null;return s.jsx(o.Button,{ref:u,...e,className:N.cn("cursor-pointer group",e?.className,t?.className),asChild:m,style:{...e.style||{},...t?.style||{}},variant:t?.variant??n,color:d,size:a,children:h})});l.displayName="Button";exports.default=l;
|
|
2
|
+
//# sourceMappingURL=Button.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.cjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n buttonVariants,\n Button as SButton,\n type ButtonProps as SButtonProps,\n} from \"@dsui/ui/components/button\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport type { ButtonAnimation } from \"@/types/variables\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { animationEffect } from \"@/utils/animations\";\n\nexport type ButtonProps = SButtonProps & {\n animation?: ButtonAnimation;\n isLoading?: boolean;\n};\n\ntype AnimResult = {\n className?: string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n variant?: SButtonProps[\"variant\"];\n};\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref) => {\n const {\n variant = \"solid\",\n size = \"normal\",\n color = \"muted\",\n animation,\n ...rest\n } = props;\n\n const buttonAnimation = useMemo<AnimResult | null>(() => {\n return animationEffect<ButtonAnimation, SButtonProps[\"variant\"]>({\n animation,\n children: rest?.children,\n className: rest?.className,\n rootClassName: buttonVariants({\n variant: variant,\n size: size,\n }),\n variantType: variant,\n ...rest,\n });\n }, [animation, rest, size, variant]);\n\n // Disable asChild when loading to avoid React.Children.only error\n const shouldUseAsChild =\n (buttonAnimation?.children ? true : rest.asChild) && !rest?.isLoading;\n\n const buttonContent = rest?.isLoading ? (\n <>\n <LoaderCircle className=\"animate-spin\" />\n {\n (buttonAnimation?.children ??\n rest.children ??\n null) as SButtonProps[\"children\"]\n }\n </>\n ) : (\n ((buttonAnimation?.children ??\n rest.children ??\n null) as SButtonProps[\"children\"])\n );\n\n return (\n <SButton\n ref={ref}\n {...rest}\n className={cn(\n \"cursor-pointer group\",\n rest?.className,\n buttonAnimation?.className,\n )}\n asChild={shouldUseAsChild}\n style={{ ...(rest.style || {}), ...(buttonAnimation?.style || {}) }}\n variant={buttonAnimation?.variant ?? variant}\n color={color}\n size={size}\n >\n {buttonContent}\n </SButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\nexport default Button;\n"],"names":["Button","React","props","ref","variant","size","color","animation","rest","buttonAnimation","useMemo","animationEffect","buttonVariants","shouldUseAsChild","buttonContent","jsxs","Fragment","jsx","LoaderCircle","SButton","cn"],"mappings":"8SAuBMA,EAASC,EAAM,WACnB,CAACC,EAAOC,IAAQ,CACd,KAAM,CACJ,QAAAC,EAAU,QACV,KAAAC,EAAO,SACP,MAAAC,EAAQ,QACR,UAAAC,EACA,GAAGC,CAAA,EACDN,EAEEO,EAAkBC,EAAAA,QAA2B,IAC1CC,kBAA0D,CAC/D,UAAAJ,EACA,SAAUC,GAAM,SAChB,UAAWA,GAAM,UACjB,cAAeI,EAAAA,eAAe,CAC5B,QAAAR,EACA,KAAAC,CAAA,CACD,EACD,YAAaD,EACb,GAAGI,CAAA,CACJ,EACA,CAACD,EAAWC,EAAMH,EAAMD,CAAO,CAAC,EAG7BS,GACHJ,GAAiB,SAAW,GAAOD,EAAK,UAAY,CAACA,GAAM,UAExDM,EAAgBN,GAAM,UAC1BO,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAC,EAAAA,IAACC,EAAAA,aAAA,CAAa,UAAU,cAAA,CAAe,EAEpCT,GAAiB,UAChBD,EAAK,UACL,IAAA,CAAA,CAEN,EAEEC,GAAiB,UACjBD,EAAK,UACL,KAGJ,OACES,EAAAA,IAACE,EAAAA,OAAA,CACC,IAAAhB,EACC,GAAGK,EACJ,UAAWY,EAAAA,GACT,uBACAZ,GAAM,UACNC,GAAiB,SAAA,EAEnB,QAASI,EACT,MAAO,CAAE,GAAIL,EAAK,OAAS,CAAA,EAAK,GAAIC,GAAiB,OAAS,EAAC,EAC/D,QAASA,GAAiB,SAAWL,EACrC,MAAAE,EACA,KAAAD,EAEC,SAAAS,CAAA,CAAA,CAGP,CACF,EAEAd,EAAO,YAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("react/jsx-runtime"),r=require("react"),o=require("@dsui/ui/components/button-group"),G=require("@dsui/ui/lib/utils");require("class-variance-authority");const q=require("./Button.cjs"),u=r.forwardRef(({className:i,orientation:a="horizontal",variant:s,color:l,size:p,animation:n,isLoading:c,disabled:d,children:m,...b},f)=>{const g=r.Children.map(m,t=>{if(r.isValidElement(t)&&t.type===q.default){const e=t.props;return r.cloneElement(t,{variant:n==="glass"?"ghost":e.variant??s,color:e.color??l,size:e.size??p,animation:e.animation??n,isLoading:e.isLoading??c,disabled:e.disabled??d})}return t});return B.jsx(o.ButtonGroup,{ref:f,orientation:a,className:G.cn(i),...b,children:g})});u.displayName="ButtonGroup";Object.defineProperty(exports,"ButtonGroupSeparator",{enumerable:!0,get:()=>o.ButtonGroupSeparator});Object.defineProperty(exports,"ButtonGroupText",{enumerable:!0,get:()=>o.ButtonGroupText});exports.default=u;
|
|
2
|
+
//# sourceMappingURL=ButtonGroup.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.cjs","sources":["../../../../src/components/Button/ButtonGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n ButtonGroup as SButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n} from \"@dsui/ui/components/button-group\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport Button, { type ButtonProps } from \"./Button\";\n\nexport type ButtonGroupProps = React.ComponentProps<typeof SButtonGroup> &\n VariantProps<typeof buttonGroupVariants> & {\n variant?: ButtonProps[\"variant\"];\n color?: ButtonProps[\"color\"];\n size?: ButtonProps[\"size\"];\n animation?: ButtonProps[\"animation\"];\n isLoading?: ButtonProps[\"isLoading\"];\n disabled?: boolean;\n };\n\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n className,\n orientation = \"horizontal\",\n variant,\n color,\n size,\n animation,\n isLoading,\n disabled,\n children,\n ...props\n },\n ref,\n ) => {\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Button) {\n const childProps = child.props as ButtonProps;\n return React.cloneElement(child as React.ReactElement<ButtonProps>, {\n variant:\n animation === \"glass\" ? \"ghost\" : (childProps.variant ?? variant),\n color: childProps.color ?? color,\n size: childProps.size ?? size,\n animation: childProps.animation ?? animation,\n isLoading: childProps.isLoading ?? isLoading,\n disabled: childProps.disabled ?? disabled,\n });\n }\n return child;\n });\n\n return (\n <SButtonGroup\n ref={ref}\n orientation={orientation}\n className={cn(className)}\n {...props}\n >\n {childrenWithProps}\n </SButtonGroup>\n );\n },\n);\n\nButtonGroup.displayName = \"ButtonGroup\";\n\nexport { ButtonGroupSeparator, ButtonGroupText };\nexport default ButtonGroup;\n"],"names":["ButtonGroup","React","className","orientation","variant","color","size","animation","isLoading","disabled","children","props","ref","childrenWithProps","child","Button","childProps","jsx","SButtonGroup","cn"],"mappings":"sTAqBMA,EAAcC,EAAM,WACxB,CACE,CACE,UAAAC,EACA,YAAAC,EAAc,aACd,QAAAC,EACA,MAAAC,EACA,KAAAC,EACA,UAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAoBZ,EAAM,SAAS,IAAIS,EAAWI,GAAU,CAChE,GAAIb,EAAM,eAAea,CAAK,GAAKA,EAAM,OAASC,UAAQ,CACxD,MAAMC,EAAaF,EAAM,MACzB,OAAOb,EAAM,aAAaa,EAA0C,CAClE,QACEP,IAAc,QAAU,QAAWS,EAAW,SAAWZ,EAC3D,MAAOY,EAAW,OAASX,EAC3B,KAAMW,EAAW,MAAQV,EACzB,UAAWU,EAAW,WAAaT,EACnC,UAAWS,EAAW,WAAaR,EACnC,SAAUQ,EAAW,UAAYP,CAAA,CAClC,CACH,CACA,OAAOK,CACT,CAAC,EAED,OACEG,EAAAA,IAACC,EAAAA,YAAA,CACC,IAAAN,EACA,YAAAT,EACA,UAAWgB,EAAAA,GAAGjB,CAAS,EACtB,GAAGS,EAEH,SAAAE,CAAA,CAAA,CAGP,CACF,EAEAb,EAAY,YAAc"}
|