@kushagradhawan/kookie-ui 0.1.41 → 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.
Files changed (142) hide show
  1. package/README.md +257 -60
  2. package/components.css +386 -79
  3. package/dist/cjs/components/schemas/base-button.schema.d.ts +319 -0
  4. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -0
  5. package/dist/cjs/components/schemas/base-button.schema.js +2 -0
  6. package/dist/cjs/components/schemas/base-button.schema.js.map +7 -0
  7. package/dist/cjs/components/schemas/button.schema.d.ts +686 -0
  8. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -0
  9. package/dist/cjs/components/schemas/button.schema.js +2 -0
  10. package/dist/cjs/components/schemas/button.schema.js.map +7 -0
  11. package/dist/cjs/components/schemas/icon-button.schema.d.ts +329 -0
  12. package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -0
  13. package/dist/cjs/components/schemas/icon-button.schema.js +2 -0
  14. package/dist/cjs/components/schemas/icon-button.schema.js.map +7 -0
  15. package/dist/cjs/components/schemas/index.d.ts +52 -0
  16. package/dist/cjs/components/schemas/index.d.ts.map +1 -0
  17. package/dist/cjs/components/schemas/index.js +2 -0
  18. package/dist/cjs/components/schemas/index.js.map +7 -0
  19. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +1172 -0
  20. package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -0
  21. package/dist/cjs/components/schemas/toggle-button.schema.js +2 -0
  22. package/dist/cjs/components/schemas/toggle-button.schema.js.map +7 -0
  23. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +563 -0
  24. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
  25. package/dist/cjs/components/schemas/toggle-icon-button.schema.js +2 -0
  26. package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +7 -0
  27. package/dist/cjs/components/sheet.d.ts +1 -1
  28. package/dist/cjs/components/sheet.d.ts.map +1 -1
  29. package/dist/cjs/components/sheet.js +1 -1
  30. package/dist/cjs/components/sheet.js.map +3 -3
  31. package/dist/cjs/components/shell.d.ts +125 -164
  32. package/dist/cjs/components/shell.d.ts.map +1 -1
  33. package/dist/cjs/components/shell.js +1 -1
  34. package/dist/cjs/components/shell.js.map +3 -3
  35. package/dist/cjs/components/sidebar.d.ts +1 -7
  36. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  37. package/dist/cjs/components/sidebar.js +1 -1
  38. package/dist/cjs/components/sidebar.js.map +3 -3
  39. package/dist/cjs/components/theme.d.ts +3 -0
  40. package/dist/cjs/components/theme.d.ts.map +1 -1
  41. package/dist/cjs/components/theme.js +1 -1
  42. package/dist/cjs/components/theme.js.map +3 -3
  43. package/dist/cjs/components/theme.props.d.ts +10 -0
  44. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  45. package/dist/cjs/components/theme.props.js +1 -1
  46. package/dist/cjs/components/theme.props.js.map +3 -3
  47. package/dist/cjs/helpers/font-config.d.ts +96 -0
  48. package/dist/cjs/helpers/font-config.d.ts.map +1 -0
  49. package/dist/cjs/helpers/font-config.js +3 -0
  50. package/dist/cjs/helpers/font-config.js.map +7 -0
  51. package/dist/cjs/helpers/index.d.ts +1 -0
  52. package/dist/cjs/helpers/index.d.ts.map +1 -1
  53. package/dist/cjs/helpers/index.js +1 -1
  54. package/dist/cjs/helpers/index.js.map +2 -2
  55. package/dist/esm/components/schemas/base-button.schema.d.ts +319 -0
  56. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -0
  57. package/dist/esm/components/schemas/base-button.schema.js +2 -0
  58. package/dist/esm/components/schemas/base-button.schema.js.map +7 -0
  59. package/dist/esm/components/schemas/button.schema.d.ts +686 -0
  60. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -0
  61. package/dist/esm/components/schemas/button.schema.js +2 -0
  62. package/dist/esm/components/schemas/button.schema.js.map +7 -0
  63. package/dist/esm/components/schemas/icon-button.schema.d.ts +329 -0
  64. package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -0
  65. package/dist/esm/components/schemas/icon-button.schema.js +2 -0
  66. package/dist/esm/components/schemas/icon-button.schema.js.map +7 -0
  67. package/dist/esm/components/schemas/index.d.ts +52 -0
  68. package/dist/esm/components/schemas/index.d.ts.map +1 -0
  69. package/dist/esm/components/schemas/index.js +2 -0
  70. package/dist/esm/components/schemas/index.js.map +7 -0
  71. package/dist/esm/components/schemas/toggle-button.schema.d.ts +1172 -0
  72. package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -0
  73. package/dist/esm/components/schemas/toggle-button.schema.js +2 -0
  74. package/dist/esm/components/schemas/toggle-button.schema.js.map +7 -0
  75. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +563 -0
  76. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
  77. package/dist/esm/components/schemas/toggle-icon-button.schema.js +2 -0
  78. package/dist/esm/components/schemas/toggle-icon-button.schema.js.map +7 -0
  79. package/dist/esm/components/sheet.d.ts +1 -1
  80. package/dist/esm/components/sheet.d.ts.map +1 -1
  81. package/dist/esm/components/sheet.js +1 -1
  82. package/dist/esm/components/sheet.js.map +3 -3
  83. package/dist/esm/components/shell.d.ts +125 -164
  84. package/dist/esm/components/shell.d.ts.map +1 -1
  85. package/dist/esm/components/shell.js +1 -1
  86. package/dist/esm/components/shell.js.map +3 -3
  87. package/dist/esm/components/sidebar.d.ts +1 -7
  88. package/dist/esm/components/sidebar.d.ts.map +1 -1
  89. package/dist/esm/components/sidebar.js +1 -1
  90. package/dist/esm/components/sidebar.js.map +3 -3
  91. package/dist/esm/components/theme.d.ts +3 -0
  92. package/dist/esm/components/theme.d.ts.map +1 -1
  93. package/dist/esm/components/theme.js +1 -1
  94. package/dist/esm/components/theme.js.map +3 -3
  95. package/dist/esm/components/theme.props.d.ts +10 -0
  96. package/dist/esm/components/theme.props.d.ts.map +1 -1
  97. package/dist/esm/components/theme.props.js +1 -1
  98. package/dist/esm/components/theme.props.js.map +3 -3
  99. package/dist/esm/helpers/font-config.d.ts +96 -0
  100. package/dist/esm/helpers/font-config.d.ts.map +1 -0
  101. package/dist/esm/helpers/font-config.js +3 -0
  102. package/dist/esm/helpers/font-config.js.map +7 -0
  103. package/dist/esm/helpers/index.d.ts +1 -0
  104. package/dist/esm/helpers/index.d.ts.map +1 -1
  105. package/dist/esm/helpers/index.js +1 -1
  106. package/dist/esm/helpers/index.js.map +2 -2
  107. package/package.json +23 -3
  108. package/schemas/base-button.d.ts +2 -0
  109. package/schemas/base-button.json +284 -0
  110. package/schemas/button.d.ts +2 -0
  111. package/schemas/button.json +535 -0
  112. package/schemas/icon-button.d.ts +2 -0
  113. package/schemas/icon-button.json +318 -0
  114. package/schemas/index.d.ts +2 -0
  115. package/schemas/index.json +2016 -0
  116. package/schemas/schemas.d.ts +29 -0
  117. package/schemas/toggle-button.d.ts +2 -0
  118. package/schemas/toggle-button.json +543 -0
  119. package/schemas/toggle-icon-button.d.ts +2 -0
  120. package/schemas/toggle-icon-button.json +326 -0
  121. package/schemas-json.d.ts +12 -0
  122. package/src/components/_internal/base-sidebar.css +1 -2
  123. package/src/components/schemas/base-button.schema.ts +339 -0
  124. package/src/components/schemas/button.schema.ts +198 -0
  125. package/src/components/schemas/icon-button.schema.ts +142 -0
  126. package/src/components/schemas/index.ts +68 -0
  127. package/src/components/schemas/toggle-button.schema.ts +122 -0
  128. package/src/components/schemas/toggle-icon-button.schema.ts +195 -0
  129. package/src/components/sheet.css +39 -19
  130. package/src/components/sheet.tsx +62 -3
  131. package/src/components/shell.css +510 -89
  132. package/src/components/shell.tsx +2055 -928
  133. package/src/components/sidebar.tsx +3 -22
  134. package/src/components/theme.props.tsx +8 -0
  135. package/src/components/theme.tsx +16 -0
  136. package/src/helpers/font-config.ts +167 -0
  137. package/src/helpers/index.ts +1 -0
  138. package/src/styles/fonts.css +16 -13
  139. package/src/styles/tokens/typography.css +27 -4
  140. package/styles.css +398 -79
  141. package/tokens/base.css +12 -0
  142. package/tokens.css +12 -0
@@ -0,0 +1,686 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Button Zod schema - Single source of truth for Button component props
4
+ *
5
+ * The Button component is the primary interactive element in the Kookie User Interface.
6
+ * It provides six visual variants, four sizes, comprehensive color options, and built-in
7
+ * tooltip support. The component automatically handles icon sizing, supports responsive
8
+ * layouts, and provides accessibility compliance out of the box.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Basic button validation
13
+ * const props = ButtonSchema.parse({ variant: 'solid', size: '2' });
14
+ *
15
+ * // Button with tooltip
16
+ * const tooltipProps = ButtonSchema.parse({
17
+ * tooltip: 'Save your progress',
18
+ * tooltipSide: 'top'
19
+ * });
20
+ *
21
+ * // Polymorphic button as link
22
+ * const linkProps = ButtonSchema.parse({
23
+ * as: 'a',
24
+ * href: '/dashboard',
25
+ * children: 'Go to Dashboard'
26
+ * });
27
+ * ```
28
+ */
29
+ export declare const ButtonSchema: z.ZodObject<{
30
+ as: z.ZodOptional<z.ZodString>;
31
+ asChild: z.ZodOptional<z.ZodBoolean>;
32
+ size: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["1", "2", "3", "4"]>, z.ZodObject<{
33
+ initial: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
34
+ sm: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
35
+ md: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
36
+ lg: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
37
+ xl: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ initial?: "1" | "2" | "3" | "4" | undefined;
40
+ sm?: "1" | "2" | "3" | "4" | undefined;
41
+ md?: "1" | "2" | "3" | "4" | undefined;
42
+ lg?: "1" | "2" | "3" | "4" | undefined;
43
+ xl?: "1" | "2" | "3" | "4" | undefined;
44
+ }, {
45
+ initial?: "1" | "2" | "3" | "4" | undefined;
46
+ sm?: "1" | "2" | "3" | "4" | undefined;
47
+ md?: "1" | "2" | "3" | "4" | undefined;
48
+ lg?: "1" | "2" | "3" | "4" | undefined;
49
+ xl?: "1" | "2" | "3" | "4" | undefined;
50
+ }>]>>;
51
+ variant: z.ZodDefault<z.ZodEnum<["classic", "solid", "soft", "surface", "outline", "ghost", "override"]>>;
52
+ color: z.ZodOptional<z.ZodEnum<["tomato", "red", "ruby", "crimson", "pink", "plum", "purple", "violet", "iris", "indigo", "blue", "cyan", "teal", "jade", "green", "grass", "brown", "orange", "sky", "mint", "lime", "yellow", "amber", "gold", "bronze", "gray"]>>;
53
+ highContrast: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
+ radius: z.ZodOptional<z.ZodEnum<["none", "small", "medium", "large", "full"]>>;
55
+ loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
56
+ fullWidth: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
57
+ material: z.ZodOptional<z.ZodEnum<["solid", "translucent"]>>;
58
+ panelBackground: z.ZodOptional<z.ZodEnum<["solid", "translucent"]>>;
59
+ flush: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
60
+ disabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
61
+ type: z.ZodOptional<z.ZodEnum<["button", "submit", "reset"]>>;
62
+ className: z.ZodOptional<z.ZodString>;
63
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
64
+ onClick: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
65
+ onFocus: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
66
+ onBlur: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
67
+ onMouseEnter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
68
+ onMouseLeave: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
69
+ onKeyDown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
70
+ onKeyUp: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
71
+ onSubmit: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
72
+ tabIndex: z.ZodOptional<z.ZodNumber>;
73
+ 'aria-label': z.ZodOptional<z.ZodString>;
74
+ 'aria-labelledby': z.ZodOptional<z.ZodString>;
75
+ 'aria-describedby': z.ZodOptional<z.ZodString>;
76
+ 'aria-expanded': z.ZodOptional<z.ZodBoolean>;
77
+ 'aria-pressed': z.ZodOptional<z.ZodBoolean>;
78
+ 'aria-current': z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["page", "step", "location", "date", "time"]>]>>;
79
+ 'aria-controls': z.ZodOptional<z.ZodString>;
80
+ 'aria-owns': z.ZodOptional<z.ZodString>;
81
+ 'data-*': z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
82
+ id: z.ZodOptional<z.ZodString>;
83
+ title: z.ZodOptional<z.ZodString>;
84
+ role: z.ZodOptional<z.ZodString>;
85
+ children: z.ZodOptional<z.ZodAny>;
86
+ } & {
87
+ /**
88
+ * Content to display in the tooltip on hover/focus
89
+ */
90
+ tooltip: z.ZodOptional<z.ZodString>;
91
+ /**
92
+ * Side of the button where the tooltip should appear
93
+ * @default 'top'
94
+ */
95
+ tooltipSide: z.ZodDefault<z.ZodOptional<z.ZodEnum<["top", "right", "bottom", "left"]>>>;
96
+ /**
97
+ * Alignment of the tooltip relative to the button
98
+ * @default 'center'
99
+ */
100
+ tooltipAlign: z.ZodDefault<z.ZodOptional<z.ZodEnum<["start", "center", "end"]>>>;
101
+ /**
102
+ * Delay before showing the tooltip (in milliseconds)
103
+ */
104
+ tooltipDelayDuration: z.ZodOptional<z.ZodNumber>;
105
+ /**
106
+ * Whether to disable hoverable content behavior
107
+ * @default false
108
+ */
109
+ tooltipDisableHoverableContent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
110
+ /**
111
+ * Override styles for different interaction states
112
+ */
113
+ overrideStyles: z.ZodOptional<z.ZodObject<{
114
+ /** Default/idle state styles */
115
+ normal: z.ZodOptional<z.ZodObject<{
116
+ color: z.ZodOptional<z.ZodString>;
117
+ background: z.ZodOptional<z.ZodString>;
118
+ backgroundColor: z.ZodOptional<z.ZodString>;
119
+ boxShadow: z.ZodOptional<z.ZodString>;
120
+ filter: z.ZodOptional<z.ZodString>;
121
+ outline: z.ZodOptional<z.ZodString>;
122
+ outlineOffset: z.ZodOptional<z.ZodString>;
123
+ opacity: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
124
+ }, "strip", z.ZodTypeAny, {
125
+ outline?: string | undefined;
126
+ color?: string | undefined;
127
+ backgroundColor?: string | undefined;
128
+ boxShadow?: string | undefined;
129
+ filter?: string | undefined;
130
+ opacity?: string | number | undefined;
131
+ outlineOffset?: string | undefined;
132
+ background?: string | undefined;
133
+ }, {
134
+ outline?: string | undefined;
135
+ color?: string | undefined;
136
+ backgroundColor?: string | undefined;
137
+ boxShadow?: string | undefined;
138
+ filter?: string | undefined;
139
+ opacity?: string | number | undefined;
140
+ outlineOffset?: string | undefined;
141
+ background?: string | undefined;
142
+ }>>;
143
+ /** Hover state styles */
144
+ hover: z.ZodOptional<z.ZodObject<{
145
+ color: z.ZodOptional<z.ZodString>;
146
+ background: z.ZodOptional<z.ZodString>;
147
+ backgroundColor: z.ZodOptional<z.ZodString>;
148
+ boxShadow: z.ZodOptional<z.ZodString>;
149
+ filter: z.ZodOptional<z.ZodString>;
150
+ outline: z.ZodOptional<z.ZodString>;
151
+ outlineOffset: z.ZodOptional<z.ZodString>;
152
+ opacity: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
153
+ }, "strip", z.ZodTypeAny, {
154
+ outline?: string | undefined;
155
+ color?: string | undefined;
156
+ backgroundColor?: string | undefined;
157
+ boxShadow?: string | undefined;
158
+ filter?: string | undefined;
159
+ opacity?: string | number | undefined;
160
+ outlineOffset?: string | undefined;
161
+ background?: string | undefined;
162
+ }, {
163
+ outline?: string | undefined;
164
+ color?: string | undefined;
165
+ backgroundColor?: string | undefined;
166
+ boxShadow?: string | undefined;
167
+ filter?: string | undefined;
168
+ opacity?: string | number | undefined;
169
+ outlineOffset?: string | undefined;
170
+ background?: string | undefined;
171
+ }>>;
172
+ /** Active (mouse down) state styles */
173
+ active: z.ZodOptional<z.ZodObject<{
174
+ color: z.ZodOptional<z.ZodString>;
175
+ background: z.ZodOptional<z.ZodString>;
176
+ backgroundColor: z.ZodOptional<z.ZodString>;
177
+ boxShadow: z.ZodOptional<z.ZodString>;
178
+ filter: z.ZodOptional<z.ZodString>;
179
+ outline: z.ZodOptional<z.ZodString>;
180
+ outlineOffset: z.ZodOptional<z.ZodString>;
181
+ opacity: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ outline?: string | undefined;
184
+ color?: string | undefined;
185
+ backgroundColor?: string | undefined;
186
+ boxShadow?: string | undefined;
187
+ filter?: string | undefined;
188
+ opacity?: string | number | undefined;
189
+ outlineOffset?: string | undefined;
190
+ background?: string | undefined;
191
+ }, {
192
+ outline?: string | undefined;
193
+ color?: string | undefined;
194
+ backgroundColor?: string | undefined;
195
+ boxShadow?: string | undefined;
196
+ filter?: string | undefined;
197
+ opacity?: string | number | undefined;
198
+ outlineOffset?: string | undefined;
199
+ background?: string | undefined;
200
+ }>>;
201
+ /** Toggle pressed state styles (data-state="on") */
202
+ pressed: z.ZodOptional<z.ZodObject<{
203
+ color: z.ZodOptional<z.ZodString>;
204
+ background: z.ZodOptional<z.ZodString>;
205
+ backgroundColor: z.ZodOptional<z.ZodString>;
206
+ boxShadow: z.ZodOptional<z.ZodString>;
207
+ filter: z.ZodOptional<z.ZodString>;
208
+ outline: z.ZodOptional<z.ZodString>;
209
+ outlineOffset: z.ZodOptional<z.ZodString>;
210
+ opacity: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ outline?: string | undefined;
213
+ color?: string | undefined;
214
+ backgroundColor?: string | undefined;
215
+ boxShadow?: string | undefined;
216
+ filter?: string | undefined;
217
+ opacity?: string | number | undefined;
218
+ outlineOffset?: string | undefined;
219
+ background?: string | undefined;
220
+ }, {
221
+ outline?: string | undefined;
222
+ color?: string | undefined;
223
+ backgroundColor?: string | undefined;
224
+ boxShadow?: string | undefined;
225
+ filter?: string | undefined;
226
+ opacity?: string | number | undefined;
227
+ outlineOffset?: string | undefined;
228
+ background?: string | undefined;
229
+ }>>;
230
+ /** Open state styles (e.g., when used as a trigger) */
231
+ open: z.ZodOptional<z.ZodObject<{
232
+ color: z.ZodOptional<z.ZodString>;
233
+ background: z.ZodOptional<z.ZodString>;
234
+ backgroundColor: z.ZodOptional<z.ZodString>;
235
+ boxShadow: z.ZodOptional<z.ZodString>;
236
+ filter: z.ZodOptional<z.ZodString>;
237
+ outline: z.ZodOptional<z.ZodString>;
238
+ outlineOffset: z.ZodOptional<z.ZodString>;
239
+ opacity: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
240
+ }, "strip", z.ZodTypeAny, {
241
+ outline?: string | undefined;
242
+ color?: string | undefined;
243
+ backgroundColor?: string | undefined;
244
+ boxShadow?: string | undefined;
245
+ filter?: string | undefined;
246
+ opacity?: string | number | undefined;
247
+ outlineOffset?: string | undefined;
248
+ background?: string | undefined;
249
+ }, {
250
+ outline?: string | undefined;
251
+ color?: string | undefined;
252
+ backgroundColor?: string | undefined;
253
+ boxShadow?: string | undefined;
254
+ filter?: string | undefined;
255
+ opacity?: string | number | undefined;
256
+ outlineOffset?: string | undefined;
257
+ background?: string | undefined;
258
+ }>>;
259
+ /** Disabled state styles */
260
+ disabled: z.ZodOptional<z.ZodObject<{
261
+ color: z.ZodOptional<z.ZodString>;
262
+ background: z.ZodOptional<z.ZodString>;
263
+ backgroundColor: z.ZodOptional<z.ZodString>;
264
+ boxShadow: z.ZodOptional<z.ZodString>;
265
+ filter: z.ZodOptional<z.ZodString>;
266
+ outline: z.ZodOptional<z.ZodString>;
267
+ outlineOffset: z.ZodOptional<z.ZodString>;
268
+ opacity: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
269
+ }, "strip", z.ZodTypeAny, {
270
+ outline?: string | undefined;
271
+ color?: string | undefined;
272
+ backgroundColor?: string | undefined;
273
+ boxShadow?: string | undefined;
274
+ filter?: string | undefined;
275
+ opacity?: string | number | undefined;
276
+ outlineOffset?: string | undefined;
277
+ background?: string | undefined;
278
+ }, {
279
+ outline?: string | undefined;
280
+ color?: string | undefined;
281
+ backgroundColor?: string | undefined;
282
+ boxShadow?: string | undefined;
283
+ filter?: string | undefined;
284
+ opacity?: string | number | undefined;
285
+ outlineOffset?: string | undefined;
286
+ background?: string | undefined;
287
+ }>>;
288
+ /** Focus-visible outline styles */
289
+ focus: z.ZodOptional<z.ZodObject<{
290
+ outline: z.ZodOptional<z.ZodString>;
291
+ outlineOffset: z.ZodOptional<z.ZodString>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ outline?: string | undefined;
294
+ outlineOffset?: string | undefined;
295
+ }, {
296
+ outline?: string | undefined;
297
+ outlineOffset?: string | undefined;
298
+ }>>;
299
+ }, "strip", z.ZodTypeAny, {
300
+ normal?: {
301
+ outline?: string | undefined;
302
+ color?: string | undefined;
303
+ backgroundColor?: string | undefined;
304
+ boxShadow?: string | undefined;
305
+ filter?: string | undefined;
306
+ opacity?: string | number | undefined;
307
+ outlineOffset?: string | undefined;
308
+ background?: string | undefined;
309
+ } | undefined;
310
+ open?: {
311
+ outline?: string | undefined;
312
+ color?: string | undefined;
313
+ backgroundColor?: string | undefined;
314
+ boxShadow?: string | undefined;
315
+ filter?: string | undefined;
316
+ opacity?: string | number | undefined;
317
+ outlineOffset?: string | undefined;
318
+ background?: string | undefined;
319
+ } | undefined;
320
+ active?: {
321
+ outline?: string | undefined;
322
+ color?: string | undefined;
323
+ backgroundColor?: string | undefined;
324
+ boxShadow?: string | undefined;
325
+ filter?: string | undefined;
326
+ opacity?: string | number | undefined;
327
+ outlineOffset?: string | undefined;
328
+ background?: string | undefined;
329
+ } | undefined;
330
+ disabled?: {
331
+ outline?: string | undefined;
332
+ color?: string | undefined;
333
+ backgroundColor?: string | undefined;
334
+ boxShadow?: string | undefined;
335
+ filter?: string | undefined;
336
+ opacity?: string | number | undefined;
337
+ outlineOffset?: string | undefined;
338
+ background?: string | undefined;
339
+ } | undefined;
340
+ focus?: {
341
+ outline?: string | undefined;
342
+ outlineOffset?: string | undefined;
343
+ } | undefined;
344
+ hover?: {
345
+ outline?: string | undefined;
346
+ color?: string | undefined;
347
+ backgroundColor?: string | undefined;
348
+ boxShadow?: string | undefined;
349
+ filter?: string | undefined;
350
+ opacity?: string | number | undefined;
351
+ outlineOffset?: string | undefined;
352
+ background?: string | undefined;
353
+ } | undefined;
354
+ pressed?: {
355
+ outline?: string | undefined;
356
+ color?: string | undefined;
357
+ backgroundColor?: string | undefined;
358
+ boxShadow?: string | undefined;
359
+ filter?: string | undefined;
360
+ opacity?: string | number | undefined;
361
+ outlineOffset?: string | undefined;
362
+ background?: string | undefined;
363
+ } | undefined;
364
+ }, {
365
+ normal?: {
366
+ outline?: string | undefined;
367
+ color?: string | undefined;
368
+ backgroundColor?: string | undefined;
369
+ boxShadow?: string | undefined;
370
+ filter?: string | undefined;
371
+ opacity?: string | number | undefined;
372
+ outlineOffset?: string | undefined;
373
+ background?: string | undefined;
374
+ } | undefined;
375
+ open?: {
376
+ outline?: string | undefined;
377
+ color?: string | undefined;
378
+ backgroundColor?: string | undefined;
379
+ boxShadow?: string | undefined;
380
+ filter?: string | undefined;
381
+ opacity?: string | number | undefined;
382
+ outlineOffset?: string | undefined;
383
+ background?: string | undefined;
384
+ } | undefined;
385
+ active?: {
386
+ outline?: string | undefined;
387
+ color?: string | undefined;
388
+ backgroundColor?: string | undefined;
389
+ boxShadow?: string | undefined;
390
+ filter?: string | undefined;
391
+ opacity?: string | number | undefined;
392
+ outlineOffset?: string | undefined;
393
+ background?: string | undefined;
394
+ } | undefined;
395
+ disabled?: {
396
+ outline?: string | undefined;
397
+ color?: string | undefined;
398
+ backgroundColor?: string | undefined;
399
+ boxShadow?: string | undefined;
400
+ filter?: string | undefined;
401
+ opacity?: string | number | undefined;
402
+ outlineOffset?: string | undefined;
403
+ background?: string | undefined;
404
+ } | undefined;
405
+ focus?: {
406
+ outline?: string | undefined;
407
+ outlineOffset?: string | undefined;
408
+ } | undefined;
409
+ hover?: {
410
+ outline?: string | undefined;
411
+ color?: string | undefined;
412
+ backgroundColor?: string | undefined;
413
+ boxShadow?: string | undefined;
414
+ filter?: string | undefined;
415
+ opacity?: string | number | undefined;
416
+ outlineOffset?: string | undefined;
417
+ background?: string | undefined;
418
+ } | undefined;
419
+ pressed?: {
420
+ outline?: string | undefined;
421
+ color?: string | undefined;
422
+ backgroundColor?: string | undefined;
423
+ boxShadow?: string | undefined;
424
+ filter?: string | undefined;
425
+ opacity?: string | number | undefined;
426
+ outlineOffset?: string | undefined;
427
+ background?: string | undefined;
428
+ } | undefined;
429
+ }>>;
430
+ }, "strict", z.ZodTypeAny, {
431
+ size: "1" | "2" | "3" | "4" | {
432
+ initial?: "1" | "2" | "3" | "4" | undefined;
433
+ sm?: "1" | "2" | "3" | "4" | undefined;
434
+ md?: "1" | "2" | "3" | "4" | undefined;
435
+ lg?: "1" | "2" | "3" | "4" | undefined;
436
+ xl?: "1" | "2" | "3" | "4" | undefined;
437
+ };
438
+ disabled: boolean;
439
+ variant: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override";
440
+ highContrast: boolean;
441
+ flush: boolean;
442
+ loading: boolean;
443
+ tooltipSide: "left" | "right" | "bottom" | "top";
444
+ tooltipAlign: "center" | "end" | "start";
445
+ tooltipDisableHoverableContent: boolean;
446
+ fullWidth: boolean;
447
+ className?: string | undefined;
448
+ color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
449
+ style?: Record<string, string | number> | undefined;
450
+ tooltip?: string | undefined;
451
+ title?: string | undefined;
452
+ as?: string | undefined;
453
+ asChild?: boolean | undefined;
454
+ id?: string | undefined;
455
+ tabIndex?: number | undefined;
456
+ role?: string | undefined;
457
+ 'aria-controls'?: string | undefined;
458
+ 'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
459
+ 'aria-describedby'?: string | undefined;
460
+ 'aria-expanded'?: boolean | undefined;
461
+ 'aria-label'?: string | undefined;
462
+ 'aria-labelledby'?: string | undefined;
463
+ 'aria-owns'?: string | undefined;
464
+ 'aria-pressed'?: boolean | undefined;
465
+ children?: any;
466
+ onFocus?: ((...args: unknown[]) => unknown) | undefined;
467
+ onBlur?: ((...args: unknown[]) => unknown) | undefined;
468
+ onSubmit?: ((...args: unknown[]) => unknown) | undefined;
469
+ onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
470
+ onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
471
+ onClick?: ((...args: unknown[]) => unknown) | undefined;
472
+ onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
473
+ onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
474
+ type?: "button" | "reset" | "submit" | undefined;
475
+ radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
476
+ material?: "solid" | "translucent" | undefined;
477
+ panelBackground?: "solid" | "translucent" | undefined;
478
+ tooltipDelayDuration?: number | undefined;
479
+ overrideStyles?: {
480
+ normal?: {
481
+ outline?: string | undefined;
482
+ color?: string | undefined;
483
+ backgroundColor?: string | undefined;
484
+ boxShadow?: string | undefined;
485
+ filter?: string | undefined;
486
+ opacity?: string | number | undefined;
487
+ outlineOffset?: string | undefined;
488
+ background?: string | undefined;
489
+ } | undefined;
490
+ open?: {
491
+ outline?: string | undefined;
492
+ color?: string | undefined;
493
+ backgroundColor?: string | undefined;
494
+ boxShadow?: string | undefined;
495
+ filter?: string | undefined;
496
+ opacity?: string | number | undefined;
497
+ outlineOffset?: string | undefined;
498
+ background?: string | undefined;
499
+ } | undefined;
500
+ active?: {
501
+ outline?: string | undefined;
502
+ color?: string | undefined;
503
+ backgroundColor?: string | undefined;
504
+ boxShadow?: string | undefined;
505
+ filter?: string | undefined;
506
+ opacity?: string | number | undefined;
507
+ outlineOffset?: string | undefined;
508
+ background?: string | undefined;
509
+ } | undefined;
510
+ disabled?: {
511
+ outline?: string | undefined;
512
+ color?: string | undefined;
513
+ backgroundColor?: string | undefined;
514
+ boxShadow?: string | undefined;
515
+ filter?: string | undefined;
516
+ opacity?: string | number | undefined;
517
+ outlineOffset?: string | undefined;
518
+ background?: string | undefined;
519
+ } | undefined;
520
+ focus?: {
521
+ outline?: string | undefined;
522
+ outlineOffset?: string | undefined;
523
+ } | undefined;
524
+ hover?: {
525
+ outline?: string | undefined;
526
+ color?: string | undefined;
527
+ backgroundColor?: string | undefined;
528
+ boxShadow?: string | undefined;
529
+ filter?: string | undefined;
530
+ opacity?: string | number | undefined;
531
+ outlineOffset?: string | undefined;
532
+ background?: string | undefined;
533
+ } | undefined;
534
+ pressed?: {
535
+ outline?: string | undefined;
536
+ color?: string | undefined;
537
+ backgroundColor?: string | undefined;
538
+ boxShadow?: string | undefined;
539
+ filter?: string | undefined;
540
+ opacity?: string | number | undefined;
541
+ outlineOffset?: string | undefined;
542
+ background?: string | undefined;
543
+ } | undefined;
544
+ } | undefined;
545
+ 'data-*'?: Record<string, string> | undefined;
546
+ }, {
547
+ className?: string | undefined;
548
+ color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
549
+ size?: "1" | "2" | "3" | "4" | {
550
+ initial?: "1" | "2" | "3" | "4" | undefined;
551
+ sm?: "1" | "2" | "3" | "4" | undefined;
552
+ md?: "1" | "2" | "3" | "4" | undefined;
553
+ lg?: "1" | "2" | "3" | "4" | undefined;
554
+ xl?: "1" | "2" | "3" | "4" | undefined;
555
+ } | undefined;
556
+ style?: Record<string, string | number> | undefined;
557
+ tooltip?: string | undefined;
558
+ disabled?: boolean | undefined;
559
+ title?: string | undefined;
560
+ as?: string | undefined;
561
+ asChild?: boolean | undefined;
562
+ id?: string | undefined;
563
+ tabIndex?: number | undefined;
564
+ role?: string | undefined;
565
+ 'aria-controls'?: string | undefined;
566
+ 'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
567
+ 'aria-describedby'?: string | undefined;
568
+ 'aria-expanded'?: boolean | undefined;
569
+ 'aria-label'?: string | undefined;
570
+ 'aria-labelledby'?: string | undefined;
571
+ 'aria-owns'?: string | undefined;
572
+ 'aria-pressed'?: boolean | undefined;
573
+ children?: any;
574
+ onFocus?: ((...args: unknown[]) => unknown) | undefined;
575
+ onBlur?: ((...args: unknown[]) => unknown) | undefined;
576
+ onSubmit?: ((...args: unknown[]) => unknown) | undefined;
577
+ onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
578
+ onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
579
+ onClick?: ((...args: unknown[]) => unknown) | undefined;
580
+ onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
581
+ onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
582
+ type?: "button" | "reset" | "submit" | undefined;
583
+ variant?: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override" | undefined;
584
+ highContrast?: boolean | undefined;
585
+ radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
586
+ material?: "solid" | "translucent" | undefined;
587
+ panelBackground?: "solid" | "translucent" | undefined;
588
+ flush?: boolean | undefined;
589
+ loading?: boolean | undefined;
590
+ tooltipSide?: "left" | "right" | "bottom" | "top" | undefined;
591
+ tooltipAlign?: "center" | "end" | "start" | undefined;
592
+ tooltipDelayDuration?: number | undefined;
593
+ tooltipDisableHoverableContent?: boolean | undefined;
594
+ fullWidth?: boolean | undefined;
595
+ overrideStyles?: {
596
+ normal?: {
597
+ outline?: string | undefined;
598
+ color?: string | undefined;
599
+ backgroundColor?: string | undefined;
600
+ boxShadow?: string | undefined;
601
+ filter?: string | undefined;
602
+ opacity?: string | number | undefined;
603
+ outlineOffset?: string | undefined;
604
+ background?: string | undefined;
605
+ } | undefined;
606
+ open?: {
607
+ outline?: string | undefined;
608
+ color?: string | undefined;
609
+ backgroundColor?: string | undefined;
610
+ boxShadow?: string | undefined;
611
+ filter?: string | undefined;
612
+ opacity?: string | number | undefined;
613
+ outlineOffset?: string | undefined;
614
+ background?: string | undefined;
615
+ } | undefined;
616
+ active?: {
617
+ outline?: string | undefined;
618
+ color?: string | undefined;
619
+ backgroundColor?: string | undefined;
620
+ boxShadow?: string | undefined;
621
+ filter?: string | undefined;
622
+ opacity?: string | number | undefined;
623
+ outlineOffset?: string | undefined;
624
+ background?: string | undefined;
625
+ } | undefined;
626
+ disabled?: {
627
+ outline?: string | undefined;
628
+ color?: string | undefined;
629
+ backgroundColor?: string | undefined;
630
+ boxShadow?: string | undefined;
631
+ filter?: string | undefined;
632
+ opacity?: string | number | undefined;
633
+ outlineOffset?: string | undefined;
634
+ background?: string | undefined;
635
+ } | undefined;
636
+ focus?: {
637
+ outline?: string | undefined;
638
+ outlineOffset?: string | undefined;
639
+ } | undefined;
640
+ hover?: {
641
+ outline?: string | undefined;
642
+ color?: string | undefined;
643
+ backgroundColor?: string | undefined;
644
+ boxShadow?: string | undefined;
645
+ filter?: string | undefined;
646
+ opacity?: string | number | undefined;
647
+ outlineOffset?: string | undefined;
648
+ background?: string | undefined;
649
+ } | undefined;
650
+ pressed?: {
651
+ outline?: string | undefined;
652
+ color?: string | undefined;
653
+ backgroundColor?: string | undefined;
654
+ boxShadow?: string | undefined;
655
+ filter?: string | undefined;
656
+ opacity?: string | number | undefined;
657
+ outlineOffset?: string | undefined;
658
+ background?: string | undefined;
659
+ } | undefined;
660
+ } | undefined;
661
+ 'data-*'?: Record<string, string> | undefined;
662
+ }>;
663
+ /**
664
+ * Type derived from Button Zod schema
665
+ * This ensures type safety and consistency with the schema
666
+ */
667
+ export type ButtonProps = z.infer<typeof ButtonSchema>;
668
+ /**
669
+ * Development-only helper to validate and normalize Button props
670
+ * This function should only be used in development mode
671
+ *
672
+ * @param props - Props to validate and normalize
673
+ * @returns Validated and normalized props
674
+ *
675
+ * @example
676
+ * ```tsx
677
+ * // In development, this will validate props and show helpful errors
678
+ * const validatedProps = parseButtonProps({
679
+ * variant: 'invalid',
680
+ * tooltipSide: 'invalid'
681
+ * });
682
+ * // Throws validation errors for invalid enum values
683
+ * ```
684
+ */
685
+ export declare function parseButtonProps(props: unknown): ButtonProps;
686
+ //# sourceMappingURL=button.schema.d.ts.map