@udixio/ui-react 2.5.2 → 2.7.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/CHANGELOG.md +41 -0
- package/dist/index.cjs +2 -2
- package/dist/index.js +2566 -2264
- package/dist/lib/components/Button.d.ts.map +1 -1
- package/dist/lib/components/Card.d.ts.map +1 -1
- package/dist/lib/components/Carousel.d.ts +0 -2
- package/dist/lib/components/Carousel.d.ts.map +1 -1
- package/dist/lib/components/Fab.d.ts +1 -1
- package/dist/lib/components/Fab.d.ts.map +1 -1
- package/dist/lib/components/FabMenu.d.ts +9 -0
- package/dist/lib/components/FabMenu.d.ts.map +1 -0
- package/dist/lib/components/IconButton.d.ts.map +1 -1
- package/dist/lib/components/NavigationRail.d.ts.map +1 -1
- package/dist/lib/components/NavigationRailItem.d.ts.map +1 -1
- package/dist/lib/components/Tab.d.ts.map +1 -1
- package/dist/lib/components/ToolTip.d.ts.map +1 -1
- package/dist/lib/components/index.d.ts +1 -0
- package/dist/lib/components/index.d.ts.map +1 -1
- package/dist/lib/effects/AnimateOnScroll.d.ts.map +1 -1
- package/dist/lib/effects/State.d.ts +26 -0
- package/dist/lib/effects/State.d.ts.map +1 -0
- package/dist/lib/effects/index.d.ts +1 -0
- package/dist/lib/effects/index.d.ts.map +1 -1
- package/dist/lib/effects/ripple/RippleEffect.d.ts.map +1 -1
- package/dist/lib/interfaces/button.interface.d.ts +4 -1
- package/dist/lib/interfaces/button.interface.d.ts.map +1 -1
- package/dist/lib/interfaces/fab-menu.interface.d.ts +12 -0
- package/dist/lib/interfaces/fab-menu.interface.d.ts.map +1 -0
- package/dist/lib/interfaces/fab.interface.d.ts +2 -2
- package/dist/lib/interfaces/fab.interface.d.ts.map +1 -1
- package/dist/lib/interfaces/index.d.ts +1 -0
- package/dist/lib/interfaces/index.d.ts.map +1 -1
- package/dist/lib/interfaces/side-sheet.interface.d.ts +1 -1
- package/dist/lib/interfaces/side-sheet.interface.d.ts.map +1 -1
- package/dist/lib/styles/button.style.d.ts +43 -3
- package/dist/lib/styles/button.style.d.ts.map +1 -1
- package/dist/lib/styles/card.style.d.ts +9 -1
- package/dist/lib/styles/card.style.d.ts.map +1 -1
- package/dist/lib/styles/carousel-item.style.d.ts +11 -1
- package/dist/lib/styles/carousel-item.style.d.ts.map +1 -1
- package/dist/lib/styles/carousel.style.d.ts +16 -1
- package/dist/lib/styles/carousel.style.d.ts.map +1 -1
- package/dist/lib/styles/divider.style.d.ts +8 -2
- package/dist/lib/styles/divider.style.d.ts.map +1 -1
- package/dist/lib/styles/fab-menu.style.d.ts +83 -0
- package/dist/lib/styles/fab-menu.style.d.ts.map +1 -0
- package/dist/lib/styles/fab.style.d.ts +29 -5
- package/dist/lib/styles/fab.style.d.ts.map +1 -1
- package/dist/lib/styles/icon-button.style.d.ts +37 -1
- package/dist/lib/styles/icon-button.style.d.ts.map +1 -1
- package/dist/lib/styles/index.d.ts +2 -0
- package/dist/lib/styles/index.d.ts.map +1 -1
- package/dist/lib/styles/navigation-rail-item.style.d.ts +11 -1
- package/dist/lib/styles/navigation-rail-item.style.d.ts.map +1 -1
- package/dist/lib/styles/navigation-rail.style.d.ts +31 -1
- package/dist/lib/styles/navigation-rail.style.d.ts.map +1 -1
- package/dist/lib/styles/progress-indicator.style.d.ts +12 -1
- package/dist/lib/styles/progress-indicator.style.d.ts.map +1 -1
- package/dist/lib/styles/side-sheet.style.d.ts +20 -3
- package/dist/lib/styles/side-sheet.style.d.ts.map +1 -1
- package/dist/lib/styles/slider.style.d.ts +21 -2
- package/dist/lib/styles/slider.style.d.ts.map +1 -1
- package/dist/lib/styles/snackbar.style.d.ts +14 -3
- package/dist/lib/styles/snackbar.style.d.ts.map +1 -1
- package/dist/lib/styles/switch.style.d.ts +14 -2
- package/dist/lib/styles/switch.style.d.ts.map +1 -1
- package/dist/lib/styles/tab.style.d.ts +12 -2
- package/dist/lib/styles/tab.style.d.ts.map +1 -1
- package/dist/lib/styles/tabs.style.d.ts +17 -2
- package/dist/lib/styles/tabs.style.d.ts.map +1 -1
- package/dist/lib/styles/text-field.style.d.ts +23 -2
- package/dist/lib/styles/text-field.style.d.ts.map +1 -1
- package/dist/lib/styles/tooltip.style.d.ts +20 -3
- package/dist/lib/styles/tooltip.style.d.ts.map +1 -1
- package/dist/lib/utils/styles/get-classname.d.ts +3 -0
- package/dist/lib/utils/styles/get-classname.d.ts.map +1 -1
- package/dist/lib/utils/styles/index.d.ts +1 -0
- package/dist/lib/utils/styles/index.d.ts.map +1 -1
- package/dist/lib/utils/styles/use-classnames.d.ts +6 -0
- package/dist/lib/utils/styles/use-classnames.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/lib/components/Button.tsx +54 -20
- package/src/lib/components/Card.tsx +11 -9
- package/src/lib/components/Carousel.tsx +70 -205
- package/src/lib/components/CarouselItem.tsx +2 -2
- package/src/lib/components/Divider.tsx +2 -2
- package/src/lib/components/Fab.tsx +22 -21
- package/src/lib/components/FabMenu.tsx +229 -0
- package/src/lib/components/IconButton.tsx +24 -30
- package/src/lib/components/NavigationRail.tsx +7 -4
- package/src/lib/components/NavigationRailItem.tsx +13 -4
- package/src/lib/components/ProgressIndicator.tsx +2 -2
- package/src/lib/components/SideSheet.tsx +2 -2
- package/src/lib/components/Slider.tsx +2 -2
- package/src/lib/components/Snackbar.tsx +2 -2
- package/src/lib/components/Switch.tsx +2 -2
- package/src/lib/components/Tab.tsx +11 -11
- package/src/lib/components/Tabs.tsx +2 -2
- package/src/lib/components/TextField.tsx +2 -2
- package/src/lib/components/ToolTip.tsx +9 -3
- package/src/lib/components/index.ts +1 -0
- package/src/lib/effects/AnimateOnScroll.ts +51 -18
- package/src/lib/effects/State.tsx +83 -0
- package/src/lib/effects/index.ts +1 -0
- package/src/lib/effects/ripple/RippleEffect.tsx +40 -27
- package/src/lib/interfaces/button.interface.ts +5 -1
- package/src/lib/interfaces/fab-menu.interface.ts +12 -0
- package/src/lib/interfaces/fab.interface.ts +8 -2
- package/src/lib/interfaces/index.ts +1 -0
- package/src/lib/interfaces/side-sheet.interface.tsx +1 -1
- package/src/lib/styles/button.style.ts +127 -136
- package/src/lib/styles/card.style.ts +22 -17
- package/src/lib/styles/carousel-item.style.ts +23 -9
- package/src/lib/styles/carousel.style.ts +17 -5
- package/src/lib/styles/divider.style.ts +27 -13
- package/src/lib/styles/fab-menu.style.ts +28 -0
- package/src/lib/styles/fab.style.ts +41 -43
- package/src/lib/styles/icon-button.style.ts +160 -149
- package/src/lib/styles/index.ts +2 -0
- package/src/lib/styles/navigation-rail-item.style.ts +49 -40
- package/src/lib/styles/navigation-rail.style.ts +31 -15
- package/src/lib/styles/progress-indicator.style.ts +49 -36
- package/src/lib/styles/side-sheet.style.ts +41 -27
- package/src/lib/styles/slider.style.ts +37 -23
- package/src/lib/styles/snackbar.style.ts +22 -10
- package/src/lib/styles/switch.style.ts +61 -45
- package/src/lib/styles/tab.style.ts +76 -66
- package/src/lib/styles/tabs.style.ts +19 -10
- package/src/lib/styles/text-field.style.ts +108 -97
- package/src/lib/styles/tooltip.style.ts +42 -33
- package/src/lib/utils/styles/get-classname.ts +23 -0
- package/src/lib/utils/styles/index.ts +1 -0
- package/src/lib/utils/styles/use-classnames.ts +25 -0
- package/src/tests/useClassNames.spec.tsx +82 -0
|
@@ -1,145 +1,136 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ClassNameComponent } from '../utils';
|
|
2
|
+
import { classNames, createUseClassNames, defaultClassNames } from '../utils';
|
|
2
3
|
import { ButtonInterface } from '../interfaces';
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
size === '
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
5
|
+
const buttonConfig: ClassNameComponent<ButtonInterface> = ({
|
|
6
|
+
variant,
|
|
7
|
+
disableTextMargins,
|
|
8
|
+
disabled,
|
|
9
|
+
iconPosition,
|
|
10
|
+
icon,
|
|
11
|
+
isActive,
|
|
12
|
+
loading,
|
|
13
|
+
shape,
|
|
14
|
+
onToggle,
|
|
15
|
+
size,
|
|
16
|
+
allowShapeTransformation,
|
|
17
|
+
}) => ({
|
|
18
|
+
button: classNames(
|
|
19
|
+
' relative cursor-pointer group/button outline-none inline-block flex justify-center items-center ',
|
|
20
|
+
size === 'xSmall' && 'text-label-large px-3 py-1.5 gap-1',
|
|
21
|
+
size === 'small' && 'text-label-large px-4 py-2.5 gap-2',
|
|
22
|
+
size === 'medium' && 'text-title-medium px-6 py-4 gap-2',
|
|
23
|
+
size === 'large' && 'text-headline-small px-12 py-8 gap-3',
|
|
24
|
+
size === 'xLarge' && 'text-headline-large px-16 py-12 gap-4',
|
|
25
|
+
shape === 'rounded' && {
|
|
26
|
+
'rounded-[30px]': size === 'xSmall' || size == 'small',
|
|
27
|
+
'rounded-[40px]': size === 'medium',
|
|
28
|
+
'rounded-[70px]': size === 'large' || size == 'xLarge',
|
|
29
|
+
},
|
|
30
|
+
(shape === 'squared' || (allowShapeTransformation && isActive)) && {
|
|
31
|
+
'rounded-[12px]': size === 'xSmall' || size == 'small',
|
|
32
|
+
'rounded-[16px]': size === 'medium',
|
|
33
|
+
'rounded-[28px]': size === 'large' || size == 'xLarge',
|
|
34
|
+
},
|
|
35
|
+
allowShapeTransformation &&
|
|
36
|
+
!disabled && {
|
|
37
|
+
'active:rounded-[12px]': size === 'xSmall' || size == 'small',
|
|
38
|
+
'active:rounded-[16px]': size === 'medium',
|
|
39
|
+
'active:rounded-[28px]': size === 'large' || size == 'xLarge',
|
|
35
40
|
},
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
41
|
+
variant === 'elevated' && {
|
|
42
|
+
'shadow-1 hover:shadow-2': !disabled,
|
|
43
|
+
'bg-surface-container-low text-primary': !disabled && !isActive,
|
|
44
|
+
'bg-primary text-on-primary': !disabled && isActive,
|
|
45
|
+
'text-on-surface/[38%]': disabled,
|
|
46
|
+
},
|
|
47
|
+
variant === 'filled' && {
|
|
48
|
+
'hover:shadow-1': !disabled,
|
|
49
|
+
'bg-surface-container text-on-surface-variant':
|
|
50
|
+
!disabled && !isActive && onToggle,
|
|
51
|
+
'bg-primary text-on-primary':
|
|
52
|
+
!disabled && ((isActive && onToggle) || !onToggle),
|
|
53
|
+
'text-on-surface/[38%]': disabled,
|
|
54
|
+
},
|
|
55
|
+
variant === 'tonal' && {
|
|
56
|
+
'hover:shadow-1': !disabled,
|
|
57
|
+
'bg-secondary-container text-on-secondary-container':
|
|
58
|
+
!disabled && !isActive,
|
|
59
|
+
'bg-secondary text-on-secondary': !disabled && isActive,
|
|
60
|
+
'text-on-surface/[0.38]': disabled,
|
|
61
|
+
},
|
|
62
|
+
variant === 'outlined' && [
|
|
63
|
+
' border',
|
|
64
|
+
{
|
|
65
|
+
'border-on-surface/[0.12] text-on-surface/[0.38]': disabled,
|
|
66
|
+
|
|
67
|
+
'text-primary border-outline focus:border-primary':
|
|
59
68
|
!disabled && !isActive,
|
|
60
|
-
'bg-
|
|
69
|
+
'text-inverse-on-surface bg-inverse-surface border-inverse-surface':
|
|
70
|
+
!disabled && isActive,
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
variant === 'text' && [
|
|
74
|
+
'w-fit',
|
|
75
|
+
{
|
|
76
|
+
'text-primary': !disabled,
|
|
61
77
|
'text-on-surface/[0.38]': disabled,
|
|
62
78
|
},
|
|
63
|
-
|
|
64
|
-
'
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
],
|
|
74
|
-
variant === 'text' && [
|
|
75
|
-
'w-fit',
|
|
76
|
-
{
|
|
77
|
-
'text-primary': !disabled,
|
|
78
|
-
'text-on-surface/[0.38]': disabled,
|
|
79
|
-
},
|
|
80
|
-
disableTextMargins && [
|
|
81
|
-
size === 'xSmall' && '-mx-3 ',
|
|
82
|
-
size === 'small' && '-mx-4 ',
|
|
83
|
-
size === 'medium' && '-mx-6 ',
|
|
84
|
-
size === 'large' && '-mx-12',
|
|
85
|
-
size === 'xLarge' && '-mx-16 ',
|
|
86
|
-
// size === 'small' && ' -my-2.5',
|
|
87
|
-
// size === 'medium' && ' -my-4',
|
|
88
|
-
// size === 'large' && '-my-8',
|
|
89
|
-
// size === 'xLarge' && ' -my-12',
|
|
90
|
-
],
|
|
79
|
+
disableTextMargins && [
|
|
80
|
+
size === 'xSmall' && '-mx-3 ',
|
|
81
|
+
size === 'small' && '-mx-4 ',
|
|
82
|
+
size === 'medium' && '-mx-6 ',
|
|
83
|
+
size === 'large' && '-mx-12',
|
|
84
|
+
size === 'xLarge' && '-mx-16 ',
|
|
85
|
+
// size === 'small' && ' -my-2.5',
|
|
86
|
+
// size === 'medium' && ' -my-4',
|
|
87
|
+
// size === 'large' && '-my-8',
|
|
88
|
+
// size === 'xLarge' && ' -my-12',
|
|
91
89
|
],
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
90
|
+
],
|
|
91
|
+
disabled && 'cursor-default',
|
|
92
|
+
),
|
|
93
|
+
touchTarget: classNames(
|
|
94
|
+
'absolute -translate-x-1/2 -translate-y-1/2 left-1/2 top-1/2 h-12 w-full',
|
|
95
|
+
),
|
|
96
|
+
stateLayer: classNames(
|
|
97
|
+
'overflow-hidden',
|
|
98
|
+
shape === 'rounded' && {
|
|
99
|
+
'rounded-[30px]': size === 'xSmall' || size == 'small',
|
|
100
|
+
'rounded-[40px]': size === 'medium',
|
|
101
|
+
'rounded-[70px]': size === 'large' || size == 'xLarge',
|
|
102
|
+
},
|
|
103
|
+
(shape === 'squared' || (allowShapeTransformation && isActive)) && {
|
|
104
|
+
'rounded-[12px]': size === 'xSmall' || size == 'small',
|
|
105
|
+
'rounded-[16px]': size === 'medium',
|
|
106
|
+
'rounded-[28px]': size === 'large' || size == 'xLarge',
|
|
107
|
+
},
|
|
108
|
+
allowShapeTransformation &&
|
|
109
|
+
!disabled && {
|
|
110
|
+
'group-active/button:rounded-[12px]':
|
|
111
|
+
size === 'xSmall' || size == 'small',
|
|
112
|
+
'group-active/button:rounded-[16px]': size === 'medium',
|
|
113
|
+
'group-active/button:rounded-[28px]':
|
|
114
|
+
size === 'large' || size == 'xLarge',
|
|
112
115
|
},
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
},
|
|
134
|
-
),
|
|
135
|
-
label: classNames({ invisible: loading }),
|
|
136
|
-
icon: classNames(
|
|
137
|
-
{ invisible: loading },
|
|
138
|
-
size === 'xSmall' && 'size-5',
|
|
139
|
-
size === 'small' && 'size-5',
|
|
140
|
-
size === 'medium' && 'size-6',
|
|
141
|
-
size === 'large' && 'size-8',
|
|
142
|
-
size === 'xLarge' && 'size-10',
|
|
143
|
-
),
|
|
144
|
-
}),
|
|
116
|
+
),
|
|
117
|
+
label: classNames({ invisible: loading }),
|
|
118
|
+
icon: classNames(
|
|
119
|
+
{ invisible: loading },
|
|
120
|
+
size === 'xSmall' && 'size-5',
|
|
121
|
+
size === 'small' && 'size-5',
|
|
122
|
+
size === 'medium' && 'size-6',
|
|
123
|
+
size === 'large' && 'size-8',
|
|
124
|
+
size === 'xLarge' && 'size-10',
|
|
125
|
+
),
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
export const buttonStyle = defaultClassNames<ButtonInterface>(
|
|
129
|
+
'button',
|
|
130
|
+
buttonConfig,
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
export const useButtonStyle = createUseClassNames<ButtonInterface>(
|
|
134
|
+
'button',
|
|
135
|
+
buttonConfig,
|
|
145
136
|
);
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import { CardInterface } from '../interfaces';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
type ClassNameComponent,
|
|
4
|
+
classNames,
|
|
5
|
+
createUseClassNames,
|
|
6
|
+
defaultClassNames,
|
|
7
|
+
} from '../utils';
|
|
3
8
|
|
|
4
|
-
|
|
9
|
+
const cardConfig: ClassNameComponent<CardInterface> = ({
|
|
10
|
+
variant,
|
|
11
|
+
isInteractive,
|
|
12
|
+
}) => ({
|
|
13
|
+
card: classNames(
|
|
14
|
+
'group/card rounded-xl overflow-hidden z-10',
|
|
15
|
+
variant === 'outlined' && 'bg-surface border border-outline-variant',
|
|
16
|
+
variant === 'elevated' && 'bg-surface-container-low shadow-1',
|
|
17
|
+
variant === 'filled' && 'bg-surface-container-highest',
|
|
18
|
+
),
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export const cardStyle = defaultClassNames<CardInterface>('card', cardConfig);
|
|
22
|
+
|
|
23
|
+
export const useCardStyle = createUseClassNames<CardInterface>(
|
|
5
24
|
'card',
|
|
6
|
-
|
|
7
|
-
card: classNames(
|
|
8
|
-
'group/card rounded-xl overflow-hidden z-10',
|
|
9
|
-
variant === 'outlined' && 'bg-surface border border-outline-variant',
|
|
10
|
-
variant === 'elevated' && 'bg-surface-container-low shadow-1',
|
|
11
|
-
variant === 'filled' && 'bg-surface-container-highest',
|
|
12
|
-
),
|
|
13
|
-
stateLayer: classNames([
|
|
14
|
-
'w-full top-0 left-0 h-full absolute -z-10',
|
|
15
|
-
{
|
|
16
|
-
' group-hover/card:hover-state-on-surface group-focus-visible/card:focus-state-on-surface':
|
|
17
|
-
isInteractive,
|
|
18
|
-
},
|
|
19
|
-
]),
|
|
20
|
-
}),
|
|
25
|
+
cardConfig,
|
|
21
26
|
);
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
import { CarouselItemInterface } from '../interfaces';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
type ClassNameComponent,
|
|
4
|
+
classNames,
|
|
5
|
+
createUseClassNames,
|
|
6
|
+
defaultClassNames,
|
|
7
|
+
} from '../utils';
|
|
8
|
+
|
|
9
|
+
export const carouselItemConfig: ClassNameComponent<CarouselItemInterface> = ({
|
|
10
|
+
width,
|
|
11
|
+
}) => {
|
|
12
|
+
return {
|
|
13
|
+
carouselItem: classNames('rounded-[28px] overflow-hidden flex-none', {
|
|
14
|
+
hidden: width === undefined,
|
|
15
|
+
'flex-1': width == null,
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
};
|
|
3
19
|
|
|
4
20
|
export const carouselItemStyle = defaultClassNames<CarouselItemInterface>(
|
|
5
21
|
'carouselItem',
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
},
|
|
22
|
+
carouselItemConfig,
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
export const useCarouselItemStyle = createUseClassNames<CarouselItemInterface>(
|
|
26
|
+
'carouselItem',
|
|
27
|
+
carouselItemConfig,
|
|
14
28
|
);
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type ClassNameComponent,
|
|
3
|
+
classNames,
|
|
4
|
+
createUseClassNames,
|
|
5
|
+
defaultClassNames,
|
|
6
|
+
} from '../utils';
|
|
2
7
|
import { CarouselInterface } from '../interfaces';
|
|
3
8
|
|
|
9
|
+
const carouselConfig: ClassNameComponent<CarouselInterface> = () => ({
|
|
10
|
+
carousel: classNames(['w-full h-[400px]']),
|
|
11
|
+
track: classNames('flex h-full w-full'),
|
|
12
|
+
});
|
|
13
|
+
|
|
4
14
|
export const carouselStyle = defaultClassNames<CarouselInterface>(
|
|
5
15
|
'carousel',
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
16
|
+
carouselConfig,
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
export const useCarouselStyle = createUseClassNames<CarouselInterface>(
|
|
20
|
+
'carousel',
|
|
21
|
+
carouselConfig,
|
|
10
22
|
);
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
import { DividerInterface } from '../interfaces
|
|
2
|
-
import {
|
|
1
|
+
import { DividerInterface } from '../interfaces';
|
|
2
|
+
import {
|
|
3
|
+
type ClassNameComponent,
|
|
4
|
+
classNames,
|
|
5
|
+
createUseClassNames,
|
|
6
|
+
defaultClassNames,
|
|
7
|
+
} from '../utils';
|
|
8
|
+
|
|
9
|
+
const dividerConfig: ClassNameComponent<DividerInterface> = ({
|
|
10
|
+
orientation,
|
|
11
|
+
}) => ({
|
|
12
|
+
divider: classNames(
|
|
13
|
+
'border-outline-variant ',
|
|
14
|
+
{
|
|
15
|
+
'h-fit w-full border-t': orientation === 'horizontal',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
'h-auto self-stretch w-fit border-l': orientation === 'vertical',
|
|
19
|
+
},
|
|
20
|
+
),
|
|
21
|
+
});
|
|
3
22
|
|
|
4
23
|
export const dividerStyle = defaultClassNames<DividerInterface>(
|
|
5
24
|
'divider',
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
{
|
|
13
|
-
'h-auto self-stretch w-fit border-l': orientation === 'vertical',
|
|
14
|
-
}
|
|
15
|
-
),
|
|
16
|
-
})
|
|
25
|
+
dividerConfig,
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
export const useDividerStyle = createUseClassNames<DividerInterface>(
|
|
29
|
+
'divider',
|
|
30
|
+
dividerConfig,
|
|
17
31
|
);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ClassNameComponent,
|
|
3
|
+
classNames,
|
|
4
|
+
createUseClassNames,
|
|
5
|
+
defaultClassNames,
|
|
6
|
+
} from '../utils';
|
|
7
|
+
import { FabMenuInterface } from '../interfaces/fab-menu.interface';
|
|
8
|
+
|
|
9
|
+
const fabMenuConfig: ClassNameComponent<FabMenuInterface> = ({
|
|
10
|
+
size,
|
|
11
|
+
variant,
|
|
12
|
+
open,
|
|
13
|
+
}) => ({
|
|
14
|
+
fabMenu: classNames('relative inline-flex flex-col items-end'),
|
|
15
|
+
actions: classNames(
|
|
16
|
+
'flex flex-col gap-1 items-end absolute bottom-[calc(100%_+_8px)] right-0',
|
|
17
|
+
),
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export const fabMenuStyle = defaultClassNames<FabMenuInterface>(
|
|
21
|
+
'fabMenu',
|
|
22
|
+
fabMenuConfig,
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
export const useFabMenuStyle = createUseClassNames<FabMenuInterface>(
|
|
26
|
+
'fabMenu',
|
|
27
|
+
fabMenuConfig,
|
|
28
|
+
);
|
|
@@ -1,47 +1,45 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type ClassNameComponent,
|
|
3
|
+
classNames,
|
|
4
|
+
createUseClassNames,
|
|
5
|
+
defaultClassNames,
|
|
6
|
+
} from '../utils';
|
|
2
7
|
import { FabInterface } from '../interfaces/fab.interface';
|
|
3
8
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
'
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
'group-hover:hover-state-on-tertiary-container group-focus-visible:focus-state-on-tertiary-container',
|
|
38
|
-
),
|
|
9
|
+
const fabConfig: ClassNameComponent<FabInterface> = ({
|
|
10
|
+
size,
|
|
11
|
+
variant,
|
|
12
|
+
extended,
|
|
13
|
+
}) => ({
|
|
14
|
+
fab: classNames(
|
|
15
|
+
'flex shadow-3 hover:shadow-4 group/fab overflow-hidden outline-none items-center cursor-pointer',
|
|
16
|
+
{
|
|
17
|
+
'rounded-[12px]': size == 'small' && !extended,
|
|
18
|
+
'rounded-[16px]': size == 'medium' || extended,
|
|
19
|
+
'rounded-[28px]': size == 'large' && !extended,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
'p-2': size == 'small' && !extended,
|
|
23
|
+
'p-4': size == 'medium' || extended,
|
|
24
|
+
'p-[30px]': size == 'large' && !extended,
|
|
25
|
+
},
|
|
26
|
+
variant === 'primary' && 'bg-primary text-on-primary',
|
|
27
|
+
variant === 'secondary' && 'bg-secondary text-on-secondary',
|
|
28
|
+
variant === 'tertiary' && 'bg-tertiary text-on-tertiary',
|
|
29
|
+
variant === 'primaryContainer' &&
|
|
30
|
+
'bg-primary-container text-on-primary-container',
|
|
31
|
+
variant === 'secondaryContainer' &&
|
|
32
|
+
'bg-secondary-container text-on-secondary-container',
|
|
33
|
+
variant === 'tertiaryContainer' &&
|
|
34
|
+
'bg-tertiary-container text-on-tertiary-container',
|
|
35
|
+
),
|
|
36
|
+
icon: classNames({
|
|
37
|
+
'size-6': size == 'small' || size == 'medium' || extended,
|
|
38
|
+
'size-9': size == 'large' && !extended,
|
|
39
|
+
}),
|
|
40
|
+
label: classNames('text-title-medium text-nowrap'),
|
|
41
|
+
});
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
'size-6': size == 'small' || size == 'medium' || isExtended,
|
|
42
|
-
'size-9': size == 'large' && !isExtended,
|
|
43
|
-
}),
|
|
43
|
+
export const fabStyle = defaultClassNames<FabInterface>('fab', fabConfig);
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
}),
|
|
47
|
-
);
|
|
45
|
+
export const useFabStyle = createUseClassNames<FabInterface>('fab', fabConfig);
|