@kushagradhawan/kookie-ui 0.1.40 → 0.1.42
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 +257 -60
- package/components.css +436 -80
- package/dist/cjs/components/schemas/base-button.schema.d.ts +319 -0
- package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/base-button.schema.js +2 -0
- package/dist/cjs/components/schemas/base-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/button.schema.d.ts +686 -0
- package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/button.schema.js +2 -0
- package/dist/cjs/components/schemas/button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/icon-button.schema.d.ts +329 -0
- package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/icon-button.schema.js +2 -0
- package/dist/cjs/components/schemas/icon-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/index.d.ts +52 -0
- package/dist/cjs/components/schemas/index.d.ts.map +1 -0
- package/dist/cjs/components/schemas/index.js +2 -0
- package/dist/cjs/components/schemas/index.js.map +7 -0
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts +1172 -0
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/toggle-button.schema.js +2 -0
- package/dist/cjs/components/schemas/toggle-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +563 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js +2 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +7 -0
- package/dist/cjs/components/sheet.d.ts +1 -1
- package/dist/cjs/components/sheet.d.ts.map +1 -1
- package/dist/cjs/components/sheet.js +1 -1
- package/dist/cjs/components/sheet.js.map +3 -3
- package/dist/cjs/components/shell.d.ts +125 -164
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +3 -3
- package/dist/cjs/components/sidebar.d.ts +1 -7
- package/dist/cjs/components/sidebar.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +3 -3
- package/dist/cjs/components/theme.d.ts +3 -0
- package/dist/cjs/components/theme.d.ts.map +1 -1
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +3 -3
- package/dist/cjs/components/theme.props.d.ts +10 -0
- package/dist/cjs/components/theme.props.d.ts.map +1 -1
- package/dist/cjs/components/theme.props.js +1 -1
- package/dist/cjs/components/theme.props.js.map +3 -3
- package/dist/cjs/helpers/font-config.d.ts +96 -0
- package/dist/cjs/helpers/font-config.d.ts.map +1 -0
- package/dist/cjs/helpers/font-config.js +3 -0
- package/dist/cjs/helpers/font-config.js.map +7 -0
- package/dist/cjs/helpers/index.d.ts +1 -0
- package/dist/cjs/helpers/index.d.ts.map +1 -1
- package/dist/cjs/helpers/index.js +1 -1
- package/dist/cjs/helpers/index.js.map +2 -2
- package/dist/esm/components/schemas/base-button.schema.d.ts +319 -0
- package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/base-button.schema.js +2 -0
- package/dist/esm/components/schemas/base-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/button.schema.d.ts +686 -0
- package/dist/esm/components/schemas/button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/button.schema.js +2 -0
- package/dist/esm/components/schemas/button.schema.js.map +7 -0
- package/dist/esm/components/schemas/icon-button.schema.d.ts +329 -0
- package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/icon-button.schema.js +2 -0
- package/dist/esm/components/schemas/icon-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/index.d.ts +52 -0
- package/dist/esm/components/schemas/index.d.ts.map +1 -0
- package/dist/esm/components/schemas/index.js +2 -0
- package/dist/esm/components/schemas/index.js.map +7 -0
- package/dist/esm/components/schemas/toggle-button.schema.d.ts +1172 -0
- package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/toggle-button.schema.js +2 -0
- package/dist/esm/components/schemas/toggle-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +563 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.js +2 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.js.map +7 -0
- package/dist/esm/components/sheet.d.ts +1 -1
- package/dist/esm/components/sheet.d.ts.map +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/sheet.js.map +3 -3
- package/dist/esm/components/shell.d.ts +125 -164
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/shell.js.map +3 -3
- package/dist/esm/components/sidebar.d.ts +1 -7
- package/dist/esm/components/sidebar.d.ts.map +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/sidebar.js.map +3 -3
- package/dist/esm/components/theme.d.ts +3 -0
- package/dist/esm/components/theme.d.ts.map +1 -1
- package/dist/esm/components/theme.js +1 -1
- package/dist/esm/components/theme.js.map +3 -3
- package/dist/esm/components/theme.props.d.ts +10 -0
- package/dist/esm/components/theme.props.d.ts.map +1 -1
- package/dist/esm/components/theme.props.js +1 -1
- package/dist/esm/components/theme.props.js.map +3 -3
- package/dist/esm/helpers/font-config.d.ts +96 -0
- package/dist/esm/helpers/font-config.d.ts.map +1 -0
- package/dist/esm/helpers/font-config.js +3 -0
- package/dist/esm/helpers/font-config.js.map +7 -0
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.d.ts.map +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +2 -2
- package/package.json +26 -6
- package/schemas/base-button.d.ts +2 -0
- package/schemas/base-button.json +284 -0
- package/schemas/button.d.ts +2 -0
- package/schemas/button.json +535 -0
- package/schemas/icon-button.d.ts +2 -0
- package/schemas/icon-button.json +318 -0
- package/schemas/index.d.ts +2 -0
- package/schemas/index.json +2016 -0
- package/schemas/schemas.d.ts +29 -0
- package/schemas/toggle-button.d.ts +2 -0
- package/schemas/toggle-button.json +543 -0
- package/schemas/toggle-icon-button.d.ts +2 -0
- package/schemas/toggle-icon-button.json +326 -0
- package/schemas-json.d.ts +12 -0
- package/src/components/_internal/base-menu.css +25 -17
- package/src/components/_internal/base-sidebar.css +13 -14
- package/src/components/dialog.css +12 -0
- package/src/components/schemas/base-button.schema.ts +339 -0
- package/src/components/schemas/button.schema.ts +198 -0
- package/src/components/schemas/icon-button.schema.ts +142 -0
- package/src/components/schemas/index.ts +68 -0
- package/src/components/schemas/toggle-button.schema.ts +122 -0
- package/src/components/schemas/toggle-icon-button.schema.ts +195 -0
- package/src/components/sheet.css +68 -20
- package/src/components/sheet.tsx +62 -3
- package/src/components/shell.css +516 -79
- package/src/components/shell.tsx +2055 -928
- package/src/components/sidebar.tsx +3 -22
- package/src/components/theme.props.tsx +8 -0
- package/src/components/theme.tsx +16 -0
- package/src/helpers/font-config.ts +167 -0
- package/src/helpers/index.ts +1 -0
- package/src/styles/fonts.css +16 -13
- package/src/styles/tokens/cursor.css +1 -1
- package/src/styles/tokens/typography.css +27 -4
- package/styles.css +449 -81
- package/tokens/base.css +13 -1
- package/tokens.css +13 -1
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/Toggle-icon-buttonSchema",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"Toggle-icon-buttonSchema": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"as": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "HTML element type to render as"
|
|
10
|
+
},
|
|
11
|
+
"asChild": {
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"description": "Merge props with child element instead of rendering wrapper"
|
|
14
|
+
},
|
|
15
|
+
"size": {
|
|
16
|
+
"anyOf": [
|
|
17
|
+
{
|
|
18
|
+
"type": "string",
|
|
19
|
+
"enum": [
|
|
20
|
+
"1",
|
|
21
|
+
"2",
|
|
22
|
+
"3",
|
|
23
|
+
"4"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "object",
|
|
28
|
+
"properties": {
|
|
29
|
+
"initial": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"enum": [
|
|
32
|
+
"1",
|
|
33
|
+
"2",
|
|
34
|
+
"3",
|
|
35
|
+
"4"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"sm": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"enum": [
|
|
41
|
+
"1",
|
|
42
|
+
"2",
|
|
43
|
+
"3",
|
|
44
|
+
"4"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"md": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"enum": [
|
|
50
|
+
"1",
|
|
51
|
+
"2",
|
|
52
|
+
"3",
|
|
53
|
+
"4"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"lg": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"enum": [
|
|
59
|
+
"1",
|
|
60
|
+
"2",
|
|
61
|
+
"3",
|
|
62
|
+
"4"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"xl": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"enum": [
|
|
68
|
+
"1",
|
|
69
|
+
"2",
|
|
70
|
+
"3",
|
|
71
|
+
"4"
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"additionalProperties": false
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"default": "2",
|
|
79
|
+
"description": "Button size for responsive design and interface density"
|
|
80
|
+
},
|
|
81
|
+
"variant": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"enum": [
|
|
84
|
+
"classic",
|
|
85
|
+
"solid",
|
|
86
|
+
"soft",
|
|
87
|
+
"surface",
|
|
88
|
+
"outline",
|
|
89
|
+
"ghost",
|
|
90
|
+
"override"
|
|
91
|
+
],
|
|
92
|
+
"default": "solid",
|
|
93
|
+
"description": "Visual variant that determines the button's appearance and context"
|
|
94
|
+
},
|
|
95
|
+
"color": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"enum": [
|
|
98
|
+
"tomato",
|
|
99
|
+
"red",
|
|
100
|
+
"ruby",
|
|
101
|
+
"crimson",
|
|
102
|
+
"pink",
|
|
103
|
+
"plum",
|
|
104
|
+
"purple",
|
|
105
|
+
"violet",
|
|
106
|
+
"iris",
|
|
107
|
+
"indigo",
|
|
108
|
+
"blue",
|
|
109
|
+
"cyan",
|
|
110
|
+
"teal",
|
|
111
|
+
"jade",
|
|
112
|
+
"green",
|
|
113
|
+
"grass",
|
|
114
|
+
"brown",
|
|
115
|
+
"orange",
|
|
116
|
+
"sky",
|
|
117
|
+
"mint",
|
|
118
|
+
"lime",
|
|
119
|
+
"yellow",
|
|
120
|
+
"amber",
|
|
121
|
+
"gold",
|
|
122
|
+
"bronze",
|
|
123
|
+
"gray"
|
|
124
|
+
],
|
|
125
|
+
"description": "Accent color for the button"
|
|
126
|
+
},
|
|
127
|
+
"highContrast": {
|
|
128
|
+
"type": "boolean",
|
|
129
|
+
"default": false,
|
|
130
|
+
"description": "High contrast mode for better accessibility"
|
|
131
|
+
},
|
|
132
|
+
"radius": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"enum": [
|
|
135
|
+
"none",
|
|
136
|
+
"small",
|
|
137
|
+
"medium",
|
|
138
|
+
"large",
|
|
139
|
+
"full"
|
|
140
|
+
],
|
|
141
|
+
"description": "Border radius for the button"
|
|
142
|
+
},
|
|
143
|
+
"loading": {
|
|
144
|
+
"type": "boolean",
|
|
145
|
+
"default": false,
|
|
146
|
+
"description": "Loading state that shows a spinner and disables interaction"
|
|
147
|
+
},
|
|
148
|
+
"fullWidth": {
|
|
149
|
+
"type": "boolean",
|
|
150
|
+
"default": false,
|
|
151
|
+
"description": "Full width mode that expands the button to fill its container"
|
|
152
|
+
},
|
|
153
|
+
"material": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"enum": [
|
|
156
|
+
"solid",
|
|
157
|
+
"translucent"
|
|
158
|
+
],
|
|
159
|
+
"description": "Material type for visual rendering and depth effects"
|
|
160
|
+
},
|
|
161
|
+
"panelBackground": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"enum": [
|
|
164
|
+
"solid",
|
|
165
|
+
"translucent"
|
|
166
|
+
],
|
|
167
|
+
"description": "Panel background type (deprecated - use material instead)"
|
|
168
|
+
},
|
|
169
|
+
"flush": {
|
|
170
|
+
"type": "boolean",
|
|
171
|
+
"default": false,
|
|
172
|
+
"description": "Flush mode that removes visual padding for seamless text integration"
|
|
173
|
+
},
|
|
174
|
+
"disabled": {
|
|
175
|
+
"type": "boolean",
|
|
176
|
+
"default": false,
|
|
177
|
+
"description": "Disabled state"
|
|
178
|
+
},
|
|
179
|
+
"type": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"enum": [
|
|
182
|
+
"button",
|
|
183
|
+
"submit",
|
|
184
|
+
"reset"
|
|
185
|
+
],
|
|
186
|
+
"description": "Type attribute for form buttons"
|
|
187
|
+
},
|
|
188
|
+
"className": {
|
|
189
|
+
"type": "string",
|
|
190
|
+
"description": "Additional CSS class name"
|
|
191
|
+
},
|
|
192
|
+
"style": {
|
|
193
|
+
"type": "object",
|
|
194
|
+
"additionalProperties": {
|
|
195
|
+
"type": [
|
|
196
|
+
"string",
|
|
197
|
+
"number"
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
"description": "Inline styles"
|
|
201
|
+
},
|
|
202
|
+
"tabIndex": {
|
|
203
|
+
"type": "number",
|
|
204
|
+
"description": "Tab index for keyboard navigation"
|
|
205
|
+
},
|
|
206
|
+
"aria-label": {
|
|
207
|
+
"type": "string",
|
|
208
|
+
"description": "ARIA label for accessibility"
|
|
209
|
+
},
|
|
210
|
+
"aria-labelledby": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"description": "ARIA labelled by reference"
|
|
213
|
+
},
|
|
214
|
+
"aria-describedby": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "ARIA described by reference"
|
|
217
|
+
},
|
|
218
|
+
"aria-expanded": {
|
|
219
|
+
"type": "boolean",
|
|
220
|
+
"description": "ARIA expanded state"
|
|
221
|
+
},
|
|
222
|
+
"aria-pressed": {
|
|
223
|
+
"type": "boolean",
|
|
224
|
+
"description": "ARIA pressed state"
|
|
225
|
+
},
|
|
226
|
+
"aria-current": {
|
|
227
|
+
"anyOf": [
|
|
228
|
+
{
|
|
229
|
+
"type": "boolean"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"type": "string",
|
|
233
|
+
"enum": [
|
|
234
|
+
"page",
|
|
235
|
+
"step",
|
|
236
|
+
"location",
|
|
237
|
+
"date",
|
|
238
|
+
"time"
|
|
239
|
+
]
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
"description": "ARIA current state"
|
|
243
|
+
},
|
|
244
|
+
"aria-controls": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"description": "ARIA controls reference"
|
|
247
|
+
},
|
|
248
|
+
"aria-owns": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"description": "ARIA owns reference"
|
|
251
|
+
},
|
|
252
|
+
"data-*": {
|
|
253
|
+
"type": "object",
|
|
254
|
+
"additionalProperties": {
|
|
255
|
+
"type": "string"
|
|
256
|
+
},
|
|
257
|
+
"description": "Data attributes"
|
|
258
|
+
},
|
|
259
|
+
"id": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"description": "ID attribute"
|
|
262
|
+
},
|
|
263
|
+
"title": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"description": "Title attribute for tooltip"
|
|
266
|
+
},
|
|
267
|
+
"role": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"description": "Role attribute"
|
|
270
|
+
},
|
|
271
|
+
"children": {
|
|
272
|
+
"description": "Children elements (required for accessibility if no aria-label)"
|
|
273
|
+
},
|
|
274
|
+
"tooltip": {
|
|
275
|
+
"type": "string",
|
|
276
|
+
"description": "Content to display in the tooltip on hover/focus"
|
|
277
|
+
},
|
|
278
|
+
"tooltipSide": {
|
|
279
|
+
"type": "string",
|
|
280
|
+
"enum": [
|
|
281
|
+
"top",
|
|
282
|
+
"right",
|
|
283
|
+
"bottom",
|
|
284
|
+
"left"
|
|
285
|
+
],
|
|
286
|
+
"default": "top",
|
|
287
|
+
"description": "Side of the button where the tooltip should appear"
|
|
288
|
+
},
|
|
289
|
+
"tooltipAlign": {
|
|
290
|
+
"type": "string",
|
|
291
|
+
"enum": [
|
|
292
|
+
"start",
|
|
293
|
+
"center",
|
|
294
|
+
"end"
|
|
295
|
+
],
|
|
296
|
+
"default": "center",
|
|
297
|
+
"description": "Alignment of the tooltip relative to the button"
|
|
298
|
+
},
|
|
299
|
+
"tooltipDelayDuration": {
|
|
300
|
+
"type": "number",
|
|
301
|
+
"description": "Delay before showing the tooltip (in milliseconds)"
|
|
302
|
+
},
|
|
303
|
+
"tooltipDisableHoverableContent": {
|
|
304
|
+
"type": "boolean",
|
|
305
|
+
"default": false,
|
|
306
|
+
"description": "Whether to disable hoverable content behavior"
|
|
307
|
+
},
|
|
308
|
+
"pressed": {
|
|
309
|
+
"type": "boolean",
|
|
310
|
+
"description": "Controlled pressed state"
|
|
311
|
+
},
|
|
312
|
+
"defaultPressed": {
|
|
313
|
+
"type": "boolean",
|
|
314
|
+
"description": "Default pressed state for uncontrolled usage"
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
"additionalProperties": false
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
321
|
+
"title": "Toggle-icon-button Component Props",
|
|
322
|
+
"description": "Props schema for the toggle-icon-button component in Kookie UI",
|
|
323
|
+
"version": "1.0.0",
|
|
324
|
+
"generatedAt": "2025-09-09T20:52:02.773Z",
|
|
325
|
+
"source": "Zod schema"
|
|
326
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Ambient module declarations for JSON schema imports
|
|
2
|
+
// This file enables TypeScript to resolve JSON schema imports
|
|
3
|
+
|
|
4
|
+
declare module '@kushagradhawan/kookie-ui/schemas-json' {
|
|
5
|
+
const schemaIndex: any;
|
|
6
|
+
export default schemaIndex;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare module '@kushagradhawan/kookie-ui/schemas-json/*' {
|
|
10
|
+
const schema: any;
|
|
11
|
+
export default schema;
|
|
12
|
+
}
|
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
flex-direction: column;
|
|
9
9
|
box-sizing: border-box;
|
|
10
10
|
overflow: hidden;
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
background-color: var(--color-panel);
|
|
13
13
|
backdrop-filter: var(--backdrop-filter-panel);
|
|
14
14
|
box-shadow: var(--shadow-5);
|
|
15
15
|
transition: var(--transition-background-blur);
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
/* GPU optimization: limit paint scope and prevent backdrop-filter layering */
|
|
18
18
|
contain: paint;
|
|
19
19
|
isolation: isolate;
|
|
20
20
|
|
|
21
21
|
/* Optimize backdrop-filter performance during animations */
|
|
22
|
-
&:where([data-state=
|
|
22
|
+
&:where([data-state='open']) {
|
|
23
23
|
will-change: transform, opacity;
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -188,6 +188,7 @@
|
|
|
188
188
|
font-size: var(--font-size-1);
|
|
189
189
|
line-height: var(--line-height-1);
|
|
190
190
|
letter-spacing: var(--letter-spacing-1);
|
|
191
|
+
padding-left: calc(var(--base-menu-item-padding-left) + var(--component-gap-2));
|
|
191
192
|
}
|
|
192
193
|
|
|
193
194
|
& :where(.rt-BaseMenuItemIndicatorIcon, .rt-BaseMenuSubTriggerIcon) {
|
|
@@ -231,6 +232,7 @@
|
|
|
231
232
|
font-size: var(--font-size-2);
|
|
232
233
|
line-height: var(--line-height-2);
|
|
233
234
|
letter-spacing: var(--letter-spacing-2);
|
|
235
|
+
padding-left: calc(var(--base-menu-item-padding-left) + var(--component-gap-3));
|
|
234
236
|
}
|
|
235
237
|
|
|
236
238
|
& :where(.rt-BaseMenuItemIndicatorIcon, .rt-BaseMenuSubTriggerIcon) {
|
|
@@ -274,6 +276,7 @@
|
|
|
274
276
|
font-size: var(--font-size-2);
|
|
275
277
|
line-height: var(--line-height-2);
|
|
276
278
|
letter-spacing: var(--letter-spacing-2);
|
|
279
|
+
padding-left: calc(var(--base-menu-item-padding-left) + var(--component-gap-4));
|
|
277
280
|
}
|
|
278
281
|
|
|
279
282
|
& :where(.rt-BaseMenuItemIndicatorIcon, .rt-BaseMenuSubTriggerIcon) {
|
|
@@ -308,7 +311,8 @@
|
|
|
308
311
|
}
|
|
309
312
|
|
|
310
313
|
/* Ensure gray text appears muted in non-highlighted state */
|
|
311
|
-
.rt-BaseMenuItem
|
|
314
|
+
.rt-BaseMenuItem
|
|
315
|
+
:where(.rt-Text[data-accent-color='gray'], [data-accent-color='gray']:not(.rt-Badge)) {
|
|
312
316
|
color: var(--gray-a10);
|
|
313
317
|
}
|
|
314
318
|
.rt-BaseMenuItem:where([data-disabled], [data-highlighted]),
|
|
@@ -326,23 +330,27 @@
|
|
|
326
330
|
.rt-BaseMenuContent:where(.rt-variant-solid, .rt-variant-soft) {
|
|
327
331
|
& :where(.rt-BaseMenuSubTrigger) {
|
|
328
332
|
transition: var(--transition-menu);
|
|
329
|
-
|
|
333
|
+
|
|
330
334
|
/* Enhanced reduced motion support */
|
|
331
335
|
@media (prefers-reduced-motion: reduce) {
|
|
332
336
|
transition: none;
|
|
333
337
|
backdrop-filter: none; /* Remove backdrop effects for motion-sensitive users */
|
|
334
338
|
}
|
|
335
|
-
|
|
339
|
+
|
|
336
340
|
/* Remove backdrop-filter transitions in translucent mode to prevent flickering */
|
|
337
341
|
:where([data-panel-background='translucent']) & {
|
|
338
|
-
transition:
|
|
342
|
+
transition:
|
|
343
|
+
background var(--motion-duration-micro) var(--motion-ease-standard),
|
|
344
|
+
color var(--motion-duration-small) var(--motion-ease-standard);
|
|
339
345
|
}
|
|
340
346
|
}
|
|
341
|
-
|
|
347
|
+
|
|
342
348
|
& :where(.rt-BaseMenuItem) {
|
|
343
349
|
/* Remove backdrop-filter transitions in translucent mode to prevent flickering */
|
|
344
350
|
:where([data-panel-background='translucent']) & {
|
|
345
|
-
transition:
|
|
351
|
+
transition:
|
|
352
|
+
background var(--motion-duration-micro) var(--motion-ease-standard),
|
|
353
|
+
color var(--motion-duration-small) var(--motion-ease-standard);
|
|
346
354
|
}
|
|
347
355
|
}
|
|
348
356
|
}
|
|
@@ -352,7 +360,7 @@
|
|
|
352
360
|
& :where(.rt-BaseMenuSubTrigger[data-state='open']) {
|
|
353
361
|
/* Base state: solid gray for solid panels */
|
|
354
362
|
background-color: var(--gray-3);
|
|
355
|
-
|
|
363
|
+
|
|
356
364
|
/* Theme-level translucent override */
|
|
357
365
|
:where([data-panel-background='translucent']) & {
|
|
358
366
|
background-color: var(--gray-a3);
|
|
@@ -371,7 +379,7 @@
|
|
|
371
379
|
/* No backdrop-filter here to prevent double-blur with container */
|
|
372
380
|
}
|
|
373
381
|
}
|
|
374
|
-
|
|
382
|
+
|
|
375
383
|
& :where(.rt-BaseMenuItem[data-highlighted]) {
|
|
376
384
|
background-color: var(--accent-9);
|
|
377
385
|
color: var(--accent-contrast);
|
|
@@ -390,7 +398,7 @@
|
|
|
390
398
|
color: inherit !important;
|
|
391
399
|
}
|
|
392
400
|
}
|
|
393
|
-
|
|
401
|
+
|
|
394
402
|
&:where(.rt-high-contrast) {
|
|
395
403
|
& :where(.rt-BaseMenuItem[data-highlighted]) {
|
|
396
404
|
background-color: var(--accent-12);
|
|
@@ -431,7 +439,7 @@
|
|
|
431
439
|
& :where(.rt-BaseMenuSubTrigger[data-state='open']) {
|
|
432
440
|
/* Base state: solid accent for solid panels */
|
|
433
441
|
background-color: var(--accent-3);
|
|
434
|
-
|
|
442
|
+
|
|
435
443
|
/* Theme-level translucent override */
|
|
436
444
|
:where([data-panel-background='translucent']) & {
|
|
437
445
|
background-color: var(--accent-a3);
|
|
@@ -450,11 +458,11 @@
|
|
|
450
458
|
/* No backdrop-filter here to prevent double-blur with container */
|
|
451
459
|
}
|
|
452
460
|
}
|
|
453
|
-
|
|
461
|
+
|
|
454
462
|
& :where(.rt-BaseMenuItem[data-highlighted]) {
|
|
455
463
|
/* Base state: solid accent for solid panels */
|
|
456
464
|
background-color: var(--accent-4);
|
|
457
|
-
|
|
465
|
+
|
|
458
466
|
/* Theme-level translucent override */
|
|
459
467
|
:where([data-panel-background='translucent']) & {
|
|
460
468
|
background-color: var(--accent-a4);
|
|
@@ -486,11 +494,11 @@
|
|
|
486
494
|
outline: 2px solid Highlight;
|
|
487
495
|
outline-offset: 2px;
|
|
488
496
|
}
|
|
489
|
-
|
|
497
|
+
|
|
490
498
|
.rt-BaseMenuContent {
|
|
491
499
|
border: 1px solid CanvasText;
|
|
492
500
|
}
|
|
493
|
-
|
|
501
|
+
|
|
494
502
|
.rt-BaseMenuSeparator {
|
|
495
503
|
background-color: CanvasText;
|
|
496
504
|
}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
/* Sidebar Provider - handles positioning */
|
|
4
4
|
.rt-SidebarProvider {
|
|
5
5
|
/* Positioning based on side */
|
|
6
|
-
&:where([data-side=
|
|
6
|
+
&:where([data-side='left']) {
|
|
7
7
|
/* Left side is default - no additional positioning needed */
|
|
8
8
|
order: -1; /* Ensure it appears first in flex container */
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
&:where([data-side=
|
|
10
|
+
|
|
11
|
+
&:where([data-side='right']) {
|
|
12
12
|
/* Position on the right side */
|
|
13
13
|
order: 999; /* Push to end in flex container */
|
|
14
14
|
}
|
|
@@ -16,10 +16,9 @@
|
|
|
16
16
|
|
|
17
17
|
/* Sidebar Root Container */
|
|
18
18
|
.rt-SidebarRoot {
|
|
19
|
-
--sidebar-width: 16rem; /* Fixed width */
|
|
20
19
|
--sidebar-base-border-radius: 0; /* Default to no radius */
|
|
21
|
-
|
|
22
|
-
width:
|
|
20
|
+
|
|
21
|
+
width: 100%;
|
|
23
22
|
height: 100%;
|
|
24
23
|
flex-shrink: 0;
|
|
25
24
|
display: flex;
|
|
@@ -34,13 +33,13 @@
|
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
/* Floating type - ONLY visual changes */
|
|
37
|
-
&:where([data-type=
|
|
36
|
+
&:where([data-type='floating']) {
|
|
38
37
|
border-radius: var(--sidebar-base-border-radius);
|
|
39
38
|
margin: var(--space-2);
|
|
40
39
|
height: calc(100% - var(--space-4));
|
|
41
40
|
overflow: visible; /* Ensure shadow is not clipped */
|
|
42
41
|
position: relative; /* Ensure proper stacking context for floating sidebars */
|
|
43
|
-
|
|
42
|
+
|
|
44
43
|
/* Ensure Theme wrapper has proper border radius in floating mode */
|
|
45
44
|
& :where(.radix-themes) {
|
|
46
45
|
border-radius: inherit;
|
|
@@ -49,14 +48,14 @@
|
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
/* Set border radius for floating sidebars based on size - set on the root where it's used */
|
|
52
|
-
.rt-SidebarRoot:where([data-type=
|
|
51
|
+
.rt-SidebarRoot:where([data-type='floating']) {
|
|
53
52
|
/* Default radius for floating sidebars */
|
|
54
53
|
--sidebar-base-border-radius: var(--radius-5);
|
|
55
|
-
|
|
54
|
+
|
|
56
55
|
&:where(.rt-r-size-1) {
|
|
57
56
|
--sidebar-base-border-radius: var(--radius-5);
|
|
58
57
|
}
|
|
59
|
-
|
|
58
|
+
|
|
60
59
|
&:where(.rt-r-size-2) {
|
|
61
60
|
--sidebar-base-border-radius: var(--radius-6);
|
|
62
61
|
}
|
|
@@ -133,9 +132,9 @@
|
|
|
133
132
|
margin: var(--space-2) 0;
|
|
134
133
|
}
|
|
135
134
|
|
|
136
|
-
/* Responsive behavior */
|
|
135
|
+
/* Responsive behavior - only hide when not in Sheet overlay mode */
|
|
137
136
|
@media (max-width: 768px) {
|
|
138
|
-
.rt-SidebarRoot {
|
|
137
|
+
.rt-SidebarRoot:not(:where(.rt-SheetContent .rt-SidebarRoot)) {
|
|
139
138
|
display: none;
|
|
140
139
|
}
|
|
141
|
-
}
|
|
140
|
+
}
|
|
@@ -1 +1,13 @@
|
|
|
1
1
|
@import './_internal/base-dialog.css';
|
|
2
|
+
|
|
3
|
+
/* Add blur effect to Dialog overlay */
|
|
4
|
+
.rt-DialogOverlay::before {
|
|
5
|
+
backdrop-filter: var(--backdrop-filter-components) !important;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* Safari backdrop-filter fallback */
|
|
9
|
+
@supports not (backdrop-filter: blur(1px)) {
|
|
10
|
+
.rt-DialogOverlay::before {
|
|
11
|
+
backdrop-filter: none !important;
|
|
12
|
+
}
|
|
13
|
+
}
|