@udixio/ui-react 0.4.2 → 1.0.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/.eslintrc.mjs +22 -0
- package/.storybook/main.ts +20 -0
- package/.storybook/preview.ts +1 -0
- package/CHANGELOG.md +63 -0
- package/dist/index.cjs +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2811 -0
- package/dist/lib/components/Button.d.ts +9 -0
- package/dist/lib/components/Button.d.ts.map +1 -0
- package/{src → dist}/lib/components/Card.d.ts +5 -0
- package/dist/lib/components/Card.d.ts.map +1 -0
- package/{src → dist}/lib/components/Carousel.d.ts +6 -0
- package/dist/lib/components/Carousel.d.ts.map +1 -0
- package/{src → dist}/lib/components/CarouselItem.d.ts +4 -0
- package/dist/lib/components/CarouselItem.d.ts.map +1 -0
- package/dist/lib/components/Divider.d.ts +9 -0
- package/dist/lib/components/Divider.d.ts.map +1 -0
- package/dist/lib/components/Fab.d.ts +9 -0
- package/dist/lib/components/Fab.d.ts.map +1 -0
- package/dist/lib/components/IconButton.d.ts +10 -0
- package/dist/lib/components/IconButton.d.ts.map +1 -0
- package/{src → dist}/lib/components/NavigationRail.d.ts +5 -0
- package/dist/lib/components/NavigationRail.d.ts.map +1 -0
- package/{src → dist}/lib/components/NavigationRailItem.d.ts +9 -1
- package/dist/lib/components/NavigationRailItem.d.ts.map +1 -0
- package/dist/lib/components/ProgressIndicator.d.ts +8 -0
- package/dist/lib/components/ProgressIndicator.d.ts.map +1 -0
- package/{src → dist}/lib/components/Slider.d.ts +5 -0
- package/dist/lib/components/Slider.d.ts.map +1 -0
- package/dist/lib/components/Snackbar.d.ts +9 -0
- package/dist/lib/components/Snackbar.d.ts.map +1 -0
- package/{src → dist}/lib/components/Switch.d.ts +5 -0
- package/dist/lib/components/Switch.d.ts.map +1 -0
- package/{src → dist}/lib/components/Tab.d.ts +4 -0
- package/dist/lib/components/Tab.d.ts.map +1 -0
- package/{src → dist}/lib/components/Tabs.d.ts +5 -0
- package/dist/lib/components/Tabs.d.ts.map +1 -0
- package/{src → dist}/lib/components/TextField.d.ts +5 -0
- package/dist/lib/components/TextField.d.ts.map +1 -0
- package/{src → dist}/lib/components/ToolTip.d.ts +5 -0
- package/dist/lib/components/ToolTip.d.ts.map +1 -0
- package/{src → dist}/lib/components/index.d.ts +1 -1
- package/dist/lib/components/index.d.ts.map +1 -0
- package/dist/lib/effects/SyncedFixedWrapper.d.ts.map +1 -0
- package/dist/lib/effects/custom-scroll/custom-scroll.effect.d.ts.map +1 -0
- package/dist/lib/effects/custom-scroll/custom-scroll.interface.d.ts.map +1 -0
- package/dist/lib/effects/custom-scroll/custom-scroll.style.d.ts.map +1 -0
- package/dist/lib/effects/custom-scroll/index.d.ts.map +1 -0
- package/dist/lib/effects/index.d.ts.map +1 -0
- package/dist/lib/effects/ripple/RippleEffect.d.ts.map +1 -0
- package/dist/lib/effects/ripple/index.d.ts.map +1 -0
- package/dist/lib/effects/smooth-scroll.effect.d.ts.map +1 -0
- package/dist/lib/icon/icon.d.ts.map +1 -0
- package/dist/lib/icon/index.d.ts.map +1 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/button.interface.d.ts +9 -3
- package/dist/lib/interfaces/button.interface.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/card.interface.d.ts +2 -0
- package/dist/lib/interfaces/card.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/carousel-item.interface.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/carousel.interface.d.ts +3 -2
- package/dist/lib/interfaces/carousel.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/divider.interface.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/fab.interface.d.ts +2 -1
- package/dist/lib/interfaces/fab.interface.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/icon-button.interface.d.ts +3 -2
- package/dist/lib/interfaces/icon-button.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/index.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/navigation-rail-item.interface.d.ts +1 -0
- package/dist/lib/interfaces/navigation-rail-item.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/navigation-rail.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/progress-indicator.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/slider.interface.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/snackbar.interface.d.ts +1 -1
- package/dist/lib/interfaces/snackbar.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/switch.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/tab.interface.d.ts.map +1 -0
- package/{src → dist}/lib/interfaces/tabs.interface.d.ts +1 -1
- package/dist/lib/interfaces/tabs.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/text-field.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/tooltip.interface.d.ts.map +1 -0
- package/{src → dist}/lib/styles/button.style.d.ts +22 -8
- package/dist/lib/styles/button.style.d.ts.map +1 -0
- package/{src → dist}/lib/styles/card.style.d.ts +2 -0
- package/dist/lib/styles/card.style.d.ts.map +1 -0
- package/dist/lib/styles/carousel-item.style.d.ts.map +1 -0
- package/{src → dist}/lib/styles/carousel.style.d.ts +1 -1
- package/dist/lib/styles/carousel.style.d.ts.map +1 -0
- package/dist/lib/styles/divider.style.d.ts.map +1 -0
- package/{src → dist}/lib/styles/fab.style.d.ts +6 -2
- package/dist/lib/styles/fab.style.d.ts.map +1 -0
- package/{src → dist}/lib/styles/icon-button.style.d.ts +9 -5
- package/dist/lib/styles/icon-button.style.d.ts.map +1 -0
- package/dist/lib/styles/index.d.ts.map +1 -0
- package/{src → dist}/lib/styles/navigation-rail-item.style.d.ts +2 -0
- package/dist/lib/styles/navigation-rail-item.style.d.ts.map +1 -0
- package/dist/lib/styles/navigation-rail.style.d.ts.map +1 -0
- package/dist/lib/styles/progress-indicator.style.d.ts.map +1 -0
- package/dist/lib/styles/slider.style.d.ts.map +1 -0
- package/{src → dist}/lib/styles/snackbar.style.d.ts +2 -2
- package/dist/lib/styles/snackbar.style.d.ts.map +1 -0
- package/dist/lib/styles/switch.style.d.ts.map +1 -0
- package/{src → dist}/lib/styles/tab.style.d.ts +1 -1
- package/dist/lib/styles/tab.style.d.ts.map +1 -0
- package/{src → dist}/lib/styles/tabs.style.d.ts +1 -1
- package/dist/lib/styles/tabs.style.d.ts.map +1 -0
- package/dist/lib/styles/text-field.style.d.ts.map +1 -0
- package/dist/lib/styles/tooltip.style.d.ts.map +1 -0
- package/dist/lib/utils/component-helper.d.ts.map +1 -0
- package/{src → dist}/lib/utils/component.d.ts +1 -1
- package/dist/lib/utils/component.d.ts.map +1 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/string.d.ts.map +1 -0
- package/dist/lib/utils/styles/classnames.d.ts.map +1 -0
- package/dist/lib/utils/styles/get-classname.d.ts.map +1 -0
- package/dist/lib/utils/styles/index.d.ts.map +1 -0
- package/package.json +31 -8
- package/postcss.config.mjs +5 -0
- package/src/index.css +4 -0
- package/src/index.ts +1 -0
- package/src/lib/components/Button.tsx +174 -0
- package/src/lib/components/Card.tsx +36 -0
- package/src/lib/components/Carousel.tsx +196 -0
- package/src/lib/components/CarouselItem.tsx +58 -0
- package/src/lib/components/Divider.tsx +18 -0
- package/src/lib/components/Fab.tsx +122 -0
- package/src/lib/components/IconButton.tsx +155 -0
- package/src/lib/components/NavigationRail.tsx +177 -0
- package/src/lib/components/NavigationRailItem.tsx +211 -0
- package/src/lib/components/ProgressIndicator.tsx +154 -0
- package/src/lib/components/Slider.tsx +366 -0
- package/src/lib/components/Snackbar.tsx +71 -0
- package/src/lib/components/Switch.tsx +99 -0
- package/src/lib/components/Tab.tsx +114 -0
- package/src/lib/components/Tabs.tsx +90 -0
- package/src/lib/components/TextField.tsx +274 -0
- package/src/lib/components/ToolTip.tsx +232 -0
- package/src/lib/components/index.ts +19 -0
- package/src/lib/effects/SyncedFixedWrapper.tsx +62 -0
- package/src/lib/effects/custom-scroll/custom-scroll.effect.tsx +287 -0
- package/src/lib/effects/custom-scroll/custom-scroll.interface.ts +25 -0
- package/src/lib/effects/custom-scroll/custom-scroll.style.ts +32 -0
- package/src/lib/effects/custom-scroll/index.ts +3 -0
- package/src/lib/effects/index.ts +4 -0
- package/src/lib/effects/ripple/RippleEffect.tsx +103 -0
- package/src/lib/effects/ripple/index.tsx +1 -0
- package/src/lib/effects/smooth-scroll.effect.tsx +91 -0
- package/src/lib/icon/icon.tsx +47 -0
- package/src/lib/icon/index.ts +1 -0
- package/src/lib/index.ts +6 -0
- package/src/lib/interfaces/button.interface.ts +54 -0
- package/src/lib/interfaces/card.interface.ts +11 -0
- package/src/lib/interfaces/carousel-item.interface.ts +11 -0
- package/src/lib/interfaces/carousel.interface.ts +22 -0
- package/src/lib/interfaces/divider.interface.ts +7 -0
- package/src/lib/interfaces/fab.interface.ts +20 -0
- package/src/lib/interfaces/icon-button.interface.ts +36 -0
- package/src/lib/interfaces/index.ts +16 -0
- package/src/lib/interfaces/navigation-rail-item.interface.ts +39 -0
- package/src/lib/interfaces/navigation-rail.interface.ts +39 -0
- package/src/lib/interfaces/progress-indicator.interface.ts +35 -0
- package/src/lib/interfaces/slider.interface.ts +27 -0
- package/src/lib/interfaces/snackbar.interface.ts +13 -0
- package/src/lib/interfaces/switch.interface.ts +14 -0
- package/src/lib/interfaces/tab.interface.ts +30 -0
- package/src/lib/interfaces/tabs.interface.ts +22 -0
- package/src/lib/interfaces/text-field.interface.ts +48 -0
- package/src/lib/interfaces/tooltip.interface.ts +35 -0
- package/src/lib/styles/button.style.ts +142 -0
- package/src/lib/styles/card.style.ts +21 -0
- package/src/lib/styles/carousel-item.style.ts +11 -0
- package/src/lib/styles/carousel.style.ts +12 -0
- package/src/lib/styles/divider.style.ts +17 -0
- package/src/lib/styles/fab.style.ts +55 -0
- package/src/lib/styles/icon-button.style.ts +167 -0
- package/src/lib/styles/index.ts +15 -0
- package/src/lib/styles/navigation-rail-item.style.ts +44 -0
- package/src/lib/styles/navigation-rail.style.ts +20 -0
- package/src/lib/styles/progress-indicator.style.ts +43 -0
- package/src/lib/styles/slider.style.ts +27 -0
- package/src/lib/styles/snackbar.style.ts +14 -0
- package/src/lib/styles/switch.style.ts +51 -0
- package/src/lib/styles/tab.style.ts +68 -0
- package/src/lib/styles/tabs.style.ts +13 -0
- package/src/lib/styles/text-field.style.ts +104 -0
- package/src/lib/styles/tooltip.style.ts +37 -0
- package/src/lib/utils/component-helper.ts +134 -0
- package/src/lib/utils/component.ts +34 -0
- package/src/lib/utils/index.ts +7 -0
- package/src/lib/utils/string.ts +9 -0
- package/src/lib/utils/styles/classnames.ts +49 -0
- package/src/lib/utils/styles/get-classname.ts +73 -0
- package/src/lib/utils/styles/index.ts +3 -0
- package/src/stories/action/button.stories.tsx +86 -0
- package/src/stories/action/fab.stories.tsx +54 -0
- package/src/stories/action/icon-button.stories.tsx +134 -0
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +5 -0
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +15 -0
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +3 -0
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +12 -0
- package/src/stories/assets/youtube.svg +4 -0
- package/src/stories/communication/ProgressIndicator.stories.tsx +57 -0
- package/src/stories/communication/SnackBar.stories.tsx +32 -0
- package/src/stories/communication/tool-tip.stories.tsx +133 -0
- package/src/stories/containment/card.stories.tsx +42 -0
- package/src/stories/containment/carousel.stories.tsx +65 -0
- package/src/stories/containment/divider.stories.tsx +35 -0
- package/src/stories/effect/smooth-scroll.stories.tsx +45 -0
- package/src/stories/navigation/navigation-rail/navigation-rail-item.stories.tsx +65 -0
- package/src/stories/navigation/navigation-rail/navigation-rail.stories.tsx +122 -0
- package/src/stories/navigation/tabs/tab.stories.tsx +57 -0
- package/src/stories/navigation/tabs/tabs.stories.tsx +102 -0
- package/src/stories/selection/slider.stories.tsx +85 -0
- package/src/stories/selection/switch.stories.tsx +46 -0
- package/src/stories/text-inputs/text-field.stories.tsx +135 -0
- package/src/tests/Button.spec.tsx +67 -0
- package/src/udixio.css +120 -0
- package/theme.config.ts +7 -0
- package/tsconfig.json +22 -0
- package/tsconfig.lib.json +51 -0
- package/tsconfig.spec.json +37 -0
- package/tsconfig.storybook.json +38 -0
- package/vite.config.ts +77 -0
- package/index.js +0 -5
- package/index.mjs +0 -2823
- package/src/index.d.ts.map +0 -1
- package/src/lib/components/Button.d.ts +0 -7
- package/src/lib/components/Button.d.ts.map +0 -1
- package/src/lib/components/Card.d.ts.map +0 -1
- package/src/lib/components/Carousel.d.ts.map +0 -1
- package/src/lib/components/CarouselItem.d.ts.map +0 -1
- package/src/lib/components/Divided.d.ts +0 -4
- package/src/lib/components/Divided.d.ts.map +0 -1
- package/src/lib/components/Fab.d.ts +0 -4
- package/src/lib/components/Fab.d.ts.map +0 -1
- package/src/lib/components/IconButton.d.ts +0 -5
- package/src/lib/components/IconButton.d.ts.map +0 -1
- package/src/lib/components/NavigationRail.d.ts.map +0 -1
- package/src/lib/components/NavigationRailItem.d.ts.map +0 -1
- package/src/lib/components/ProgressIndicator.d.ts +0 -4
- package/src/lib/components/ProgressIndicator.d.ts.map +0 -1
- package/src/lib/components/Slider.d.ts.map +0 -1
- package/src/lib/components/Snackbar.d.ts +0 -4
- package/src/lib/components/Snackbar.d.ts.map +0 -1
- package/src/lib/components/Switch.d.ts.map +0 -1
- package/src/lib/components/Tab.d.ts.map +0 -1
- package/src/lib/components/Tabs.d.ts.map +0 -1
- package/src/lib/components/TextField.d.ts.map +0 -1
- package/src/lib/components/ToolTip.d.ts.map +0 -1
- package/src/lib/components/index.d.ts.map +0 -1
- package/src/lib/effects/SyncedFixedWrapper.d.ts.map +0 -1
- package/src/lib/effects/custom-scroll/custom-scroll.effect.d.ts.map +0 -1
- package/src/lib/effects/custom-scroll/custom-scroll.interface.d.ts.map +0 -1
- package/src/lib/effects/custom-scroll/custom-scroll.style.d.ts.map +0 -1
- package/src/lib/effects/custom-scroll/index.d.ts.map +0 -1
- package/src/lib/effects/index.d.ts.map +0 -1
- package/src/lib/effects/ripple/RippleEffect.d.ts.map +0 -1
- package/src/lib/effects/ripple/index.d.ts.map +0 -1
- package/src/lib/effects/smooth-scroll.effect.d.ts.map +0 -1
- package/src/lib/icon/icon.d.ts.map +0 -1
- package/src/lib/icon/index.d.ts.map +0 -1
- package/src/lib/index.d.ts.map +0 -1
- package/src/lib/interfaces/button.interface.d.ts.map +0 -1
- package/src/lib/interfaces/card.interface.d.ts.map +0 -1
- package/src/lib/interfaces/carousel-item.interface.d.ts.map +0 -1
- package/src/lib/interfaces/carousel.interface.d.ts.map +0 -1
- package/src/lib/interfaces/divider.interface.d.ts.map +0 -1
- package/src/lib/interfaces/fab.interface.d.ts.map +0 -1
- package/src/lib/interfaces/icon-button.interface.d.ts.map +0 -1
- package/src/lib/interfaces/index.d.ts.map +0 -1
- package/src/lib/interfaces/navigation-rail-item.interface.d.ts.map +0 -1
- package/src/lib/interfaces/navigation-rail.interface.d.ts.map +0 -1
- package/src/lib/interfaces/progress-indicator.interface.d.ts.map +0 -1
- package/src/lib/interfaces/slider.interface.d.ts.map +0 -1
- package/src/lib/interfaces/snackbar.interface.d.ts.map +0 -1
- package/src/lib/interfaces/switch.interface.d.ts.map +0 -1
- package/src/lib/interfaces/tab.interface.d.ts.map +0 -1
- package/src/lib/interfaces/tabs.interface.d.ts.map +0 -1
- package/src/lib/interfaces/text-field.interface.d.ts.map +0 -1
- package/src/lib/interfaces/tooltip.interface.d.ts.map +0 -1
- package/src/lib/styles/button.style.d.ts.map +0 -1
- package/src/lib/styles/card.style.d.ts.map +0 -1
- package/src/lib/styles/carousel-item.style.d.ts.map +0 -1
- package/src/lib/styles/carousel.style.d.ts.map +0 -1
- package/src/lib/styles/divider.style.d.ts.map +0 -1
- package/src/lib/styles/fab.style.d.ts.map +0 -1
- package/src/lib/styles/icon-button.style.d.ts.map +0 -1
- package/src/lib/styles/index.d.ts.map +0 -1
- package/src/lib/styles/navigation-rail-item.style.d.ts.map +0 -1
- package/src/lib/styles/navigation-rail.style.d.ts.map +0 -1
- package/src/lib/styles/progress-indicator.style.d.ts.map +0 -1
- package/src/lib/styles/slider.style.d.ts.map +0 -1
- package/src/lib/styles/snackbar.style.d.ts.map +0 -1
- package/src/lib/styles/switch.style.d.ts.map +0 -1
- package/src/lib/styles/tab.style.d.ts.map +0 -1
- package/src/lib/styles/tabs.style.d.ts.map +0 -1
- package/src/lib/styles/text-field.style.d.ts.map +0 -1
- package/src/lib/styles/tooltip.style.d.ts.map +0 -1
- package/src/lib/utils/component-helper.d.ts.map +0 -1
- package/src/lib/utils/component.d.ts.map +0 -1
- package/src/lib/utils/index.d.ts.map +0 -1
- package/src/lib/utils/string.d.ts.map +0 -1
- package/src/lib/utils/styles/classnames.d.ts.map +0 -1
- package/src/lib/utils/styles/get-classname.d.ts.map +0 -1
- package/src/lib/utils/styles/index.d.ts.map +0 -1
- /package/{LICENSE → dist/LICENSE} +0 -0
- /package/{src → dist}/index.d.ts +0 -0
- /package/{src → dist}/lib/effects/SyncedFixedWrapper.d.ts +0 -0
- /package/{src → dist}/lib/effects/custom-scroll/custom-scroll.effect.d.ts +0 -0
- /package/{src → dist}/lib/effects/custom-scroll/custom-scroll.interface.d.ts +0 -0
- /package/{src → dist}/lib/effects/custom-scroll/custom-scroll.style.d.ts +0 -0
- /package/{src → dist}/lib/effects/custom-scroll/index.d.ts +0 -0
- /package/{src → dist}/lib/effects/index.d.ts +0 -0
- /package/{src → dist}/lib/effects/ripple/RippleEffect.d.ts +0 -0
- /package/{src → dist}/lib/effects/ripple/index.d.ts +0 -0
- /package/{src → dist}/lib/effects/smooth-scroll.effect.d.ts +0 -0
- /package/{src → dist}/lib/icon/icon.d.ts +0 -0
- /package/{src → dist}/lib/icon/index.d.ts +0 -0
- /package/{src → dist}/lib/index.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/carousel-item.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/divider.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/index.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/navigation-rail.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/progress-indicator.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/slider.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/switch.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/tab.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/text-field.interface.d.ts +0 -0
- /package/{src → dist}/lib/interfaces/tooltip.interface.d.ts +0 -0
- /package/{src → dist}/lib/styles/carousel-item.style.d.ts +0 -0
- /package/{src → dist}/lib/styles/divider.style.d.ts +0 -0
- /package/{src → dist}/lib/styles/index.d.ts +0 -0
- /package/{src → dist}/lib/styles/navigation-rail.style.d.ts +0 -0
- /package/{src → dist}/lib/styles/progress-indicator.style.d.ts +0 -0
- /package/{src → dist}/lib/styles/slider.style.d.ts +0 -0
- /package/{src → dist}/lib/styles/switch.style.d.ts +0 -0
- /package/{src → dist}/lib/styles/text-field.style.d.ts +0 -0
- /package/{src → dist}/lib/styles/tooltip.style.d.ts +0 -0
- /package/{src → dist}/lib/utils/component-helper.d.ts +0 -0
- /package/{src → dist}/lib/utils/index.d.ts +0 -0
- /package/{src → dist}/lib/utils/string.d.ts +0 -0
- /package/{src → dist}/lib/utils/styles/classnames.d.ts +0 -0
- /package/{src → dist}/lib/utils/styles/get-classname.d.ts +0 -0
- /package/{src → dist}/lib/utils/styles/index.d.ts +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
2
|
+
import { FabInterface } from '../interfaces/fab.interface';
|
|
3
|
+
|
|
4
|
+
export const fabStyle = defaultClassNames<FabInterface>(
|
|
5
|
+
'fab',
|
|
6
|
+
({ size, variant, isExtended }) => ({
|
|
7
|
+
fab: classNames(
|
|
8
|
+
'flex shadow-3 hover:shadow-4 group overflow-hidden outline-none items-center cursor-pointer',
|
|
9
|
+
{
|
|
10
|
+
'rounded-[12px]': size == 'small' && !isExtended,
|
|
11
|
+
'rounded-[16px]': size == 'medium' || isExtended,
|
|
12
|
+
'rounded-[28px]': size == 'large' && !isExtended,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
'p-2': size == 'small' && !isExtended,
|
|
16
|
+
'p-4': size == 'medium' || isExtended,
|
|
17
|
+
'p-[30px]': size == 'large' && !isExtended,
|
|
18
|
+
},
|
|
19
|
+
variant === 'surface' && 'bg-surface-container',
|
|
20
|
+
variant === 'primary' && 'bg-primary-container',
|
|
21
|
+
variant === 'secondary' && 'bg-secondary-container',
|
|
22
|
+
variant === 'tertiary' && 'bg-tertiary-container',
|
|
23
|
+
),
|
|
24
|
+
stateLayer: classNames(
|
|
25
|
+
'absolute w-full h-full overflow-hidden left-1/2 top-1/2 transform -translate-y-1/2 -translate-x-1/2',
|
|
26
|
+
variant === 'surface' &&
|
|
27
|
+
'group-hover:hover-state-primary group-focus:focus-state-primary',
|
|
28
|
+
variant === 'primary' &&
|
|
29
|
+
'group-hover:hover-state-on-primary-container group-focus-visible:focus-state-on-primary-container',
|
|
30
|
+
variant === 'secondary' &&
|
|
31
|
+
'group-hover:hover-state-on-secondary-container group-focus-visible:focus-state-on-secondary-container',
|
|
32
|
+
variant === 'tertiary' &&
|
|
33
|
+
'group-hover:hover-state-on-tertiary-container group-focus-visible:focus-state-on-tertiary-container',
|
|
34
|
+
),
|
|
35
|
+
|
|
36
|
+
icon: classNames(
|
|
37
|
+
{
|
|
38
|
+
'size-6': size == 'small' || size == 'medium' || isExtended,
|
|
39
|
+
'size-9': size == 'large' && !isExtended,
|
|
40
|
+
},
|
|
41
|
+
variant === 'surface' && 'text-primary',
|
|
42
|
+
variant === 'primary' && 'text-on-primary-container',
|
|
43
|
+
variant === 'secondary' && 'text-on-secondary-container',
|
|
44
|
+
variant === 'tertiary' && 'text-on-tertiary-container',
|
|
45
|
+
),
|
|
46
|
+
|
|
47
|
+
label: classNames(
|
|
48
|
+
'text-title-medium text-nowrap',
|
|
49
|
+
variant === 'surface' && 'text-primary',
|
|
50
|
+
variant === 'primary' && 'text-on-primary-container',
|
|
51
|
+
variant === 'secondary' && 'text-on-secondary-container',
|
|
52
|
+
variant === 'tertiary' && 'text-on-tertiary-container',
|
|
53
|
+
),
|
|
54
|
+
}),
|
|
55
|
+
);
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { IconButtonInterface } from '../interfaces/icon-button.interface';
|
|
2
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
3
|
+
|
|
4
|
+
export const iconButtonStyle = defaultClassNames<IconButtonInterface>(
|
|
5
|
+
'iconButton',
|
|
6
|
+
({
|
|
7
|
+
variant,
|
|
8
|
+
disabled,
|
|
9
|
+
onToggle,
|
|
10
|
+
isActive,
|
|
11
|
+
size,
|
|
12
|
+
width,
|
|
13
|
+
shape,
|
|
14
|
+
allowShapeTransformation,
|
|
15
|
+
}) => {
|
|
16
|
+
return {
|
|
17
|
+
iconButton: classNames(
|
|
18
|
+
'rounded-full relative flex transition-all duration-300',
|
|
19
|
+
'group cursor-pointer',
|
|
20
|
+
{
|
|
21
|
+
'cursor-default': disabled,
|
|
22
|
+
},
|
|
23
|
+
(shape === 'rounded' ||
|
|
24
|
+
(shape === 'squared' &&
|
|
25
|
+
onToggle &&
|
|
26
|
+
!disabled &&
|
|
27
|
+
isActive &&
|
|
28
|
+
allowShapeTransformation)) && {
|
|
29
|
+
'rounded-[30px]': size === 'xSmall' || size == 'small',
|
|
30
|
+
'rounded-[40px]': size === 'medium',
|
|
31
|
+
'rounded-[70px]': size === 'large' || size == 'xLarge',
|
|
32
|
+
},
|
|
33
|
+
(shape === 'squared' ||
|
|
34
|
+
(shape === 'rounded' &&
|
|
35
|
+
onToggle &&
|
|
36
|
+
!disabled &&
|
|
37
|
+
isActive &&
|
|
38
|
+
allowShapeTransformation)) && {
|
|
39
|
+
'rounded-[12px]': size === 'xSmall' || size == 'small',
|
|
40
|
+
'rounded-[16px]': size === 'medium',
|
|
41
|
+
'rounded-[28px]': size === 'large' || size == 'xLarge',
|
|
42
|
+
},
|
|
43
|
+
allowShapeTransformation &&
|
|
44
|
+
!disabled && {
|
|
45
|
+
'group-active:rounded-[12px]': size === 'xSmall' || size == 'small',
|
|
46
|
+
'group-active:rounded-[16px]': size === 'medium',
|
|
47
|
+
'group-active:rounded-[28px]': size === 'large' || size == 'xLarge',
|
|
48
|
+
},
|
|
49
|
+
variant === 'filled' && [
|
|
50
|
+
!disabled && {
|
|
51
|
+
'bg-surface-container': !isActive && Boolean(onToggle),
|
|
52
|
+
'bg-primary': isActive || !onToggle,
|
|
53
|
+
},
|
|
54
|
+
Boolean(disabled) && 'bg-on-surface/[0.12]',
|
|
55
|
+
],
|
|
56
|
+
variant === 'tonal' && [
|
|
57
|
+
!disabled && {
|
|
58
|
+
'bg-surface-container': !isActive && Boolean(onToggle),
|
|
59
|
+
'bg-secondary-container': isActive || !onToggle,
|
|
60
|
+
},
|
|
61
|
+
Boolean(disabled) && 'bg-on-surface/[0.12]',
|
|
62
|
+
],
|
|
63
|
+
variant === 'outlined' && [
|
|
64
|
+
!disabled && {
|
|
65
|
+
'border border-outline': !isActive,
|
|
66
|
+
'border border-transparent bg-inverse-surface': isActive,
|
|
67
|
+
},
|
|
68
|
+
Boolean(disabled) && {
|
|
69
|
+
'border border-on-surface/[0.12]': !isActive,
|
|
70
|
+
'border border-transparent bg-on-surface/[0.12]': isActive,
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
),
|
|
74
|
+
touchTarget: classNames(
|
|
75
|
+
'absolute -translate-x-1/2 -translate-y-1/2 left-1/2 top-1/2 h-12 w-full',
|
|
76
|
+
),
|
|
77
|
+
stateLayer: classNames(
|
|
78
|
+
'absolute top-0 left-0 h-full w-full overflow-hidden',
|
|
79
|
+
(shape === 'rounded' ||
|
|
80
|
+
(shape === 'squared' &&
|
|
81
|
+
onToggle &&
|
|
82
|
+
!disabled &&
|
|
83
|
+
isActive &&
|
|
84
|
+
allowShapeTransformation)) && {
|
|
85
|
+
'rounded-[30px]': size === 'xSmall' || size == 'small',
|
|
86
|
+
'rounded-[40px]': size === 'medium',
|
|
87
|
+
'rounded-[70px]': size === 'large' || size == 'xLarge',
|
|
88
|
+
},
|
|
89
|
+
(shape === 'squared' ||
|
|
90
|
+
(shape === 'rounded' &&
|
|
91
|
+
onToggle &&
|
|
92
|
+
!disabled &&
|
|
93
|
+
isActive &&
|
|
94
|
+
allowShapeTransformation)) && {
|
|
95
|
+
'rounded-[12px]': size === 'xSmall' || size == 'small',
|
|
96
|
+
'rounded-[16px]': size === 'medium',
|
|
97
|
+
'rounded-[28px]': size === 'large' || size == 'xLarge',
|
|
98
|
+
},
|
|
99
|
+
allowShapeTransformation &&
|
|
100
|
+
!disabled && {
|
|
101
|
+
'group-active:rounded-[12px]': size === 'xSmall' || size == 'small',
|
|
102
|
+
'group-active:rounded-[16px]': size === 'medium',
|
|
103
|
+
'group-active:rounded-[28px]': size === 'large' || size == 'xLarge',
|
|
104
|
+
},
|
|
105
|
+
!disabled && [
|
|
106
|
+
variant === 'standard' && {
|
|
107
|
+
'state-on-surface-variant': !isActive,
|
|
108
|
+
'state-primary': isActive,
|
|
109
|
+
},
|
|
110
|
+
variant === 'filled' && {
|
|
111
|
+
'state-primary': !isActive && Boolean(onToggle),
|
|
112
|
+
'state-inverse-on-surface': isActive || !onToggle,
|
|
113
|
+
},
|
|
114
|
+
variant === 'tonal' && {
|
|
115
|
+
'state-on-surface-variant': !isActive && Boolean(onToggle),
|
|
116
|
+
'state-on-secondary-container': isActive || !onToggle,
|
|
117
|
+
},
|
|
118
|
+
variant === 'outlined' && {
|
|
119
|
+
'state-on-surface-variant': !isActive,
|
|
120
|
+
'state-on-primary': isActive,
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
),
|
|
124
|
+
icon: classNames(
|
|
125
|
+
' transition-all duration-300',
|
|
126
|
+
{ 'size-5 p-1.5': size === 'xSmall' },
|
|
127
|
+
{ 'size-6 p-2': size === 'small' },
|
|
128
|
+
{ 'size-6 p-4': size === 'medium' },
|
|
129
|
+
{ 'size-8 p-8': size === 'large' },
|
|
130
|
+
{ 'size-10 p-12': size === 'xLarge' },
|
|
131
|
+
width == 'narrow' && [
|
|
132
|
+
{ 'px-1': size === 'xSmall' },
|
|
133
|
+
{ 'px-1': size === 'small' },
|
|
134
|
+
{ 'px-3': size === 'medium' },
|
|
135
|
+
{ 'px-4': size === 'large' },
|
|
136
|
+
{ 'px-8': size === 'xLarge' },
|
|
137
|
+
],
|
|
138
|
+
width == 'wide' && [
|
|
139
|
+
{ 'px-2.5': size === 'xSmall' },
|
|
140
|
+
{ 'px-3.5': size === 'small' },
|
|
141
|
+
{ 'px-6': size === 'medium' },
|
|
142
|
+
{ 'px-12': size === 'large' },
|
|
143
|
+
{ 'px-[72px]': size === 'xLarge' },
|
|
144
|
+
],
|
|
145
|
+
!disabled && [
|
|
146
|
+
variant === 'standard' && {
|
|
147
|
+
'text-on-surface-variant': !isActive,
|
|
148
|
+
'text-primary': isActive,
|
|
149
|
+
},
|
|
150
|
+
variant === 'filled' && {
|
|
151
|
+
'text-primary': !isActive && Boolean(onToggle),
|
|
152
|
+
'text-on-primary': isActive || !onToggle,
|
|
153
|
+
},
|
|
154
|
+
variant === 'tonal' && {
|
|
155
|
+
'text-on-surface-variant': !isActive && Boolean(onToggle),
|
|
156
|
+
'text-on-secondary-container': isActive || !onToggle,
|
|
157
|
+
},
|
|
158
|
+
variant === 'outlined' && {
|
|
159
|
+
'text-on-surface-variant': !isActive,
|
|
160
|
+
'text-inverse-on-surface': isActive,
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
Boolean(disabled) && 'text-on-surface/[0.38]',
|
|
164
|
+
),
|
|
165
|
+
};
|
|
166
|
+
},
|
|
167
|
+
);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './button.style';
|
|
2
|
+
export * from './card.style';
|
|
3
|
+
export * from './carousel-item.style';
|
|
4
|
+
export * from './carousel.style';
|
|
5
|
+
export * from './divider.style';
|
|
6
|
+
export * from './fab.style';
|
|
7
|
+
export * from './icon-button.style';
|
|
8
|
+
export * from './progress-indicator.style';
|
|
9
|
+
export * from './slider.style';
|
|
10
|
+
export * from './snackbar.style';
|
|
11
|
+
export * from './switch.style';
|
|
12
|
+
export * from './tab.style';
|
|
13
|
+
export * from './tabs.style';
|
|
14
|
+
export * from './text-field.style';
|
|
15
|
+
export * from './tooltip.style';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
2
|
+
import { NavigationRailItemInterface } from '../interfaces';
|
|
3
|
+
|
|
4
|
+
export const navigationRailItemStyle =
|
|
5
|
+
defaultClassNames<NavigationRailItemInterface>(
|
|
6
|
+
'navigationRailItem',
|
|
7
|
+
({ isSelected, icon, label, variant }) => ({
|
|
8
|
+
navigationRailItem: classNames(' group flex flex-col pt-1 pb-1.5 cursor-pointer', {
|
|
9
|
+
'text-on-surface-variant': !isSelected,
|
|
10
|
+
'text-on-secondary-container': isSelected,
|
|
11
|
+
'gap-2 h-[68px]': variant == 'vertical',
|
|
12
|
+
'gap-0 h-[66px]': variant == 'horizontal',
|
|
13
|
+
}),
|
|
14
|
+
container: classNames(
|
|
15
|
+
' w-fit flex justify-center relative rounded-full items-center mx-5',
|
|
16
|
+
{
|
|
17
|
+
'bg-secondary-container overflow-hidden': isSelected,
|
|
18
|
+
'gap-2 ': variant == 'horizontal',
|
|
19
|
+
'gap-0 ': variant == 'vertical',
|
|
20
|
+
'p-4': !label,
|
|
21
|
+
},
|
|
22
|
+
label && [
|
|
23
|
+
'px-4',
|
|
24
|
+
{
|
|
25
|
+
'py-1 ': variant == 'vertical',
|
|
26
|
+
'py-4 ': variant == 'horizontal',
|
|
27
|
+
},
|
|
28
|
+
]
|
|
29
|
+
),
|
|
30
|
+
stateLayer: classNames(
|
|
31
|
+
' absolute w-full rounded-full h-full left-0 top-0 ',
|
|
32
|
+
{
|
|
33
|
+
'group-state-on-surface': !isSelected,
|
|
34
|
+
'group-state-on-secondary-container': isSelected,
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
|
|
38
|
+
icon: classNames('size-6 flex'),
|
|
39
|
+
label: classNames('w-fit mx-auto', {
|
|
40
|
+
'text-label-large ': variant == 'horizontal',
|
|
41
|
+
'text-label-medium': variant == 'vertical',
|
|
42
|
+
}),
|
|
43
|
+
})
|
|
44
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
2
|
+
import { NavigationRailInterface } from '../interfaces/navigation-rail.interface';
|
|
3
|
+
|
|
4
|
+
export const navigationRailStyle = defaultClassNames<NavigationRailInterface>(
|
|
5
|
+
'navigationRail',
|
|
6
|
+
({ isExtended, alignment }) => ({
|
|
7
|
+
navigationRail: classNames('flex flex-col left-0 h-full top-0 pt-11', {
|
|
8
|
+
'w-fit max-w-24': !isExtended,
|
|
9
|
+
'w-fit min-w-[220px] max-w-[360px]': isExtended,
|
|
10
|
+
'justify-between': alignment == 'middle',
|
|
11
|
+
'justify-start': alignment == 'top',
|
|
12
|
+
}),
|
|
13
|
+
header: classNames('flex flex-col gap-1 items-start'),
|
|
14
|
+
menuIcon: 'mx-5',
|
|
15
|
+
segments: classNames(' flex flex-col overflow-auto min-w-full mt-10', {
|
|
16
|
+
'w-full': !isExtended,
|
|
17
|
+
'w-fit items-start': isExtended,
|
|
18
|
+
}),
|
|
19
|
+
})
|
|
20
|
+
);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ProgressIndicatorInterface } from '../interfaces/progress-indicator.interface';
|
|
2
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
3
|
+
|
|
4
|
+
export const progressIndicatorStyle =
|
|
5
|
+
defaultClassNames<ProgressIndicatorInterface>(
|
|
6
|
+
'progressIndicator',
|
|
7
|
+
({ variant, isVisible }) => ({
|
|
8
|
+
progressIndicator: classNames(
|
|
9
|
+
(variant === 'linear-determinate' ||
|
|
10
|
+
variant == 'linear-indeterminate') &&
|
|
11
|
+
'flex w-full h-1',
|
|
12
|
+
),
|
|
13
|
+
track: classNames('h-full rounded-full bg-primary rounded-l-full', {
|
|
14
|
+
'max-h-0': !isVisible,
|
|
15
|
+
'max-h-full': isVisible,
|
|
16
|
+
}),
|
|
17
|
+
activeIndicator: classNames(
|
|
18
|
+
{
|
|
19
|
+
'max-h-0': !isVisible,
|
|
20
|
+
'max-h-full': isVisible,
|
|
21
|
+
},
|
|
22
|
+
(variant === 'linear-determinate' ||
|
|
23
|
+
variant == 'linear-indeterminate') &&
|
|
24
|
+
'h-full flex-1 rounded-full bg-primary-container',
|
|
25
|
+
|
|
26
|
+
(variant === 'circular-determinate' ||
|
|
27
|
+
variant == 'circular-indeterminate') && [
|
|
28
|
+
'stroke-primary fill-transparent ',
|
|
29
|
+
{
|
|
30
|
+
'stroke-[4px]': isVisible,
|
|
31
|
+
'stroke-[0px]': !isVisible,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
),
|
|
35
|
+
stop: classNames(
|
|
36
|
+
'absolute top-1/2 -translate-y-1/2 right-0 bg-primary rounded-full size-1',
|
|
37
|
+
{
|
|
38
|
+
'max-h-0': !isVisible,
|
|
39
|
+
'max-h-full': isVisible,
|
|
40
|
+
},
|
|
41
|
+
),
|
|
42
|
+
}),
|
|
43
|
+
);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
2
|
+
import { SliderInterface } from '../interfaces/slider.interface';
|
|
3
|
+
|
|
4
|
+
export const sliderStyle = defaultClassNames<SliderInterface>(
|
|
5
|
+
'slider',
|
|
6
|
+
({ isChanging }) => ({
|
|
7
|
+
slider: classNames([
|
|
8
|
+
'relative w-full h-11 flex items-center rounded gap-x-1.5 cursor-pointer',
|
|
9
|
+
]),
|
|
10
|
+
activeTrack: classNames([
|
|
11
|
+
'h-4 relative transition-all duration-100 bg-primary overflow-hidden rounded-l-full ',
|
|
12
|
+
]),
|
|
13
|
+
inactiveTrack: classNames([
|
|
14
|
+
'h-4 relative transition-all duration-100 bg-primary-container rounded-r-full overflow-hidden',
|
|
15
|
+
]),
|
|
16
|
+
handle: classNames([
|
|
17
|
+
'transform transition-all duration-100 bg-primary h-full rounded-full ',
|
|
18
|
+
{ 'w-0.5': isChanging, 'w-1': !isChanging },
|
|
19
|
+
]),
|
|
20
|
+
valueIndicator: classNames([
|
|
21
|
+
'absolute select-none bg-inverse-surface text-inverse-on-surface py-3 px-4 text-label-large rounded-full bottom-[calc(100%+4px)] transform left-1/2 -translate-x-1/2',
|
|
22
|
+
]),
|
|
23
|
+
dot: classNames([
|
|
24
|
+
'h-1 w-1 absolute transform -translate-y-1/2 -translate-x-1/2 top-1/2 rounded-full',
|
|
25
|
+
]),
|
|
26
|
+
})
|
|
27
|
+
);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
2
|
+
import { SnackbarInterface } from '../interfaces/snackbar.interface';
|
|
3
|
+
|
|
4
|
+
export const snackbarStyle = defaultClassNames<SnackbarInterface>(
|
|
5
|
+
'snackbar',
|
|
6
|
+
() => ({
|
|
7
|
+
snackbar: classNames(' rounded bg-inverse-surface '),
|
|
8
|
+
container: classNames(
|
|
9
|
+
'pl-4 pr-2 max-w-full py-1 flex items-center flex-wrap',
|
|
10
|
+
),
|
|
11
|
+
supportingText: classNames('text-body-medium text-inverse-on-surface '),
|
|
12
|
+
icon: classNames(' ml-auto mr-0 text-inverse-on-surface block dark'),
|
|
13
|
+
}),
|
|
14
|
+
);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
2
|
+
import { SwitchInterface } from '../interfaces/switch.interface';
|
|
3
|
+
|
|
4
|
+
export const switchStyle = defaultClassNames<SwitchInterface>(
|
|
5
|
+
'switch',
|
|
6
|
+
({ isSelected, disabled, inactiveIcon }) => ({
|
|
7
|
+
switch: classNames(
|
|
8
|
+
'group w-[52px] h-[32px] outline-none rounded-full border-2 flex items-center',
|
|
9
|
+
|
|
10
|
+
{ 'bg-on-surface/[0.12] border-transparent': disabled },
|
|
11
|
+
!disabled && [
|
|
12
|
+
'cursor-pointer ',
|
|
13
|
+
{ 'bg-primary border-primary': isSelected },
|
|
14
|
+
{ 'bg-surface-container border-outline': !isSelected },
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
// { 'justify-start': !isSelected },
|
|
18
|
+
// { 'justify-end': isSelected },
|
|
19
|
+
),
|
|
20
|
+
handleContainer: classNames(
|
|
21
|
+
'flex items-center justify-center absolute',
|
|
22
|
+
{ 'left-[14px]': !isSelected },
|
|
23
|
+
{ 'right-[14px]': isSelected }
|
|
24
|
+
),
|
|
25
|
+
handle: classNames(
|
|
26
|
+
'transition-all duration-100 z-10 rounded-full flex items-center justify-center',
|
|
27
|
+
{ 'w-[16px] h-[16px]': !isSelected && !inactiveIcon },
|
|
28
|
+
{ 'w-[24px] h-[24px]': !(!isSelected && !inactiveIcon) },
|
|
29
|
+
!disabled && [
|
|
30
|
+
'cursor-pointer group-active:h-[28px] group-active:w-[28px]',
|
|
31
|
+
{ 'bg-on-primary group-hover:bg-primary-container': isSelected },
|
|
32
|
+
{ 'bg-outline group-hover:bg-on-surface-variant': !isSelected },
|
|
33
|
+
],
|
|
34
|
+
|
|
35
|
+
{ 'bg-surface': disabled }
|
|
36
|
+
),
|
|
37
|
+
handleStateLayer: classNames(
|
|
38
|
+
'w-[40px] h-[40px] -z-10 rounded-full absolute',
|
|
39
|
+
{ 'group-state-primary': !disabled }
|
|
40
|
+
),
|
|
41
|
+
icon: classNames(
|
|
42
|
+
'w-[16px] h-[16px]',
|
|
43
|
+
!disabled && [
|
|
44
|
+
{ 'text-on-primary-container': isSelected },
|
|
45
|
+
{ 'text-on-primary': !isSelected },
|
|
46
|
+
],
|
|
47
|
+
|
|
48
|
+
{ 'text-on-surface/[0.38]': disabled }
|
|
49
|
+
),
|
|
50
|
+
})
|
|
51
|
+
);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { classNames } from '../utils';
|
|
2
|
+
import { TabInterface } from '../interfaces/tab.interface';
|
|
3
|
+
import { defaultClassNames } from '../utils/styles/get-classname';
|
|
4
|
+
|
|
5
|
+
export const tabStyle = defaultClassNames<TabInterface>(
|
|
6
|
+
'tab',
|
|
7
|
+
({ isSelected, icon, label, variant }) => ({
|
|
8
|
+
tab: classNames(
|
|
9
|
+
'bg-surface flex-1 group outline-none flex px-4 justify-center items-center cursor-pointer',
|
|
10
|
+
{ 'z-10': isSelected },
|
|
11
|
+
Boolean(icon && label) && variant === 'primary' && 'h-16',
|
|
12
|
+
!(Boolean(icon && label) && variant === 'primary') && 'h-12',
|
|
13
|
+
),
|
|
14
|
+
stateLayer: classNames(
|
|
15
|
+
'absolute w-full h-full overflow-hidden left-1/2 top-1/2 transform -translate-y-1/2 -translate-x-1/2',
|
|
16
|
+
variant === 'primary' && {
|
|
17
|
+
'group-hover:hover-state-on-surface group-focus-visible:focus-state-on-surface':
|
|
18
|
+
!isSelected,
|
|
19
|
+
'group-hover:hover-state-primary group-focus-visible:focus-state-primary':
|
|
20
|
+
isSelected,
|
|
21
|
+
},
|
|
22
|
+
variant === 'secondary' &&
|
|
23
|
+
'group-hover:hover-state-on-surface group-focus-visible:focus-state-on-surface',
|
|
24
|
+
),
|
|
25
|
+
content: classNames(
|
|
26
|
+
'flex gap-0.5 h-full justify-center',
|
|
27
|
+
{
|
|
28
|
+
relative: variant == 'primary',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
'': Boolean(label && !icon),
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
variant === 'primary' && 'flex-col items-center',
|
|
35
|
+
variant === 'secondary' && {
|
|
36
|
+
'flex-col items-center': Boolean(!(label && icon)),
|
|
37
|
+
'flex-row items-center gap-2': Boolean(label && icon),
|
|
38
|
+
},
|
|
39
|
+
),
|
|
40
|
+
icon: classNames(
|
|
41
|
+
'h-6 w-6 p-0.5 !box-border',
|
|
42
|
+
variant === 'primary' && {
|
|
43
|
+
'text-on-surface-variant': !isSelected,
|
|
44
|
+
'text-primary': isSelected,
|
|
45
|
+
},
|
|
46
|
+
variant === 'secondary' && {
|
|
47
|
+
'text-on-surface-variant': !isSelected,
|
|
48
|
+
'text-on-surface': isSelected,
|
|
49
|
+
},
|
|
50
|
+
),
|
|
51
|
+
label: classNames(
|
|
52
|
+
'text-title-small text-nowrap',
|
|
53
|
+
variant === 'primary' && {
|
|
54
|
+
'text-on-surface-variant': !isSelected,
|
|
55
|
+
'text-primary': isSelected,
|
|
56
|
+
},
|
|
57
|
+
variant === 'secondary' && {
|
|
58
|
+
'text-on-surface-variant': !isSelected,
|
|
59
|
+
'text-on-surface': isSelected,
|
|
60
|
+
},
|
|
61
|
+
),
|
|
62
|
+
underline: classNames(
|
|
63
|
+
'bg-primary absolute w-full left-0 bottom-0',
|
|
64
|
+
variant === 'primary' && 'h-[3px] rounded-t',
|
|
65
|
+
variant === 'secondary' && 'h-0.5',
|
|
66
|
+
),
|
|
67
|
+
}),
|
|
68
|
+
);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TabsInterface } from '../interfaces/tabs.interface';
|
|
2
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
3
|
+
|
|
4
|
+
export const tabsStyle = defaultClassNames<TabsInterface>(
|
|
5
|
+
'tabs',
|
|
6
|
+
({ scrollable }) => ({
|
|
7
|
+
tabs: classNames(
|
|
8
|
+
'border-b border-surface-container-highest',
|
|
9
|
+
'flex relative ',
|
|
10
|
+
{ 'overflow-x-auto': scrollable }
|
|
11
|
+
),
|
|
12
|
+
})
|
|
13
|
+
);
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { classNames } from '../utils';
|
|
3
|
+
import { TextFieldInterface } from '../interfaces/text-field.interface';
|
|
4
|
+
import { defaultClassNames } from '../utils/styles/get-classname';
|
|
5
|
+
|
|
6
|
+
export const textFieldStyle = defaultClassNames<TextFieldInterface>(
|
|
7
|
+
'textField',
|
|
8
|
+
({
|
|
9
|
+
disabled,
|
|
10
|
+
leadingIcon,
|
|
11
|
+
trailingIcon,
|
|
12
|
+
variant,
|
|
13
|
+
errorText,
|
|
14
|
+
isFocused,
|
|
15
|
+
value,
|
|
16
|
+
suffix,
|
|
17
|
+
textLine,
|
|
18
|
+
}) => ({
|
|
19
|
+
textField: classNames({
|
|
20
|
+
'opacity-[.38]': disabled,
|
|
21
|
+
}),
|
|
22
|
+
content: classNames(
|
|
23
|
+
'group transition-border duration-200 relative flex items-center ',
|
|
24
|
+
{ 'h-14': textLine == 'singleLine' },
|
|
25
|
+
{
|
|
26
|
+
'border-on-surface-variant':
|
|
27
|
+
!errorText?.length && !isFocused && variant == 'filled',
|
|
28
|
+
'border-outline':
|
|
29
|
+
!errorText?.length && !isFocused && variant == 'outlined',
|
|
30
|
+
'border-primary': !errorText?.length && isFocused,
|
|
31
|
+
'border-error': !!errorText?.length,
|
|
32
|
+
},
|
|
33
|
+
{ 'bg-on-surface/[0.04]': disabled },
|
|
34
|
+
variant == 'filled' && [
|
|
35
|
+
'rounded-t overflow-hidden border-b',
|
|
36
|
+
{ 'bg-surface-container-highest': !disabled },
|
|
37
|
+
],
|
|
38
|
+
|
|
39
|
+
variant == 'outlined' && [
|
|
40
|
+
'border rounded box-border',
|
|
41
|
+
{
|
|
42
|
+
'border-[3px]': isFocused,
|
|
43
|
+
},
|
|
44
|
+
]
|
|
45
|
+
),
|
|
46
|
+
stateLayer: classNames(
|
|
47
|
+
'absolute -z-10 w-full h-full top-0 left-0',
|
|
48
|
+
{
|
|
49
|
+
hidden: variant == 'outlined',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
'group-state-on-surface': !disabled,
|
|
53
|
+
'focus-state-on-surface': isFocused,
|
|
54
|
+
}
|
|
55
|
+
),
|
|
56
|
+
label: classNames(
|
|
57
|
+
'inline-flex outline-none whitespace-nowrap',
|
|
58
|
+
{ 'text-on-surface-variant': !disabled && !errorText?.length },
|
|
59
|
+
{ 'text-on-surface': disabled },
|
|
60
|
+
{ 'text-error': !!errorText?.length },
|
|
61
|
+
{ 'text-primary': !errorText?.length && isFocused }
|
|
62
|
+
),
|
|
63
|
+
input: classNames(
|
|
64
|
+
'w-full resize-none px-4 text-body-large bg-[inherit] outline-none autofill:transition-colors autofill:duration-[5000000ms]',
|
|
65
|
+
{
|
|
66
|
+
' text-on-surface placeholder:text-on-surface-variant': !disabled,
|
|
67
|
+
'placeholder:text-on-surface text-on-surface': disabled,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
'pr-0': !!suffix,
|
|
71
|
+
},
|
|
72
|
+
variant == 'filled' && ' pb-2 pt-6',
|
|
73
|
+
variant == 'outlined' && 'py-4 relative z-10'
|
|
74
|
+
),
|
|
75
|
+
activeIndicator: classNames(
|
|
76
|
+
'absolute w-0 inset-x-0 border-rounded mx-auto bottom-0',
|
|
77
|
+
variant == 'filled' && [
|
|
78
|
+
'h-[2px] transition-all duration-300',
|
|
79
|
+
{ 'bg-primary': !errorText?.length },
|
|
80
|
+
{ 'bg-error': !!errorText?.length },
|
|
81
|
+
{ '!w-full': isFocused },
|
|
82
|
+
]
|
|
83
|
+
),
|
|
84
|
+
supportingText: classNames(
|
|
85
|
+
' text-body-small px-4 pt-1',
|
|
86
|
+
{ 'text-on-surface-variant': !disabled && !errorText?.length },
|
|
87
|
+
{ 'text-on-surface': disabled },
|
|
88
|
+
{ '!w-full': isFocused },
|
|
89
|
+
{ 'text-error': !!errorText?.length }
|
|
90
|
+
),
|
|
91
|
+
leadingIcon: classNames([
|
|
92
|
+
'h-12 ml-3 flex items-center justify-center',
|
|
93
|
+
{ 'cursor-text': !React.isValidElement(leadingIcon) },
|
|
94
|
+
]),
|
|
95
|
+
trailingIcon: classNames('h-12 w-12 flex items-center justify-center', {
|
|
96
|
+
'cursor-text': !React.isValidElement(trailingIcon),
|
|
97
|
+
}),
|
|
98
|
+
suffix: classNames(
|
|
99
|
+
'text-on-surface-variant pl-0 pr-4',
|
|
100
|
+
variant == 'filled' && ' pb-2 pt-6',
|
|
101
|
+
variant == 'outlined' && 'py-4 relative z-10'
|
|
102
|
+
),
|
|
103
|
+
})
|
|
104
|
+
);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { classNames, defaultClassNames } from '../utils';
|
|
2
|
+
import { ToolTipInterface } from '../interfaces/tooltip.interface';
|
|
3
|
+
|
|
4
|
+
export const toolStyle = defaultClassNames<ToolTipInterface>(
|
|
5
|
+
'toolTip',
|
|
6
|
+
({ position, variant }) => ({
|
|
7
|
+
toolTip: classNames(
|
|
8
|
+
' pointer-events-auto w-max z-10 absolute m-1 w-max-content max-w-[312px]',
|
|
9
|
+
{
|
|
10
|
+
'bottom-full left-1/2 -translate-x-1/2': position == 'top',
|
|
11
|
+
'top-full left-1/2 -translate-x-1/2': position == 'bottom',
|
|
12
|
+
'right-full top-1/2 -translate-y-1/2': position == 'left',
|
|
13
|
+
'left-full top-1/2 -translate-y-1/2': position == 'right',
|
|
14
|
+
'bottom-full right-full': position == 'top-left',
|
|
15
|
+
'bottom-full left-full': position == 'top-right',
|
|
16
|
+
'top-full right-full': position == 'bottom-left',
|
|
17
|
+
'top-full left-full': position == 'bottom-right',
|
|
18
|
+
}
|
|
19
|
+
),
|
|
20
|
+
container: classNames(
|
|
21
|
+
'pb-2',
|
|
22
|
+
variant == 'rich' &&
|
|
23
|
+
'bg-surface-container rounded-2xl text-on-surface-container px-4 pt-3 shadow-2',
|
|
24
|
+
variant == 'plain' &&
|
|
25
|
+
'bg-inverse-surface rounded text-inverse-on-surface px-2 py-1'
|
|
26
|
+
),
|
|
27
|
+
actions: classNames(
|
|
28
|
+
'flex gap-10 px-1 mt-2',
|
|
29
|
+
variant == 'plain' && 'hidden'
|
|
30
|
+
),
|
|
31
|
+
subHead: classNames(
|
|
32
|
+
'text-title-small mb-1',
|
|
33
|
+
variant == 'plain' && 'hidden'
|
|
34
|
+
),
|
|
35
|
+
supportingText: classNames(''),
|
|
36
|
+
})
|
|
37
|
+
);
|