@saas-ui/react 3.0.0-next.26 → 3.0.0-next.28
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 +16 -0
- package/dist/.tsbuildinfo.json +1 -1
- package/dist/components/action-bar/action-bar.recipe.js +1 -1
- package/dist/components/avatar/avatar.recipe.d.ts +6 -7
- package/dist/components/avatar/avatar.recipe.js +6 -7
- package/dist/components/breadcrumb/breadcrumb.recipe.js +1 -1
- package/dist/components/button/button.recipe.d.ts +4 -1
- package/dist/components/button/button.recipe.js +4 -1
- package/dist/components/card/card.recipe.d.ts +13 -5
- package/dist/components/card/card.recipe.js +18 -9
- package/dist/components/checkbox/checkbox.recipe.d.ts +4 -4
- package/dist/components/checkbox-card/checkbox-card.recipe.d.ts +2 -2
- package/dist/components/checkbox-card/checkbox-card.recipe.js +3 -2
- package/dist/components/checkmark/checkmark.recipe.d.ts +3 -3
- package/dist/components/checkmark/checkmark.recipe.js +4 -4
- package/dist/components/code/code.recipe.js +1 -1
- package/dist/components/collapsible/collapsible.recipe.d.ts +1 -1
- package/dist/components/dialog/dialog.recipe.d.ts +18 -0
- package/dist/components/dialog/dialog.recipe.js +34 -3
- package/dist/components/drawer/drawer.recipe.js +5 -0
- package/dist/components/editable/editable.recipe.js +1 -1
- package/dist/components/grid-list/grid-list.recipe.js +4 -5
- package/dist/components/icon-badge/icon-badge.d.ts +1 -1
- package/dist/components/icon-badge/icon-badge.recipe.js +1 -0
- package/dist/components/input/input-addon.recipe.d.ts +1 -1
- package/dist/components/input/input-addon.recipe.js +1 -1
- package/dist/components/kbd/kbd.recipe.js +1 -1
- package/dist/components/link/link.recipe.js +1 -1
- package/dist/components/loading-overlay/loading-overlay.recipe.d.ts +3 -12
- package/dist/components/loading-overlay/loading-overlay.recipe.js +3 -12
- package/dist/components/menu/menu.js +2 -1
- package/dist/components/menu/menu.recipe.d.ts +2 -0
- package/dist/components/menu/menu.recipe.js +4 -2
- package/dist/components/native-select/native-select.recipe.js +1 -1
- package/dist/components/navbar/navbar.d.ts +3 -3
- package/dist/components/navbar/navbar.recipe.js +1 -4
- package/dist/components/page/page.d.ts +3 -3
- package/dist/components/page/page.recipe.d.ts +4 -0
- package/dist/components/page/page.recipe.js +4 -2
- package/dist/components/progress/progress.recipe.d.ts +2 -2
- package/dist/components/progress/progress.recipe.js +3 -2
- package/dist/components/radio/index.d.ts +1 -0
- package/dist/components/radio/index.js +1 -0
- package/dist/components/radio-card/radio-card.recipe.js +1 -1
- package/dist/components/section/section.d.ts +2 -2
- package/dist/components/select/select.recipe.js +5 -4
- package/dist/components/sidebar/sidebar.d.ts +14 -13
- package/dist/components/sidebar/sidebar.recipe.js +1 -1
- package/dist/components/skeleton/skeleton.recipe.d.ts +1 -1
- package/dist/components/skeleton/skeleton.recipe.js +1 -1
- package/dist/components/skip-nav-link/skip-nav-link.recipe.js +1 -1
- package/dist/components/stat/stat.recipe.js +1 -1
- package/dist/components/steps/steps.recipe.js +1 -1
- package/dist/components/tabs/tabs.recipe.d.ts +29 -9
- package/dist/components/tabs/tabs.recipe.js +29 -9
- package/dist/components/tag/tag.recipe.d.ts +1 -1
- package/dist/components/tooltip/tooltip.recipe.js +1 -1
- package/dist/theme/conditions.d.ts +1 -0
- package/dist/theme/conditions.js +1 -0
- package/dist/theme/global-css.js +5 -2
- package/dist/theme/layer-styles.js +12 -4
- package/dist/theme/recipes.d.ts +9 -6
- package/dist/theme/semantic-tokens/colors.js +1 -1
- package/dist/theme/semantic-tokens/shadows.js +1 -1
- package/dist/theme/slot-recipes.d.ts +121 -79
- package/package.json +1 -1
@@ -33,6 +33,7 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
33
33
|
root: {
|
34
34
|
'--tabs-height': "sizes.6";
|
35
35
|
'--tabs-content-padding': "spacing.2";
|
36
|
+
'--tabs-trigger-radius': "radii.control.sm";
|
36
37
|
};
|
37
38
|
trigger: {
|
38
39
|
py: "1";
|
@@ -44,6 +45,7 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
44
45
|
root: {
|
45
46
|
'--tabs-height': "sizes.7";
|
46
47
|
'--tabs-content-padding': "spacing.3";
|
48
|
+
'--tabs-trigger-radius': "radii.control.md";
|
47
49
|
};
|
48
50
|
trigger: {
|
49
51
|
py: "1";
|
@@ -55,6 +57,7 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
55
57
|
root: {
|
56
58
|
'--tabs-height': "sizes.8";
|
57
59
|
'--tabs-content-padding': "spacing.4";
|
60
|
+
'--tabs-trigger-radius': "radii.control.md";
|
58
61
|
};
|
59
62
|
trigger: {
|
60
63
|
py: "2";
|
@@ -66,6 +69,7 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
66
69
|
root: {
|
67
70
|
'--tabs-height': "sizes.10";
|
68
71
|
'--tabs-content-padding': "spacing.4.5";
|
72
|
+
'--tabs-trigger-radius': "radii.control.lg";
|
69
73
|
};
|
70
74
|
trigger: {
|
71
75
|
py: "2";
|
@@ -97,9 +101,11 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
97
101
|
};
|
98
102
|
};
|
99
103
|
_selected: {
|
100
|
-
color: "fg
|
104
|
+
color: "fg";
|
101
105
|
_horizontal: {
|
102
106
|
layerStyle: "indicator.bottom";
|
107
|
+
borderTopRadius: "3px";
|
108
|
+
'--indicator-offset-x': "spacing.3";
|
103
109
|
'--indicator-offset-y': "-1px";
|
104
110
|
'--indicator-color': "colors.colorPalette.solid";
|
105
111
|
};
|
@@ -124,9 +130,13 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
124
130
|
color: "fg.subtle";
|
125
131
|
};
|
126
132
|
_selected: {
|
127
|
-
bg: "colorPalette.subtle
|
128
|
-
color: "colorPalette.fg
|
129
|
-
borderColor: "colorPalette.solid/
|
133
|
+
bg: "colorPalette.subtle";
|
134
|
+
color: "colorPalette.fg";
|
135
|
+
borderColor: "colorPalette.solid/40";
|
136
|
+
_hover: {
|
137
|
+
bg: "colorPalette.subtle";
|
138
|
+
color: "colorPalette.fg";
|
139
|
+
};
|
130
140
|
};
|
131
141
|
};
|
132
142
|
};
|
@@ -136,14 +146,18 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
136
146
|
};
|
137
147
|
trigger: {
|
138
148
|
borderRadius: "var(--tabs-trigger-radius)";
|
139
|
-
color: "fg.
|
149
|
+
color: "fg.subtle";
|
140
150
|
_hover: {
|
141
|
-
bg: "
|
142
|
-
color: "fg
|
151
|
+
bg: "colorPalette.muted";
|
152
|
+
color: "colorPalette.fg";
|
143
153
|
};
|
144
154
|
_selected: {
|
145
|
-
bg: "colorPalette.subtle
|
146
|
-
color: "colorPalette.fg
|
155
|
+
bg: "colorPalette.subtle";
|
156
|
+
color: "colorPalette.fg";
|
157
|
+
_hover: {
|
158
|
+
bg: "colorPalette.subtle";
|
159
|
+
color: "colorPalette.fg";
|
160
|
+
};
|
147
161
|
};
|
148
162
|
};
|
149
163
|
};
|
@@ -159,6 +173,9 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
159
173
|
justifyContent: "center";
|
160
174
|
color: "fg.muted";
|
161
175
|
borderRadius: "var(--tabs-trigger-radius)";
|
176
|
+
_hover: {
|
177
|
+
color: "fg.subtle";
|
178
|
+
};
|
162
179
|
_selected: {
|
163
180
|
bg: "bg";
|
164
181
|
color: "colorPalette.fg";
|
@@ -197,6 +214,9 @@ export declare const tabsSlotRecipe: import("@chakra-ui/react").SlotRecipeDefini
|
|
197
214
|
color: "fg.muted";
|
198
215
|
borderWidth: "1px";
|
199
216
|
borderColor: "transparent";
|
217
|
+
_hover: {
|
218
|
+
color: "fg.subtle";
|
219
|
+
};
|
200
220
|
_selected: {
|
201
221
|
bg: "currentBg";
|
202
222
|
color: "colorPalette.fg";
|
@@ -103,6 +103,7 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
103
103
|
root: {
|
104
104
|
'--tabs-height': 'sizes.6',
|
105
105
|
'--tabs-content-padding': 'spacing.2',
|
106
|
+
'--tabs-trigger-radius': 'radii.control.sm',
|
106
107
|
},
|
107
108
|
trigger: {
|
108
109
|
py: '1',
|
@@ -114,6 +115,7 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
114
115
|
root: {
|
115
116
|
'--tabs-height': 'sizes.7',
|
116
117
|
'--tabs-content-padding': 'spacing.3',
|
118
|
+
'--tabs-trigger-radius': 'radii.control.md',
|
117
119
|
},
|
118
120
|
trigger: {
|
119
121
|
py: '1',
|
@@ -125,6 +127,7 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
125
127
|
root: {
|
126
128
|
'--tabs-height': 'sizes.8',
|
127
129
|
'--tabs-content-padding': 'spacing.4',
|
130
|
+
'--tabs-trigger-radius': 'radii.control.md',
|
128
131
|
},
|
129
132
|
trigger: {
|
130
133
|
py: '2',
|
@@ -136,6 +139,7 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
136
139
|
root: {
|
137
140
|
'--tabs-height': 'sizes.10',
|
138
141
|
'--tabs-content-padding': 'spacing.4.5',
|
142
|
+
'--tabs-trigger-radius': 'radii.control.lg',
|
139
143
|
},
|
140
144
|
trigger: {
|
141
145
|
py: '2',
|
@@ -165,9 +169,11 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
165
169
|
_active: { bg: 'initial' },
|
166
170
|
},
|
167
171
|
_selected: {
|
168
|
-
color: 'fg
|
172
|
+
color: 'fg',
|
169
173
|
_horizontal: {
|
170
174
|
layerStyle: 'indicator.bottom',
|
175
|
+
borderTopRadius: '3px',
|
176
|
+
'--indicator-offset-x': 'spacing.3',
|
171
177
|
'--indicator-offset-y': '-1px',
|
172
178
|
'--indicator-color': 'colors.colorPalette.solid',
|
173
179
|
},
|
@@ -192,9 +198,13 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
192
198
|
color: 'fg.subtle',
|
193
199
|
},
|
194
200
|
_selected: {
|
195
|
-
bg: 'colorPalette.subtle
|
196
|
-
color: 'colorPalette.fg
|
197
|
-
borderColor: 'colorPalette.solid/
|
201
|
+
bg: 'colorPalette.subtle',
|
202
|
+
color: 'colorPalette.fg',
|
203
|
+
borderColor: 'colorPalette.solid/40',
|
204
|
+
_hover: {
|
205
|
+
bg: 'colorPalette.subtle',
|
206
|
+
color: 'colorPalette.fg',
|
207
|
+
},
|
198
208
|
},
|
199
209
|
},
|
200
210
|
},
|
@@ -204,14 +214,18 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
204
214
|
},
|
205
215
|
trigger: {
|
206
216
|
borderRadius: 'var(--tabs-trigger-radius)',
|
207
|
-
color: 'fg.
|
217
|
+
color: 'fg.subtle',
|
208
218
|
_hover: {
|
209
|
-
bg: '
|
210
|
-
color: 'fg
|
219
|
+
bg: 'colorPalette.muted',
|
220
|
+
color: 'colorPalette.fg',
|
211
221
|
},
|
212
222
|
_selected: {
|
213
|
-
bg: 'colorPalette.subtle
|
214
|
-
color: 'colorPalette.fg
|
223
|
+
bg: 'colorPalette.subtle',
|
224
|
+
color: 'colorPalette.fg',
|
225
|
+
_hover: {
|
226
|
+
bg: 'colorPalette.subtle',
|
227
|
+
color: 'colorPalette.fg',
|
228
|
+
},
|
215
229
|
},
|
216
230
|
},
|
217
231
|
},
|
@@ -227,6 +241,9 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
227
241
|
justifyContent: 'center',
|
228
242
|
color: 'fg.muted',
|
229
243
|
borderRadius: 'var(--tabs-trigger-radius)',
|
244
|
+
_hover: {
|
245
|
+
color: 'fg.subtle',
|
246
|
+
},
|
230
247
|
_selected: {
|
231
248
|
bg: 'bg',
|
232
249
|
color: 'colorPalette.fg',
|
@@ -265,6 +282,9 @@ export const tabsSlotRecipe = defineSlotRecipe({
|
|
265
282
|
color: 'fg.muted',
|
266
283
|
borderWidth: '1px',
|
267
284
|
borderColor: 'transparent',
|
285
|
+
_hover: {
|
286
|
+
color: 'fg.subtle',
|
287
|
+
},
|
268
288
|
_selected: {
|
269
289
|
bg: 'currentBg',
|
270
290
|
color: 'colorPalette.fg',
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export declare const tagSlotRecipe: import("@chakra-ui/react").SlotRecipeDefinition<"label" | "root" | "closeTrigger" | "
|
1
|
+
export declare const tagSlotRecipe: import("@chakra-ui/react").SlotRecipeDefinition<"label" | "root" | "closeTrigger" | "endElement" | "startElement", {
|
2
2
|
size: {
|
3
3
|
sm: {
|
4
4
|
root: {
|
package/dist/theme/conditions.js
CHANGED
@@ -15,4 +15,5 @@ export const conditions = defineConditions({
|
|
15
15
|
parentHover: 'button:hover &, a:hover &, [role=button]:hover &',
|
16
16
|
pressable: '&:is(a, button, [role=button])',
|
17
17
|
popupExpanded: '&:is([aria-haspopup][aria-expanded=true], [aria-haspopup][data-expanded], [aria-haspopup][data-state=expanded])',
|
18
|
+
rowHover: 'tr:hover &, [role=row]:hover &',
|
18
19
|
});
|
package/dist/theme/global-css.js
CHANGED
@@ -43,14 +43,17 @@ export const globalCss = defineGlobalStyles({
|
|
43
43
|
'--overlay-effect': 'blur({blurs.lg})',
|
44
44
|
'--backdrop-effect': 'none',
|
45
45
|
},
|
46
|
+
'.dark *': {
|
47
|
+
'--overlay-translucency': '85%',
|
48
|
+
},
|
46
49
|
body: {
|
47
50
|
color: 'fg',
|
48
51
|
bg: 'bg',
|
49
52
|
lineHeight: '1.5',
|
50
53
|
colorPalette: 'accent',
|
51
54
|
},
|
52
|
-
'*::placeholder': {
|
53
|
-
color: 'fg.
|
55
|
+
'*::placeholder, *[data-placeholder]': {
|
56
|
+
color: 'fg.muted/90',
|
54
57
|
},
|
55
58
|
'*::selection': {
|
56
59
|
bg: 'colorPalette.solid/20',
|
@@ -52,7 +52,9 @@ export const layerStyles = defineLayerStyles({
|
|
52
52
|
position: 'absolute',
|
53
53
|
bottom: 'var(--indicator-offset-y, 0)',
|
54
54
|
insetInline: 'var(--indicator-offset-x, 0)',
|
55
|
-
height: 'var(--indicator-thickness,
|
55
|
+
height: 'var(--indicator-thickness, 3px)',
|
56
|
+
borderTopLeftRadius: 'var(--indicator-thickness, 3px)',
|
57
|
+
borderTopRightRadius: 'var(--indicator-thickness, 3px)',
|
56
58
|
background: 'var(--indicator-color, var(--indicator-color-fallback))',
|
57
59
|
},
|
58
60
|
},
|
@@ -66,7 +68,9 @@ export const layerStyles = defineLayerStyles({
|
|
66
68
|
position: 'absolute',
|
67
69
|
top: 'var(--indicator-offset-y, 0)',
|
68
70
|
insetInline: 'var(--indicator-offset-x, 0)',
|
69
|
-
height: 'var(--indicator-thickness,
|
71
|
+
height: 'var(--indicator-thickness, 3px)',
|
72
|
+
borderBottomLeftRadius: 'var(--indicator-thickness, 3px)',
|
73
|
+
borderBottomRightRadius: 'var(--indicator-thickness, 3px)',
|
70
74
|
background: 'var(--indicator-color, var(--indicator-color-fallback))',
|
71
75
|
},
|
72
76
|
},
|
@@ -80,7 +84,9 @@ export const layerStyles = defineLayerStyles({
|
|
80
84
|
position: 'absolute',
|
81
85
|
insetInlineStart: 'var(--indicator-offset-x, 0)',
|
82
86
|
insetBlock: 'var(--indicator-offset-y, 0)',
|
83
|
-
width: 'var(--indicator-thickness,
|
87
|
+
width: 'var(--indicator-thickness, 3px)',
|
88
|
+
borderTopLeftRadius: 'var(--indicator-thickness, 3px)',
|
89
|
+
borderBottomLeftRadius: 'var(--indicator-thickness, 3px)',
|
84
90
|
background: 'var(--indicator-color, var(--indicator-color-fallback))',
|
85
91
|
},
|
86
92
|
},
|
@@ -94,7 +100,9 @@ export const layerStyles = defineLayerStyles({
|
|
94
100
|
position: 'absolute',
|
95
101
|
insetInlineEnd: 'var(--indicator-offset-x, 0)',
|
96
102
|
insetBlock: 'var(--indicator-offset-y, 0)',
|
97
|
-
width: 'var(--indicator-thickness,
|
103
|
+
width: 'var(--indicator-thickness, 3px)',
|
104
|
+
borderTopRightRadius: 'var(--indicator-thickness, 3px)',
|
105
|
+
borderBottomRightRadius: 'var(--indicator-thickness, 3px)',
|
98
106
|
background: 'var(--indicator-color, var(--indicator-color-fallback))',
|
99
107
|
},
|
100
108
|
},
|
package/dist/theme/recipes.d.ts
CHANGED
@@ -116,7 +116,10 @@ export declare const recipes: {
|
|
116
116
|
bg: "colorPalette.solid";
|
117
117
|
color: "colorPalette.contrast";
|
118
118
|
'--btn-shadow': "shadows.sm";
|
119
|
-
boxShadow:
|
119
|
+
boxShadow: {
|
120
|
+
base: "0 0 0 1px rgba(0,0,0,0.25) inset, 0px 2px 0px 0px rgba(255,255,255,0.2) inset, var(--btn-shadow)";
|
121
|
+
_dark: " 0px 1px 0px 0px rgba(255,255,255,0.2) inset, var(--btn-shadow)";
|
122
|
+
};
|
120
123
|
textShadow: "0 1px 2px rgba(0,0,0,0.3)";
|
121
124
|
overflow: "clip";
|
122
125
|
_after: {
|
@@ -394,7 +397,7 @@ export declare const recipes: {
|
|
394
397
|
borderColor: "transparent";
|
395
398
|
bg: {
|
396
399
|
_light: "gray.100";
|
397
|
-
_dark: "
|
400
|
+
_dark: "white/10";
|
398
401
|
};
|
399
402
|
};
|
400
403
|
flushed: {
|
@@ -516,7 +519,7 @@ export declare const recipes: {
|
|
516
519
|
skeleton: import("@chakra-ui/react").RecipeDefinition<{
|
517
520
|
loading: {
|
518
521
|
true: {
|
519
|
-
borderRadius: "
|
522
|
+
borderRadius: "panel.md";
|
520
523
|
boxShadow: "none";
|
521
524
|
backgroundClip: "padding-box";
|
522
525
|
cursor: "default";
|
@@ -685,7 +688,7 @@ export declare const recipes: {
|
|
685
688
|
};
|
686
689
|
variant: {
|
687
690
|
solid: {
|
688
|
-
borderColor: "border";
|
691
|
+
borderColor: "border.emphasized";
|
689
692
|
'&:is([data-state=checked], [data-state=indeterminate])': {
|
690
693
|
bg: "colorPalette.solid";
|
691
694
|
color: "colorPalette.contrast";
|
@@ -693,7 +696,7 @@ export declare const recipes: {
|
|
693
696
|
};
|
694
697
|
};
|
695
698
|
outline: {
|
696
|
-
borderColor: "border";
|
699
|
+
borderColor: "border.emphasized";
|
697
700
|
'&:is([data-state=checked], [data-state=indeterminate])': {
|
698
701
|
color: "colorPalette.fg";
|
699
702
|
borderColor: "colorPalette.solid";
|
@@ -701,7 +704,7 @@ export declare const recipes: {
|
|
701
704
|
};
|
702
705
|
subtle: {
|
703
706
|
bg: "colorPalette.muted";
|
704
|
-
borderColor: "colorPalette.
|
707
|
+
borderColor: "colorPalette.emphasized";
|
705
708
|
'&:is([data-state=checked], [data-state=indeterminate])': {
|
706
709
|
color: "colorPalette.fg";
|
707
710
|
};
|
@@ -72,7 +72,7 @@ export const semanticColors = defineSemanticTokens.colors({
|
|
72
72
|
overlay: {
|
73
73
|
value: {
|
74
74
|
_light: 'color-mix(in oklch, {colors.white} var(--overlay-translucency), transparent)',
|
75
|
-
_dark: 'color-mix(in
|
75
|
+
_dark: 'color-mix(in oklch, {colors.gray.800} var(--overlay-translucency), transparent)',
|
76
76
|
},
|
77
77
|
},
|
78
78
|
backdrop: {
|
@@ -45,7 +45,7 @@ export const semanticShadows = defineSemanticTokens.shadows({
|
|
45
45
|
inset: {
|
46
46
|
value: {
|
47
47
|
_light: 'inset 0 1px 2px 0 {black/5}',
|
48
|
-
_dark: 'inset 0 1px 2px 0 {colors.gray.300/
|
48
|
+
_dark: 'inset 0 -1px 2px 0 {colors.gray.300/8}, inset 0 0 0 1px {colors.gray.300/8}',
|
49
49
|
},
|
50
50
|
},
|
51
51
|
});
|