@mihcm/ai-ui 0.14.1

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 (166) hide show
  1. package/README.md +100 -0
  2. package/dist/coverage.d.ts +17 -0
  3. package/dist/coverage.d.ts.map +1 -0
  4. package/dist/coverage.js +320 -0
  5. package/dist/coverage.js.map +1 -0
  6. package/dist/index.d.ts +5 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +5 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/renderer.d.ts +36 -0
  11. package/dist/renderer.d.ts.map +1 -0
  12. package/dist/renderer.js +413 -0
  13. package/dist/renderer.js.map +1 -0
  14. package/dist/schemas/Accordion.d.ts +25 -0
  15. package/dist/schemas/Accordion.d.ts.map +1 -0
  16. package/dist/schemas/Accordion.js +26 -0
  17. package/dist/schemas/Accordion.js.map +1 -0
  18. package/dist/schemas/Alert.d.ts +24 -0
  19. package/dist/schemas/Alert.d.ts.map +1 -0
  20. package/dist/schemas/Alert.js +20 -0
  21. package/dist/schemas/Alert.js.map +1 -0
  22. package/dist/schemas/AlertDialog.d.ts +29 -0
  23. package/dist/schemas/AlertDialog.d.ts.map +1 -0
  24. package/dist/schemas/AlertDialog.js +22 -0
  25. package/dist/schemas/AlertDialog.js.map +1 -0
  26. package/dist/schemas/Avatar.d.ts +29 -0
  27. package/dist/schemas/Avatar.d.ts.map +1 -0
  28. package/dist/schemas/Avatar.js +21 -0
  29. package/dist/schemas/Avatar.js.map +1 -0
  30. package/dist/schemas/AvatarGroup.d.ts +22 -0
  31. package/dist/schemas/AvatarGroup.d.ts.map +1 -0
  32. package/dist/schemas/AvatarGroup.js +23 -0
  33. package/dist/schemas/AvatarGroup.js.map +1 -0
  34. package/dist/schemas/Badge.d.ts +23 -0
  35. package/dist/schemas/Badge.d.ts.map +1 -0
  36. package/dist/schemas/Badge.js +19 -0
  37. package/dist/schemas/Badge.js.map +1 -0
  38. package/dist/schemas/Banner.d.ts +23 -0
  39. package/dist/schemas/Banner.d.ts.map +1 -0
  40. package/dist/schemas/Banner.js +20 -0
  41. package/dist/schemas/Banner.js.map +1 -0
  42. package/dist/schemas/Breadcrumb.d.ts +20 -0
  43. package/dist/schemas/Breadcrumb.d.ts.map +1 -0
  44. package/dist/schemas/Breadcrumb.js +25 -0
  45. package/dist/schemas/Breadcrumb.js.map +1 -0
  46. package/dist/schemas/Button.d.ts +40 -0
  47. package/dist/schemas/Button.d.ts.map +1 -0
  48. package/dist/schemas/Button.js +26 -0
  49. package/dist/schemas/Button.js.map +1 -0
  50. package/dist/schemas/Card.d.ts +21 -0
  51. package/dist/schemas/Card.d.ts.map +1 -0
  52. package/dist/schemas/Card.js +22 -0
  53. package/dist/schemas/Card.js.map +1 -0
  54. package/dist/schemas/Checkbox.d.ts +18 -0
  55. package/dist/schemas/Checkbox.d.ts.map +1 -0
  56. package/dist/schemas/Checkbox.js +19 -0
  57. package/dist/schemas/Checkbox.js.map +1 -0
  58. package/dist/schemas/Dialog.d.ts +24 -0
  59. package/dist/schemas/Dialog.d.ts.map +1 -0
  60. package/dist/schemas/Dialog.js +20 -0
  61. package/dist/schemas/Dialog.js.map +1 -0
  62. package/dist/schemas/DropdownMenu.d.ts +25 -0
  63. package/dist/schemas/DropdownMenu.d.ts.map +1 -0
  64. package/dist/schemas/DropdownMenu.js +29 -0
  65. package/dist/schemas/DropdownMenu.js.map +1 -0
  66. package/dist/schemas/EmptyState.d.ts +16 -0
  67. package/dist/schemas/EmptyState.d.ts.map +1 -0
  68. package/dist/schemas/EmptyState.js +17 -0
  69. package/dist/schemas/EmptyState.js.map +1 -0
  70. package/dist/schemas/Input.d.ts +42 -0
  71. package/dist/schemas/Input.d.ts.map +1 -0
  72. package/dist/schemas/Input.js +31 -0
  73. package/dist/schemas/Input.js.map +1 -0
  74. package/dist/schemas/Label.d.ts +24 -0
  75. package/dist/schemas/Label.d.ts.map +1 -0
  76. package/dist/schemas/Label.js +21 -0
  77. package/dist/schemas/Label.js.map +1 -0
  78. package/dist/schemas/Link.d.ts +30 -0
  79. package/dist/schemas/Link.d.ts.map +1 -0
  80. package/dist/schemas/Link.js +22 -0
  81. package/dist/schemas/Link.js.map +1 -0
  82. package/dist/schemas/Pagination.d.ts +19 -0
  83. package/dist/schemas/Pagination.d.ts.map +1 -0
  84. package/dist/schemas/Pagination.js +20 -0
  85. package/dist/schemas/Pagination.js.map +1 -0
  86. package/dist/schemas/Progress.d.ts +27 -0
  87. package/dist/schemas/Progress.d.ts.map +1 -0
  88. package/dist/schemas/Progress.js +20 -0
  89. package/dist/schemas/Progress.js.map +1 -0
  90. package/dist/schemas/RadioGroup.d.ts +25 -0
  91. package/dist/schemas/RadioGroup.d.ts.map +1 -0
  92. package/dist/schemas/RadioGroup.js +26 -0
  93. package/dist/schemas/RadioGroup.js.map +1 -0
  94. package/dist/schemas/SectionHeader.d.ts +160 -0
  95. package/dist/schemas/SectionHeader.d.ts.map +1 -0
  96. package/dist/schemas/SectionHeader.js +52 -0
  97. package/dist/schemas/SectionHeader.js.map +1 -0
  98. package/dist/schemas/Select.d.ts +38 -0
  99. package/dist/schemas/Select.d.ts.map +1 -0
  100. package/dist/schemas/Select.js +36 -0
  101. package/dist/schemas/Select.js.map +1 -0
  102. package/dist/schemas/Separator.d.ts +16 -0
  103. package/dist/schemas/Separator.d.ts.map +1 -0
  104. package/dist/schemas/Separator.js +14 -0
  105. package/dist/schemas/Separator.js.map +1 -0
  106. package/dist/schemas/Sheet.d.ts +28 -0
  107. package/dist/schemas/Sheet.d.ts.map +1 -0
  108. package/dist/schemas/Sheet.js +20 -0
  109. package/dist/schemas/Sheet.js.map +1 -0
  110. package/dist/schemas/Stack.d.ts +58 -0
  111. package/dist/schemas/Stack.d.ts.map +1 -0
  112. package/dist/schemas/Stack.js +80 -0
  113. package/dist/schemas/Stack.js.map +1 -0
  114. package/dist/schemas/StatCard.d.ts +30 -0
  115. package/dist/schemas/StatCard.d.ts.map +1 -0
  116. package/dist/schemas/StatCard.js +26 -0
  117. package/dist/schemas/StatCard.js.map +1 -0
  118. package/dist/schemas/StatusBadge.d.ts +25 -0
  119. package/dist/schemas/StatusBadge.d.ts.map +1 -0
  120. package/dist/schemas/StatusBadge.js +20 -0
  121. package/dist/schemas/StatusBadge.js.map +1 -0
  122. package/dist/schemas/Switch.d.ts +23 -0
  123. package/dist/schemas/Switch.d.ts.map +1 -0
  124. package/dist/schemas/Switch.js +20 -0
  125. package/dist/schemas/Switch.js.map +1 -0
  126. package/dist/schemas/Table.d.ts +20 -0
  127. package/dist/schemas/Table.d.ts.map +1 -0
  128. package/dist/schemas/Table.js +24 -0
  129. package/dist/schemas/Table.js.map +1 -0
  130. package/dist/schemas/Tabs.d.ts +21 -0
  131. package/dist/schemas/Tabs.d.ts.map +1 -0
  132. package/dist/schemas/Tabs.js +25 -0
  133. package/dist/schemas/Tabs.js.map +1 -0
  134. package/dist/schemas/Tag.d.ts +29 -0
  135. package/dist/schemas/Tag.d.ts.map +1 -0
  136. package/dist/schemas/Tag.js +21 -0
  137. package/dist/schemas/Tag.js.map +1 -0
  138. package/dist/schemas/Text.d.ts +51 -0
  139. package/dist/schemas/Text.d.ts.map +1 -0
  140. package/dist/schemas/Text.js +21 -0
  141. package/dist/schemas/Text.js.map +1 -0
  142. package/dist/schemas/Textarea.d.ts +25 -0
  143. package/dist/schemas/Textarea.d.ts.map +1 -0
  144. package/dist/schemas/Textarea.js +24 -0
  145. package/dist/schemas/Textarea.js.map +1 -0
  146. package/dist/schemas/TitleBar.d.ts +18 -0
  147. package/dist/schemas/TitleBar.d.ts.map +1 -0
  148. package/dist/schemas/TitleBar.js +19 -0
  149. package/dist/schemas/TitleBar.js.map +1 -0
  150. package/dist/schemas/Toggle.d.ts +28 -0
  151. package/dist/schemas/Toggle.d.ts.map +1 -0
  152. package/dist/schemas/Toggle.js +22 -0
  153. package/dist/schemas/Toggle.js.map +1 -0
  154. package/dist/schemas/index.d.ts +694 -0
  155. package/dist/schemas/index.d.ts.map +1 -0
  156. package/dist/schemas/index.js +160 -0
  157. package/dist/schemas/index.js.map +1 -0
  158. package/dist/schemas/shared.d.ts +4 -0
  159. package/dist/schemas/shared.d.ts.map +1 -0
  160. package/dist/schemas/shared.js +23 -0
  161. package/dist/schemas/shared.js.map +1 -0
  162. package/dist/tools.d.ts +1293 -0
  163. package/dist/tools.d.ts.map +1 -0
  164. package/dist/tools.js +40 -0
  165. package/dist/tools.js.map +1 -0
  166. package/package.json +59 -0
@@ -0,0 +1,694 @@
1
+ import { z } from 'zod';
2
+ export { accordionDescriptorSchema, type AccordionDescriptor, } from './Accordion.js';
3
+ export { alertDescriptorSchema, type AlertDescriptor } from './Alert.js';
4
+ export { alertDialogDescriptorSchema, type AlertDialogDescriptor, } from './AlertDialog.js';
5
+ export { avatarDescriptorSchema, type AvatarDescriptor } from './Avatar.js';
6
+ export { avatarGroupDescriptorSchema, type AvatarGroupDescriptor } from './AvatarGroup.js';
7
+ export { badgeDescriptorSchema, type BadgeDescriptor } from './Badge.js';
8
+ export { bannerDescriptorSchema, type BannerDescriptor } from './Banner.js';
9
+ export { breadcrumbDescriptorSchema, type BreadcrumbDescriptor, } from './Breadcrumb.js';
10
+ export { buttonDescriptorSchema, type ButtonDescriptor } from './Button.js';
11
+ export { cardDescriptorSchema, type CardDescriptor } from './Card.js';
12
+ export { checkboxDescriptorSchema, type CheckboxDescriptor } from './Checkbox.js';
13
+ export { dialogDescriptorSchema, type DialogDescriptor } from './Dialog.js';
14
+ export { dropdownMenuDescriptorSchema, type DropdownMenuDescriptor, } from './DropdownMenu.js';
15
+ export { emptyStateDescriptorSchema, type EmptyStateDescriptor } from './EmptyState.js';
16
+ export { inputDescriptorSchema, type InputDescriptor } from './Input.js';
17
+ export { labelDescriptorSchema, type LabelDescriptor } from './Label.js';
18
+ export { linkDescriptorSchema, type LinkDescriptor } from './Link.js';
19
+ export { paginationDescriptorSchema, type PaginationDescriptor, } from './Pagination.js';
20
+ export { radioGroupDescriptorSchema, type RadioGroupDescriptor, } from './RadioGroup.js';
21
+ export { sectionHeaderDescriptorSchema, type SectionHeaderDescriptor, } from './SectionHeader.js';
22
+ export { progressDescriptorSchema, type ProgressDescriptor, } from './Progress.js';
23
+ export { selectDescriptorSchema, type SelectDescriptor } from './Select.js';
24
+ export { separatorDescriptorSchema, type SeparatorDescriptor } from './Separator.js';
25
+ export { sheetDescriptorSchema, type SheetDescriptor } from './Sheet.js';
26
+ export { stackDescriptorSchema, type StackDescriptor } from './Stack.js';
27
+ export { statCardDescriptorSchema, type StatCardDescriptor } from './StatCard.js';
28
+ export { statusBadgeDescriptorSchema, type StatusBadgeDescriptor, } from './StatusBadge.js';
29
+ export { switchDescriptorSchema, type SwitchDescriptor } from './Switch.js';
30
+ export { tableDescriptorSchema, type TableDescriptor } from './Table.js';
31
+ export { tagDescriptorSchema, type TagDescriptor } from './Tag.js';
32
+ export { tabsDescriptorSchema, type TabsDescriptor } from './Tabs.js';
33
+ export { textDescriptorSchema, type TextDescriptor } from './Text.js';
34
+ export { textareaDescriptorSchema, type TextareaDescriptor } from './Textarea.js';
35
+ export { titleBarDescriptorSchema, type TitleBarDescriptor } from './TitleBar.js';
36
+ export { toggleDescriptorSchema, type ToggleDescriptor } from './Toggle.js';
37
+ /**
38
+ * The single union of every descriptor a model is allowed to produce.
39
+ *
40
+ * Adding a primitive? Add its schema here AND in the renderer's switch
41
+ * AND in `ALLOWED_COMPONENTS` below.
42
+ *
43
+ * Note: `z.union` over `z.discriminatedUnion` because Stack is recursive
44
+ * (z.lazy), which discriminatedUnion doesn't accept. The runtime difference
45
+ * is negligible at our schema sizes.
46
+ */
47
+ export declare const componentDescriptorSchema: z.ZodUnion<readonly [z.ZodObject<{
48
+ component: z.ZodLiteral<"Accordion">;
49
+ props: z.ZodObject<{
50
+ type: z.ZodOptional<z.ZodEnum<{
51
+ single: "single";
52
+ multiple: "multiple";
53
+ }>>;
54
+ defaultValue: z.ZodOptional<z.ZodString>;
55
+ items: z.ZodArray<z.ZodObject<{
56
+ value: z.ZodString;
57
+ title: z.ZodString;
58
+ content: z.ZodString;
59
+ }, z.core.$strip>>;
60
+ }, z.core.$strict>;
61
+ }, z.core.$strip>, z.ZodObject<{
62
+ component: z.ZodLiteral<"Alert">;
63
+ props: z.ZodObject<{
64
+ variant: z.ZodOptional<z.ZodEnum<{
65
+ success: "success";
66
+ default: "default";
67
+ destructive: "destructive";
68
+ warning: "warning";
69
+ }>>;
70
+ title: z.ZodOptional<z.ZodString>;
71
+ description: z.ZodString;
72
+ }, z.core.$strict>;
73
+ }, z.core.$strip>, z.ZodObject<{
74
+ component: z.ZodLiteral<"AlertDialog">;
75
+ props: z.ZodObject<{
76
+ title: z.ZodString;
77
+ description: z.ZodOptional<z.ZodString>;
78
+ actionLabel: z.ZodString;
79
+ cancelLabel: z.ZodOptional<z.ZodString>;
80
+ variant: z.ZodOptional<z.ZodEnum<{
81
+ default: "default";
82
+ destructive: "destructive";
83
+ }>>;
84
+ size: z.ZodOptional<z.ZodEnum<{
85
+ sm: "sm";
86
+ md: "md";
87
+ lg: "lg";
88
+ xl: "xl";
89
+ }>>;
90
+ }, z.core.$strict>;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ component: z.ZodLiteral<"Avatar">;
93
+ props: z.ZodObject<{
94
+ src: z.ZodOptional<z.ZodString>;
95
+ alt: z.ZodOptional<z.ZodString>;
96
+ fallback: z.ZodString;
97
+ size: z.ZodOptional<z.ZodEnum<{
98
+ sm: "sm";
99
+ md: "md";
100
+ lg: "lg";
101
+ xl: "xl";
102
+ }>>;
103
+ status: z.ZodOptional<z.ZodEnum<{
104
+ online: "online";
105
+ offline: "offline";
106
+ busy: "busy";
107
+ away: "away";
108
+ }>>;
109
+ }, z.core.$strict>;
110
+ }, z.core.$strip>, z.ZodObject<{
111
+ component: z.ZodLiteral<"AvatarGroup">;
112
+ props: z.ZodObject<{
113
+ avatars: z.ZodArray<z.ZodObject<{
114
+ fallback: z.ZodString;
115
+ src: z.ZodOptional<z.ZodString>;
116
+ }, z.core.$strip>>;
117
+ max: z.ZodOptional<z.ZodNumber>;
118
+ size: z.ZodOptional<z.ZodEnum<{
119
+ sm: "sm";
120
+ md: "md";
121
+ lg: "lg";
122
+ }>>;
123
+ }, z.core.$strict>;
124
+ }, z.core.$strip>, z.ZodObject<{
125
+ component: z.ZodLiteral<"Badge">;
126
+ props: z.ZodObject<{
127
+ children: z.ZodString;
128
+ variant: z.ZodOptional<z.ZodEnum<{
129
+ success: "success";
130
+ default: "default";
131
+ destructive: "destructive";
132
+ warning: "warning";
133
+ secondary: "secondary";
134
+ outline: "outline";
135
+ }>>;
136
+ }, z.core.$strict>;
137
+ }, z.core.$strip>, z.ZodObject<{
138
+ component: z.ZodLiteral<"Banner">;
139
+ props: z.ZodObject<{
140
+ message: z.ZodString;
141
+ tone: z.ZodOptional<z.ZodEnum<{
142
+ error: "error";
143
+ warning: "warning";
144
+ info: "info";
145
+ accent: "accent";
146
+ announcement: "announcement";
147
+ }>>;
148
+ dismissible: z.ZodOptional<z.ZodBoolean>;
149
+ }, z.core.$strict>;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ component: z.ZodLiteral<"Breadcrumb">;
152
+ props: z.ZodObject<{
153
+ items: z.ZodArray<z.ZodObject<{
154
+ label: z.ZodString;
155
+ href: z.ZodOptional<z.ZodString>;
156
+ }, z.core.$strip>>;
157
+ }, z.core.$strict>;
158
+ }, z.core.$strip>, z.ZodObject<{
159
+ component: z.ZodLiteral<"Button">;
160
+ props: z.ZodObject<{
161
+ children: z.ZodString;
162
+ variant: z.ZodOptional<z.ZodEnum<{
163
+ default: "default";
164
+ destructive: "destructive";
165
+ secondary: "secondary";
166
+ outline: "outline";
167
+ accent: "accent";
168
+ ghost: "ghost";
169
+ link: "link";
170
+ }>>;
171
+ size: z.ZodOptional<z.ZodEnum<{
172
+ sm: "sm";
173
+ md: "md";
174
+ lg: "lg";
175
+ xl: "xl";
176
+ xxl: "xxl";
177
+ icon: "icon";
178
+ }>>;
179
+ shape: z.ZodOptional<z.ZodEnum<{
180
+ rounded: "rounded";
181
+ hard: "hard";
182
+ }>>;
183
+ isLoading: z.ZodOptional<z.ZodBoolean>;
184
+ onActionId: z.ZodOptional<z.ZodString>;
185
+ }, z.core.$strict>;
186
+ }, z.core.$strip>, z.ZodObject<{
187
+ component: z.ZodLiteral<"Card">;
188
+ props: z.ZodObject<{
189
+ title: z.ZodString;
190
+ description: z.ZodOptional<z.ZodString>;
191
+ body: z.ZodString;
192
+ }, z.core.$strict>;
193
+ }, z.core.$strip>, z.ZodObject<{
194
+ component: z.ZodLiteral<"Checkbox">;
195
+ props: z.ZodObject<{
196
+ label: z.ZodString;
197
+ defaultChecked: z.ZodOptional<z.ZodBoolean>;
198
+ disabled: z.ZodOptional<z.ZodBoolean>;
199
+ }, z.core.$strict>;
200
+ }, z.core.$strip>, z.ZodObject<{
201
+ component: z.ZodLiteral<"Dialog">;
202
+ props: z.ZodObject<{
203
+ title: z.ZodString;
204
+ description: z.ZodOptional<z.ZodString>;
205
+ body: z.ZodString;
206
+ size: z.ZodOptional<z.ZodEnum<{
207
+ sm: "sm";
208
+ md: "md";
209
+ lg: "lg";
210
+ xl: "xl";
211
+ }>>;
212
+ }, z.core.$strict>;
213
+ }, z.core.$strip>, z.ZodObject<{
214
+ component: z.ZodLiteral<"DropdownMenu">;
215
+ props: z.ZodObject<{
216
+ triggerLabel: z.ZodString;
217
+ items: z.ZodArray<z.ZodObject<{
218
+ id: z.ZodString;
219
+ label: z.ZodString;
220
+ destructive: z.ZodOptional<z.ZodBoolean>;
221
+ disabled: z.ZodOptional<z.ZodBoolean>;
222
+ }, z.core.$strip>>;
223
+ }, z.core.$strict>;
224
+ }, z.core.$strip>, z.ZodObject<{
225
+ component: z.ZodLiteral<"EmptyState">;
226
+ props: z.ZodObject<{
227
+ title: z.ZodString;
228
+ description: z.ZodOptional<z.ZodString>;
229
+ actionLabel: z.ZodOptional<z.ZodString>;
230
+ actionId: z.ZodOptional<z.ZodString>;
231
+ }, z.core.$strict>;
232
+ }, z.core.$strip>, z.ZodObject<{
233
+ component: z.ZodLiteral<"Input">;
234
+ props: z.ZodObject<{
235
+ name: z.ZodString;
236
+ placeholder: z.ZodOptional<z.ZodString>;
237
+ type: z.ZodOptional<z.ZodEnum<{
238
+ number: "number";
239
+ text: "text";
240
+ email: "email";
241
+ tel: "tel";
242
+ url: "url";
243
+ search: "search";
244
+ }>>;
245
+ variant: z.ZodOptional<z.ZodEnum<{
246
+ default: "default";
247
+ destructive: "destructive";
248
+ }>>;
249
+ size: z.ZodOptional<z.ZodEnum<{
250
+ sm: "sm";
251
+ md: "md";
252
+ lg: "lg";
253
+ }>>;
254
+ invalid: z.ZodOptional<z.ZodBoolean>;
255
+ required: z.ZodOptional<z.ZodBoolean>;
256
+ accessibilityLabel: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strict>;
258
+ }, z.core.$strip>, z.ZodObject<{
259
+ component: z.ZodLiteral<"Label">;
260
+ props: z.ZodObject<{
261
+ children: z.ZodString;
262
+ htmlFor: z.ZodOptional<z.ZodString>;
263
+ tone: z.ZodOptional<z.ZodEnum<{
264
+ default: "default";
265
+ destructive: "destructive";
266
+ muted: "muted";
267
+ }>>;
268
+ required: z.ZodOptional<z.ZodBoolean>;
269
+ }, z.core.$strict>;
270
+ }, z.core.$strip>, z.ZodObject<{
271
+ component: z.ZodLiteral<"Link">;
272
+ props: z.ZodObject<{
273
+ children: z.ZodString;
274
+ href: z.ZodString;
275
+ variant: z.ZodOptional<z.ZodEnum<{
276
+ accent: "accent";
277
+ muted: "muted";
278
+ inline: "inline";
279
+ foreground: "foreground";
280
+ nav: "nav";
281
+ standalone: "standalone";
282
+ button: "button";
283
+ }>>;
284
+ size: z.ZodOptional<z.ZodEnum<{
285
+ sm: "sm";
286
+ md: "md";
287
+ lg: "lg";
288
+ }>>;
289
+ external: z.ZodOptional<z.ZodBoolean>;
290
+ showExternalIndicator: z.ZodOptional<z.ZodBoolean>;
291
+ }, z.core.$strict>;
292
+ }, z.core.$strip>, z.ZodObject<{
293
+ component: z.ZodLiteral<"Pagination">;
294
+ props: z.ZodObject<{
295
+ totalPages: z.ZodNumber;
296
+ currentPage: z.ZodNumber;
297
+ siblingCount: z.ZodOptional<z.ZodNumber>;
298
+ }, z.core.$strict>;
299
+ }, z.core.$strip>, z.ZodObject<{
300
+ component: z.ZodLiteral<"RadioGroup">;
301
+ props: z.ZodObject<{
302
+ options: z.ZodArray<z.ZodObject<{
303
+ value: z.ZodString;
304
+ label: z.ZodString;
305
+ }, z.core.$strip>>;
306
+ defaultValue: z.ZodOptional<z.ZodString>;
307
+ orientation: z.ZodOptional<z.ZodEnum<{
308
+ horizontal: "horizontal";
309
+ vertical: "vertical";
310
+ }>>;
311
+ disabled: z.ZodOptional<z.ZodBoolean>;
312
+ }, z.core.$strict>;
313
+ }, z.core.$strip>, z.ZodObject<{
314
+ component: z.ZodLiteral<"SectionHeader">;
315
+ props: z.ZodObject<{
316
+ title: z.ZodString;
317
+ description: z.ZodOptional<z.ZodString>;
318
+ padding: z.ZodOptional<z.ZodEnum<{
319
+ sm: "sm";
320
+ md: "md";
321
+ lg: "lg";
322
+ xl: "xl";
323
+ none: "none";
324
+ xs: "xs";
325
+ }>>;
326
+ paddingX: z.ZodOptional<z.ZodEnum<{
327
+ sm: "sm";
328
+ md: "md";
329
+ lg: "lg";
330
+ xl: "xl";
331
+ none: "none";
332
+ xs: "xs";
333
+ }>>;
334
+ paddingY: z.ZodOptional<z.ZodEnum<{
335
+ sm: "sm";
336
+ md: "md";
337
+ lg: "lg";
338
+ xl: "xl";
339
+ none: "none";
340
+ xs: "xs";
341
+ }>>;
342
+ paddingTop: z.ZodOptional<z.ZodEnum<{
343
+ sm: "sm";
344
+ md: "md";
345
+ lg: "lg";
346
+ xl: "xl";
347
+ none: "none";
348
+ xs: "xs";
349
+ }>>;
350
+ paddingRight: z.ZodOptional<z.ZodEnum<{
351
+ sm: "sm";
352
+ md: "md";
353
+ lg: "lg";
354
+ xl: "xl";
355
+ none: "none";
356
+ xs: "xs";
357
+ }>>;
358
+ paddingBottom: z.ZodOptional<z.ZodEnum<{
359
+ sm: "sm";
360
+ md: "md";
361
+ lg: "lg";
362
+ xl: "xl";
363
+ none: "none";
364
+ xs: "xs";
365
+ }>>;
366
+ paddingLeft: z.ZodOptional<z.ZodEnum<{
367
+ sm: "sm";
368
+ md: "md";
369
+ lg: "lg";
370
+ xl: "xl";
371
+ none: "none";
372
+ xs: "xs";
373
+ }>>;
374
+ margin: z.ZodOptional<z.ZodEnum<{
375
+ sm: "sm";
376
+ md: "md";
377
+ lg: "lg";
378
+ xl: "xl";
379
+ none: "none";
380
+ xs: "xs";
381
+ }>>;
382
+ marginX: z.ZodOptional<z.ZodEnum<{
383
+ sm: "sm";
384
+ md: "md";
385
+ lg: "lg";
386
+ xl: "xl";
387
+ none: "none";
388
+ xs: "xs";
389
+ }>>;
390
+ marginY: z.ZodOptional<z.ZodEnum<{
391
+ sm: "sm";
392
+ md: "md";
393
+ lg: "lg";
394
+ xl: "xl";
395
+ none: "none";
396
+ xs: "xs";
397
+ }>>;
398
+ marginTop: z.ZodOptional<z.ZodEnum<{
399
+ sm: "sm";
400
+ md: "md";
401
+ lg: "lg";
402
+ xl: "xl";
403
+ none: "none";
404
+ xs: "xs";
405
+ }>>;
406
+ marginRight: z.ZodOptional<z.ZodEnum<{
407
+ sm: "sm";
408
+ md: "md";
409
+ lg: "lg";
410
+ xl: "xl";
411
+ none: "none";
412
+ xs: "xs";
413
+ }>>;
414
+ marginBottom: z.ZodOptional<z.ZodEnum<{
415
+ sm: "sm";
416
+ md: "md";
417
+ lg: "lg";
418
+ xl: "xl";
419
+ none: "none";
420
+ xs: "xs";
421
+ }>>;
422
+ marginLeft: z.ZodOptional<z.ZodEnum<{
423
+ sm: "sm";
424
+ md: "md";
425
+ lg: "lg";
426
+ xl: "xl";
427
+ none: "none";
428
+ xs: "xs";
429
+ }>>;
430
+ surface: z.ZodOptional<z.ZodEnum<{
431
+ success: "success";
432
+ destructive: "destructive";
433
+ warning: "warning";
434
+ accent: "accent";
435
+ muted: "muted";
436
+ transparent: "transparent";
437
+ card: "card";
438
+ primary: "primary";
439
+ }>>;
440
+ border: z.ZodOptional<z.ZodEnum<{
441
+ none: "none";
442
+ top: "top";
443
+ bottom: "bottom";
444
+ y: "y";
445
+ full: "full";
446
+ }>>;
447
+ radius: z.ZodOptional<z.ZodEnum<{
448
+ sm: "sm";
449
+ md: "md";
450
+ lg: "lg";
451
+ xl: "xl";
452
+ none: "none";
453
+ }>>;
454
+ shadow: z.ZodOptional<z.ZodEnum<{
455
+ sm: "sm";
456
+ md: "md";
457
+ none: "none";
458
+ }>>;
459
+ }, z.core.$strict>;
460
+ }, z.core.$strip>, z.ZodObject<{
461
+ component: z.ZodLiteral<"Select">;
462
+ props: z.ZodObject<{
463
+ name: z.ZodString;
464
+ placeholder: z.ZodOptional<z.ZodString>;
465
+ options: z.ZodArray<z.ZodObject<{
466
+ value: z.ZodString;
467
+ label: z.ZodString;
468
+ group: z.ZodOptional<z.ZodString>;
469
+ }, z.core.$strip>>;
470
+ defaultValue: z.ZodOptional<z.ZodString>;
471
+ variant: z.ZodOptional<z.ZodEnum<{
472
+ default: "default";
473
+ destructive: "destructive";
474
+ }>>;
475
+ size: z.ZodOptional<z.ZodEnum<{
476
+ sm: "sm";
477
+ md: "md";
478
+ lg: "lg";
479
+ }>>;
480
+ disabled: z.ZodOptional<z.ZodBoolean>;
481
+ required: z.ZodOptional<z.ZodBoolean>;
482
+ accessibilityLabel: z.ZodOptional<z.ZodString>;
483
+ }, z.core.$strict>;
484
+ }, z.core.$strip>, z.ZodObject<{
485
+ component: z.ZodLiteral<"Progress">;
486
+ props: z.ZodObject<{
487
+ value: z.ZodOptional<z.ZodNumber>;
488
+ tone: z.ZodOptional<z.ZodEnum<{
489
+ success: "success";
490
+ warning: "warning";
491
+ accent: "accent";
492
+ primary: "primary";
493
+ danger: "danger";
494
+ }>>;
495
+ size: z.ZodOptional<z.ZodEnum<{
496
+ sm: "sm";
497
+ md: "md";
498
+ lg: "lg";
499
+ }>>;
500
+ label: z.ZodOptional<z.ZodString>;
501
+ showValue: z.ZodOptional<z.ZodBoolean>;
502
+ }, z.core.$strict>;
503
+ }, z.core.$strip>, z.ZodObject<{
504
+ component: z.ZodLiteral<"Separator">;
505
+ props: z.ZodObject<{
506
+ orientation: z.ZodOptional<z.ZodEnum<{
507
+ horizontal: "horizontal";
508
+ vertical: "vertical";
509
+ }>>;
510
+ }, z.core.$strict>;
511
+ }, z.core.$strip>, z.ZodObject<{
512
+ component: z.ZodLiteral<"Sheet">;
513
+ props: z.ZodObject<{
514
+ title: z.ZodString;
515
+ description: z.ZodOptional<z.ZodString>;
516
+ side: z.ZodOptional<z.ZodEnum<{
517
+ top: "top";
518
+ bottom: "bottom";
519
+ left: "left";
520
+ right: "right";
521
+ }>>;
522
+ size: z.ZodOptional<z.ZodEnum<{
523
+ sm: "sm";
524
+ md: "md";
525
+ lg: "lg";
526
+ }>>;
527
+ }, z.core.$strict>;
528
+ }, z.core.$strip>, z.ZodType<import("./Stack.js").StackDescriptor, unknown, z.core.$ZodTypeInternals<import("./Stack.js").StackDescriptor, unknown>>, z.ZodObject<{
529
+ component: z.ZodLiteral<"StatCard">;
530
+ props: z.ZodObject<{
531
+ value: z.ZodString;
532
+ label: z.ZodString;
533
+ tone: z.ZodOptional<z.ZodEnum<{
534
+ success: "success";
535
+ warning: "warning";
536
+ accent: "accent";
537
+ primary: "primary";
538
+ danger: "danger";
539
+ neutral: "neutral";
540
+ }>>;
541
+ }, z.core.$strict>;
542
+ }, z.core.$strip>, z.ZodObject<{
543
+ component: z.ZodLiteral<"StatusBadge">;
544
+ props: z.ZodObject<{
545
+ children: z.ZodString;
546
+ tone: z.ZodOptional<z.ZodEnum<{
547
+ success: "success";
548
+ warning: "warning";
549
+ info: "info";
550
+ danger: "danger";
551
+ neutral: "neutral";
552
+ }>>;
553
+ }, z.core.$strict>;
554
+ }, z.core.$strip>, z.ZodObject<{
555
+ component: z.ZodLiteral<"Switch">;
556
+ props: z.ZodObject<{
557
+ label: z.ZodString;
558
+ defaultChecked: z.ZodOptional<z.ZodBoolean>;
559
+ size: z.ZodOptional<z.ZodEnum<{
560
+ sm: "sm";
561
+ md: "md";
562
+ lg: "lg";
563
+ }>>;
564
+ disabled: z.ZodOptional<z.ZodBoolean>;
565
+ }, z.core.$strict>;
566
+ }, z.core.$strip>, z.ZodObject<{
567
+ component: z.ZodLiteral<"Table">;
568
+ props: z.ZodObject<{
569
+ columns: z.ZodArray<z.ZodObject<{
570
+ key: z.ZodString;
571
+ header: z.ZodString;
572
+ }, z.core.$strip>>;
573
+ rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodString>>;
574
+ caption: z.ZodOptional<z.ZodString>;
575
+ striped: z.ZodOptional<z.ZodBoolean>;
576
+ }, z.core.$strict>;
577
+ }, z.core.$strip>, z.ZodObject<{
578
+ component: z.ZodLiteral<"Tag">;
579
+ props: z.ZodObject<{
580
+ label: z.ZodString;
581
+ variant: z.ZodOptional<z.ZodEnum<{
582
+ success: "success";
583
+ default: "default";
584
+ destructive: "destructive";
585
+ warning: "warning";
586
+ accent: "accent";
587
+ primary: "primary";
588
+ }>>;
589
+ size: z.ZodOptional<z.ZodEnum<{
590
+ sm: "sm";
591
+ md: "md";
592
+ lg: "lg";
593
+ }>>;
594
+ removable: z.ZodOptional<z.ZodBoolean>;
595
+ }, z.core.$strict>;
596
+ }, z.core.$strip>, z.ZodObject<{
597
+ component: z.ZodLiteral<"Tabs">;
598
+ props: z.ZodObject<{
599
+ defaultValue: z.ZodString;
600
+ tabs: z.ZodArray<z.ZodObject<{
601
+ value: z.ZodString;
602
+ label: z.ZodString;
603
+ content: z.ZodString;
604
+ }, z.core.$strip>>;
605
+ }, z.core.$strict>;
606
+ }, z.core.$strip>, z.ZodObject<{
607
+ component: z.ZodLiteral<"Text">;
608
+ props: z.ZodObject<{
609
+ children: z.ZodString;
610
+ size: z.ZodOptional<z.ZodEnum<{
611
+ sm: "sm";
612
+ lg: "lg";
613
+ xl: "xl";
614
+ xs: "xs";
615
+ base: "base";
616
+ "2xl": "2xl";
617
+ "3xl": "3xl";
618
+ "4xl": "4xl";
619
+ "5xl": "5xl";
620
+ }>>;
621
+ weight: z.ZodOptional<z.ZodEnum<{
622
+ normal: "normal";
623
+ medium: "medium";
624
+ semibold: "semibold";
625
+ bold: "bold";
626
+ }>>;
627
+ tone: z.ZodOptional<z.ZodEnum<{
628
+ success: "success";
629
+ default: "default";
630
+ destructive: "destructive";
631
+ warning: "warning";
632
+ muted: "muted";
633
+ }>>;
634
+ as: z.ZodOptional<z.ZodEnum<{
635
+ label: "label";
636
+ span: "span";
637
+ p: "p";
638
+ div: "div";
639
+ strong: "strong";
640
+ em: "em";
641
+ small: "small";
642
+ h1: "h1";
643
+ h2: "h2";
644
+ h3: "h3";
645
+ h4: "h4";
646
+ h5: "h5";
647
+ h6: "h6";
648
+ }>>;
649
+ }, z.core.$strict>;
650
+ }, z.core.$strip>, z.ZodObject<{
651
+ component: z.ZodLiteral<"Textarea">;
652
+ props: z.ZodObject<{
653
+ name: z.ZodString;
654
+ placeholder: z.ZodOptional<z.ZodString>;
655
+ rows: z.ZodOptional<z.ZodNumber>;
656
+ variant: z.ZodOptional<z.ZodEnum<{
657
+ default: "default";
658
+ destructive: "destructive";
659
+ }>>;
660
+ invalid: z.ZodOptional<z.ZodBoolean>;
661
+ required: z.ZodOptional<z.ZodBoolean>;
662
+ accessibilityLabel: z.ZodOptional<z.ZodString>;
663
+ }, z.core.$strict>;
664
+ }, z.core.$strip>, z.ZodObject<{
665
+ component: z.ZodLiteral<"TitleBar">;
666
+ props: z.ZodObject<{
667
+ title: z.ZodString;
668
+ supertitle: z.ZodOptional<z.ZodString>;
669
+ }, z.core.$strict>;
670
+ }, z.core.$strip>, z.ZodObject<{
671
+ component: z.ZodLiteral<"Toggle">;
672
+ props: z.ZodObject<{
673
+ label: z.ZodString;
674
+ defaultPressed: z.ZodOptional<z.ZodBoolean>;
675
+ variant: z.ZodOptional<z.ZodEnum<{
676
+ default: "default";
677
+ outline: "outline";
678
+ }>>;
679
+ size: z.ZodOptional<z.ZodEnum<{
680
+ sm: "sm";
681
+ md: "md";
682
+ lg: "lg";
683
+ }>>;
684
+ disabled: z.ZodOptional<z.ZodBoolean>;
685
+ }, z.core.$strict>;
686
+ }, z.core.$strip>]>;
687
+ export type ComponentDescriptor = z.infer<typeof componentDescriptorSchema>;
688
+ /**
689
+ * Allowlist used by the renderer. Names that don't appear here are rejected
690
+ * even if Zod somehow accepts them (defense in depth — AI-UI-02).
691
+ */
692
+ export declare const ALLOWED_COMPONENTS: readonly ["Accordion", "Alert", "AlertDialog", "Avatar", "AvatarGroup", "Badge", "Banner", "Breadcrumb", "Button", "Card", "Checkbox", "Dialog", "DropdownMenu", "EmptyState", "Input", "Label", "Link", "Pagination", "Progress", "RadioGroup", "SectionHeader", "Select", "Separator", "Sheet", "Stack", "StatCard", "StatusBadge", "Switch", "Table", "Tag", "Tabs", "Text", "Textarea", "TitleBar", "Toggle"];
693
+ export type AllowedComponent = (typeof ALLOWED_COMPONENTS)[number];
694
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqCxB,OAAO,EACL,yBAAyB,EACzB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EACL,2BAA2B,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EACL,2BAA2B,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAoCpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,mZAoCrB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC"}