saha-ui 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -67
- package/bin/cli.js +19 -0
- package/dist/components/Accordion/Accordion.styles.d.ts +14 -0
- package/dist/components/Accordion/Accordion.styles.d.ts.map +1 -0
- package/dist/components/Accordion/Accordion.styles.js +69 -0
- package/dist/components/Accordion/index.d.ts.map +1 -1
- package/dist/components/Accordion/index.js +105 -149
- package/dist/components/Alert/Alert.styles.d.ts +6 -0
- package/dist/components/Alert/Alert.styles.d.ts.map +1 -0
- package/dist/components/Alert/Alert.styles.js +162 -0
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +60 -199
- package/dist/components/AspectRatio/AspectRatio.styles.d.ts +12 -0
- package/dist/components/AspectRatio/AspectRatio.styles.d.ts.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.styles.js +89 -0
- package/dist/components/AspectRatio/AspectRatio.types.d.ts +148 -0
- package/dist/components/AspectRatio/AspectRatio.types.d.ts.map +1 -0
- package/dist/components/AspectRatio/index.d.ts +37 -0
- package/dist/components/AspectRatio/index.d.ts.map +1 -0
- package/dist/components/AspectRatio/index.js +162 -0
- package/dist/components/Autocomplete/Autocomplete.styles.d.ts +28 -0
- package/dist/components/Autocomplete/Autocomplete.styles.d.ts.map +1 -0
- package/dist/components/Autocomplete/Autocomplete.styles.js +166 -0
- package/dist/components/Autocomplete/index.d.ts +19 -2
- package/dist/components/Autocomplete/index.d.ts.map +1 -1
- package/dist/components/Autocomplete/index.js +520 -5
- package/dist/components/Avatar/Avatar.styles.d.ts +12 -0
- package/dist/components/Avatar/Avatar.styles.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.styles.js +64 -0
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Avatar/index.js +73 -113
- package/dist/components/AvatarGroup/AvatarGroup.styles.d.ts +21 -0
- package/dist/components/AvatarGroup/AvatarGroup.styles.d.ts.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.styles.js +60 -0
- package/dist/components/AvatarGroup/index.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.js +82 -108
- package/dist/components/Badge/Badge.styles.d.ts +10 -0
- package/dist/components/Badge/Badge.styles.d.ts.map +1 -0
- package/dist/components/Badge/Badge.styles.js +40 -0
- package/dist/components/Badge/Badge.types.d.ts +1 -1
- package/dist/components/Badge/Badge.types.d.ts.map +1 -1
- package/dist/components/Badge/index.d.ts +1 -8
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +56 -66
- package/dist/components/Breadcrumb/Breadcrumb.styles.d.ts +13 -0
- package/dist/components/Breadcrumb/Breadcrumb.styles.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.styles.js +89 -0
- package/dist/components/Breadcrumb/index.d.ts.map +1 -1
- package/dist/components/Breadcrumb/index.js +65 -130
- package/dist/components/Button/Button.styles.d.ts +9 -0
- package/dist/components/Button/Button.styles.d.ts.map +1 -0
- package/dist/components/Button/Button.styles.js +53 -0
- package/dist/components/Button/index.d.ts +1 -4
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +42 -73
- package/dist/components/ButtonGroup/ButtonGroup.styles.d.ts +8 -0
- package/dist/components/ButtonGroup/ButtonGroup.styles.d.ts.map +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.styles.js +47 -0
- package/dist/components/ButtonGroup/index.d.ts +1 -6
- package/dist/components/ButtonGroup/index.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.js +90 -105
- package/dist/components/Calendar/Calendar.styles.d.ts +20 -0
- package/dist/components/Calendar/Calendar.styles.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.styles.js +423 -0
- package/dist/components/Calendar/Calendar.types.d.ts +268 -0
- package/dist/components/Calendar/Calendar.types.d.ts.map +1 -0
- package/dist/components/Calendar/index.d.ts +37 -0
- package/dist/components/Calendar/index.d.ts.map +1 -0
- package/dist/components/Calendar/index.js +360 -0
- package/dist/components/Card/Card.styles.d.ts +7 -0
- package/dist/components/Card/Card.styles.d.ts.map +1 -0
- package/dist/components/Card/Card.styles.js +61 -0
- package/dist/components/Card/index.d.ts +1 -6
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +80 -110
- package/dist/components/Carousel/Carousel.styles.d.ts +12 -0
- package/dist/components/Carousel/Carousel.styles.d.ts.map +1 -0
- package/dist/components/Carousel/Carousel.styles.js +57 -0
- package/dist/components/Carousel/index.d.ts.map +1 -1
- package/dist/components/Carousel/index.js +174 -174
- package/dist/components/Checkbox/Checkbox.styles.d.ts +29 -0
- package/dist/components/Checkbox/Checkbox.styles.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.styles.js +159 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -1
- package/dist/components/Checkbox/index.d.ts +0 -7
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +236 -308
- package/dist/components/Chip/Chip.styles.d.ts +8 -0
- package/dist/components/Chip/Chip.styles.d.ts.map +1 -0
- package/dist/components/Chip/Chip.styles.js +229 -0
- package/dist/components/Chip/Chip.types.d.ts +1 -1
- package/dist/components/Chip/Chip.types.d.ts.map +1 -1
- package/dist/components/Chip/index.d.ts +1 -22
- package/dist/components/Chip/index.d.ts.map +1 -1
- package/dist/components/Chip/index.js +73 -267
- package/dist/components/CodeEditor/CodeEditor.d.ts +37 -0
- package/dist/components/CodeEditor/CodeEditor.d.ts.map +1 -0
- package/dist/components/CodeEditor/CodeEditor.js +204 -0
- package/dist/components/CodeEditor/CodeEditor.types.d.ts +12 -0
- package/dist/components/CodeEditor/CodeEditor.types.d.ts.map +1 -0
- package/dist/components/CodeEditor/CodeViewer.d.ts +10 -0
- package/dist/components/CodeEditor/CodeViewer.d.ts.map +1 -0
- package/dist/components/CodeEditor/CodeViewer.js +30 -0
- package/dist/components/CodeEditor/StatusBar.d.ts +11 -0
- package/dist/components/CodeEditor/StatusBar.d.ts.map +1 -0
- package/dist/components/CodeEditor/StatusBar.js +35 -0
- package/dist/components/CodeEditor/TabBar.d.ts +8 -0
- package/dist/components/CodeEditor/TabBar.d.ts.map +1 -0
- package/dist/components/CodeEditor/TabBar.js +8 -0
- package/dist/components/CodeEditor/Toolbar.d.ts +24 -0
- package/dist/components/CodeEditor/Toolbar.d.ts.map +1 -0
- package/dist/components/CodeEditor/Toolbar.js +89 -0
- package/dist/components/CodeEditor/constants.d.ts +32 -0
- package/dist/components/CodeEditor/constants.d.ts.map +1 -0
- package/dist/components/CodeEditor/constants.js +84 -0
- package/dist/components/CodeEditor/index.d.ts +4 -0
- package/dist/components/CodeEditor/index.d.ts.map +1 -0
- package/dist/components/CodeEditor/index.js +6 -0
- package/dist/components/CodeEditor/useMonacoTheme.d.ts +3 -0
- package/dist/components/CodeEditor/useMonacoTheme.d.ts.map +1 -0
- package/dist/components/CodeEditor/useMonacoTheme.js +126 -0
- package/dist/components/CodeEditor/variants.d.ts +82 -0
- package/dist/components/CodeEditor/variants.d.ts.map +1 -0
- package/dist/components/CodeEditor/variants.js +774 -0
- package/dist/components/CodeEditor/vscodeOptions.d.ts +6 -0
- package/dist/components/CodeEditor/vscodeOptions.d.ts.map +1 -0
- package/dist/components/CodeEditor/vscodeOptions.js +184 -0
- package/dist/components/Collapsible/Collapsible.styles.d.ts +29 -0
- package/dist/components/Collapsible/Collapsible.styles.d.ts.map +1 -0
- package/dist/components/Collapsible/Collapsible.styles.js +229 -0
- package/dist/components/Collapsible/Collapsible.types.d.ts +156 -0
- package/dist/components/Collapsible/Collapsible.types.d.ts.map +1 -0
- package/dist/components/Collapsible/index.d.ts +100 -0
- package/dist/components/Collapsible/index.d.ts.map +1 -0
- package/dist/components/Collapsible/index.js +266 -0
- package/dist/components/Combobox/Combobox.d.ts +52 -0
- package/dist/components/Combobox/Combobox.d.ts.map +1 -0
- package/dist/components/Combobox/Combobox.js +764 -0
- package/dist/components/Combobox/Combobox.styles.d.ts +31 -0
- package/dist/components/Combobox/Combobox.styles.d.ts.map +1 -0
- package/dist/components/Combobox/Combobox.styles.js +176 -0
- package/dist/components/Combobox/Combobox.types.d.ts +177 -0
- package/dist/components/Combobox/Combobox.types.d.ts.map +1 -0
- package/dist/components/Combobox/index.d.ts +3 -0
- package/dist/components/Combobox/index.d.ts.map +1 -0
- package/dist/components/Combobox/index.js +15 -0
- package/dist/components/Command/Command.d.ts +40 -0
- package/dist/components/Command/Command.d.ts.map +1 -0
- package/dist/components/Command/Command.js +417 -0
- package/dist/components/Command/Command.styles.d.ts +23 -0
- package/dist/components/Command/Command.styles.d.ts.map +1 -0
- package/dist/components/Command/Command.styles.js +88 -0
- package/dist/components/Command/Command.types.d.ts +123 -0
- package/dist/components/Command/Command.types.d.ts.map +1 -0
- package/dist/components/Command/index.d.ts +3 -0
- package/dist/components/Command/index.d.ts.map +1 -0
- package/dist/components/Command/index.js +13 -0
- package/dist/components/ContextMenu/ContextMenu.styles.d.ts +53 -0
- package/dist/components/ContextMenu/ContextMenu.styles.d.ts.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.styles.js +297 -0
- package/dist/components/ContextMenu/ContextMenu.types.d.ts +111 -0
- package/dist/components/ContextMenu/ContextMenu.types.d.ts.map +1 -0
- package/dist/components/ContextMenu/index.d.ts +19 -0
- package/dist/components/ContextMenu/index.d.ts.map +1 -0
- package/dist/components/ContextMenu/index.js +934 -0
- package/dist/components/DataTable/DataTable.styles.d.ts +53 -0
- package/dist/components/DataTable/DataTable.styles.d.ts.map +1 -0
- package/dist/components/DataTable/DataTable.styles.js +271 -0
- package/dist/components/DataTable/DataTable.types.d.ts +278 -0
- package/dist/components/DataTable/DataTable.types.d.ts.map +1 -0
- package/dist/components/DataTable/index.d.ts +94 -0
- package/dist/components/DataTable/index.d.ts.map +1 -0
- package/dist/components/DataTable/index.js +350 -0
- package/dist/components/DatePicker/DatePicker.styles.d.ts +14 -0
- package/dist/components/DatePicker/DatePicker.styles.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.styles.js +224 -0
- package/dist/components/DatePicker/index.d.ts +0 -13
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +246 -403
- package/dist/components/Dialog/Dialog.d.ts +26 -0
- package/dist/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog/Dialog.js +296 -0
- package/dist/components/Dialog/Dialog.styles.d.ts +22 -0
- package/dist/components/Dialog/Dialog.styles.d.ts.map +1 -0
- package/dist/components/{Modal/ModalOverlay.js → Dialog/Dialog.styles.js} +5 -72
- package/dist/components/{Modal/Modal.subcomponents.types.d.ts → Dialog/Dialog.subcomponents.types.d.ts} +23 -23
- package/dist/components/Dialog/Dialog.subcomponents.types.d.ts.map +1 -0
- package/dist/components/{Modal/Modal.types.d.ts → Dialog/Dialog.types.d.ts} +3 -3
- package/dist/components/Dialog/Dialog.types.d.ts.map +1 -0
- package/dist/components/Dialog/DialogComponents.d.ts +33 -0
- package/dist/components/Dialog/DialogComponents.d.ts.map +1 -0
- package/dist/components/Dialog/DialogComponents.js +108 -0
- package/dist/components/Dialog/DialogOverlay.d.ts +10 -0
- package/dist/components/Dialog/DialogOverlay.d.ts.map +1 -0
- package/dist/components/Dialog/DialogOverlay.js +73 -0
- package/dist/components/Dialog/index.d.ts +6 -0
- package/dist/components/Dialog/index.d.ts.map +1 -0
- package/dist/components/Dialog/index.js +16 -0
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.js +144 -87
- package/dist/components/Drawer/Drawer.styles.d.ts +18 -0
- package/dist/components/Drawer/Drawer.styles.d.ts.map +1 -0
- package/dist/components/Drawer/Drawer.styles.js +170 -0
- package/dist/components/Drawer/Drawer.subcomponents.types.d.ts +2 -0
- package/dist/components/Drawer/Drawer.subcomponents.types.d.ts.map +1 -1
- package/dist/components/Drawer/DrawerComponents.d.ts.map +1 -1
- package/dist/components/Drawer/DrawerComponents.js +63 -53
- package/dist/components/Drawer/DrawerOverlay.d.ts.map +1 -1
- package/dist/components/Drawer/DrawerOverlay.js +40 -204
- package/dist/components/Dropdown/Dropdown.styles.d.ts +21 -0
- package/dist/components/Dropdown/Dropdown.styles.d.ts.map +1 -0
- package/dist/components/Dropdown/Dropdown.styles.js +153 -0
- package/dist/components/Dropdown/index.d.ts.map +1 -1
- package/dist/components/Dropdown/index.js +290 -373
- package/dist/components/Empty/Empty.d.ts.map +1 -1
- package/dist/components/Empty/Empty.js +160 -187
- package/dist/components/Empty/Empty.styles.d.ts +19 -0
- package/dist/components/Empty/Empty.styles.d.ts.map +1 -0
- package/dist/components/Empty/Empty.styles.js +94 -0
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/Field.js +213 -328
- package/dist/components/Field/Field.styles.d.ts +34 -0
- package/dist/components/Field/Field.styles.d.ts.map +1 -0
- package/dist/components/Field/Field.styles.js +176 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.styles.d.ts +14 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.styles.d.ts.map +1 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.styles.js +113 -0
- package/dist/components/FloatingActionButton/FloatingActionButton.types.d.ts +1 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.types.d.ts.map +1 -1
- package/dist/components/FloatingActionButton/index.d.ts +0 -34
- package/dist/components/FloatingActionButton/index.d.ts.map +1 -1
- package/dist/components/FloatingActionButton/index.js +71 -148
- package/dist/components/Form/Form.styles.d.ts +62 -0
- package/dist/components/Form/Form.styles.d.ts.map +1 -0
- package/dist/components/Form/Form.styles.js +223 -0
- package/dist/components/Form/Form.types.d.ts +194 -0
- package/dist/components/Form/Form.types.d.ts.map +1 -0
- package/dist/components/Form/index.d.ts +116 -0
- package/dist/components/Form/index.d.ts.map +1 -0
- package/dist/components/Form/index.js +339 -0
- package/dist/components/HoverCard/HoverCard.styles.d.ts +19 -0
- package/dist/components/HoverCard/HoverCard.styles.d.ts.map +1 -0
- package/dist/components/HoverCard/HoverCard.styles.js +66 -0
- package/dist/components/HoverCard/HoverCard.types.d.ts +213 -0
- package/dist/components/HoverCard/HoverCard.types.d.ts.map +1 -0
- package/dist/components/HoverCard/index.d.ts +24 -0
- package/dist/components/HoverCard/index.d.ts.map +1 -0
- package/dist/components/HoverCard/index.js +220 -0
- package/dist/components/Image/Image.styles.d.ts +22 -0
- package/dist/components/Image/Image.styles.d.ts.map +1 -0
- package/dist/components/Image/Image.styles.js +69 -0
- package/dist/components/Image/index.d.ts.map +1 -1
- package/dist/components/Image/index.js +111 -125
- package/dist/components/Input/Input.styles.d.ts +42 -0
- package/dist/components/Input/Input.styles.d.ts.map +1 -0
- package/dist/components/Input/Input.styles.js +198 -0
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +109 -263
- package/dist/components/InputOTP/InputOTP.styles.d.ts +38 -0
- package/dist/components/InputOTP/InputOTP.styles.d.ts.map +1 -0
- package/dist/components/InputOTP/InputOTP.styles.js +156 -0
- package/dist/components/InputOTP/InputOTP.types.d.ts +198 -0
- package/dist/components/InputOTP/InputOTP.types.d.ts.map +1 -0
- package/dist/components/InputOTP/index.d.ts +40 -0
- package/dist/components/InputOTP/index.d.ts.map +1 -0
- package/dist/components/InputOTP/index.js +309 -0
- package/dist/components/Item/Item.styles.d.ts +70 -0
- package/dist/components/Item/Item.styles.d.ts.map +1 -0
- package/dist/components/Item/Item.styles.js +297 -0
- package/dist/components/Item/Item.types.d.ts +243 -0
- package/dist/components/Item/Item.types.d.ts.map +1 -0
- package/dist/components/Item/index.d.ts +94 -0
- package/dist/components/Item/index.d.ts.map +1 -0
- package/dist/components/Item/index.js +327 -0
- package/dist/components/Kbd/Kbd.styles.d.ts +33 -0
- package/dist/components/Kbd/Kbd.styles.d.ts.map +1 -0
- package/dist/components/Kbd/Kbd.styles.js +195 -0
- package/dist/components/Kbd/Kbd.types.d.ts +176 -0
- package/dist/components/Kbd/Kbd.types.d.ts.map +1 -0
- package/dist/components/Kbd/Kbd.types.js +35 -0
- package/dist/components/Kbd/index.d.ts +74 -0
- package/dist/components/Kbd/index.d.ts.map +1 -0
- package/dist/components/Kbd/index.js +139 -0
- package/dist/components/Label/Label.styles.d.ts +39 -0
- package/dist/components/Label/Label.styles.d.ts.map +1 -0
- package/dist/components/Label/Label.styles.js +161 -0
- package/dist/components/Label/Label.types.d.ts +192 -0
- package/dist/components/Label/Label.types.d.ts.map +1 -0
- package/dist/components/Label/index.d.ts +95 -0
- package/dist/components/Label/index.d.ts.map +1 -0
- package/dist/components/Label/index.js +156 -0
- package/dist/components/Link/Link.styles.d.ts +7 -0
- package/dist/components/Link/Link.styles.d.ts.map +1 -0
- package/dist/components/Link/Link.styles.js +36 -0
- package/dist/components/Link/index.d.ts +1 -5
- package/dist/components/Link/index.d.ts.map +1 -1
- package/dist/components/Link/index.js +63 -65
- package/dist/components/List/List.styles.d.ts +12 -0
- package/dist/components/List/List.styles.d.ts.map +1 -0
- package/dist/components/List/List.styles.js +71 -0
- package/dist/components/List/ListItem.d.ts +1 -3
- package/dist/components/List/ListItem.d.ts.map +1 -1
- package/dist/components/List/ListItem.js +14 -31
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/index.js +61 -85
- package/dist/components/Menubar/Menubar.styles.d.ts +61 -0
- package/dist/components/Menubar/Menubar.styles.d.ts.map +1 -0
- package/dist/components/Menubar/Menubar.styles.js +563 -0
- package/dist/components/Menubar/Menubar.types.d.ts +257 -0
- package/dist/components/Menubar/Menubar.types.d.ts.map +1 -0
- package/dist/components/Menubar/index.d.ts +90 -0
- package/dist/components/Menubar/index.d.ts.map +1 -0
- package/dist/components/Menubar/index.js +433 -0
- package/dist/components/NativeSelect/NativeSelect.styles.d.ts +39 -0
- package/dist/components/NativeSelect/NativeSelect.styles.d.ts.map +1 -0
- package/dist/components/NativeSelect/NativeSelect.styles.js +236 -0
- package/dist/components/NativeSelect/NativeSelect.types.d.ts +197 -0
- package/dist/components/NativeSelect/NativeSelect.types.d.ts.map +1 -0
- package/dist/components/NativeSelect/index.d.ts +91 -0
- package/dist/components/NativeSelect/index.d.ts.map +1 -0
- package/dist/components/NativeSelect/index.js +486 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts +42 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.js +379 -0
- package/dist/components/NavigationMenu/NavigationMenu.styles.d.ts +31 -0
- package/dist/components/NavigationMenu/NavigationMenu.styles.d.ts.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.styles.js +261 -0
- package/dist/components/NavigationMenu/NavigationMenu.types.d.ts +58 -0
- package/dist/components/NavigationMenu/NavigationMenu.types.d.ts.map +1 -0
- package/dist/components/NavigationMenu/index.d.ts +3 -0
- package/dist/components/NavigationMenu/index.d.ts.map +1 -0
- package/dist/components/NavigationMenu/index.js +10 -0
- package/dist/components/Pagination/Pagination.styles.d.ts +9 -0
- package/dist/components/Pagination/Pagination.styles.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.styles.js +207 -0
- package/dist/components/Pagination/index.d.ts +0 -8
- package/dist/components/Pagination/index.d.ts.map +1 -1
- package/dist/components/Pagination/index.js +149 -294
- package/dist/components/PlayButton/PlayButton.styles.d.ts +9 -0
- package/dist/components/PlayButton/PlayButton.styles.d.ts.map +1 -0
- package/dist/components/PlayButton/PlayButton.styles.js +98 -0
- package/dist/components/PlayButton/index.d.ts +1 -26
- package/dist/components/PlayButton/index.d.ts.map +1 -1
- package/dist/components/PlayButton/index.js +75 -134
- package/dist/components/Popover/Popover.styles.d.ts +17 -0
- package/dist/components/Popover/Popover.styles.d.ts.map +1 -0
- package/dist/components/Popover/Popover.styles.js +134 -0
- package/dist/components/Popover/Popover.types.d.ts +1 -1
- package/dist/components/Popover/Popover.types.d.ts.map +1 -1
- package/dist/components/Popover/index.d.ts +1 -16
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +170 -221
- package/dist/components/Progress/Progress.styles.d.ts +25 -0
- package/dist/components/Progress/Progress.styles.d.ts.map +1 -0
- package/dist/components/Progress/Progress.styles.js +136 -0
- package/dist/components/Progress/index.d.ts +1 -23
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +123 -193
- package/dist/components/Radio/Radio.styles.d.ts +35 -0
- package/dist/components/Radio/Radio.styles.d.ts.map +1 -0
- package/dist/components/Radio/Radio.styles.js +163 -0
- package/dist/components/Radio/Radio.types.d.ts +1 -1
- package/dist/components/Radio/Radio.types.d.ts.map +1 -1
- package/dist/components/Radio/index.d.ts +0 -13
- package/dist/components/Radio/index.d.ts.map +1 -1
- package/dist/components/Radio/index.js +212 -282
- package/dist/components/Rating/Rating.styles.d.ts +18 -0
- package/dist/components/Rating/Rating.styles.d.ts.map +1 -0
- package/dist/components/Rating/Rating.styles.js +66 -0
- package/dist/components/Rating/index.d.ts +1 -7
- package/dist/components/Rating/index.d.ts.map +1 -1
- package/dist/components/Rating/index.js +160 -177
- package/dist/components/Resizable/Resizable.styles.d.ts +35 -0
- package/dist/components/Resizable/Resizable.styles.d.ts.map +1 -0
- package/dist/components/Resizable/Resizable.styles.js +131 -0
- package/dist/components/Resizable/Resizable.types.d.ts +140 -0
- package/dist/components/Resizable/Resizable.types.d.ts.map +1 -0
- package/dist/components/Resizable/index.d.ts +14 -0
- package/dist/components/Resizable/index.d.ts.map +1 -0
- package/dist/components/Resizable/index.js +109 -0
- package/dist/components/ScrollArea/ScrollArea.styles.d.ts +21 -0
- package/dist/components/ScrollArea/ScrollArea.styles.d.ts.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.styles.js +87 -0
- package/dist/components/ScrollArea/index.d.ts +30 -0
- package/dist/components/ScrollArea/index.d.ts.map +1 -0
- package/dist/components/ScrollArea/index.js +238 -0
- package/dist/components/Select/Select.styles.d.ts +24 -0
- package/dist/components/Select/Select.styles.d.ts.map +1 -0
- package/dist/components/Select/Select.styles.js +148 -0
- package/dist/components/Select/index.d.ts +0 -28
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +221 -306
- package/dist/components/Separator/Separator.styles.d.ts +14 -0
- package/dist/components/Separator/Separator.styles.d.ts.map +1 -0
- package/dist/components/Separator/Separator.styles.js +195 -0
- package/dist/components/Separator/Separator.types.d.ts +61 -0
- package/dist/components/Separator/Separator.types.d.ts.map +1 -0
- package/dist/components/Separator/index.d.ts +32 -0
- package/dist/components/Separator/index.d.ts.map +1 -0
- package/dist/components/Separator/index.js +123 -0
- package/dist/components/Skeleton/Skeleton.styles.d.ts +6 -0
- package/dist/components/Skeleton/Skeleton.styles.d.ts.map +1 -0
- package/dist/components/Skeleton/Skeleton.styles.js +98 -0
- package/dist/components/Skeleton/index.d.ts +0 -8
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +70 -136
- package/dist/components/Slider/Slider.d.ts +19 -0
- package/dist/components/Slider/Slider.d.ts.map +1 -0
- package/dist/components/Slider/Slider.js +488 -0
- package/dist/components/Slider/Slider.styles.d.ts +33 -0
- package/dist/components/Slider/Slider.styles.d.ts.map +1 -0
- package/dist/components/Slider/Slider.styles.js +192 -0
- package/dist/components/Slider/Slider.types.d.ts +41 -0
- package/dist/components/Slider/Slider.types.d.ts.map +1 -0
- package/dist/components/Slider/index.d.ts +3 -0
- package/dist/components/Slider/index.d.ts.map +1 -0
- package/dist/components/Slider/index.js +7 -0
- package/dist/components/Sonner/Sonner.styles.d.ts +10 -0
- package/dist/components/Sonner/Sonner.styles.d.ts.map +1 -0
- package/dist/components/Sonner/Sonner.styles.js +92 -0
- package/dist/components/Sonner/index.d.ts +64 -0
- package/dist/components/Sonner/index.d.ts.map +1 -0
- package/dist/components/Sonner/index.js +213 -0
- package/dist/components/Spinner/Spinner.styles.d.ts +28 -0
- package/dist/components/Spinner/Spinner.styles.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.styles.js +91 -0
- package/dist/components/Spinner/index.d.ts +1 -8
- package/dist/components/Spinner/index.d.ts.map +1 -1
- package/dist/components/Spinner/index.js +237 -252
- package/dist/components/Steps/Steps.styles.d.ts +17 -0
- package/dist/components/Steps/Steps.styles.d.ts.map +1 -0
- package/dist/components/Steps/Steps.styles.js +73 -0
- package/dist/components/Steps/index.d.ts.map +1 -1
- package/dist/components/Steps/index.js +101 -154
- package/dist/components/Switch/Switch.styles.d.ts +34 -0
- package/dist/components/Switch/Switch.styles.d.ts.map +1 -0
- package/dist/components/Switch/Switch.styles.js +151 -0
- package/dist/components/Switch/Switch.types.d.ts +1 -1
- package/dist/components/Switch/Switch.types.d.ts.map +1 -1
- package/dist/components/Switch/index.d.ts +0 -23
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.js +108 -214
- package/dist/components/Tab/Tab.styles.d.ts +19 -0
- package/dist/components/Tab/Tab.styles.d.ts.map +1 -0
- package/dist/components/Tab/Tab.styles.js +363 -0
- package/dist/components/Tab/index.d.ts.map +1 -1
- package/dist/components/Tab/index.js +103 -438
- package/dist/components/Table/Table.styles.d.ts +21 -0
- package/dist/components/Table/Table.styles.d.ts.map +1 -0
- package/dist/components/Table/Table.styles.js +95 -0
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js +104 -173
- package/dist/components/Tag/Tag.styles.d.ts +20 -0
- package/dist/components/Tag/Tag.styles.d.ts.map +1 -0
- package/dist/components/Tag/Tag.styles.js +124 -0
- package/dist/components/Tag/index.d.ts +0 -21
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Tag/index.js +150 -213
- package/dist/components/TagInput/TagInput.styles.d.ts +23 -0
- package/dist/components/TagInput/TagInput.styles.d.ts.map +1 -0
- package/dist/components/TagInput/TagInput.styles.js +125 -0
- package/dist/components/TagInput/index.d.ts.map +1 -1
- package/dist/components/TagInput/index.js +190 -246
- package/dist/components/TextArea/TextArea.styles.d.ts +17 -0
- package/dist/components/TextArea/TextArea.styles.d.ts.map +1 -0
- package/dist/components/TextArea/TextArea.styles.js +109 -0
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextArea/index.js +159 -220
- package/dist/components/TextEditor/TextEditor.styles.d.ts +27 -0
- package/dist/components/TextEditor/TextEditor.styles.d.ts.map +1 -0
- package/dist/components/TextEditor/TextEditor.styles.js +286 -0
- package/dist/components/TextEditor/TextEditor.types.d.ts +110 -0
- package/dist/components/TextEditor/TextEditor.types.d.ts.map +1 -0
- package/dist/components/TextEditor/index.d.ts +37 -0
- package/dist/components/TextEditor/index.d.ts.map +1 -0
- package/dist/components/TextEditor/index.js +512 -0
- package/dist/components/ThemeProvider/index.d.ts.map +1 -1
- package/dist/components/ThemeProvider/index.js +28 -26
- package/dist/components/Timeline/Timeline.styles.d.ts +17 -0
- package/dist/components/Timeline/Timeline.styles.d.ts.map +1 -0
- package/dist/components/Timeline/Timeline.styles.js +82 -0
- package/dist/components/Timeline/index.d.ts.map +1 -1
- package/dist/components/Timeline/index.js +77 -126
- package/dist/components/Toast/Toast.styles.d.ts +7 -0
- package/dist/components/Toast/Toast.styles.d.ts.map +1 -0
- package/dist/components/Toast/Toast.styles.js +120 -0
- package/dist/components/Toast/ToastItem.d.ts.map +1 -1
- package/dist/components/Toast/ToastItem.js +137 -199
- package/dist/components/Toggle/Toggle.styles.d.ts +10 -0
- package/dist/components/Toggle/Toggle.styles.d.ts.map +1 -0
- package/dist/components/Toggle/Toggle.styles.js +92 -0
- package/dist/components/Toggle/Toggle.types.d.ts +135 -0
- package/dist/components/Toggle/Toggle.types.d.ts.map +1 -0
- package/dist/components/Toggle/index.d.ts +50 -0
- package/dist/components/Toggle/index.d.ts.map +1 -0
- package/dist/components/Toggle/index.js +115 -0
- package/dist/components/ToggleGroup/ToggleGroup.styles.d.ts +16 -0
- package/dist/components/ToggleGroup/ToggleGroup.styles.d.ts.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.styles.js +153 -0
- package/dist/components/ToggleGroup/ToggleGroup.types.d.ts +85 -0
- package/dist/components/ToggleGroup/ToggleGroup.types.d.ts.map +1 -0
- package/dist/components/ToggleGroup/index.d.ts +65 -0
- package/dist/components/ToggleGroup/index.d.ts.map +1 -0
- package/dist/components/ToggleGroup/index.js +137 -0
- package/dist/components/Tooltip/Tooltip.styles.d.ts +15 -0
- package/dist/components/Tooltip/Tooltip.styles.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.styles.js +68 -0
- package/dist/components/Tooltip/index.d.ts +1 -33
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +146 -168
- package/dist/components/Tree/Tree.styles.d.ts +11 -0
- package/dist/components/Tree/Tree.styles.d.ts.map +1 -0
- package/dist/components/Tree/Tree.styles.js +48 -0
- package/dist/components/Tree/index.d.ts.map +1 -1
- package/dist/components/Tree/index.js +67 -96
- package/dist/components/Typography/Typography.styles.d.ts +17 -0
- package/dist/components/Typography/Typography.styles.d.ts.map +1 -0
- package/dist/components/Typography/Typography.styles.js +76 -0
- package/dist/components/Typography/Typography.types.d.ts +50 -0
- package/dist/components/Typography/Typography.types.d.ts.map +1 -0
- package/dist/components/Typography/index.d.ts +95 -0
- package/dist/components/Typography/index.d.ts.map +1 -0
- package/dist/components/Typography/index.js +112 -0
- package/dist/components/Upload/Upload.styles.d.ts +18 -0
- package/dist/components/Upload/Upload.styles.d.ts.map +1 -0
- package/dist/components/Upload/Upload.styles.js +109 -0
- package/dist/components/Upload/index.d.ts.map +1 -1
- package/dist/components/Upload/index.js +288 -301
- package/dist/hooks/index.d.ts +47 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +68 -0
- package/dist/hooks/useAccordion.d.ts +69 -0
- package/dist/hooks/useAccordion.d.ts.map +1 -0
- package/dist/hooks/useAccordion.js +36 -0
- package/dist/hooks/useAnimation.d.ts +25 -0
- package/dist/hooks/useAnimation.d.ts.map +1 -0
- package/dist/hooks/useAnimation.js +34 -0
- package/dist/hooks/useArray.d.ts +28 -0
- package/dist/hooks/useArray.d.ts.map +1 -0
- package/dist/hooks/useArray.js +50 -0
- package/dist/hooks/useAspectRatio.d.ts +84 -0
- package/dist/hooks/useAspectRatio.d.ts.map +1 -0
- package/dist/hooks/useAspectRatio.js +52 -0
- package/dist/hooks/useAsync.d.ts +25 -0
- package/dist/hooks/useAsync.d.ts.map +1 -0
- package/dist/hooks/useAsync.js +53 -0
- package/dist/hooks/useAvatar.d.ts +74 -0
- package/dist/hooks/useAvatar.d.ts.map +1 -0
- package/dist/hooks/useAvatar.js +44 -0
- package/dist/hooks/useClickOutside.d.ts +19 -0
- package/dist/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/hooks/useClickOutside.js +19 -0
- package/dist/hooks/useClipboard.d.ts +5 -0
- package/dist/hooks/useClipboard.d.ts.map +1 -0
- package/dist/hooks/useClipboard.js +15 -0
- package/dist/hooks/useColorMode.d.ts +21 -0
- package/dist/hooks/useColorMode.d.ts.map +1 -0
- package/dist/hooks/useColorMode.js +48 -0
- package/dist/hooks/useControllableState.d.ts +14 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useControllableState.js +17 -0
- package/dist/hooks/useCounter.d.ts +14 -0
- package/dist/hooks/useCounter.d.ts.map +1 -0
- package/dist/hooks/useCounter.js +8 -0
- package/dist/hooks/useDOM.d.ts +45 -0
- package/dist/hooks/useDOM.d.ts.map +1 -0
- package/dist/hooks/useDOM.js +56 -0
- package/dist/hooks/useDataTable.d.ts +22 -0
- package/dist/hooks/useDataTable.d.ts.map +1 -0
- package/dist/hooks/useDataTable.js +205 -0
- package/dist/hooks/useDebounce.d.ts +27 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.js +31 -0
- package/dist/hooks/useDisclosure.d.ts +14 -0
- package/dist/hooks/useDisclosure.d.ts.map +1 -0
- package/dist/hooks/useDisclosure.js +20 -0
- package/dist/hooks/useEventListener.d.ts +23 -0
- package/dist/hooks/useEventListener.d.ts.map +1 -0
- package/dist/hooks/useEventListener.js +32 -0
- package/dist/hooks/useFetch.d.ts +21 -0
- package/dist/hooks/useFetch.d.ts.map +1 -0
- package/dist/hooks/useFetch.js +36 -0
- package/dist/hooks/useFocusTrap.d.ts +3 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/hooks/useFocusTrap.js +17 -0
- package/dist/hooks/useForm.d.ts +51 -0
- package/dist/hooks/useForm.d.ts.map +1 -0
- package/dist/hooks/useForm.js +96 -0
- package/dist/hooks/useHover.d.ts +10 -0
- package/dist/hooks/useHover.d.ts.map +1 -0
- package/dist/hooks/useHover.js +13 -0
- package/dist/hooks/useIntersectionObserver.d.ts +27 -0
- package/dist/hooks/useIntersectionObserver.d.ts.map +1 -0
- package/dist/hooks/useIntersectionObserver.js +34 -0
- package/dist/hooks/useInterval.d.ts +23 -0
- package/dist/hooks/useInterval.d.ts.map +1 -0
- package/dist/hooks/useInterval.js +31 -0
- package/dist/hooks/useLocalStorage.d.ts +11 -0
- package/dist/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useLocalStorage.js +43 -0
- package/dist/hooks/useMediaQuery.d.ts +19 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMediaQuery.js +24 -0
- package/dist/hooks/useMergedRefs.d.ts +21 -0
- package/dist/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/hooks/useMergedRefs.js +15 -0
- package/dist/hooks/usePagination.d.ts +26 -0
- package/dist/hooks/usePagination.d.ts.map +1 -0
- package/dist/hooks/usePagination.js +52 -0
- package/dist/hooks/usePrevious.d.ts +12 -0
- package/dist/hooks/usePrevious.d.ts.map +1 -0
- package/dist/hooks/usePrevious.js +10 -0
- package/dist/hooks/useReducedMotion.d.ts +6 -0
- package/dist/hooks/useReducedMotion.d.ts.map +1 -0
- package/dist/hooks/useReducedMotion.js +7 -0
- package/dist/hooks/useScrollLock.d.ts +11 -0
- package/dist/hooks/useScrollLock.d.ts.map +1 -0
- package/dist/hooks/useScrollLock.js +14 -0
- package/dist/hooks/useSearchFilter.d.ts +21 -0
- package/dist/hooks/useSearchFilter.d.ts.map +1 -0
- package/dist/hooks/useSearchFilter.js +27 -0
- package/dist/hooks/useSessionStorage.d.ts +12 -0
- package/dist/hooks/useSessionStorage.d.ts.map +1 -0
- package/dist/hooks/useSessionStorage.js +49 -0
- package/dist/hooks/useThrottle.d.ts +12 -0
- package/dist/hooks/useThrottle.d.ts.map +1 -0
- package/dist/hooks/useThrottle.js +16 -0
- package/dist/hooks/useTimeout.d.ts +7 -0
- package/dist/hooks/useTimeout.d.ts.map +1 -0
- package/dist/hooks/useTimeout.js +15 -0
- package/dist/hooks/useToggle.d.ts +10 -0
- package/dist/hooks/useToggle.d.ts.map +1 -0
- package/dist/hooks/useToggle.js +14 -0
- package/dist/hooks/useUpdateEffect.d.ts +15 -0
- package/dist/hooks/useUpdateEffect.d.ts.map +1 -0
- package/dist/hooks/useUpdateEffect.js +14 -0
- package/dist/hooks/useValidation.d.ts +42 -0
- package/dist/hooks/useValidation.d.ts.map +1 -0
- package/dist/hooks/useValidation.js +66 -0
- package/dist/hooks/useWindowSize.d.ts +13 -0
- package/dist/hooks/useWindowSize.d.ts.map +1 -0
- package/dist/hooks/useWindowSize.js +28 -0
- package/dist/index.d.ts +45 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +373 -176
- package/dist/lib/validation.d.ts +128 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/lib/validation.js +169 -0
- package/package.json +8 -1
- package/dist/components/Autocomplete/Autocomplete.d.ts +0 -20
- package/dist/components/Autocomplete/Autocomplete.d.ts.map +0 -1
- package/dist/components/Autocomplete/Autocomplete.js +0 -603
- package/dist/components/Divider/Divider.types.d.ts +0 -61
- package/dist/components/Divider/Divider.types.d.ts.map +0 -1
- package/dist/components/Divider/index.d.ts +0 -65
- package/dist/components/Divider/index.d.ts.map +0 -1
- package/dist/components/Divider/index.js +0 -275
- package/dist/components/Field/FieldExample.d.ts +0 -3
- package/dist/components/Field/FieldExample.d.ts.map +0 -1
- package/dist/components/Field/FieldExample.js +0 -450
- package/dist/components/Modal/Modal.d.ts +0 -26
- package/dist/components/Modal/Modal.d.ts.map +0 -1
- package/dist/components/Modal/Modal.js +0 -181
- package/dist/components/Modal/Modal.subcomponents.types.d.ts.map +0 -1
- package/dist/components/Modal/Modal.types.d.ts.map +0 -1
- package/dist/components/Modal/ModalComponents.d.ts +0 -33
- package/dist/components/Modal/ModalComponents.d.ts.map +0 -1
- package/dist/components/Modal/ModalComponents.js +0 -108
- package/dist/components/Modal/ModalOverlay.d.ts +0 -10
- package/dist/components/Modal/ModalOverlay.d.ts.map +0 -1
- package/dist/components/Modal/index.d.ts +0 -6
- package/dist/components/Modal/index.d.ts.map +0 -1
- package/dist/components/Modal/index.js +0 -16
- package/dist/components/Modal/index.old.d.ts +0 -52
- package/dist/components/Modal/index.old.d.ts.map +0 -1
- package/dist/components/Modal/index.old.js +0 -372
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
## ✨ Features
|
|
29
29
|
|
|
30
|
-
- 🎨 **
|
|
30
|
+
- 🎨 **73 Modern Components** - Accordion, Alert, AspectRatio, Autocomplete, Avatar, AvatarGroup, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Chip, CodeEditor, Collapsible, Combobox, Command, ContextMenu, DataTable, DatePicker, Dialog, Drawer, Dropdown, Empty, Field, FloatingActionButton, Form, HoverCard, Image, Input, InputOTP, Item, Kbd, Label, Link, List, Menubar, NativeSelect, NavigationMenu, Pagination, PlayButton, Popover, Progress, Radio, Rating, Resizable, ScrollArea, Select, Separator, Skeleton, Slider, Sonner, Spinner, Steps, Switch, Tab, Table, Tag, TagInput, TextArea, TextEditor, ThemeProvider, ThemeToggle, Timeline, Toast, Toggle, ToggleGroup, Tooltip, Tree, Typography, Upload
|
|
31
31
|
- 🌓 **Dark Mode** - Seamless theme switching with full dark mode support
|
|
32
32
|
- 🔮 **Glass Morphism** - Beautiful backdrop blur effects across components
|
|
33
33
|
- 🎯 **Type-Safe** - Full TypeScript support with comprehensive prop types
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
- 📦 **Modular** - Individual component imports for maximum flexibility
|
|
39
39
|
- 📱 **Responsive** - Mobile-first design with touch gesture support
|
|
40
40
|
- 🔧 **Customizable** - Easy to extend and customize with Tailwind CSS
|
|
41
|
+
- 🪝 **Custom Hooks** - Reusable hooks for complex component logic (useAccordion, useAspectRatio, useAvatar, and more)
|
|
41
42
|
|
|
42
43
|
---
|
|
43
44
|
|
|
@@ -141,58 +142,85 @@ import { cn } from "saha-ui/lib/utils";
|
|
|
141
142
|
|
|
142
143
|
| Component | Description | Status | CVA |
|
|
143
144
|
| ------------------------ | ------------------------------------------------------------------------ | ------ | --- |
|
|
144
|
-
| **
|
|
145
|
-
| **ButtonGroup** | Grouped buttons with horizontal/vertical layouts | ✅ | ✅ |
|
|
145
|
+
| **Accordion** | Collapsible content with 5 behavior modes (useAccordion hook) | ✅ | ✅ |
|
|
146
146
|
| **Alert** | Notification messages with 5 variants × 4 statuses | ✅ | ✅ |
|
|
147
|
+
| **AspectRatio** | Aspect ratio container with zoom effects (useAspectRatio hook) | ✅ | ✅ |
|
|
148
|
+
| **Autocomplete** | Search input with filtering, keyboard nav, grouping, async, composable | ✅ | ✅ |
|
|
149
|
+
| **Avatar** | User profile images with status indicators (useAvatar hook) | ✅ | ✅ |
|
|
150
|
+
| **AvatarGroup** | Grouped avatars with overlap and count | ✅ | ✅ |
|
|
147
151
|
| **Badge** | Status indicators and labels with 9 variants | ✅ | ✅ |
|
|
148
152
|
| **Breadcrumb** | Navigation trail with 5 variants, 4 separators, and collapsing | ✅ | ✅ |
|
|
153
|
+
| **Button** | Action buttons with 9 variants and 4 sizes | ✅ | ✅ |
|
|
154
|
+
| **ButtonGroup** | Grouped buttons with horizontal/vertical layouts | ✅ | ✅ |
|
|
155
|
+
| **Calendar** | Date calendar with month/year navigation and date selection | ✅ | ✅ |
|
|
149
156
|
| **Card** | Container with 5 variants and sub-components | ✅ | ✅ |
|
|
157
|
+
| **Carousel** | Image slider with 4 transition effects and autoplay | ✅ | ✅ |
|
|
158
|
+
| **Checkbox** | Checkbox with 7 variants, 3 sizes, indeterminate, card mode, icons | ✅ | ✅ |
|
|
150
159
|
| **Chip** | Interactive tags with 5 variants, deletable, and avatars | ✅ | ✅ |
|
|
151
|
-
| **
|
|
160
|
+
| **CodeEditor** | Code editor with syntax highlighting and themes | ✅ | ✅ |
|
|
161
|
+
| **Collapsible** | Expandable content with smooth animations | ✅ | ✅ |
|
|
162
|
+
| **Combobox** | Combined input and dropdown with search and selection | ✅ | ✅ |
|
|
163
|
+
| **Command** | Command palette with search and keyboard navigation | ✅ | ✅ |
|
|
164
|
+
| **ContextMenu** | Right-click context menu with nested items and shortcuts | ✅ | ✅ |
|
|
165
|
+
| **DataTable** | Advanced data table with sorting, filtering, pagination | ✅ | ✅ |
|
|
166
|
+
| **DatePicker** | Calendar date picker with 5 variants, 3 sizes, date restrictions | ✅ | ✅ |
|
|
167
|
+
| **Dialog** | Dialog with 9 variants, 7 sizes, animations, focus trap, accessibility | ✅ | ✅ |
|
|
152
168
|
| **Drawer** | Side panel with 4 positions, 5 sizes, animations, nested support | ✅ | ✅ |
|
|
153
|
-
| **
|
|
154
|
-
| **
|
|
155
|
-
| **
|
|
156
|
-
| **
|
|
169
|
+
| **Dropdown** | Advanced menu with nested items, keyboard nav, search, shortcuts, badges | ✅ | ✅ |
|
|
170
|
+
| **Empty** | Empty states with 4 variants, 4 sizes, 13 preset icons, animations | ✅ | ✅ |
|
|
171
|
+
| **Field** | Form field wrapper with label, description, and error states | ✅ | ✅ |
|
|
172
|
+
| **FloatingActionButton** | Modern FAB with 9 variants, 4 sizes, positions, extended mode | ✅ | ✅ |
|
|
173
|
+
| **Form** | Form container with validation and layout management | ✅ | ✅ |
|
|
174
|
+
| **HoverCard** | Rich hover card with content preview and positioning | ✅ | ✅ |
|
|
175
|
+
| **Image** | Advanced image with lazy loading and aspect ratio | ✅ | ✅ |
|
|
176
|
+
| **Input** | Text input with 10 variants, 4 sizes, icons, validation, all input types | ✅ | ✅ |
|
|
177
|
+
| **InputOTP** | One-time password input with auto-focus and paste support | ✅ | ✅ |
|
|
178
|
+
| **Item** | Flexible item component for lists and menus | ✅ | ✅ |
|
|
179
|
+
| **Kbd** | Keyboard key display with multiple styles and combinations | ✅ | ✅ |
|
|
180
|
+
| **Label** | Form label with required indicator and description | ✅ | ✅ |
|
|
157
181
|
| **Link** | Smart links with 9 variants and icon support | ✅ | ✅ |
|
|
158
182
|
| **List** | Modern lists with 5 variants and icon support | ✅ | ✅ |
|
|
159
|
-
| **
|
|
160
|
-
| **
|
|
161
|
-
| **
|
|
162
|
-
| **
|
|
163
|
-
| **Steps** | Progress indicator with 4 variants, horizontal/vertical layouts | ✅ | ✅ |
|
|
164
|
-
| **Table** | Data table with sorting, selection, 5 variants, and responsive | ✅ | ✅ |
|
|
165
|
-
| **Rating** | Star rating with 6 variants, 4 sizes, multiple icons, half stars | ✅ | ✅ |
|
|
166
|
-
| **Progress** | Progress bar with 9 variants, 5 sizes, animations, striped | ✅ | ✅ |
|
|
167
|
-
| **Popover** | Rich content popover with 11 variants, 12 positions, 4 triggers | ✅ | ✅ |
|
|
183
|
+
| **Menubar** | Menu bar with dropdown menus and keyboard navigation | ✅ | ✅ |
|
|
184
|
+
| **NativeSelect** | Native select dropdown with custom styling | ✅ | ✅ |
|
|
185
|
+
| **NavigationMenu** | Navigation menu with nested items and mega menu support | ✅ | ✅ |
|
|
186
|
+
| **Pagination** | Page navigation with 5 variants, 3 sizes, ellipsis, customizable labels | ✅ | ✅ |
|
|
168
187
|
| **PlayButton** | Animated play/pause button with 9 variants, 4 sizes, smooth transitions | ✅ | ✅ |
|
|
169
|
-
| **
|
|
188
|
+
| **Popover** | Rich content popover with 11 variants, 12 positions, 4 triggers | ✅ | ✅ |
|
|
189
|
+
| **Progress** | Progress bar with 9 variants, 5 sizes, animations, striped | ✅ | ✅ |
|
|
170
190
|
| **Radio** | Radio button with 7 variants, 3 sizes, RadioGroup, descriptions | ✅ | ✅ |
|
|
171
|
-
| **
|
|
172
|
-
| **
|
|
173
|
-
| **
|
|
191
|
+
| **Rating** | Star rating with 6 variants, 4 sizes, multiple icons, half stars | ✅ | ✅ |
|
|
192
|
+
| **Resizable** | Resizable panels with drag handles and constraints | ✅ | ✅ |
|
|
193
|
+
| **ScrollArea** | Custom scrollbar with smooth scrolling and styling | ✅ | ✅ |
|
|
174
194
|
| **Select** | Advanced dropdown with search, multi-select, icons, avatars, grouping | ✅ | ✅ |
|
|
175
|
-
| **
|
|
195
|
+
| **Separator** | Content separator with 5 variants and label support | ✅ | ✅ |
|
|
196
|
+
| **Skeleton** | Loading placeholder with 5 variants, 4 shapes, customizable animations | ✅ | ✅ |
|
|
197
|
+
| **Slider** | Range slider with single/dual handles and custom marks | ✅ | ✅ |
|
|
198
|
+
| **Sonner** | Toast notifications with rich content and animations | ✅ | ✅ |
|
|
199
|
+
| **Spinner** | Loading spinner with 10 variants, 6 sizes, 4 animations, fullscreen mode | ✅ | ✅ |
|
|
200
|
+
| **Steps** | Progress indicator with 4 variants, horizontal/vertical layouts | ✅ | ✅ |
|
|
201
|
+
| **Switch** | Toggle switch with 7 variants, 3 sizes, icons, loading state | ✅ | ✅ |
|
|
202
|
+
| **Tab** | Tab navigation with 14 variants, 3 sizes, icons, badges, disabled states | ✅ | ✅ |
|
|
203
|
+
| **Table** | Data table with sorting, selection, 5 variants, and responsive | ✅ | ✅ |
|
|
176
204
|
| **Tag** | Labels with 11 variants, removable, badges, dots, avatars, animations | ✅ | ✅ |
|
|
177
205
|
| **TagInput** | Dynamic tag input with validation, Enter/Comma keys, paste support | ✅ | ✅ |
|
|
178
206
|
| **TextArea** | Multi-line text input with auto-resize, character count, validation | ✅ | ✅ |
|
|
179
|
-
| **
|
|
180
|
-
| **
|
|
207
|
+
| **TextEditor** | Rich text editor with WYSIWYG formatting and toolbar | ✅ | ✅ |
|
|
208
|
+
| **ThemeProvider** | Theme context provider with dark mode and color management | ✅ | ✅ |
|
|
209
|
+
| **ThemeToggle** | Theme switcher button with smooth transitions | ✅ | ✅ |
|
|
210
|
+
| **Timeline** | Chronological events with 4 variants, positions, and statuses | ✅ | ✅ |
|
|
181
211
|
| **Toast** | Notification toasts with 4 variants, 6 positions, 4 animations, actions | ✅ | ✅ |
|
|
182
|
-
| **
|
|
183
|
-
| **
|
|
184
|
-
| **
|
|
185
|
-
| **
|
|
186
|
-
| **
|
|
187
|
-
| **
|
|
188
|
-
| **Tab** | Tab navigation with 14 variants, 3 sizes, icons, badges, disabled states | ✅ | ✅ |
|
|
189
|
-
| **Input** | Text input with 10 variants, 4 sizes, icons, validation, all input types | ✅ | ✅ |
|
|
212
|
+
| **Toggle** | Toggle button with pressed state and variants | ✅ | ✅ |
|
|
213
|
+
| **ToggleGroup** | Grouped toggle buttons with single/multiple selection | ✅ | ✅ |
|
|
214
|
+
| **Tooltip** | Contextual hints with 9 variants, 4 triggers, and interactive mode | ✅ | ✅ |
|
|
215
|
+
| **Tree** | Hierarchical data with 4 variants, icons, and expand/collapse | ✅ | ✅ |
|
|
216
|
+
| **Typography** | Text components with semantic variants and styling | ✅ | ✅ |
|
|
217
|
+
| **Upload** | File upload with drag & drop, preview, progress, validation, 4 types | ✅ | ✅ |
|
|
190
218
|
|
|
191
219
|
---
|
|
192
220
|
|
|
193
221
|
## ⚡ Quick Examples
|
|
194
222
|
|
|
195
|
-
Here are simple examples for all
|
|
223
|
+
Here are simple examples for all components to get you started quickly:
|
|
196
224
|
|
|
197
225
|
### Button
|
|
198
226
|
|
|
@@ -307,15 +335,15 @@ import { Chip } from "saha-ui";
|
|
|
307
335
|
</Chip>
|
|
308
336
|
```
|
|
309
337
|
|
|
310
|
-
###
|
|
338
|
+
### Separator
|
|
311
339
|
|
|
312
340
|
```tsx
|
|
313
|
-
import {
|
|
341
|
+
import { Separator } from "saha-ui";
|
|
314
342
|
|
|
315
|
-
<
|
|
316
|
-
<
|
|
317
|
-
<
|
|
318
|
-
<
|
|
343
|
+
<Separator />
|
|
344
|
+
<Separator label="OR" />
|
|
345
|
+
<Separator variant="gradient" thickness="medium" />
|
|
346
|
+
<Separator orientation="vertical" className="h-24" />
|
|
319
347
|
```
|
|
320
348
|
|
|
321
349
|
### Accordion
|
|
@@ -1231,7 +1259,7 @@ import { ButtonGroup, Button } from "saha-ui";
|
|
|
1231
1259
|
**Contextual Usage:**
|
|
1232
1260
|
|
|
1233
1261
|
```tsx
|
|
1234
|
-
// In
|
|
1262
|
+
// In dialog footer
|
|
1235
1263
|
<Card>
|
|
1236
1264
|
<CardHeader>
|
|
1237
1265
|
<CardTitle>Confirm Action</CardTitle>
|
|
@@ -1805,7 +1833,7 @@ const customChipClass = chipVariants({
|
|
|
1805
1833
|
|
|
1806
1834
|
---
|
|
1807
1835
|
|
|
1808
|
-
###
|
|
1836
|
+
### Separator
|
|
1809
1837
|
|
|
1810
1838
|
Content separator component with 5 modern variants, optional labels, and decorative elements.
|
|
1811
1839
|
|
|
@@ -1815,35 +1843,35 @@ Content separator component with 5 modern variants, optional labels, and decorat
|
|
|
1815
1843
|
**Spacing:** `none` `xs` `sm` `md` `lg` `xl`
|
|
1816
1844
|
|
|
1817
1845
|
```tsx
|
|
1818
|
-
import {
|
|
1846
|
+
import { Separator } from "saha-ui";
|
|
1819
1847
|
|
|
1820
|
-
// Basic
|
|
1821
|
-
<
|
|
1848
|
+
// Basic Separator
|
|
1849
|
+
<Separator />
|
|
1822
1850
|
|
|
1823
1851
|
// With label
|
|
1824
|
-
<
|
|
1852
|
+
<Separator label="OR" />
|
|
1825
1853
|
|
|
1826
1854
|
// Gradient variant
|
|
1827
|
-
<
|
|
1855
|
+
<Separator variant="gradient" thickness="medium" />
|
|
1828
1856
|
|
|
1829
|
-
// Vertical
|
|
1857
|
+
// Vertical Separator
|
|
1830
1858
|
<div className="flex items-center h-24">
|
|
1831
1859
|
<div>Section 1</div>
|
|
1832
|
-
<
|
|
1860
|
+
<Separator orientation="vertical" className="h-full" />
|
|
1833
1861
|
<div>Section 2</div>
|
|
1834
1862
|
</div>
|
|
1835
1863
|
|
|
1836
1864
|
// Decorative with label
|
|
1837
|
-
<
|
|
1865
|
+
<Separator label="Continue Reading" decorative />
|
|
1838
1866
|
|
|
1839
1867
|
// Custom positioning
|
|
1840
|
-
<
|
|
1868
|
+
<Separator label="Section Start" labelPosition="left" variant="dashed" />
|
|
1841
1869
|
|
|
1842
1870
|
// Different thickness
|
|
1843
|
-
<
|
|
1871
|
+
<Separator thickness="thick" variant="solid" />
|
|
1844
1872
|
|
|
1845
1873
|
// Custom spacing
|
|
1846
|
-
<
|
|
1874
|
+
<Separator spacing="xl" variant="gradient" />
|
|
1847
1875
|
```
|
|
1848
1876
|
|
|
1849
1877
|
**Features:**
|
|
@@ -1870,7 +1898,7 @@ import { Divider } from "saha-ui";
|
|
|
1870
1898
|
**Props:**
|
|
1871
1899
|
|
|
1872
1900
|
```tsx
|
|
1873
|
-
interface
|
|
1901
|
+
interface SeparatorProps {
|
|
1874
1902
|
variant?: "solid" | "dashed" | "dotted" | "gradient" | "glass";
|
|
1875
1903
|
orientation?: "horizontal" | "vertical";
|
|
1876
1904
|
thickness?: "thin" | "medium" | "thick";
|
|
@@ -1892,7 +1920,7 @@ interface DividerProps {
|
|
|
1892
1920
|
Sign in with Email
|
|
1893
1921
|
</Button>
|
|
1894
1922
|
|
|
1895
|
-
<
|
|
1923
|
+
<Separator label="OR" variant="gradient" spacing="sm" />
|
|
1896
1924
|
|
|
1897
1925
|
<Button variant="outline" className="w-full">
|
|
1898
1926
|
Continue with GitHub
|
|
@@ -1904,7 +1932,7 @@ interface DividerProps {
|
|
|
1904
1932
|
<article>
|
|
1905
1933
|
<p>Introduction paragraph...</p>
|
|
1906
1934
|
|
|
1907
|
-
<
|
|
1935
|
+
<Separator
|
|
1908
1936
|
label="Section 1"
|
|
1909
1937
|
labelPosition="left"
|
|
1910
1938
|
variant="dashed"
|
|
@@ -1913,7 +1941,7 @@ interface DividerProps {
|
|
|
1913
1941
|
|
|
1914
1942
|
<p>Main content...</p>
|
|
1915
1943
|
|
|
1916
|
-
<
|
|
1944
|
+
<Separator
|
|
1917
1945
|
label="Conclusion"
|
|
1918
1946
|
labelPosition="left"
|
|
1919
1947
|
variant="dashed"
|
|
@@ -1922,13 +1950,13 @@ interface DividerProps {
|
|
|
1922
1950
|
|
|
1923
1951
|
<p>Summary...</p>
|
|
1924
1952
|
|
|
1925
|
-
<
|
|
1953
|
+
<Separator decorative spacing="lg" variant="gradient" />
|
|
1926
1954
|
</article>
|
|
1927
1955
|
|
|
1928
1956
|
// Vertical layout sections
|
|
1929
1957
|
<div className="flex h-64">
|
|
1930
1958
|
<div className="flex-1">Left Panel</div>
|
|
1931
|
-
<
|
|
1959
|
+
<Separator
|
|
1932
1960
|
orientation="vertical"
|
|
1933
1961
|
variant="gradient"
|
|
1934
1962
|
className="h-full"
|
|
@@ -1939,9 +1967,9 @@ interface DividerProps {
|
|
|
1939
1967
|
// Dashboard sections
|
|
1940
1968
|
<div className="flex gap-4 h-48">
|
|
1941
1969
|
<Card className="flex-1">Stats 1</Card>
|
|
1942
|
-
<
|
|
1970
|
+
<Separator orientation="vertical" variant="glass" className="h-full" />
|
|
1943
1971
|
<Card className="flex-1">Stats 2</Card>
|
|
1944
|
-
<
|
|
1972
|
+
<Separator orientation="vertical" variant="glass" className="h-full" />
|
|
1945
1973
|
<Card className="flex-1">Stats 3</Card>
|
|
1946
1974
|
</div>
|
|
1947
1975
|
```
|
|
@@ -1950,24 +1978,24 @@ interface DividerProps {
|
|
|
1950
1978
|
|
|
1951
1979
|
```tsx
|
|
1952
1980
|
import {
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1981
|
+
SeparatorVariants,
|
|
1982
|
+
SeparatorLineVariants,
|
|
1983
|
+
SeparatorLabelVariants,
|
|
1956
1984
|
} from "saha-ui";
|
|
1957
1985
|
|
|
1958
1986
|
// Use exported variants for custom styling
|
|
1959
|
-
const customContainerClass =
|
|
1987
|
+
const customContainerClass = SeparatorVariants({
|
|
1960
1988
|
orientation: "horizontal",
|
|
1961
1989
|
spacing: "lg",
|
|
1962
1990
|
});
|
|
1963
1991
|
|
|
1964
|
-
const customLineClass =
|
|
1992
|
+
const customLineClass = SeparatorLineVariants({
|
|
1965
1993
|
variant: "gradient",
|
|
1966
1994
|
orientation: "horizontal",
|
|
1967
1995
|
thickness: "medium",
|
|
1968
1996
|
});
|
|
1969
1997
|
|
|
1970
|
-
const customLabelClass =
|
|
1998
|
+
const customLabelClass = SeparatorLabelVariants({
|
|
1971
1999
|
orientation: "horizontal",
|
|
1972
2000
|
});
|
|
1973
2001
|
```
|
|
@@ -2484,7 +2512,7 @@ import { CheckCircle, Star, Zap, Heart } from 'lucide-react';
|
|
|
2484
2512
|
|
|
2485
2513
|
- **default** - Clean, minimal design with standard list styling
|
|
2486
2514
|
- **bordered** - Card background with border, shadow, and backdrop blur (20px)
|
|
2487
|
-
- **divided** - Items separated by
|
|
2515
|
+
- **divided** - Items separated by Separator lines, subtle hover effects
|
|
2488
2516
|
- **striped** - Alternating background colors for better readability
|
|
2489
2517
|
- **cards** - Individual card-style items with gradient overlay on hover
|
|
2490
2518
|
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
import fs from "node:fs"; import path from "node:path"; const R = process.cwd(), a = process.argv.slice(2), c = a[ 0 ] || "init"; const rd = f => fs.readFileSync(f, "utf8"), wr = (f, s) => { fs.mkdirSync(path.dirname(f), { recursive: !0 }); fs.writeFileSync(f, s, "utf8") }, fE = f => fs.existsSync(f) && fs.statSync(f).isFile(), dE = d => fs.existsSync(d) && fs.statSync(d).isDirectory(); const P = (() => { try { return JSON.parse(rd(path.join(R, "package.json"))) } catch { return {} } })(), D = { ...(P.dependencies || {}), ...(P.devDependencies || {}) }, F = D.next ? "next" : "react"; const N = [ "app/globals.css", "app/global.css", "styles/globals.css", "styles/global.css", "src/app/globals.css", "src/app/global.css", "src/styles/globals.css", "src/styles/global.css" ], V = [ "src/index.css", "src/main.css", "src/global.css", "index.css" ], C = F === "next" ? N : V; const pick = () => { for (const x of C) { const f = path.join(R, x); if (fE(f)) return f } if (F === "next") { const A = dE(path.join(R, "app")) && path.join(R, "app/globals.css"), B = dE(path.join(R, "src/app")) && path.join(R, "src/app/globals.css"), S = dE(path.join(R, "styles")) && path.join(R, "styles/globals.css"), T = dE(path.join(R, "src/styles")) && path.join(R, "src/styles/globals.css"); return A || B || S || T || path.join(R, "app/globals.css") } return dE(path.join(R, "src")) ? path.join(R, "src/index.css") : path.join(R, "index.css") }; const M = "/*saha-ui*/", TW = /@import\s+["']tailwindcss["'];?/; const SRC = `@import "tailwindcss";
|
|
4
|
+
@custom-variant dark (&:is(.dark *));@theme inline{--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-chart-1:var(--chart-1);--color-chart-2:var(--chart-2);--color-chart-3:var(--chart-3);--color-chart-4:var(--chart-4);--color-chart-5:var(--chart-5);--color-success:var(--success);--color-success-foreground:var(--success-foreground);--color-warning:var(--warning);--color-warning-foreground:var(--warning-foreground);--color-error:var(--error);--color-error-foreground:var(--error-foreground);--color-info:var(--info);--color-info-foreground:var(--info-foreground)}
|
|
5
|
+
:root{--radius:.625rem;--background:oklch(.98 .003 200);--foreground:oklch(.15 .01 200);--card:oklch(1 0 0);--card-foreground:oklch(.15 .01 200);--popover:oklch(1 0 0);--popover-foreground:oklch(.15 .01 200);--primary:oklch(48.151% .23085 269.463);--primary-foreground:oklch(1 0 0);--secondary:oklch(.65 .25 340);--secondary-foreground:oklch(1 0 0);--muted:oklch(.96 .005 200);--muted-foreground:oklch(.45 .01 200);--accent:oklch(.65 .12 185);--accent-foreground:oklch(1 0 0);--success:oklch(.60 .15 145);--success-foreground:oklch(1 0 0);--warning:oklch(.70 .15 65);--warning-foreground:oklch(.15 .01 200);--error:oklch(.60 .20 25);--error-foreground:oklch(1 0 0);--destructive:oklch(.60 .20 25);--destructive-foreground:oklch(1 0 0);--info:oklch(.60 .15 250);--info-foreground:oklch(1 0 0);--border:oklch(.92 .005 200);--input:oklch(.96 .005 200);--ring:oklch(.60 .18 275);--chart-1:oklch(.60 .18 275);--chart-2:oklch(.60 .15 145);--chart-3:oklch(.60 .15 250);--chart-4:oklch(.65 .25 340);--chart-5:oklch(.65 .12 185);--glass-bg:oklch(1 0 0 / .25);--glass-bg-hover:oklch(1 0 0 / .35);--glass-border:oklch(.60 .18 275 / .15);--glass-shadow:0 8px 32px 0 oklch(.60 .18 275 / .12);--glass-blur:16px}
|
|
6
|
+
.dark{--background:oklch(.08 .005 200);--foreground:oklch(.95 .005 200);--card:oklch(.12 .01 200);--card-foreground:oklch(.95 .005 200);--popover:oklch(.12 .01 200);--popover-foreground:oklch(.95 .005 200);--primary:oklch(41.145% .14945 272.396);--primary-foreground:oklch(.98 .003 200);--secondary:oklch(.70 .25 340);--secondary-foreground:oklch(.98 .003 200);--muted:oklch(.15 .01 200);--muted-foreground:oklch(.65 .005 200);--accent:oklch(.70 .15 185);--accent-foreground:oklch(.98 .003 200);--success:oklch(.65 .18 145);--success-foreground:oklch(.98 .003 200);--warning:oklch(.75 .18 65);--warning-foreground:oklch(.98 .003 200);--error:oklch(.65 .22 25);--error-foreground:oklch(.98 .003 200);--destructive:oklch(.65 .22 25);--destructive-foreground:oklch(.98 .003 200);--info:oklch(.65 .18 250);--info-foreground:oklch(.98 .003 200);--border:oklch(.20 .01 200);--input:oklch(.15 .01 200);--ring:oklch(.68 .20 275);--chart-1:oklch(.68 .20 275);--chart-2:oklch(.65 .18 145);--chart-3:oklch(.65 .18 250);--chart-4:oklch(.70 .25 340);--chart-5:oklch(.70 .15 185);--glass-bg:oklch(.12 .01 200 / .5);--glass-bg-hover:oklch(.12 .01 200 / .7);--glass-border:oklch(.68 .20 275 / .2);--glass-shadow:0 8px 32px 0 oklch(0 0 0 / .6);--glass-blur:16px}
|
|
7
|
+
@layer base{*{@apply border-border outline-ring/50}body{@apply bg-background text-foreground;background:linear-gradient(135deg,oklch(.98 .003 200) 0%,oklch(.96 .02 270) 50%,oklch(.98 .02 340) 100%);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark body{@apply text-foreground;color:oklch(.95 .005 200);background:linear-gradient(135deg,oklch(.08 .005 200) 0%,oklch(.10 .01 200) 50%,oklch(.12 .01 200) 100%);background-attachment:fixed}.dark{color-scheme:dark}}
|
|
8
|
+
@layer components{.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);position:relative}.glass::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,oklch(1 0 0 / .4) 0%,oklch(1 0 0 / .1) 50%,oklch(1 0 0 / 0) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.dark .glass::before{background:linear-gradient(135deg,oklch(.68 .20 275 / .3) 0%,oklch(.68 .20 275 / .1) 50%,oklch(.68 .20 275 / 0) 100%)}.glass-hover:hover{background:var(--glass-bg-hover);transform:translateY(-2px);box-shadow:0 12px 48px 0 oklch(.60 .18 275 / .2)}.dark .glass-hover:hover{box-shadow:0 12px 48px 0 oklch(0 0 0 / .7)}.glass-strong{background:var(--glass-bg);backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 oklch(1 0 0 / .3)}.dark .glass-strong{box-shadow:var(--glass-shadow),inset 0 1px 0 oklch(.68 .20 275 / .2)}.glass-subtle{background:var(--glass-bg);backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border:1px solid var(--glass-border);box-shadow:0 1px 2px 0 oklch(0 0 0 / .05)}}
|
|
9
|
+
@layer base{*{border-color:var(--border)}body{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 50%,#fce7f3 100%);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark body{background:linear-gradient(135deg,#0a0a0a 0%,#171717 50%,#1a1a1a 100%);background-attachment:fixed}*{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}}
|
|
10
|
+
@layer utilities{@keyframes progress-stripes{0%{background-position:0 0}100%{background-position:1.5rem 0}}@keyframes progress-indeterminate{0%{left:-40%;transform:scaleX(.6)}50%{transform:scaleX(1)}100%{left:100%;transform:scaleX(.6)}}@keyframes progress-shimmer{0%{transform:translateX(-100%) scaleX(0);opacity:0}10%{opacity:1}50%{transform:translateX(0%) scaleX(1)}90%{opacity:1}100%{transform:translateX(100%) scaleX(0);opacity:0}}@keyframes progress-glow-pulse{0%,100%{filter:brightness(1) saturate(1)}50%{filter:brightness(1.15) saturate(1.2)}}}
|
|
11
|
+
@keyframes collapsible-down{from{height:0;opacity:0}to{height:var(--radix-collapsible-content-height);opacity:1}}
|
|
12
|
+
@keyframes collapsible-up{from{height:var(--radix-collapsible-content-height);opacity:1}to{height:0;opacity:0}}
|
|
13
|
+
.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}
|
|
14
|
+
.scrollbar-none::-webkit-scrollbar{display:none}
|
|
15
|
+
[role="menu"],[role="listbox"]{-ms-overflow-style:none;scrollbar-width:none}
|
|
16
|
+
[role="menu"]::-webkit-scrollbar,[role="listbox"]::-webkit-scrollbar{display:none}
|
|
17
|
+
[contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:hsl(var(--muted-foreground));opacity:.5;pointer-events:none}
|
|
18
|
+
[contenteditable]:focus:empty:before{content:attr(data-placeholder);color:hsl(var(--muted-foreground));opacity:.3}
|
|
19
|
+
`; const CSS = SRC.trim(), CSS_NO = CSS.replace(/^@import\s+["']tailwindcss["'];?/, "").trim(); const inject = f => { const ex = fE(f), cur = ex ? rd(f) : ""; if (cur.includes(M)) return console.log(`saha-ui: CSS already injected in ${path.relative(R, f)}`); const out = TW.test(cur) ? cur.replace(TW, m => `${m}\n${M}\n${CSS_NO}`) : `${M}\n${CSS}\n${cur}`; wr(f, out); console.log(`saha-ui: Injected CSS into ${path.relative(R, f)} (${F})`); if (!ex) { F === "next" ? console.log("saha-ui: Ensure root layout imports this CSS (app/layout.tsx -> import './globals.css')") : console.log("saha-ui: Ensure src/main.tsx imports './index.css'") } }; const run = () => c === "init" ? inject(pick()) : console.log("Usage: npx saha-ui init"); run();
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const accordionVariants: (props?: ({
|
|
2
|
+
variant?: "toggle" | "default" | "controlled" | "allopen" | "firstopen" | "glass" | null | undefined;
|
|
3
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
4
|
+
export declare const accordionItemVariants: (props?: ({
|
|
5
|
+
isOpen?: boolean | null | undefined;
|
|
6
|
+
disabled?: boolean | null | undefined;
|
|
7
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
|
+
export declare const accordionHeaderVariants: (props?: ({
|
|
9
|
+
isOpen?: boolean | null | undefined;
|
|
10
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
11
|
+
export declare const accordionContentVariants: (props?: ({
|
|
12
|
+
isOpen?: boolean | null | undefined;
|
|
13
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
14
|
+
//# sourceMappingURL=Accordion.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;8EAuB7B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;8EAkBjC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;8EAcnC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;8EAapC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { cva as e } from "class-variance-authority";
|
|
2
|
+
const o = e(
|
|
3
|
+
"w-full space-y-0 rounded-2xl overflow-hidden transition-all duration-300 relative isolate hover:shadow-2xl",
|
|
4
|
+
{
|
|
5
|
+
variants: {
|
|
6
|
+
variant: {
|
|
7
|
+
default: "border border-border/50 shadow-lg backdrop-blur-sm bg-card/30 hover:border-primary/30 before:absolute before:inset-0 before:bg-gradient-to-br before:from-primary/5 before:via-transparent before:to-accent/5 before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-500",
|
|
8
|
+
controlled: "border border-border/50 shadow-lg backdrop-blur-sm bg-card/30 hover:border-primary/30 before:absolute before:inset-0 before:bg-gradient-to-br before:from-primary/5 before:via-transparent before:to-accent/5 before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-500",
|
|
9
|
+
allopen: "border border-border/50 shadow-lg backdrop-blur-sm bg-card/30 hover:border-primary/30 before:absolute before:inset-0 before:bg-gradient-to-br before:from-primary/5 before:via-transparent before:to-accent/5 before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-500",
|
|
10
|
+
toggle: "border border-border/50 shadow-lg backdrop-blur-sm bg-card/30 hover:border-primary/30 before:absolute before:inset-0 before:bg-gradient-to-br before:from-primary/5 before:via-transparent before:to-accent/5 before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-500",
|
|
11
|
+
firstopen: "border border-border/50 shadow-lg backdrop-blur-sm bg-card/30 hover:border-primary/30 before:absolute before:inset-0 before:bg-gradient-to-br before:from-primary/5 before:via-transparent before:to-accent/5 before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-500",
|
|
12
|
+
glass: "bg-background/30 backdrop-blur-xl border border-white/10 shadow-2xl hover:border-white/20 before:absolute before:inset-0 before:bg-gradient-to-br before:from-white/5 before:to-transparent before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-500"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
defaultVariants: {
|
|
16
|
+
variant: "default"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
), a = e(
|
|
20
|
+
"group relative w-full overflow-hidden transition-all duration-300 ease-out border-b border-border/30 last:border-b-0 backdrop-blur-sm shadow-sm hover:shadow-lg transition-shadow isolate before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-primary/5 before:to-transparent before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-300",
|
|
21
|
+
{
|
|
22
|
+
variants: {
|
|
23
|
+
isOpen: {
|
|
24
|
+
true: "bg-card/50 shadow-md before:opacity-100",
|
|
25
|
+
false: "bg-card/30 hover:bg-card/40"
|
|
26
|
+
},
|
|
27
|
+
disabled: {
|
|
28
|
+
true: "opacity-50 cursor-not-allowed pointer-events-none",
|
|
29
|
+
false: ""
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
defaultVariants: {
|
|
33
|
+
isOpen: !1,
|
|
34
|
+
disabled: !1
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
), t = e(
|
|
38
|
+
"w-full flex justify-between items-center cursor-pointer transition-all duration-300 px-6 py-4 gap-4 relative isolate hover:scale-[1.01] active:scale-[0.99]",
|
|
39
|
+
{
|
|
40
|
+
variants: {
|
|
41
|
+
isOpen: {
|
|
42
|
+
true: "bg-gradient-to-r from-primary/5 via-secondary/5 to-accent/5 border-b border-border/50 shadow-sm before:absolute before:inset-0 before:bg-gradient-to-r before:from-primary/10 before:via-transparent before:to-accent/10 before:opacity-50",
|
|
43
|
+
false: "hover:bg-muted/30 after:absolute after:inset-0 after:bg-gradient-to-r after:from-transparent after:via-muted/20 after:to-transparent after:opacity-0 hover:after:opacity-100 after:transition-opacity after:duration-300"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
defaultVariants: {
|
|
47
|
+
isOpen: !1
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
), b = e(
|
|
51
|
+
"w-full px-6 overflow-hidden transition-all duration-500 ease-in-out bg-card/20",
|
|
52
|
+
{
|
|
53
|
+
variants: {
|
|
54
|
+
isOpen: {
|
|
55
|
+
true: "max-h-[500px] opacity-100 py-4",
|
|
56
|
+
false: "max-h-0 opacity-0 py-0"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
defaultVariants: {
|
|
60
|
+
isOpen: !1
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
export {
|
|
65
|
+
b as accordionContentVariants,
|
|
66
|
+
t as accordionHeaderVariants,
|
|
67
|
+
a as accordionItemVariants,
|
|
68
|
+
o as accordionVariants
|
|
69
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAwD3B,eAAO,MAAM,SAAS,uFAiFrB,CAAC;AAIF,eAAO,MAAM,aAAa,2FAsBxB,CAAC;AAIH,eAAO,MAAM,gBAAgB,iGA6C3B,CAAC;AAIH,eAAO,MAAM,gBAAgB,8FAsB3B,CAAC"}
|