@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,22 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the AlertDialog props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/AlertDialog`.
5
+ *
6
+ * The model supplies title, description, action/cancel labels, variant,
7
+ * and size. The host manages open/close state and action handlers.
8
+ */
9
+ export const alertDialogDescriptorSchema = z.object({
10
+ component: z.literal('AlertDialog'),
11
+ props: z
12
+ .object({
13
+ title: z.string().min(1).max(160),
14
+ description: z.string().min(1).max(800).optional(),
15
+ actionLabel: z.string().min(1).max(40),
16
+ cancelLabel: z.string().min(1).max(40).optional(),
17
+ variant: z.enum(['default', 'destructive']).optional(),
18
+ size: z.enum(['sm', 'md', 'lg', 'xl']).optional(),
19
+ })
20
+ .strict(),
21
+ });
22
+ //# sourceMappingURL=AlertDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertDialog.js","sourceRoot":"","sources":["../../src/schemas/AlertDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACnC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE;QACtD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Avatar props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Avatar`.
5
+ *
6
+ * The model supplies src, alt, fallback initials, and optional size/status.
7
+ */
8
+ export declare const avatarDescriptorSchema: z.ZodObject<{
9
+ component: z.ZodLiteral<"Avatar">;
10
+ props: z.ZodObject<{
11
+ src: z.ZodOptional<z.ZodString>;
12
+ alt: z.ZodOptional<z.ZodString>;
13
+ fallback: z.ZodString;
14
+ size: z.ZodOptional<z.ZodEnum<{
15
+ sm: "sm";
16
+ md: "md";
17
+ lg: "lg";
18
+ xl: "xl";
19
+ }>>;
20
+ status: z.ZodOptional<z.ZodEnum<{
21
+ online: "online";
22
+ offline: "offline";
23
+ busy: "busy";
24
+ away: "away";
25
+ }>>;
26
+ }, z.core.$strict>;
27
+ }, z.core.$strip>;
28
+ export type AvatarDescriptor = z.infer<typeof avatarDescriptorSchema>;
29
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/schemas/Avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAWjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import { safeImageUrlSchema } from './shared.js';
3
+ /**
4
+ * Zod schema describing the Avatar props an AI model is allowed to
5
+ * produce. MUST stay in sync with `@mihcm/ui/Avatar`.
6
+ *
7
+ * The model supplies src, alt, fallback initials, and optional size/status.
8
+ */
9
+ export const avatarDescriptorSchema = z.object({
10
+ component: z.literal('Avatar'),
11
+ props: z
12
+ .object({
13
+ src: safeImageUrlSchema.optional(),
14
+ alt: z.string().max(120).optional(),
15
+ fallback: z.string().min(1).max(3),
16
+ size: z.enum(['sm', 'md', 'lg', 'xl']).optional(),
17
+ status: z.enum(['online', 'offline', 'busy', 'away']).optional(),
18
+ })
19
+ .strict(),
20
+ });
21
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/schemas/Avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,GAAG,EAAE,kBAAkB,CAAC,QAAQ,EAAE;QAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;QACjD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;KACjE,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the AvatarGroup props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/AvatarGroup`.
5
+ */
6
+ export declare const avatarGroupDescriptorSchema: z.ZodObject<{
7
+ component: z.ZodLiteral<"AvatarGroup">;
8
+ props: z.ZodObject<{
9
+ avatars: z.ZodArray<z.ZodObject<{
10
+ fallback: z.ZodString;
11
+ src: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>>;
13
+ max: z.ZodOptional<z.ZodNumber>;
14
+ size: z.ZodOptional<z.ZodEnum<{
15
+ sm: "sm";
16
+ md: "md";
17
+ lg: "lg";
18
+ }>>;
19
+ }, z.core.$strict>;
20
+ }, z.core.$strip>;
21
+ export type AvatarGroupDescriptor = z.infer<typeof avatarGroupDescriptorSchema>;
22
+ //# sourceMappingURL=AvatarGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../src/schemas/AvatarGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;iBAiBtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { safeImageUrlSchema } from './shared.js';
3
+ /**
4
+ * Zod schema describing the AvatarGroup props an AI model is allowed to
5
+ * produce. MUST stay in sync with `@mihcm/ui/AvatarGroup`.
6
+ */
7
+ export const avatarGroupDescriptorSchema = z.object({
8
+ component: z.literal('AvatarGroup'),
9
+ props: z
10
+ .object({
11
+ avatars: z
12
+ .array(z.object({
13
+ fallback: z.string().min(1).max(3),
14
+ src: safeImageUrlSchema.optional(),
15
+ }))
16
+ .min(1)
17
+ .max(50),
18
+ max: z.number().int().min(1).max(20).optional(),
19
+ size: z.enum(['sm', 'md', 'lg']).optional(),
20
+ })
21
+ .strict(),
22
+ });
23
+ //# sourceMappingURL=AvatarGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../../src/schemas/AvatarGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACnC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,GAAG,EAAE,kBAAkB,CAAC,QAAQ,EAAE;SACnC,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;QACV,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC/C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC5C,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Badge props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Badge`.
5
+ *
6
+ * Children is a single short string — badges are pills, not paragraphs.
7
+ */
8
+ export declare const badgeDescriptorSchema: z.ZodObject<{
9
+ component: z.ZodLiteral<"Badge">;
10
+ props: z.ZodObject<{
11
+ children: z.ZodString;
12
+ variant: z.ZodOptional<z.ZodEnum<{
13
+ success: "success";
14
+ default: "default";
15
+ destructive: "destructive";
16
+ warning: "warning";
17
+ secondary: "secondary";
18
+ outline: "outline";
19
+ }>>;
20
+ }, z.core.$strict>;
21
+ }, z.core.$strip>;
22
+ export type BadgeDescriptor = z.infer<typeof badgeDescriptorSchema>;
23
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/schemas/Badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAUhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Badge props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Badge`.
5
+ *
6
+ * Children is a single short string — badges are pills, not paragraphs.
7
+ */
8
+ export const badgeDescriptorSchema = z.object({
9
+ component: z.literal('Badge'),
10
+ props: z
11
+ .object({
12
+ children: z.string().min(1).max(40),
13
+ variant: z
14
+ .enum(['default', 'secondary', 'destructive', 'success', 'warning', 'outline'])
15
+ .optional(),
16
+ })
17
+ .strict(),
18
+ });
19
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../src/schemas/Badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aAC9E,QAAQ,EAAE;KACd,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Banner props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Banner`.
5
+ *
6
+ * Message is a single string. Dismissible controls the X button.
7
+ */
8
+ export declare const bannerDescriptorSchema: z.ZodObject<{
9
+ component: z.ZodLiteral<"Banner">;
10
+ props: z.ZodObject<{
11
+ message: z.ZodString;
12
+ tone: z.ZodOptional<z.ZodEnum<{
13
+ error: "error";
14
+ warning: "warning";
15
+ info: "info";
16
+ accent: "accent";
17
+ announcement: "announcement";
18
+ }>>;
19
+ dismissible: z.ZodOptional<z.ZodBoolean>;
20
+ }, z.core.$strict>;
21
+ }, z.core.$strip>;
22
+ export type BannerDescriptor = z.infer<typeof bannerDescriptorSchema>;
23
+ //# sourceMappingURL=Banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/schemas/Banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;iBAWjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Banner props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Banner`.
5
+ *
6
+ * Message is a single string. Dismissible controls the X button.
7
+ */
8
+ export const bannerDescriptorSchema = z.object({
9
+ component: z.literal('Banner'),
10
+ props: z
11
+ .object({
12
+ message: z.string().min(1).max(500),
13
+ tone: z
14
+ .enum(['info', 'accent', 'warning', 'error', 'announcement'])
15
+ .optional(),
16
+ dismissible: z.boolean().optional(),
17
+ })
18
+ .strict(),
19
+ });
20
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../src/schemas/Banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACnC,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;aAC5D,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Breadcrumb props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Breadcrumb`.
5
+ *
6
+ * The model supplies a flat items array. The renderer turns the last
7
+ * item into a BreadcrumbPage (no link) and preceding items into
8
+ * BreadcrumbLinks with separators in between.
9
+ */
10
+ export declare const breadcrumbDescriptorSchema: z.ZodObject<{
11
+ component: z.ZodLiteral<"Breadcrumb">;
12
+ props: z.ZodObject<{
13
+ items: z.ZodArray<z.ZodObject<{
14
+ label: z.ZodString;
15
+ href: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strict>;
18
+ }, z.core.$strip>;
19
+ export type BreadcrumbDescriptor = z.infer<typeof breadcrumbDescriptorSchema>;
20
+ //# sourceMappingURL=Breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../src/schemas/Breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAerC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ import { safeHrefSchema } from './shared.js';
3
+ /**
4
+ * Zod schema describing the Breadcrumb props an AI model is allowed to
5
+ * produce. MUST stay in sync with `@mihcm/ui/Breadcrumb`.
6
+ *
7
+ * The model supplies a flat items array. The renderer turns the last
8
+ * item into a BreadcrumbPage (no link) and preceding items into
9
+ * BreadcrumbLinks with separators in between.
10
+ */
11
+ export const breadcrumbDescriptorSchema = z.object({
12
+ component: z.literal('Breadcrumb'),
13
+ props: z
14
+ .object({
15
+ items: z
16
+ .array(z.object({
17
+ label: z.string().min(1).max(100),
18
+ href: safeHrefSchema.optional(),
19
+ }))
20
+ .min(1)
21
+ .max(10),
22
+ })
23
+ .strict(),
24
+ });
25
+ //# sourceMappingURL=Breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.js","sourceRoot":"","sources":["../../src/schemas/Breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAClC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACjC,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;SAChC,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;KACX,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Button props an AI model is allowed to produce.
4
+ * MUST stay in sync with `@mihcm/ui/Button`.
5
+ *
6
+ * Children are limited to plain strings here — no nested elements — so a model
7
+ * can't smuggle in arbitrary content. Composition (icon + text rows etc.) is
8
+ * a separate Card/Stack descriptor decision.
9
+ */
10
+ export declare const buttonDescriptorSchema: z.ZodObject<{
11
+ component: z.ZodLiteral<"Button">;
12
+ props: z.ZodObject<{
13
+ children: z.ZodString;
14
+ variant: z.ZodOptional<z.ZodEnum<{
15
+ default: "default";
16
+ destructive: "destructive";
17
+ secondary: "secondary";
18
+ outline: "outline";
19
+ accent: "accent";
20
+ ghost: "ghost";
21
+ link: "link";
22
+ }>>;
23
+ size: z.ZodOptional<z.ZodEnum<{
24
+ sm: "sm";
25
+ md: "md";
26
+ lg: "lg";
27
+ xl: "xl";
28
+ xxl: "xxl";
29
+ icon: "icon";
30
+ }>>;
31
+ shape: z.ZodOptional<z.ZodEnum<{
32
+ rounded: "rounded";
33
+ hard: "hard";
34
+ }>>;
35
+ isLoading: z.ZodOptional<z.ZodBoolean>;
36
+ onActionId: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strict>;
38
+ }, z.core.$strip>;
39
+ export type ButtonDescriptor = z.infer<typeof buttonDescriptorSchema>;
40
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/schemas/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAejC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Button props an AI model is allowed to produce.
4
+ * MUST stay in sync with `@mihcm/ui/Button`.
5
+ *
6
+ * Children are limited to plain strings here — no nested elements — so a model
7
+ * can't smuggle in arbitrary content. Composition (icon + text rows etc.) is
8
+ * a separate Card/Stack descriptor decision.
9
+ */
10
+ export const buttonDescriptorSchema = z.object({
11
+ component: z.literal('Button'),
12
+ props: z
13
+ .object({
14
+ children: z.string().min(1).max(120),
15
+ variant: z
16
+ .enum(['default', 'accent', 'destructive', 'outline', 'secondary', 'ghost', 'link'])
17
+ .optional(),
18
+ size: z.enum(['sm', 'md', 'lg', 'xl', 'xxl', 'icon']).optional(),
19
+ shape: z.enum(['rounded', 'hard']).optional(),
20
+ isLoading: z.boolean().optional(),
21
+ // Action token resolved server-side; we never pass through arbitrary URLs.
22
+ onActionId: z.string().min(1).max(64).optional(),
23
+ })
24
+ .strict(),
25
+ });
26
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/schemas/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;aACnF,QAAQ,EAAE;QACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC7C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,2EAA2E;QAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KACjD,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Card props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Card`.
5
+ *
6
+ * Card is a container surface — the model supplies a title, optional
7
+ * description, and a text body. For richer content, wrap multiple
8
+ * descriptors in a Stack and place the Card around them at the host
9
+ * level; the descriptor intentionally keeps Card's children flat text
10
+ * to avoid recursive composition complexity.
11
+ */
12
+ export declare const cardDescriptorSchema: z.ZodObject<{
13
+ component: z.ZodLiteral<"Card">;
14
+ props: z.ZodObject<{
15
+ title: z.ZodString;
16
+ description: z.ZodOptional<z.ZodString>;
17
+ body: z.ZodString;
18
+ }, z.core.$strict>;
19
+ }, z.core.$strip>;
20
+ export type CardDescriptor = z.infer<typeof cardDescriptorSchema>;
21
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/schemas/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;iBAS/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Card props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Card`.
5
+ *
6
+ * Card is a container surface — the model supplies a title, optional
7
+ * description, and a text body. For richer content, wrap multiple
8
+ * descriptors in a Stack and place the Card around them at the host
9
+ * level; the descriptor intentionally keeps Card's children flat text
10
+ * to avoid recursive composition complexity.
11
+ */
12
+ export const cardDescriptorSchema = z.object({
13
+ component: z.literal('Card'),
14
+ props: z
15
+ .object({
16
+ title: z.string().min(1).max(160),
17
+ description: z.string().min(1).max(400).optional(),
18
+ body: z.string().min(1).max(2000),
19
+ })
20
+ .strict(),
21
+ });
22
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../src/schemas/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;KAClC,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Checkbox props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Checkbox`.
5
+ *
6
+ * The model supplies a label and initial state. The host wires up
7
+ * the actual state management.
8
+ */
9
+ export declare const checkboxDescriptorSchema: z.ZodObject<{
10
+ component: z.ZodLiteral<"Checkbox">;
11
+ props: z.ZodObject<{
12
+ label: z.ZodString;
13
+ defaultChecked: z.ZodOptional<z.ZodBoolean>;
14
+ disabled: z.ZodOptional<z.ZodBoolean>;
15
+ }, z.core.$strict>;
16
+ }, z.core.$strip>;
17
+ export type CheckboxDescriptor = z.infer<typeof checkboxDescriptorSchema>;
18
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../src/schemas/Checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;iBASnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Checkbox props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Checkbox`.
5
+ *
6
+ * The model supplies a label and initial state. The host wires up
7
+ * the actual state management.
8
+ */
9
+ export const checkboxDescriptorSchema = z.object({
10
+ component: z.literal('Checkbox'),
11
+ props: z
12
+ .object({
13
+ label: z.string().min(1).max(200),
14
+ defaultChecked: z.boolean().optional(),
15
+ disabled: z.boolean().optional(),
16
+ })
17
+ .strict(),
18
+ });
19
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/schemas/Checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACtC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Dialog props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Dialog`.
5
+ *
6
+ * The model supplies title, description, body content, and size.
7
+ * The host manages open/close state and action handlers.
8
+ */
9
+ export declare const dialogDescriptorSchema: z.ZodObject<{
10
+ component: z.ZodLiteral<"Dialog">;
11
+ props: z.ZodObject<{
12
+ title: z.ZodString;
13
+ description: z.ZodOptional<z.ZodString>;
14
+ body: z.ZodString;
15
+ size: z.ZodOptional<z.ZodEnum<{
16
+ sm: "sm";
17
+ md: "md";
18
+ lg: "lg";
19
+ xl: "xl";
20
+ }>>;
21
+ }, z.core.$strict>;
22
+ }, z.core.$strip>;
23
+ export type DialogDescriptor = z.infer<typeof dialogDescriptorSchema>;
24
+ //# sourceMappingURL=Dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/schemas/Dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;iBAUjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the Dialog props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/Dialog`.
5
+ *
6
+ * The model supplies title, description, body content, and size.
7
+ * The host manages open/close state and action handlers.
8
+ */
9
+ export const dialogDescriptorSchema = z.object({
10
+ component: z.literal('Dialog'),
11
+ props: z
12
+ .object({
13
+ title: z.string().min(1).max(120),
14
+ description: z.string().max(400).optional(),
15
+ body: z.string().min(1).max(2000),
16
+ size: z.enum(['sm', 'md', 'lg', 'xl']).optional(),
17
+ })
18
+ .strict(),
19
+ });
20
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/schemas/Dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACjC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the DropdownMenu props an AI model is allowed to produce.
4
+ * MUST stay in sync with `@mihcm/ui/DropdownMenu`.
5
+ *
6
+ * Notes:
7
+ * - Partial AI-UI support: the model supplies a flat `items` array and a
8
+ * `triggerLabel`. The host renders the composable sub-components.
9
+ * - No sub-menus, checkbox/radio items, or shortcut text in AI-UI (too
10
+ * interactive for model-driven output).
11
+ */
12
+ export declare const dropdownMenuDescriptorSchema: z.ZodObject<{
13
+ component: z.ZodLiteral<"DropdownMenu">;
14
+ props: z.ZodObject<{
15
+ triggerLabel: z.ZodString;
16
+ items: z.ZodArray<z.ZodObject<{
17
+ id: z.ZodString;
18
+ label: z.ZodString;
19
+ destructive: z.ZodOptional<z.ZodBoolean>;
20
+ disabled: z.ZodOptional<z.ZodBoolean>;
21
+ }, z.core.$strip>>;
22
+ }, z.core.$strict>;
23
+ }, z.core.$strip>;
24
+ export type DropdownMenuDescriptor = z.infer<typeof dropdownMenuDescriptorSchema>;
25
+ //# sourceMappingURL=DropdownMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/schemas/DropdownMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAkBvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the DropdownMenu props an AI model is allowed to produce.
4
+ * MUST stay in sync with `@mihcm/ui/DropdownMenu`.
5
+ *
6
+ * Notes:
7
+ * - Partial AI-UI support: the model supplies a flat `items` array and a
8
+ * `triggerLabel`. The host renders the composable sub-components.
9
+ * - No sub-menus, checkbox/radio items, or shortcut text in AI-UI (too
10
+ * interactive for model-driven output).
11
+ */
12
+ export const dropdownMenuDescriptorSchema = z.object({
13
+ component: z.literal('DropdownMenu'),
14
+ props: z
15
+ .object({
16
+ triggerLabel: z.string().min(1).max(200),
17
+ items: z
18
+ .array(z.object({
19
+ id: z.string().min(1).max(64),
20
+ label: z.string().min(1).max(200),
21
+ destructive: z.boolean().optional(),
22
+ disabled: z.boolean().optional(),
23
+ }))
24
+ .min(1)
25
+ .max(50),
26
+ })
27
+ .strict(),
28
+ });
29
+ //# sourceMappingURL=DropdownMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../src/schemas/DropdownMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACpC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACxC,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACjC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACnC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;KACX,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema describing the EmptyState props an AI model is allowed to
4
+ * produce. MUST stay in sync with `@mihcm/ui/EmptyState`.
5
+ */
6
+ export declare const emptyStateDescriptorSchema: z.ZodObject<{
7
+ component: z.ZodLiteral<"EmptyState">;
8
+ props: z.ZodObject<{
9
+ title: z.ZodString;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ actionLabel: z.ZodOptional<z.ZodString>;
12
+ actionId: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strict>;
14
+ }, z.core.$strip>;
15
+ export type EmptyStateDescriptor = z.infer<typeof emptyStateDescriptorSchema>;
16
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/schemas/EmptyState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAUrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}