@kushagradhawan/kookie-ui 0.1.41 → 0.1.43
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 +398 -91
- 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 +23 -3
- 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-sidebar-menu.css +3 -8
- package/src/components/_internal/base-sidebar.css +1 -2
- 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 +39 -19
- package/src/components/sheet.tsx +62 -3
- package/src/components/shell.css +510 -89
- package/src/components/shell.tsx +2055 -928
- package/src/components/sidebar.css +126 -65
- package/src/components/sidebar.tsx +5 -24
- 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/typography.css +27 -4
- package/styles.css +410 -91
- package/tokens/base.css +12 -0
- package/tokens.css +12 -0
|
@@ -0,0 +1,2016 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "Kookie UI Button Components",
|
|
4
|
+
"description": "Complete JSON Schema collection for all button components in Kookie UI",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"generatedAt": "2025-09-10T06:58:42.622Z",
|
|
7
|
+
"source": "Zod schemas",
|
|
8
|
+
"components": {
|
|
9
|
+
"base-button": {
|
|
10
|
+
"$ref": "#/definitions/Base-buttonSchema",
|
|
11
|
+
"definitions": {
|
|
12
|
+
"Base-buttonSchema": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"as": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "HTML element type to render as"
|
|
18
|
+
},
|
|
19
|
+
"asChild": {
|
|
20
|
+
"type": "boolean",
|
|
21
|
+
"description": "Merge props with child element instead of rendering wrapper"
|
|
22
|
+
},
|
|
23
|
+
"size": {
|
|
24
|
+
"anyOf": [
|
|
25
|
+
{
|
|
26
|
+
"type": "string",
|
|
27
|
+
"enum": [
|
|
28
|
+
"1",
|
|
29
|
+
"2",
|
|
30
|
+
"3",
|
|
31
|
+
"4"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"initial": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": [
|
|
40
|
+
"1",
|
|
41
|
+
"2",
|
|
42
|
+
"3",
|
|
43
|
+
"4"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"sm": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"enum": [
|
|
49
|
+
"1",
|
|
50
|
+
"2",
|
|
51
|
+
"3",
|
|
52
|
+
"4"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"md": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"enum": [
|
|
58
|
+
"1",
|
|
59
|
+
"2",
|
|
60
|
+
"3",
|
|
61
|
+
"4"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"lg": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"enum": [
|
|
67
|
+
"1",
|
|
68
|
+
"2",
|
|
69
|
+
"3",
|
|
70
|
+
"4"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"xl": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"enum": [
|
|
76
|
+
"1",
|
|
77
|
+
"2",
|
|
78
|
+
"3",
|
|
79
|
+
"4"
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"additionalProperties": false
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"default": "2",
|
|
87
|
+
"description": "Button size for responsive design and interface density"
|
|
88
|
+
},
|
|
89
|
+
"variant": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"enum": [
|
|
92
|
+
"classic",
|
|
93
|
+
"solid",
|
|
94
|
+
"soft",
|
|
95
|
+
"surface",
|
|
96
|
+
"outline",
|
|
97
|
+
"ghost",
|
|
98
|
+
"override"
|
|
99
|
+
],
|
|
100
|
+
"default": "solid",
|
|
101
|
+
"description": "Visual variant that determines the button's appearance and context"
|
|
102
|
+
},
|
|
103
|
+
"color": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"enum": [
|
|
106
|
+
"tomato",
|
|
107
|
+
"red",
|
|
108
|
+
"ruby",
|
|
109
|
+
"crimson",
|
|
110
|
+
"pink",
|
|
111
|
+
"plum",
|
|
112
|
+
"purple",
|
|
113
|
+
"violet",
|
|
114
|
+
"iris",
|
|
115
|
+
"indigo",
|
|
116
|
+
"blue",
|
|
117
|
+
"cyan",
|
|
118
|
+
"teal",
|
|
119
|
+
"jade",
|
|
120
|
+
"green",
|
|
121
|
+
"grass",
|
|
122
|
+
"brown",
|
|
123
|
+
"orange",
|
|
124
|
+
"sky",
|
|
125
|
+
"mint",
|
|
126
|
+
"lime",
|
|
127
|
+
"yellow",
|
|
128
|
+
"amber",
|
|
129
|
+
"gold",
|
|
130
|
+
"bronze",
|
|
131
|
+
"gray"
|
|
132
|
+
],
|
|
133
|
+
"description": "Accent color for the button"
|
|
134
|
+
},
|
|
135
|
+
"highContrast": {
|
|
136
|
+
"type": "boolean",
|
|
137
|
+
"default": false,
|
|
138
|
+
"description": "High contrast mode for better accessibility"
|
|
139
|
+
},
|
|
140
|
+
"radius": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"enum": [
|
|
143
|
+
"none",
|
|
144
|
+
"small",
|
|
145
|
+
"medium",
|
|
146
|
+
"large",
|
|
147
|
+
"full"
|
|
148
|
+
],
|
|
149
|
+
"description": "Border radius for the button"
|
|
150
|
+
},
|
|
151
|
+
"loading": {
|
|
152
|
+
"type": "boolean",
|
|
153
|
+
"default": false,
|
|
154
|
+
"description": "Loading state that shows a spinner and disables interaction"
|
|
155
|
+
},
|
|
156
|
+
"fullWidth": {
|
|
157
|
+
"type": "boolean",
|
|
158
|
+
"default": false,
|
|
159
|
+
"description": "Full width mode that expands the button to fill its container"
|
|
160
|
+
},
|
|
161
|
+
"material": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"enum": [
|
|
164
|
+
"solid",
|
|
165
|
+
"translucent"
|
|
166
|
+
],
|
|
167
|
+
"description": "Material type for visual rendering and depth effects"
|
|
168
|
+
},
|
|
169
|
+
"panelBackground": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"enum": [
|
|
172
|
+
"solid",
|
|
173
|
+
"translucent"
|
|
174
|
+
],
|
|
175
|
+
"description": "Panel background type (deprecated - use material instead)"
|
|
176
|
+
},
|
|
177
|
+
"flush": {
|
|
178
|
+
"type": "boolean",
|
|
179
|
+
"default": false,
|
|
180
|
+
"description": "Flush mode that removes visual padding for seamless text integration"
|
|
181
|
+
},
|
|
182
|
+
"disabled": {
|
|
183
|
+
"type": "boolean",
|
|
184
|
+
"default": false,
|
|
185
|
+
"description": "Disabled state"
|
|
186
|
+
},
|
|
187
|
+
"type": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"enum": [
|
|
190
|
+
"button",
|
|
191
|
+
"submit",
|
|
192
|
+
"reset"
|
|
193
|
+
],
|
|
194
|
+
"description": "Type attribute for form buttons"
|
|
195
|
+
},
|
|
196
|
+
"className": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"description": "Additional CSS class name"
|
|
199
|
+
},
|
|
200
|
+
"style": {
|
|
201
|
+
"type": "object",
|
|
202
|
+
"additionalProperties": {
|
|
203
|
+
"type": [
|
|
204
|
+
"string",
|
|
205
|
+
"number"
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
"description": "Inline styles"
|
|
209
|
+
},
|
|
210
|
+
"tabIndex": {
|
|
211
|
+
"type": "number",
|
|
212
|
+
"description": "Tab index for keyboard navigation"
|
|
213
|
+
},
|
|
214
|
+
"aria-label": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "ARIA label for accessibility"
|
|
217
|
+
},
|
|
218
|
+
"aria-labelledby": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "ARIA labelled by reference"
|
|
221
|
+
},
|
|
222
|
+
"aria-describedby": {
|
|
223
|
+
"type": "string",
|
|
224
|
+
"description": "ARIA described by reference"
|
|
225
|
+
},
|
|
226
|
+
"aria-expanded": {
|
|
227
|
+
"type": "boolean",
|
|
228
|
+
"description": "ARIA expanded state"
|
|
229
|
+
},
|
|
230
|
+
"aria-pressed": {
|
|
231
|
+
"type": "boolean",
|
|
232
|
+
"description": "ARIA pressed state"
|
|
233
|
+
},
|
|
234
|
+
"aria-current": {
|
|
235
|
+
"anyOf": [
|
|
236
|
+
{
|
|
237
|
+
"type": "boolean"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"type": "string",
|
|
241
|
+
"enum": [
|
|
242
|
+
"page",
|
|
243
|
+
"step",
|
|
244
|
+
"location",
|
|
245
|
+
"date",
|
|
246
|
+
"time"
|
|
247
|
+
]
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"description": "ARIA current state"
|
|
251
|
+
},
|
|
252
|
+
"aria-controls": {
|
|
253
|
+
"type": "string",
|
|
254
|
+
"description": "ARIA controls reference"
|
|
255
|
+
},
|
|
256
|
+
"aria-owns": {
|
|
257
|
+
"type": "string",
|
|
258
|
+
"description": "ARIA owns reference"
|
|
259
|
+
},
|
|
260
|
+
"data-*": {
|
|
261
|
+
"type": "object",
|
|
262
|
+
"additionalProperties": {
|
|
263
|
+
"type": "string"
|
|
264
|
+
},
|
|
265
|
+
"description": "Data attributes"
|
|
266
|
+
},
|
|
267
|
+
"id": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"description": "ID attribute"
|
|
270
|
+
},
|
|
271
|
+
"title": {
|
|
272
|
+
"type": "string",
|
|
273
|
+
"description": "Title attribute for tooltip"
|
|
274
|
+
},
|
|
275
|
+
"role": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"description": "Role attribute"
|
|
278
|
+
},
|
|
279
|
+
"children": {
|
|
280
|
+
"description": "Children elements"
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
"additionalProperties": false
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
287
|
+
"title": "Base-button Component Props",
|
|
288
|
+
"description": "Props schema for the base-button component in Kookie UI",
|
|
289
|
+
"version": "1.0.0",
|
|
290
|
+
"generatedAt": "2025-09-10T06:58:42.610Z",
|
|
291
|
+
"source": "Zod schema"
|
|
292
|
+
},
|
|
293
|
+
"button": {
|
|
294
|
+
"$ref": "#/definitions/ButtonSchema",
|
|
295
|
+
"definitions": {
|
|
296
|
+
"ButtonSchema": {
|
|
297
|
+
"type": "object",
|
|
298
|
+
"properties": {
|
|
299
|
+
"as": {
|
|
300
|
+
"type": "string",
|
|
301
|
+
"description": "HTML element type to render as"
|
|
302
|
+
},
|
|
303
|
+
"asChild": {
|
|
304
|
+
"type": "boolean",
|
|
305
|
+
"description": "Merge props with child element instead of rendering wrapper"
|
|
306
|
+
},
|
|
307
|
+
"size": {
|
|
308
|
+
"anyOf": [
|
|
309
|
+
{
|
|
310
|
+
"type": "string",
|
|
311
|
+
"enum": [
|
|
312
|
+
"1",
|
|
313
|
+
"2",
|
|
314
|
+
"3",
|
|
315
|
+
"4"
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"type": "object",
|
|
320
|
+
"properties": {
|
|
321
|
+
"initial": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"enum": [
|
|
324
|
+
"1",
|
|
325
|
+
"2",
|
|
326
|
+
"3",
|
|
327
|
+
"4"
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
"sm": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"enum": [
|
|
333
|
+
"1",
|
|
334
|
+
"2",
|
|
335
|
+
"3",
|
|
336
|
+
"4"
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
"md": {
|
|
340
|
+
"type": "string",
|
|
341
|
+
"enum": [
|
|
342
|
+
"1",
|
|
343
|
+
"2",
|
|
344
|
+
"3",
|
|
345
|
+
"4"
|
|
346
|
+
]
|
|
347
|
+
},
|
|
348
|
+
"lg": {
|
|
349
|
+
"type": "string",
|
|
350
|
+
"enum": [
|
|
351
|
+
"1",
|
|
352
|
+
"2",
|
|
353
|
+
"3",
|
|
354
|
+
"4"
|
|
355
|
+
]
|
|
356
|
+
},
|
|
357
|
+
"xl": {
|
|
358
|
+
"type": "string",
|
|
359
|
+
"enum": [
|
|
360
|
+
"1",
|
|
361
|
+
"2",
|
|
362
|
+
"3",
|
|
363
|
+
"4"
|
|
364
|
+
]
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"additionalProperties": false
|
|
368
|
+
}
|
|
369
|
+
],
|
|
370
|
+
"default": "2",
|
|
371
|
+
"description": "Button size for responsive design and interface density"
|
|
372
|
+
},
|
|
373
|
+
"variant": {
|
|
374
|
+
"type": "string",
|
|
375
|
+
"enum": [
|
|
376
|
+
"classic",
|
|
377
|
+
"solid",
|
|
378
|
+
"soft",
|
|
379
|
+
"surface",
|
|
380
|
+
"outline",
|
|
381
|
+
"ghost",
|
|
382
|
+
"override"
|
|
383
|
+
],
|
|
384
|
+
"default": "solid",
|
|
385
|
+
"description": "Visual variant that determines the button's appearance and context"
|
|
386
|
+
},
|
|
387
|
+
"color": {
|
|
388
|
+
"type": "string",
|
|
389
|
+
"enum": [
|
|
390
|
+
"tomato",
|
|
391
|
+
"red",
|
|
392
|
+
"ruby",
|
|
393
|
+
"crimson",
|
|
394
|
+
"pink",
|
|
395
|
+
"plum",
|
|
396
|
+
"purple",
|
|
397
|
+
"violet",
|
|
398
|
+
"iris",
|
|
399
|
+
"indigo",
|
|
400
|
+
"blue",
|
|
401
|
+
"cyan",
|
|
402
|
+
"teal",
|
|
403
|
+
"jade",
|
|
404
|
+
"green",
|
|
405
|
+
"grass",
|
|
406
|
+
"brown",
|
|
407
|
+
"orange",
|
|
408
|
+
"sky",
|
|
409
|
+
"mint",
|
|
410
|
+
"lime",
|
|
411
|
+
"yellow",
|
|
412
|
+
"amber",
|
|
413
|
+
"gold",
|
|
414
|
+
"bronze",
|
|
415
|
+
"gray"
|
|
416
|
+
],
|
|
417
|
+
"description": "Accent color for the button"
|
|
418
|
+
},
|
|
419
|
+
"highContrast": {
|
|
420
|
+
"type": "boolean",
|
|
421
|
+
"default": false,
|
|
422
|
+
"description": "High contrast mode for better accessibility"
|
|
423
|
+
},
|
|
424
|
+
"radius": {
|
|
425
|
+
"type": "string",
|
|
426
|
+
"enum": [
|
|
427
|
+
"none",
|
|
428
|
+
"small",
|
|
429
|
+
"medium",
|
|
430
|
+
"large",
|
|
431
|
+
"full"
|
|
432
|
+
],
|
|
433
|
+
"description": "Border radius for the button"
|
|
434
|
+
},
|
|
435
|
+
"loading": {
|
|
436
|
+
"type": "boolean",
|
|
437
|
+
"default": false,
|
|
438
|
+
"description": "Loading state that shows a spinner and disables interaction"
|
|
439
|
+
},
|
|
440
|
+
"fullWidth": {
|
|
441
|
+
"type": "boolean",
|
|
442
|
+
"default": false,
|
|
443
|
+
"description": "Full width mode that expands the button to fill its container"
|
|
444
|
+
},
|
|
445
|
+
"material": {
|
|
446
|
+
"type": "string",
|
|
447
|
+
"enum": [
|
|
448
|
+
"solid",
|
|
449
|
+
"translucent"
|
|
450
|
+
],
|
|
451
|
+
"description": "Material type for visual rendering and depth effects"
|
|
452
|
+
},
|
|
453
|
+
"panelBackground": {
|
|
454
|
+
"type": "string",
|
|
455
|
+
"enum": [
|
|
456
|
+
"solid",
|
|
457
|
+
"translucent"
|
|
458
|
+
],
|
|
459
|
+
"description": "Panel background type (deprecated - use material instead)"
|
|
460
|
+
},
|
|
461
|
+
"flush": {
|
|
462
|
+
"type": "boolean",
|
|
463
|
+
"default": false,
|
|
464
|
+
"description": "Flush mode that removes visual padding for seamless text integration"
|
|
465
|
+
},
|
|
466
|
+
"disabled": {
|
|
467
|
+
"type": "boolean",
|
|
468
|
+
"default": false,
|
|
469
|
+
"description": "Disabled state"
|
|
470
|
+
},
|
|
471
|
+
"type": {
|
|
472
|
+
"type": "string",
|
|
473
|
+
"enum": [
|
|
474
|
+
"button",
|
|
475
|
+
"submit",
|
|
476
|
+
"reset"
|
|
477
|
+
],
|
|
478
|
+
"description": "Type attribute for form buttons"
|
|
479
|
+
},
|
|
480
|
+
"className": {
|
|
481
|
+
"type": "string",
|
|
482
|
+
"description": "Additional CSS class name"
|
|
483
|
+
},
|
|
484
|
+
"style": {
|
|
485
|
+
"type": "object",
|
|
486
|
+
"additionalProperties": {
|
|
487
|
+
"type": [
|
|
488
|
+
"string",
|
|
489
|
+
"number"
|
|
490
|
+
]
|
|
491
|
+
},
|
|
492
|
+
"description": "Inline styles"
|
|
493
|
+
},
|
|
494
|
+
"tabIndex": {
|
|
495
|
+
"type": "number",
|
|
496
|
+
"description": "Tab index for keyboard navigation"
|
|
497
|
+
},
|
|
498
|
+
"aria-label": {
|
|
499
|
+
"type": "string",
|
|
500
|
+
"description": "ARIA label for accessibility"
|
|
501
|
+
},
|
|
502
|
+
"aria-labelledby": {
|
|
503
|
+
"type": "string",
|
|
504
|
+
"description": "ARIA labelled by reference"
|
|
505
|
+
},
|
|
506
|
+
"aria-describedby": {
|
|
507
|
+
"type": "string",
|
|
508
|
+
"description": "ARIA described by reference"
|
|
509
|
+
},
|
|
510
|
+
"aria-expanded": {
|
|
511
|
+
"type": "boolean",
|
|
512
|
+
"description": "ARIA expanded state"
|
|
513
|
+
},
|
|
514
|
+
"aria-pressed": {
|
|
515
|
+
"type": "boolean",
|
|
516
|
+
"description": "ARIA pressed state"
|
|
517
|
+
},
|
|
518
|
+
"aria-current": {
|
|
519
|
+
"anyOf": [
|
|
520
|
+
{
|
|
521
|
+
"type": "boolean"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"type": "string",
|
|
525
|
+
"enum": [
|
|
526
|
+
"page",
|
|
527
|
+
"step",
|
|
528
|
+
"location",
|
|
529
|
+
"date",
|
|
530
|
+
"time"
|
|
531
|
+
]
|
|
532
|
+
}
|
|
533
|
+
],
|
|
534
|
+
"description": "ARIA current state"
|
|
535
|
+
},
|
|
536
|
+
"aria-controls": {
|
|
537
|
+
"type": "string",
|
|
538
|
+
"description": "ARIA controls reference"
|
|
539
|
+
},
|
|
540
|
+
"aria-owns": {
|
|
541
|
+
"type": "string",
|
|
542
|
+
"description": "ARIA owns reference"
|
|
543
|
+
},
|
|
544
|
+
"data-*": {
|
|
545
|
+
"type": "object",
|
|
546
|
+
"additionalProperties": {
|
|
547
|
+
"type": "string"
|
|
548
|
+
},
|
|
549
|
+
"description": "Data attributes"
|
|
550
|
+
},
|
|
551
|
+
"id": {
|
|
552
|
+
"type": "string",
|
|
553
|
+
"description": "ID attribute"
|
|
554
|
+
},
|
|
555
|
+
"title": {
|
|
556
|
+
"type": "string",
|
|
557
|
+
"description": "Title attribute for tooltip"
|
|
558
|
+
},
|
|
559
|
+
"role": {
|
|
560
|
+
"type": "string",
|
|
561
|
+
"description": "Role attribute"
|
|
562
|
+
},
|
|
563
|
+
"children": {
|
|
564
|
+
"description": "Children elements"
|
|
565
|
+
},
|
|
566
|
+
"tooltip": {
|
|
567
|
+
"type": "string",
|
|
568
|
+
"description": "Content to display in the tooltip on hover/focus"
|
|
569
|
+
},
|
|
570
|
+
"tooltipSide": {
|
|
571
|
+
"type": "string",
|
|
572
|
+
"enum": [
|
|
573
|
+
"top",
|
|
574
|
+
"right",
|
|
575
|
+
"bottom",
|
|
576
|
+
"left"
|
|
577
|
+
],
|
|
578
|
+
"default": "top",
|
|
579
|
+
"description": "Side of the button where the tooltip should appear"
|
|
580
|
+
},
|
|
581
|
+
"tooltipAlign": {
|
|
582
|
+
"type": "string",
|
|
583
|
+
"enum": [
|
|
584
|
+
"start",
|
|
585
|
+
"center",
|
|
586
|
+
"end"
|
|
587
|
+
],
|
|
588
|
+
"default": "center",
|
|
589
|
+
"description": "Alignment of the tooltip relative to the button"
|
|
590
|
+
},
|
|
591
|
+
"tooltipDelayDuration": {
|
|
592
|
+
"type": "number",
|
|
593
|
+
"description": "Delay before showing the tooltip (in milliseconds)"
|
|
594
|
+
},
|
|
595
|
+
"tooltipDisableHoverableContent": {
|
|
596
|
+
"type": "boolean",
|
|
597
|
+
"default": false,
|
|
598
|
+
"description": "Whether to disable hoverable content behavior"
|
|
599
|
+
},
|
|
600
|
+
"overrideStyles": {
|
|
601
|
+
"type": "object",
|
|
602
|
+
"properties": {
|
|
603
|
+
"normal": {
|
|
604
|
+
"type": "object",
|
|
605
|
+
"properties": {
|
|
606
|
+
"color": {
|
|
607
|
+
"type": "string"
|
|
608
|
+
},
|
|
609
|
+
"background": {
|
|
610
|
+
"type": "string"
|
|
611
|
+
},
|
|
612
|
+
"backgroundColor": {
|
|
613
|
+
"type": "string"
|
|
614
|
+
},
|
|
615
|
+
"boxShadow": {
|
|
616
|
+
"type": "string"
|
|
617
|
+
},
|
|
618
|
+
"filter": {
|
|
619
|
+
"type": "string"
|
|
620
|
+
},
|
|
621
|
+
"outline": {
|
|
622
|
+
"type": "string"
|
|
623
|
+
},
|
|
624
|
+
"outlineOffset": {
|
|
625
|
+
"type": "string"
|
|
626
|
+
},
|
|
627
|
+
"opacity": {
|
|
628
|
+
"type": [
|
|
629
|
+
"string",
|
|
630
|
+
"number"
|
|
631
|
+
]
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
"additionalProperties": false
|
|
635
|
+
},
|
|
636
|
+
"hover": {
|
|
637
|
+
"type": "object",
|
|
638
|
+
"properties": {
|
|
639
|
+
"color": {
|
|
640
|
+
"type": "string"
|
|
641
|
+
},
|
|
642
|
+
"background": {
|
|
643
|
+
"type": "string"
|
|
644
|
+
},
|
|
645
|
+
"backgroundColor": {
|
|
646
|
+
"type": "string"
|
|
647
|
+
},
|
|
648
|
+
"boxShadow": {
|
|
649
|
+
"type": "string"
|
|
650
|
+
},
|
|
651
|
+
"filter": {
|
|
652
|
+
"type": "string"
|
|
653
|
+
},
|
|
654
|
+
"outline": {
|
|
655
|
+
"type": "string"
|
|
656
|
+
},
|
|
657
|
+
"outlineOffset": {
|
|
658
|
+
"type": "string"
|
|
659
|
+
},
|
|
660
|
+
"opacity": {
|
|
661
|
+
"type": [
|
|
662
|
+
"string",
|
|
663
|
+
"number"
|
|
664
|
+
]
|
|
665
|
+
}
|
|
666
|
+
},
|
|
667
|
+
"additionalProperties": false
|
|
668
|
+
},
|
|
669
|
+
"active": {
|
|
670
|
+
"type": "object",
|
|
671
|
+
"properties": {
|
|
672
|
+
"color": {
|
|
673
|
+
"type": "string"
|
|
674
|
+
},
|
|
675
|
+
"background": {
|
|
676
|
+
"type": "string"
|
|
677
|
+
},
|
|
678
|
+
"backgroundColor": {
|
|
679
|
+
"type": "string"
|
|
680
|
+
},
|
|
681
|
+
"boxShadow": {
|
|
682
|
+
"type": "string"
|
|
683
|
+
},
|
|
684
|
+
"filter": {
|
|
685
|
+
"type": "string"
|
|
686
|
+
},
|
|
687
|
+
"outline": {
|
|
688
|
+
"type": "string"
|
|
689
|
+
},
|
|
690
|
+
"outlineOffset": {
|
|
691
|
+
"type": "string"
|
|
692
|
+
},
|
|
693
|
+
"opacity": {
|
|
694
|
+
"type": [
|
|
695
|
+
"string",
|
|
696
|
+
"number"
|
|
697
|
+
]
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"additionalProperties": false
|
|
701
|
+
},
|
|
702
|
+
"pressed": {
|
|
703
|
+
"type": "object",
|
|
704
|
+
"properties": {
|
|
705
|
+
"color": {
|
|
706
|
+
"type": "string"
|
|
707
|
+
},
|
|
708
|
+
"background": {
|
|
709
|
+
"type": "string"
|
|
710
|
+
},
|
|
711
|
+
"backgroundColor": {
|
|
712
|
+
"type": "string"
|
|
713
|
+
},
|
|
714
|
+
"boxShadow": {
|
|
715
|
+
"type": "string"
|
|
716
|
+
},
|
|
717
|
+
"filter": {
|
|
718
|
+
"type": "string"
|
|
719
|
+
},
|
|
720
|
+
"outline": {
|
|
721
|
+
"type": "string"
|
|
722
|
+
},
|
|
723
|
+
"outlineOffset": {
|
|
724
|
+
"type": "string"
|
|
725
|
+
},
|
|
726
|
+
"opacity": {
|
|
727
|
+
"type": [
|
|
728
|
+
"string",
|
|
729
|
+
"number"
|
|
730
|
+
]
|
|
731
|
+
}
|
|
732
|
+
},
|
|
733
|
+
"additionalProperties": false
|
|
734
|
+
},
|
|
735
|
+
"open": {
|
|
736
|
+
"type": "object",
|
|
737
|
+
"properties": {
|
|
738
|
+
"color": {
|
|
739
|
+
"type": "string"
|
|
740
|
+
},
|
|
741
|
+
"background": {
|
|
742
|
+
"type": "string"
|
|
743
|
+
},
|
|
744
|
+
"backgroundColor": {
|
|
745
|
+
"type": "string"
|
|
746
|
+
},
|
|
747
|
+
"boxShadow": {
|
|
748
|
+
"type": "string"
|
|
749
|
+
},
|
|
750
|
+
"filter": {
|
|
751
|
+
"type": "string"
|
|
752
|
+
},
|
|
753
|
+
"outline": {
|
|
754
|
+
"type": "string"
|
|
755
|
+
},
|
|
756
|
+
"outlineOffset": {
|
|
757
|
+
"type": "string"
|
|
758
|
+
},
|
|
759
|
+
"opacity": {
|
|
760
|
+
"type": [
|
|
761
|
+
"string",
|
|
762
|
+
"number"
|
|
763
|
+
]
|
|
764
|
+
}
|
|
765
|
+
},
|
|
766
|
+
"additionalProperties": false
|
|
767
|
+
},
|
|
768
|
+
"disabled": {
|
|
769
|
+
"type": "object",
|
|
770
|
+
"properties": {
|
|
771
|
+
"color": {
|
|
772
|
+
"type": "string"
|
|
773
|
+
},
|
|
774
|
+
"background": {
|
|
775
|
+
"type": "string"
|
|
776
|
+
},
|
|
777
|
+
"backgroundColor": {
|
|
778
|
+
"type": "string"
|
|
779
|
+
},
|
|
780
|
+
"boxShadow": {
|
|
781
|
+
"type": "string"
|
|
782
|
+
},
|
|
783
|
+
"filter": {
|
|
784
|
+
"type": "string"
|
|
785
|
+
},
|
|
786
|
+
"outline": {
|
|
787
|
+
"type": "string"
|
|
788
|
+
},
|
|
789
|
+
"outlineOffset": {
|
|
790
|
+
"type": "string"
|
|
791
|
+
},
|
|
792
|
+
"opacity": {
|
|
793
|
+
"type": [
|
|
794
|
+
"string",
|
|
795
|
+
"number"
|
|
796
|
+
]
|
|
797
|
+
}
|
|
798
|
+
},
|
|
799
|
+
"additionalProperties": false
|
|
800
|
+
},
|
|
801
|
+
"focus": {
|
|
802
|
+
"type": "object",
|
|
803
|
+
"properties": {
|
|
804
|
+
"outline": {
|
|
805
|
+
"type": "string"
|
|
806
|
+
},
|
|
807
|
+
"outlineOffset": {
|
|
808
|
+
"type": "string"
|
|
809
|
+
}
|
|
810
|
+
},
|
|
811
|
+
"additionalProperties": false
|
|
812
|
+
}
|
|
813
|
+
},
|
|
814
|
+
"additionalProperties": false,
|
|
815
|
+
"description": "Override styles for different interaction states"
|
|
816
|
+
}
|
|
817
|
+
},
|
|
818
|
+
"additionalProperties": false
|
|
819
|
+
}
|
|
820
|
+
},
|
|
821
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
822
|
+
"title": "Button Component Props",
|
|
823
|
+
"description": "Props schema for the button component in Kookie UI",
|
|
824
|
+
"version": "1.0.0",
|
|
825
|
+
"generatedAt": "2025-09-10T06:58:42.617Z",
|
|
826
|
+
"source": "Zod schema"
|
|
827
|
+
},
|
|
828
|
+
"icon-button": {
|
|
829
|
+
"$ref": "#/definitions/Icon-buttonSchema",
|
|
830
|
+
"definitions": {
|
|
831
|
+
"Icon-buttonSchema": {
|
|
832
|
+
"type": "object",
|
|
833
|
+
"properties": {
|
|
834
|
+
"as": {
|
|
835
|
+
"type": "string",
|
|
836
|
+
"description": "HTML element type to render as"
|
|
837
|
+
},
|
|
838
|
+
"asChild": {
|
|
839
|
+
"type": "boolean",
|
|
840
|
+
"description": "Merge props with child element instead of rendering wrapper"
|
|
841
|
+
},
|
|
842
|
+
"size": {
|
|
843
|
+
"anyOf": [
|
|
844
|
+
{
|
|
845
|
+
"type": "string",
|
|
846
|
+
"enum": [
|
|
847
|
+
"1",
|
|
848
|
+
"2",
|
|
849
|
+
"3",
|
|
850
|
+
"4"
|
|
851
|
+
]
|
|
852
|
+
},
|
|
853
|
+
{
|
|
854
|
+
"type": "object",
|
|
855
|
+
"properties": {
|
|
856
|
+
"initial": {
|
|
857
|
+
"type": "string",
|
|
858
|
+
"enum": [
|
|
859
|
+
"1",
|
|
860
|
+
"2",
|
|
861
|
+
"3",
|
|
862
|
+
"4"
|
|
863
|
+
]
|
|
864
|
+
},
|
|
865
|
+
"sm": {
|
|
866
|
+
"type": "string",
|
|
867
|
+
"enum": [
|
|
868
|
+
"1",
|
|
869
|
+
"2",
|
|
870
|
+
"3",
|
|
871
|
+
"4"
|
|
872
|
+
]
|
|
873
|
+
},
|
|
874
|
+
"md": {
|
|
875
|
+
"type": "string",
|
|
876
|
+
"enum": [
|
|
877
|
+
"1",
|
|
878
|
+
"2",
|
|
879
|
+
"3",
|
|
880
|
+
"4"
|
|
881
|
+
]
|
|
882
|
+
},
|
|
883
|
+
"lg": {
|
|
884
|
+
"type": "string",
|
|
885
|
+
"enum": [
|
|
886
|
+
"1",
|
|
887
|
+
"2",
|
|
888
|
+
"3",
|
|
889
|
+
"4"
|
|
890
|
+
]
|
|
891
|
+
},
|
|
892
|
+
"xl": {
|
|
893
|
+
"type": "string",
|
|
894
|
+
"enum": [
|
|
895
|
+
"1",
|
|
896
|
+
"2",
|
|
897
|
+
"3",
|
|
898
|
+
"4"
|
|
899
|
+
]
|
|
900
|
+
}
|
|
901
|
+
},
|
|
902
|
+
"additionalProperties": false
|
|
903
|
+
}
|
|
904
|
+
],
|
|
905
|
+
"default": "2",
|
|
906
|
+
"description": "Button size for responsive design and interface density"
|
|
907
|
+
},
|
|
908
|
+
"variant": {
|
|
909
|
+
"type": "string",
|
|
910
|
+
"enum": [
|
|
911
|
+
"classic",
|
|
912
|
+
"solid",
|
|
913
|
+
"soft",
|
|
914
|
+
"surface",
|
|
915
|
+
"outline",
|
|
916
|
+
"ghost",
|
|
917
|
+
"override"
|
|
918
|
+
],
|
|
919
|
+
"default": "solid",
|
|
920
|
+
"description": "Visual variant that determines the button's appearance and context"
|
|
921
|
+
},
|
|
922
|
+
"color": {
|
|
923
|
+
"type": "string",
|
|
924
|
+
"enum": [
|
|
925
|
+
"tomato",
|
|
926
|
+
"red",
|
|
927
|
+
"ruby",
|
|
928
|
+
"crimson",
|
|
929
|
+
"pink",
|
|
930
|
+
"plum",
|
|
931
|
+
"purple",
|
|
932
|
+
"violet",
|
|
933
|
+
"iris",
|
|
934
|
+
"indigo",
|
|
935
|
+
"blue",
|
|
936
|
+
"cyan",
|
|
937
|
+
"teal",
|
|
938
|
+
"jade",
|
|
939
|
+
"green",
|
|
940
|
+
"grass",
|
|
941
|
+
"brown",
|
|
942
|
+
"orange",
|
|
943
|
+
"sky",
|
|
944
|
+
"mint",
|
|
945
|
+
"lime",
|
|
946
|
+
"yellow",
|
|
947
|
+
"amber",
|
|
948
|
+
"gold",
|
|
949
|
+
"bronze",
|
|
950
|
+
"gray"
|
|
951
|
+
],
|
|
952
|
+
"description": "Accent color for the button"
|
|
953
|
+
},
|
|
954
|
+
"highContrast": {
|
|
955
|
+
"type": "boolean",
|
|
956
|
+
"default": false,
|
|
957
|
+
"description": "High contrast mode for better accessibility"
|
|
958
|
+
},
|
|
959
|
+
"radius": {
|
|
960
|
+
"type": "string",
|
|
961
|
+
"enum": [
|
|
962
|
+
"none",
|
|
963
|
+
"small",
|
|
964
|
+
"medium",
|
|
965
|
+
"large",
|
|
966
|
+
"full"
|
|
967
|
+
],
|
|
968
|
+
"description": "Border radius for the button"
|
|
969
|
+
},
|
|
970
|
+
"loading": {
|
|
971
|
+
"type": "boolean",
|
|
972
|
+
"default": false,
|
|
973
|
+
"description": "Loading state that shows a spinner and disables interaction"
|
|
974
|
+
},
|
|
975
|
+
"fullWidth": {
|
|
976
|
+
"type": "boolean",
|
|
977
|
+
"default": false,
|
|
978
|
+
"description": "Full width mode that expands the button to fill its container"
|
|
979
|
+
},
|
|
980
|
+
"material": {
|
|
981
|
+
"type": "string",
|
|
982
|
+
"enum": [
|
|
983
|
+
"solid",
|
|
984
|
+
"translucent"
|
|
985
|
+
],
|
|
986
|
+
"description": "Material type for visual rendering and depth effects"
|
|
987
|
+
},
|
|
988
|
+
"panelBackground": {
|
|
989
|
+
"type": "string",
|
|
990
|
+
"enum": [
|
|
991
|
+
"solid",
|
|
992
|
+
"translucent"
|
|
993
|
+
],
|
|
994
|
+
"description": "Panel background type (deprecated - use material instead)"
|
|
995
|
+
},
|
|
996
|
+
"flush": {
|
|
997
|
+
"type": "boolean",
|
|
998
|
+
"default": false,
|
|
999
|
+
"description": "Flush mode that removes visual padding for seamless text integration"
|
|
1000
|
+
},
|
|
1001
|
+
"disabled": {
|
|
1002
|
+
"type": "boolean",
|
|
1003
|
+
"default": false,
|
|
1004
|
+
"description": "Disabled state"
|
|
1005
|
+
},
|
|
1006
|
+
"type": {
|
|
1007
|
+
"type": "string",
|
|
1008
|
+
"enum": [
|
|
1009
|
+
"button",
|
|
1010
|
+
"submit",
|
|
1011
|
+
"reset"
|
|
1012
|
+
],
|
|
1013
|
+
"description": "Type attribute for form buttons"
|
|
1014
|
+
},
|
|
1015
|
+
"className": {
|
|
1016
|
+
"type": "string",
|
|
1017
|
+
"description": "Additional CSS class name"
|
|
1018
|
+
},
|
|
1019
|
+
"style": {
|
|
1020
|
+
"type": "object",
|
|
1021
|
+
"additionalProperties": {
|
|
1022
|
+
"type": [
|
|
1023
|
+
"string",
|
|
1024
|
+
"number"
|
|
1025
|
+
]
|
|
1026
|
+
},
|
|
1027
|
+
"description": "Inline styles"
|
|
1028
|
+
},
|
|
1029
|
+
"tabIndex": {
|
|
1030
|
+
"type": "number",
|
|
1031
|
+
"description": "Tab index for keyboard navigation"
|
|
1032
|
+
},
|
|
1033
|
+
"aria-label": {
|
|
1034
|
+
"type": "string",
|
|
1035
|
+
"description": "ARIA label for accessibility"
|
|
1036
|
+
},
|
|
1037
|
+
"aria-labelledby": {
|
|
1038
|
+
"type": "string",
|
|
1039
|
+
"description": "ARIA labelled by reference"
|
|
1040
|
+
},
|
|
1041
|
+
"aria-describedby": {
|
|
1042
|
+
"type": "string",
|
|
1043
|
+
"description": "ARIA described by reference"
|
|
1044
|
+
},
|
|
1045
|
+
"aria-expanded": {
|
|
1046
|
+
"type": "boolean",
|
|
1047
|
+
"description": "ARIA expanded state"
|
|
1048
|
+
},
|
|
1049
|
+
"aria-pressed": {
|
|
1050
|
+
"type": "boolean",
|
|
1051
|
+
"description": "ARIA pressed state"
|
|
1052
|
+
},
|
|
1053
|
+
"aria-current": {
|
|
1054
|
+
"anyOf": [
|
|
1055
|
+
{
|
|
1056
|
+
"type": "boolean"
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"type": "string",
|
|
1060
|
+
"enum": [
|
|
1061
|
+
"page",
|
|
1062
|
+
"step",
|
|
1063
|
+
"location",
|
|
1064
|
+
"date",
|
|
1065
|
+
"time"
|
|
1066
|
+
]
|
|
1067
|
+
}
|
|
1068
|
+
],
|
|
1069
|
+
"description": "ARIA current state"
|
|
1070
|
+
},
|
|
1071
|
+
"aria-controls": {
|
|
1072
|
+
"type": "string",
|
|
1073
|
+
"description": "ARIA controls reference"
|
|
1074
|
+
},
|
|
1075
|
+
"aria-owns": {
|
|
1076
|
+
"type": "string",
|
|
1077
|
+
"description": "ARIA owns reference"
|
|
1078
|
+
},
|
|
1079
|
+
"data-*": {
|
|
1080
|
+
"type": "object",
|
|
1081
|
+
"additionalProperties": {
|
|
1082
|
+
"type": "string"
|
|
1083
|
+
},
|
|
1084
|
+
"description": "Data attributes"
|
|
1085
|
+
},
|
|
1086
|
+
"id": {
|
|
1087
|
+
"type": "string",
|
|
1088
|
+
"description": "ID attribute"
|
|
1089
|
+
},
|
|
1090
|
+
"title": {
|
|
1091
|
+
"type": "string",
|
|
1092
|
+
"description": "Title attribute for tooltip"
|
|
1093
|
+
},
|
|
1094
|
+
"role": {
|
|
1095
|
+
"type": "string",
|
|
1096
|
+
"description": "Role attribute"
|
|
1097
|
+
},
|
|
1098
|
+
"children": {
|
|
1099
|
+
"description": "Children elements (required for accessibility if no aria-label)"
|
|
1100
|
+
},
|
|
1101
|
+
"tooltip": {
|
|
1102
|
+
"type": "string",
|
|
1103
|
+
"description": "Content to display in the tooltip on hover/focus"
|
|
1104
|
+
},
|
|
1105
|
+
"tooltipSide": {
|
|
1106
|
+
"type": "string",
|
|
1107
|
+
"enum": [
|
|
1108
|
+
"top",
|
|
1109
|
+
"right",
|
|
1110
|
+
"bottom",
|
|
1111
|
+
"left"
|
|
1112
|
+
],
|
|
1113
|
+
"default": "top",
|
|
1114
|
+
"description": "Side of the button where the tooltip should appear"
|
|
1115
|
+
},
|
|
1116
|
+
"tooltipAlign": {
|
|
1117
|
+
"type": "string",
|
|
1118
|
+
"enum": [
|
|
1119
|
+
"start",
|
|
1120
|
+
"center",
|
|
1121
|
+
"end"
|
|
1122
|
+
],
|
|
1123
|
+
"default": "center",
|
|
1124
|
+
"description": "Alignment of the tooltip relative to the button"
|
|
1125
|
+
},
|
|
1126
|
+
"tooltipDelayDuration": {
|
|
1127
|
+
"type": "number",
|
|
1128
|
+
"description": "Delay before showing the tooltip (in milliseconds)"
|
|
1129
|
+
},
|
|
1130
|
+
"tooltipDisableHoverableContent": {
|
|
1131
|
+
"type": "boolean",
|
|
1132
|
+
"default": false,
|
|
1133
|
+
"description": "Whether to disable hoverable content behavior"
|
|
1134
|
+
}
|
|
1135
|
+
},
|
|
1136
|
+
"additionalProperties": false
|
|
1137
|
+
}
|
|
1138
|
+
},
|
|
1139
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1140
|
+
"title": "Icon-button Component Props",
|
|
1141
|
+
"description": "Props schema for the icon-button component in Kookie UI",
|
|
1142
|
+
"version": "1.0.0",
|
|
1143
|
+
"generatedAt": "2025-09-10T06:58:42.618Z",
|
|
1144
|
+
"source": "Zod schema"
|
|
1145
|
+
},
|
|
1146
|
+
"toggle-button": {
|
|
1147
|
+
"$ref": "#/definitions/Toggle-buttonSchema",
|
|
1148
|
+
"definitions": {
|
|
1149
|
+
"Toggle-buttonSchema": {
|
|
1150
|
+
"type": "object",
|
|
1151
|
+
"properties": {
|
|
1152
|
+
"as": {
|
|
1153
|
+
"type": "string",
|
|
1154
|
+
"description": "HTML element type to render as"
|
|
1155
|
+
},
|
|
1156
|
+
"asChild": {
|
|
1157
|
+
"type": "boolean",
|
|
1158
|
+
"description": "Merge props with child element instead of rendering wrapper"
|
|
1159
|
+
},
|
|
1160
|
+
"size": {
|
|
1161
|
+
"anyOf": [
|
|
1162
|
+
{
|
|
1163
|
+
"type": "string",
|
|
1164
|
+
"enum": [
|
|
1165
|
+
"1",
|
|
1166
|
+
"2",
|
|
1167
|
+
"3",
|
|
1168
|
+
"4"
|
|
1169
|
+
]
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"type": "object",
|
|
1173
|
+
"properties": {
|
|
1174
|
+
"initial": {
|
|
1175
|
+
"type": "string",
|
|
1176
|
+
"enum": [
|
|
1177
|
+
"1",
|
|
1178
|
+
"2",
|
|
1179
|
+
"3",
|
|
1180
|
+
"4"
|
|
1181
|
+
]
|
|
1182
|
+
},
|
|
1183
|
+
"sm": {
|
|
1184
|
+
"type": "string",
|
|
1185
|
+
"enum": [
|
|
1186
|
+
"1",
|
|
1187
|
+
"2",
|
|
1188
|
+
"3",
|
|
1189
|
+
"4"
|
|
1190
|
+
]
|
|
1191
|
+
},
|
|
1192
|
+
"md": {
|
|
1193
|
+
"type": "string",
|
|
1194
|
+
"enum": [
|
|
1195
|
+
"1",
|
|
1196
|
+
"2",
|
|
1197
|
+
"3",
|
|
1198
|
+
"4"
|
|
1199
|
+
]
|
|
1200
|
+
},
|
|
1201
|
+
"lg": {
|
|
1202
|
+
"type": "string",
|
|
1203
|
+
"enum": [
|
|
1204
|
+
"1",
|
|
1205
|
+
"2",
|
|
1206
|
+
"3",
|
|
1207
|
+
"4"
|
|
1208
|
+
]
|
|
1209
|
+
},
|
|
1210
|
+
"xl": {
|
|
1211
|
+
"type": "string",
|
|
1212
|
+
"enum": [
|
|
1213
|
+
"1",
|
|
1214
|
+
"2",
|
|
1215
|
+
"3",
|
|
1216
|
+
"4"
|
|
1217
|
+
]
|
|
1218
|
+
}
|
|
1219
|
+
},
|
|
1220
|
+
"additionalProperties": false
|
|
1221
|
+
}
|
|
1222
|
+
],
|
|
1223
|
+
"default": "2",
|
|
1224
|
+
"description": "Button size for responsive design and interface density"
|
|
1225
|
+
},
|
|
1226
|
+
"variant": {
|
|
1227
|
+
"type": "string",
|
|
1228
|
+
"enum": [
|
|
1229
|
+
"classic",
|
|
1230
|
+
"solid",
|
|
1231
|
+
"soft",
|
|
1232
|
+
"surface",
|
|
1233
|
+
"outline",
|
|
1234
|
+
"ghost",
|
|
1235
|
+
"override"
|
|
1236
|
+
],
|
|
1237
|
+
"default": "solid",
|
|
1238
|
+
"description": "Visual variant that determines the button's appearance and context"
|
|
1239
|
+
},
|
|
1240
|
+
"color": {
|
|
1241
|
+
"type": "string",
|
|
1242
|
+
"enum": [
|
|
1243
|
+
"tomato",
|
|
1244
|
+
"red",
|
|
1245
|
+
"ruby",
|
|
1246
|
+
"crimson",
|
|
1247
|
+
"pink",
|
|
1248
|
+
"plum",
|
|
1249
|
+
"purple",
|
|
1250
|
+
"violet",
|
|
1251
|
+
"iris",
|
|
1252
|
+
"indigo",
|
|
1253
|
+
"blue",
|
|
1254
|
+
"cyan",
|
|
1255
|
+
"teal",
|
|
1256
|
+
"jade",
|
|
1257
|
+
"green",
|
|
1258
|
+
"grass",
|
|
1259
|
+
"brown",
|
|
1260
|
+
"orange",
|
|
1261
|
+
"sky",
|
|
1262
|
+
"mint",
|
|
1263
|
+
"lime",
|
|
1264
|
+
"yellow",
|
|
1265
|
+
"amber",
|
|
1266
|
+
"gold",
|
|
1267
|
+
"bronze",
|
|
1268
|
+
"gray"
|
|
1269
|
+
],
|
|
1270
|
+
"description": "Accent color for the button"
|
|
1271
|
+
},
|
|
1272
|
+
"highContrast": {
|
|
1273
|
+
"type": "boolean",
|
|
1274
|
+
"default": false,
|
|
1275
|
+
"description": "High contrast mode for better accessibility"
|
|
1276
|
+
},
|
|
1277
|
+
"radius": {
|
|
1278
|
+
"type": "string",
|
|
1279
|
+
"enum": [
|
|
1280
|
+
"none",
|
|
1281
|
+
"small",
|
|
1282
|
+
"medium",
|
|
1283
|
+
"large",
|
|
1284
|
+
"full"
|
|
1285
|
+
],
|
|
1286
|
+
"description": "Border radius for the button"
|
|
1287
|
+
},
|
|
1288
|
+
"loading": {
|
|
1289
|
+
"type": "boolean",
|
|
1290
|
+
"default": false,
|
|
1291
|
+
"description": "Loading state that shows a spinner and disables interaction"
|
|
1292
|
+
},
|
|
1293
|
+
"fullWidth": {
|
|
1294
|
+
"type": "boolean",
|
|
1295
|
+
"default": false,
|
|
1296
|
+
"description": "Full width mode that expands the button to fill its container"
|
|
1297
|
+
},
|
|
1298
|
+
"material": {
|
|
1299
|
+
"type": "string",
|
|
1300
|
+
"enum": [
|
|
1301
|
+
"solid",
|
|
1302
|
+
"translucent"
|
|
1303
|
+
],
|
|
1304
|
+
"description": "Material type for visual rendering and depth effects"
|
|
1305
|
+
},
|
|
1306
|
+
"panelBackground": {
|
|
1307
|
+
"type": "string",
|
|
1308
|
+
"enum": [
|
|
1309
|
+
"solid",
|
|
1310
|
+
"translucent"
|
|
1311
|
+
],
|
|
1312
|
+
"description": "Panel background type (deprecated - use material instead)"
|
|
1313
|
+
},
|
|
1314
|
+
"flush": {
|
|
1315
|
+
"type": "boolean",
|
|
1316
|
+
"default": false,
|
|
1317
|
+
"description": "Flush mode that removes visual padding for seamless text integration"
|
|
1318
|
+
},
|
|
1319
|
+
"disabled": {
|
|
1320
|
+
"type": "boolean",
|
|
1321
|
+
"default": false,
|
|
1322
|
+
"description": "Disabled state"
|
|
1323
|
+
},
|
|
1324
|
+
"type": {
|
|
1325
|
+
"type": "string",
|
|
1326
|
+
"enum": [
|
|
1327
|
+
"button",
|
|
1328
|
+
"submit",
|
|
1329
|
+
"reset"
|
|
1330
|
+
],
|
|
1331
|
+
"description": "Type attribute for form buttons"
|
|
1332
|
+
},
|
|
1333
|
+
"className": {
|
|
1334
|
+
"type": "string",
|
|
1335
|
+
"description": "Additional CSS class name"
|
|
1336
|
+
},
|
|
1337
|
+
"style": {
|
|
1338
|
+
"type": "object",
|
|
1339
|
+
"additionalProperties": {
|
|
1340
|
+
"type": [
|
|
1341
|
+
"string",
|
|
1342
|
+
"number"
|
|
1343
|
+
]
|
|
1344
|
+
},
|
|
1345
|
+
"description": "Inline styles"
|
|
1346
|
+
},
|
|
1347
|
+
"tabIndex": {
|
|
1348
|
+
"type": "number",
|
|
1349
|
+
"description": "Tab index for keyboard navigation"
|
|
1350
|
+
},
|
|
1351
|
+
"aria-label": {
|
|
1352
|
+
"type": "string",
|
|
1353
|
+
"description": "ARIA label for accessibility"
|
|
1354
|
+
},
|
|
1355
|
+
"aria-labelledby": {
|
|
1356
|
+
"type": "string",
|
|
1357
|
+
"description": "ARIA labelled by reference"
|
|
1358
|
+
},
|
|
1359
|
+
"aria-describedby": {
|
|
1360
|
+
"type": "string",
|
|
1361
|
+
"description": "ARIA described by reference"
|
|
1362
|
+
},
|
|
1363
|
+
"aria-expanded": {
|
|
1364
|
+
"type": "boolean",
|
|
1365
|
+
"description": "ARIA expanded state"
|
|
1366
|
+
},
|
|
1367
|
+
"aria-pressed": {
|
|
1368
|
+
"type": "boolean",
|
|
1369
|
+
"description": "ARIA pressed state"
|
|
1370
|
+
},
|
|
1371
|
+
"aria-current": {
|
|
1372
|
+
"anyOf": [
|
|
1373
|
+
{
|
|
1374
|
+
"type": "boolean"
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
"type": "string",
|
|
1378
|
+
"enum": [
|
|
1379
|
+
"page",
|
|
1380
|
+
"step",
|
|
1381
|
+
"location",
|
|
1382
|
+
"date",
|
|
1383
|
+
"time"
|
|
1384
|
+
]
|
|
1385
|
+
}
|
|
1386
|
+
],
|
|
1387
|
+
"description": "ARIA current state"
|
|
1388
|
+
},
|
|
1389
|
+
"aria-controls": {
|
|
1390
|
+
"type": "string",
|
|
1391
|
+
"description": "ARIA controls reference"
|
|
1392
|
+
},
|
|
1393
|
+
"aria-owns": {
|
|
1394
|
+
"type": "string",
|
|
1395
|
+
"description": "ARIA owns reference"
|
|
1396
|
+
},
|
|
1397
|
+
"data-*": {
|
|
1398
|
+
"type": "object",
|
|
1399
|
+
"additionalProperties": {
|
|
1400
|
+
"type": "string"
|
|
1401
|
+
},
|
|
1402
|
+
"description": "Data attributes"
|
|
1403
|
+
},
|
|
1404
|
+
"id": {
|
|
1405
|
+
"type": "string",
|
|
1406
|
+
"description": "ID attribute"
|
|
1407
|
+
},
|
|
1408
|
+
"title": {
|
|
1409
|
+
"type": "string",
|
|
1410
|
+
"description": "Title attribute for tooltip"
|
|
1411
|
+
},
|
|
1412
|
+
"role": {
|
|
1413
|
+
"type": "string",
|
|
1414
|
+
"description": "Role attribute"
|
|
1415
|
+
},
|
|
1416
|
+
"children": {
|
|
1417
|
+
"description": "Children elements"
|
|
1418
|
+
},
|
|
1419
|
+
"tooltip": {
|
|
1420
|
+
"type": "string",
|
|
1421
|
+
"description": "Content to display in the tooltip on hover/focus"
|
|
1422
|
+
},
|
|
1423
|
+
"tooltipSide": {
|
|
1424
|
+
"type": "string",
|
|
1425
|
+
"enum": [
|
|
1426
|
+
"top",
|
|
1427
|
+
"right",
|
|
1428
|
+
"bottom",
|
|
1429
|
+
"left"
|
|
1430
|
+
],
|
|
1431
|
+
"default": "top",
|
|
1432
|
+
"description": "Side of the button where the tooltip should appear"
|
|
1433
|
+
},
|
|
1434
|
+
"tooltipAlign": {
|
|
1435
|
+
"type": "string",
|
|
1436
|
+
"enum": [
|
|
1437
|
+
"start",
|
|
1438
|
+
"center",
|
|
1439
|
+
"end"
|
|
1440
|
+
],
|
|
1441
|
+
"default": "center",
|
|
1442
|
+
"description": "Alignment of the tooltip relative to the button"
|
|
1443
|
+
},
|
|
1444
|
+
"tooltipDelayDuration": {
|
|
1445
|
+
"type": "number",
|
|
1446
|
+
"description": "Delay before showing the tooltip (in milliseconds)"
|
|
1447
|
+
},
|
|
1448
|
+
"tooltipDisableHoverableContent": {
|
|
1449
|
+
"type": "boolean",
|
|
1450
|
+
"default": false,
|
|
1451
|
+
"description": "Whether to disable hoverable content behavior"
|
|
1452
|
+
},
|
|
1453
|
+
"overrideStyles": {
|
|
1454
|
+
"type": "object",
|
|
1455
|
+
"properties": {
|
|
1456
|
+
"normal": {
|
|
1457
|
+
"type": "object",
|
|
1458
|
+
"properties": {
|
|
1459
|
+
"color": {
|
|
1460
|
+
"type": "string"
|
|
1461
|
+
},
|
|
1462
|
+
"background": {
|
|
1463
|
+
"type": "string"
|
|
1464
|
+
},
|
|
1465
|
+
"backgroundColor": {
|
|
1466
|
+
"type": "string"
|
|
1467
|
+
},
|
|
1468
|
+
"boxShadow": {
|
|
1469
|
+
"type": "string"
|
|
1470
|
+
},
|
|
1471
|
+
"filter": {
|
|
1472
|
+
"type": "string"
|
|
1473
|
+
},
|
|
1474
|
+
"outline": {
|
|
1475
|
+
"type": "string"
|
|
1476
|
+
},
|
|
1477
|
+
"outlineOffset": {
|
|
1478
|
+
"type": "string"
|
|
1479
|
+
},
|
|
1480
|
+
"opacity": {
|
|
1481
|
+
"type": [
|
|
1482
|
+
"string",
|
|
1483
|
+
"number"
|
|
1484
|
+
]
|
|
1485
|
+
}
|
|
1486
|
+
},
|
|
1487
|
+
"additionalProperties": false
|
|
1488
|
+
},
|
|
1489
|
+
"hover": {
|
|
1490
|
+
"type": "object",
|
|
1491
|
+
"properties": {
|
|
1492
|
+
"color": {
|
|
1493
|
+
"type": "string"
|
|
1494
|
+
},
|
|
1495
|
+
"background": {
|
|
1496
|
+
"type": "string"
|
|
1497
|
+
},
|
|
1498
|
+
"backgroundColor": {
|
|
1499
|
+
"type": "string"
|
|
1500
|
+
},
|
|
1501
|
+
"boxShadow": {
|
|
1502
|
+
"type": "string"
|
|
1503
|
+
},
|
|
1504
|
+
"filter": {
|
|
1505
|
+
"type": "string"
|
|
1506
|
+
},
|
|
1507
|
+
"outline": {
|
|
1508
|
+
"type": "string"
|
|
1509
|
+
},
|
|
1510
|
+
"outlineOffset": {
|
|
1511
|
+
"type": "string"
|
|
1512
|
+
},
|
|
1513
|
+
"opacity": {
|
|
1514
|
+
"type": [
|
|
1515
|
+
"string",
|
|
1516
|
+
"number"
|
|
1517
|
+
]
|
|
1518
|
+
}
|
|
1519
|
+
},
|
|
1520
|
+
"additionalProperties": false
|
|
1521
|
+
},
|
|
1522
|
+
"active": {
|
|
1523
|
+
"type": "object",
|
|
1524
|
+
"properties": {
|
|
1525
|
+
"color": {
|
|
1526
|
+
"type": "string"
|
|
1527
|
+
},
|
|
1528
|
+
"background": {
|
|
1529
|
+
"type": "string"
|
|
1530
|
+
},
|
|
1531
|
+
"backgroundColor": {
|
|
1532
|
+
"type": "string"
|
|
1533
|
+
},
|
|
1534
|
+
"boxShadow": {
|
|
1535
|
+
"type": "string"
|
|
1536
|
+
},
|
|
1537
|
+
"filter": {
|
|
1538
|
+
"type": "string"
|
|
1539
|
+
},
|
|
1540
|
+
"outline": {
|
|
1541
|
+
"type": "string"
|
|
1542
|
+
},
|
|
1543
|
+
"outlineOffset": {
|
|
1544
|
+
"type": "string"
|
|
1545
|
+
},
|
|
1546
|
+
"opacity": {
|
|
1547
|
+
"type": [
|
|
1548
|
+
"string",
|
|
1549
|
+
"number"
|
|
1550
|
+
]
|
|
1551
|
+
}
|
|
1552
|
+
},
|
|
1553
|
+
"additionalProperties": false
|
|
1554
|
+
},
|
|
1555
|
+
"pressed": {
|
|
1556
|
+
"type": "object",
|
|
1557
|
+
"properties": {
|
|
1558
|
+
"color": {
|
|
1559
|
+
"type": "string"
|
|
1560
|
+
},
|
|
1561
|
+
"background": {
|
|
1562
|
+
"type": "string"
|
|
1563
|
+
},
|
|
1564
|
+
"backgroundColor": {
|
|
1565
|
+
"type": "string"
|
|
1566
|
+
},
|
|
1567
|
+
"boxShadow": {
|
|
1568
|
+
"type": "string"
|
|
1569
|
+
},
|
|
1570
|
+
"filter": {
|
|
1571
|
+
"type": "string"
|
|
1572
|
+
},
|
|
1573
|
+
"outline": {
|
|
1574
|
+
"type": "string"
|
|
1575
|
+
},
|
|
1576
|
+
"outlineOffset": {
|
|
1577
|
+
"type": "string"
|
|
1578
|
+
},
|
|
1579
|
+
"opacity": {
|
|
1580
|
+
"type": [
|
|
1581
|
+
"string",
|
|
1582
|
+
"number"
|
|
1583
|
+
]
|
|
1584
|
+
}
|
|
1585
|
+
},
|
|
1586
|
+
"additionalProperties": false
|
|
1587
|
+
},
|
|
1588
|
+
"open": {
|
|
1589
|
+
"type": "object",
|
|
1590
|
+
"properties": {
|
|
1591
|
+
"color": {
|
|
1592
|
+
"type": "string"
|
|
1593
|
+
},
|
|
1594
|
+
"background": {
|
|
1595
|
+
"type": "string"
|
|
1596
|
+
},
|
|
1597
|
+
"backgroundColor": {
|
|
1598
|
+
"type": "string"
|
|
1599
|
+
},
|
|
1600
|
+
"boxShadow": {
|
|
1601
|
+
"type": "string"
|
|
1602
|
+
},
|
|
1603
|
+
"filter": {
|
|
1604
|
+
"type": "string"
|
|
1605
|
+
},
|
|
1606
|
+
"outline": {
|
|
1607
|
+
"type": "string"
|
|
1608
|
+
},
|
|
1609
|
+
"outlineOffset": {
|
|
1610
|
+
"type": "string"
|
|
1611
|
+
},
|
|
1612
|
+
"opacity": {
|
|
1613
|
+
"type": [
|
|
1614
|
+
"string",
|
|
1615
|
+
"number"
|
|
1616
|
+
]
|
|
1617
|
+
}
|
|
1618
|
+
},
|
|
1619
|
+
"additionalProperties": false
|
|
1620
|
+
},
|
|
1621
|
+
"disabled": {
|
|
1622
|
+
"type": "object",
|
|
1623
|
+
"properties": {
|
|
1624
|
+
"color": {
|
|
1625
|
+
"type": "string"
|
|
1626
|
+
},
|
|
1627
|
+
"background": {
|
|
1628
|
+
"type": "string"
|
|
1629
|
+
},
|
|
1630
|
+
"backgroundColor": {
|
|
1631
|
+
"type": "string"
|
|
1632
|
+
},
|
|
1633
|
+
"boxShadow": {
|
|
1634
|
+
"type": "string"
|
|
1635
|
+
},
|
|
1636
|
+
"filter": {
|
|
1637
|
+
"type": "string"
|
|
1638
|
+
},
|
|
1639
|
+
"outline": {
|
|
1640
|
+
"type": "string"
|
|
1641
|
+
},
|
|
1642
|
+
"outlineOffset": {
|
|
1643
|
+
"type": "string"
|
|
1644
|
+
},
|
|
1645
|
+
"opacity": {
|
|
1646
|
+
"type": [
|
|
1647
|
+
"string",
|
|
1648
|
+
"number"
|
|
1649
|
+
]
|
|
1650
|
+
}
|
|
1651
|
+
},
|
|
1652
|
+
"additionalProperties": false
|
|
1653
|
+
},
|
|
1654
|
+
"focus": {
|
|
1655
|
+
"type": "object",
|
|
1656
|
+
"properties": {
|
|
1657
|
+
"outline": {
|
|
1658
|
+
"type": "string"
|
|
1659
|
+
},
|
|
1660
|
+
"outlineOffset": {
|
|
1661
|
+
"type": "string"
|
|
1662
|
+
}
|
|
1663
|
+
},
|
|
1664
|
+
"additionalProperties": false
|
|
1665
|
+
}
|
|
1666
|
+
},
|
|
1667
|
+
"additionalProperties": false,
|
|
1668
|
+
"description": "Override styles for different interaction states"
|
|
1669
|
+
},
|
|
1670
|
+
"pressed": {
|
|
1671
|
+
"type": "boolean",
|
|
1672
|
+
"description": "Controlled pressed state"
|
|
1673
|
+
},
|
|
1674
|
+
"defaultPressed": {
|
|
1675
|
+
"type": "boolean",
|
|
1676
|
+
"description": "Default pressed state for uncontrolled usage"
|
|
1677
|
+
}
|
|
1678
|
+
},
|
|
1679
|
+
"additionalProperties": false
|
|
1680
|
+
}
|
|
1681
|
+
},
|
|
1682
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1683
|
+
"title": "Toggle-button Component Props",
|
|
1684
|
+
"description": "Props schema for the toggle-button component in Kookie UI",
|
|
1685
|
+
"version": "1.0.0",
|
|
1686
|
+
"generatedAt": "2025-09-10T06:58:42.620Z",
|
|
1687
|
+
"source": "Zod schema"
|
|
1688
|
+
},
|
|
1689
|
+
"toggle-icon-button": {
|
|
1690
|
+
"$ref": "#/definitions/Toggle-icon-buttonSchema",
|
|
1691
|
+
"definitions": {
|
|
1692
|
+
"Toggle-icon-buttonSchema": {
|
|
1693
|
+
"type": "object",
|
|
1694
|
+
"properties": {
|
|
1695
|
+
"as": {
|
|
1696
|
+
"type": "string",
|
|
1697
|
+
"description": "HTML element type to render as"
|
|
1698
|
+
},
|
|
1699
|
+
"asChild": {
|
|
1700
|
+
"type": "boolean",
|
|
1701
|
+
"description": "Merge props with child element instead of rendering wrapper"
|
|
1702
|
+
},
|
|
1703
|
+
"size": {
|
|
1704
|
+
"anyOf": [
|
|
1705
|
+
{
|
|
1706
|
+
"type": "string",
|
|
1707
|
+
"enum": [
|
|
1708
|
+
"1",
|
|
1709
|
+
"2",
|
|
1710
|
+
"3",
|
|
1711
|
+
"4"
|
|
1712
|
+
]
|
|
1713
|
+
},
|
|
1714
|
+
{
|
|
1715
|
+
"type": "object",
|
|
1716
|
+
"properties": {
|
|
1717
|
+
"initial": {
|
|
1718
|
+
"type": "string",
|
|
1719
|
+
"enum": [
|
|
1720
|
+
"1",
|
|
1721
|
+
"2",
|
|
1722
|
+
"3",
|
|
1723
|
+
"4"
|
|
1724
|
+
]
|
|
1725
|
+
},
|
|
1726
|
+
"sm": {
|
|
1727
|
+
"type": "string",
|
|
1728
|
+
"enum": [
|
|
1729
|
+
"1",
|
|
1730
|
+
"2",
|
|
1731
|
+
"3",
|
|
1732
|
+
"4"
|
|
1733
|
+
]
|
|
1734
|
+
},
|
|
1735
|
+
"md": {
|
|
1736
|
+
"type": "string",
|
|
1737
|
+
"enum": [
|
|
1738
|
+
"1",
|
|
1739
|
+
"2",
|
|
1740
|
+
"3",
|
|
1741
|
+
"4"
|
|
1742
|
+
]
|
|
1743
|
+
},
|
|
1744
|
+
"lg": {
|
|
1745
|
+
"type": "string",
|
|
1746
|
+
"enum": [
|
|
1747
|
+
"1",
|
|
1748
|
+
"2",
|
|
1749
|
+
"3",
|
|
1750
|
+
"4"
|
|
1751
|
+
]
|
|
1752
|
+
},
|
|
1753
|
+
"xl": {
|
|
1754
|
+
"type": "string",
|
|
1755
|
+
"enum": [
|
|
1756
|
+
"1",
|
|
1757
|
+
"2",
|
|
1758
|
+
"3",
|
|
1759
|
+
"4"
|
|
1760
|
+
]
|
|
1761
|
+
}
|
|
1762
|
+
},
|
|
1763
|
+
"additionalProperties": false
|
|
1764
|
+
}
|
|
1765
|
+
],
|
|
1766
|
+
"default": "2",
|
|
1767
|
+
"description": "Button size for responsive design and interface density"
|
|
1768
|
+
},
|
|
1769
|
+
"variant": {
|
|
1770
|
+
"type": "string",
|
|
1771
|
+
"enum": [
|
|
1772
|
+
"classic",
|
|
1773
|
+
"solid",
|
|
1774
|
+
"soft",
|
|
1775
|
+
"surface",
|
|
1776
|
+
"outline",
|
|
1777
|
+
"ghost",
|
|
1778
|
+
"override"
|
|
1779
|
+
],
|
|
1780
|
+
"default": "solid",
|
|
1781
|
+
"description": "Visual variant that determines the button's appearance and context"
|
|
1782
|
+
},
|
|
1783
|
+
"color": {
|
|
1784
|
+
"type": "string",
|
|
1785
|
+
"enum": [
|
|
1786
|
+
"tomato",
|
|
1787
|
+
"red",
|
|
1788
|
+
"ruby",
|
|
1789
|
+
"crimson",
|
|
1790
|
+
"pink",
|
|
1791
|
+
"plum",
|
|
1792
|
+
"purple",
|
|
1793
|
+
"violet",
|
|
1794
|
+
"iris",
|
|
1795
|
+
"indigo",
|
|
1796
|
+
"blue",
|
|
1797
|
+
"cyan",
|
|
1798
|
+
"teal",
|
|
1799
|
+
"jade",
|
|
1800
|
+
"green",
|
|
1801
|
+
"grass",
|
|
1802
|
+
"brown",
|
|
1803
|
+
"orange",
|
|
1804
|
+
"sky",
|
|
1805
|
+
"mint",
|
|
1806
|
+
"lime",
|
|
1807
|
+
"yellow",
|
|
1808
|
+
"amber",
|
|
1809
|
+
"gold",
|
|
1810
|
+
"bronze",
|
|
1811
|
+
"gray"
|
|
1812
|
+
],
|
|
1813
|
+
"description": "Accent color for the button"
|
|
1814
|
+
},
|
|
1815
|
+
"highContrast": {
|
|
1816
|
+
"type": "boolean",
|
|
1817
|
+
"default": false,
|
|
1818
|
+
"description": "High contrast mode for better accessibility"
|
|
1819
|
+
},
|
|
1820
|
+
"radius": {
|
|
1821
|
+
"type": "string",
|
|
1822
|
+
"enum": [
|
|
1823
|
+
"none",
|
|
1824
|
+
"small",
|
|
1825
|
+
"medium",
|
|
1826
|
+
"large",
|
|
1827
|
+
"full"
|
|
1828
|
+
],
|
|
1829
|
+
"description": "Border radius for the button"
|
|
1830
|
+
},
|
|
1831
|
+
"loading": {
|
|
1832
|
+
"type": "boolean",
|
|
1833
|
+
"default": false,
|
|
1834
|
+
"description": "Loading state that shows a spinner and disables interaction"
|
|
1835
|
+
},
|
|
1836
|
+
"fullWidth": {
|
|
1837
|
+
"type": "boolean",
|
|
1838
|
+
"default": false,
|
|
1839
|
+
"description": "Full width mode that expands the button to fill its container"
|
|
1840
|
+
},
|
|
1841
|
+
"material": {
|
|
1842
|
+
"type": "string",
|
|
1843
|
+
"enum": [
|
|
1844
|
+
"solid",
|
|
1845
|
+
"translucent"
|
|
1846
|
+
],
|
|
1847
|
+
"description": "Material type for visual rendering and depth effects"
|
|
1848
|
+
},
|
|
1849
|
+
"panelBackground": {
|
|
1850
|
+
"type": "string",
|
|
1851
|
+
"enum": [
|
|
1852
|
+
"solid",
|
|
1853
|
+
"translucent"
|
|
1854
|
+
],
|
|
1855
|
+
"description": "Panel background type (deprecated - use material instead)"
|
|
1856
|
+
},
|
|
1857
|
+
"flush": {
|
|
1858
|
+
"type": "boolean",
|
|
1859
|
+
"default": false,
|
|
1860
|
+
"description": "Flush mode that removes visual padding for seamless text integration"
|
|
1861
|
+
},
|
|
1862
|
+
"disabled": {
|
|
1863
|
+
"type": "boolean",
|
|
1864
|
+
"default": false,
|
|
1865
|
+
"description": "Disabled state"
|
|
1866
|
+
},
|
|
1867
|
+
"type": {
|
|
1868
|
+
"type": "string",
|
|
1869
|
+
"enum": [
|
|
1870
|
+
"button",
|
|
1871
|
+
"submit",
|
|
1872
|
+
"reset"
|
|
1873
|
+
],
|
|
1874
|
+
"description": "Type attribute for form buttons"
|
|
1875
|
+
},
|
|
1876
|
+
"className": {
|
|
1877
|
+
"type": "string",
|
|
1878
|
+
"description": "Additional CSS class name"
|
|
1879
|
+
},
|
|
1880
|
+
"style": {
|
|
1881
|
+
"type": "object",
|
|
1882
|
+
"additionalProperties": {
|
|
1883
|
+
"type": [
|
|
1884
|
+
"string",
|
|
1885
|
+
"number"
|
|
1886
|
+
]
|
|
1887
|
+
},
|
|
1888
|
+
"description": "Inline styles"
|
|
1889
|
+
},
|
|
1890
|
+
"tabIndex": {
|
|
1891
|
+
"type": "number",
|
|
1892
|
+
"description": "Tab index for keyboard navigation"
|
|
1893
|
+
},
|
|
1894
|
+
"aria-label": {
|
|
1895
|
+
"type": "string",
|
|
1896
|
+
"description": "ARIA label for accessibility"
|
|
1897
|
+
},
|
|
1898
|
+
"aria-labelledby": {
|
|
1899
|
+
"type": "string",
|
|
1900
|
+
"description": "ARIA labelled by reference"
|
|
1901
|
+
},
|
|
1902
|
+
"aria-describedby": {
|
|
1903
|
+
"type": "string",
|
|
1904
|
+
"description": "ARIA described by reference"
|
|
1905
|
+
},
|
|
1906
|
+
"aria-expanded": {
|
|
1907
|
+
"type": "boolean",
|
|
1908
|
+
"description": "ARIA expanded state"
|
|
1909
|
+
},
|
|
1910
|
+
"aria-pressed": {
|
|
1911
|
+
"type": "boolean",
|
|
1912
|
+
"description": "ARIA pressed state"
|
|
1913
|
+
},
|
|
1914
|
+
"aria-current": {
|
|
1915
|
+
"anyOf": [
|
|
1916
|
+
{
|
|
1917
|
+
"type": "boolean"
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"type": "string",
|
|
1921
|
+
"enum": [
|
|
1922
|
+
"page",
|
|
1923
|
+
"step",
|
|
1924
|
+
"location",
|
|
1925
|
+
"date",
|
|
1926
|
+
"time"
|
|
1927
|
+
]
|
|
1928
|
+
}
|
|
1929
|
+
],
|
|
1930
|
+
"description": "ARIA current state"
|
|
1931
|
+
},
|
|
1932
|
+
"aria-controls": {
|
|
1933
|
+
"type": "string",
|
|
1934
|
+
"description": "ARIA controls reference"
|
|
1935
|
+
},
|
|
1936
|
+
"aria-owns": {
|
|
1937
|
+
"type": "string",
|
|
1938
|
+
"description": "ARIA owns reference"
|
|
1939
|
+
},
|
|
1940
|
+
"data-*": {
|
|
1941
|
+
"type": "object",
|
|
1942
|
+
"additionalProperties": {
|
|
1943
|
+
"type": "string"
|
|
1944
|
+
},
|
|
1945
|
+
"description": "Data attributes"
|
|
1946
|
+
},
|
|
1947
|
+
"id": {
|
|
1948
|
+
"type": "string",
|
|
1949
|
+
"description": "ID attribute"
|
|
1950
|
+
},
|
|
1951
|
+
"title": {
|
|
1952
|
+
"type": "string",
|
|
1953
|
+
"description": "Title attribute for tooltip"
|
|
1954
|
+
},
|
|
1955
|
+
"role": {
|
|
1956
|
+
"type": "string",
|
|
1957
|
+
"description": "Role attribute"
|
|
1958
|
+
},
|
|
1959
|
+
"children": {
|
|
1960
|
+
"description": "Children elements (required for accessibility if no aria-label)"
|
|
1961
|
+
},
|
|
1962
|
+
"tooltip": {
|
|
1963
|
+
"type": "string",
|
|
1964
|
+
"description": "Content to display in the tooltip on hover/focus"
|
|
1965
|
+
},
|
|
1966
|
+
"tooltipSide": {
|
|
1967
|
+
"type": "string",
|
|
1968
|
+
"enum": [
|
|
1969
|
+
"top",
|
|
1970
|
+
"right",
|
|
1971
|
+
"bottom",
|
|
1972
|
+
"left"
|
|
1973
|
+
],
|
|
1974
|
+
"default": "top",
|
|
1975
|
+
"description": "Side of the button where the tooltip should appear"
|
|
1976
|
+
},
|
|
1977
|
+
"tooltipAlign": {
|
|
1978
|
+
"type": "string",
|
|
1979
|
+
"enum": [
|
|
1980
|
+
"start",
|
|
1981
|
+
"center",
|
|
1982
|
+
"end"
|
|
1983
|
+
],
|
|
1984
|
+
"default": "center",
|
|
1985
|
+
"description": "Alignment of the tooltip relative to the button"
|
|
1986
|
+
},
|
|
1987
|
+
"tooltipDelayDuration": {
|
|
1988
|
+
"type": "number",
|
|
1989
|
+
"description": "Delay before showing the tooltip (in milliseconds)"
|
|
1990
|
+
},
|
|
1991
|
+
"tooltipDisableHoverableContent": {
|
|
1992
|
+
"type": "boolean",
|
|
1993
|
+
"default": false,
|
|
1994
|
+
"description": "Whether to disable hoverable content behavior"
|
|
1995
|
+
},
|
|
1996
|
+
"pressed": {
|
|
1997
|
+
"type": "boolean",
|
|
1998
|
+
"description": "Controlled pressed state"
|
|
1999
|
+
},
|
|
2000
|
+
"defaultPressed": {
|
|
2001
|
+
"type": "boolean",
|
|
2002
|
+
"description": "Default pressed state for uncontrolled usage"
|
|
2003
|
+
}
|
|
2004
|
+
},
|
|
2005
|
+
"additionalProperties": false
|
|
2006
|
+
}
|
|
2007
|
+
},
|
|
2008
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2009
|
+
"title": "Toggle-icon-button Component Props",
|
|
2010
|
+
"description": "Props schema for the toggle-icon-button component in Kookie UI",
|
|
2011
|
+
"version": "1.0.0",
|
|
2012
|
+
"generatedAt": "2025-09-10T06:58:42.621Z",
|
|
2013
|
+
"source": "Zod schema"
|
|
2014
|
+
}
|
|
2015
|
+
}
|
|
2016
|
+
}
|