@assistant-ui/react-generative-ui 0.0.18 → 0.0.20

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 (152) hide show
  1. package/dist/JSONGenerativeUI.client.d.ts +15 -17
  2. package/dist/JSONGenerativeUI.client.d.ts.map +1 -1
  3. package/dist/JSONGenerativeUI.client.js +28 -8
  4. package/dist/JSONGenerativeUI.client.js.map +1 -1
  5. package/dist/JSONGenerativeUI.server.d.ts +6 -9
  6. package/dist/JSONGenerativeUI.server.d.ts.map +1 -1
  7. package/dist/JSONGenerativeUI.shared.d.ts +42 -44
  8. package/dist/JSONGenerativeUI.shared.d.ts.map +1 -1
  9. package/dist/a2ui/convert.d.ts +7 -8
  10. package/dist/a2ui/convert.d.ts.map +1 -1
  11. package/dist/a2ui/convert.js +115 -16
  12. package/dist/a2ui/convert.js.map +1 -1
  13. package/dist/a2ui/reducer.d.ts +2 -5
  14. package/dist/a2ui/reducer.d.ts.map +1 -1
  15. package/dist/a2ui/reducer.js +8 -0
  16. package/dist/a2ui/reducer.js.map +1 -1
  17. package/dist/a2ui/snapshot.d.ts +3 -0
  18. package/dist/a2ui/snapshot.d.ts.map +1 -0
  19. package/dist/a2ui/snapshot.js +33 -0
  20. package/dist/a2ui/snapshot.js.map +1 -0
  21. package/dist/a2ui/types.d.ts +67 -58
  22. package/dist/a2ui/types.d.ts.map +1 -1
  23. package/dist/a2ui/types.js.map +1 -1
  24. package/dist/a2ui.d.ts +5 -4
  25. package/dist/a2ui.d.ts.map +1 -0
  26. package/dist/a2ui.js +2 -1
  27. package/dist/actionRegistry.d.ts +17 -20
  28. package/dist/actionRegistry.d.ts.map +1 -1
  29. package/dist/actionRegistry.js.map +1 -1
  30. package/dist/buildPresentParameters.d.ts +3 -6
  31. package/dist/buildPresentParameters.d.ts.map +1 -1
  32. package/dist/buildPresentParameters.js +16 -4
  33. package/dist/buildPresentParameters.js.map +1 -1
  34. package/dist/constants.d.ts +2 -4
  35. package/dist/constants.d.ts.map +1 -1
  36. package/dist/constants.js +2 -1
  37. package/dist/constants.js.map +1 -1
  38. package/dist/convert/boundSpec.d.ts +7 -10
  39. package/dist/convert/boundSpec.d.ts.map +1 -1
  40. package/dist/convert/copyBounded.d.ts +3 -6
  41. package/dist/convert/copyBounded.d.ts.map +1 -1
  42. package/dist/convert/isElement.d.ts +2 -5
  43. package/dist/convert/isElement.d.ts.map +1 -1
  44. package/dist/convert/takeRun.d.ts +4 -7
  45. package/dist/convert/takeRun.d.ts.map +1 -1
  46. package/dist/defineGenerativeComponents.d.ts +2 -5
  47. package/dist/defineGenerativeComponents.d.ts.map +1 -1
  48. package/dist/generativeUIToJSX.d.ts +6 -9
  49. package/dist/generativeUIToJSX.d.ts.map +1 -1
  50. package/dist/index.d.ts +3 -13
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.server.d.ts +3 -13
  53. package/dist/index.server.d.ts.map +1 -0
  54. package/dist/index.shared.d.ts +15 -11
  55. package/dist/index.shared.d.ts.map +1 -0
  56. package/dist/ir.d.ts +45 -48
  57. package/dist/ir.d.ts.map +1 -1
  58. package/dist/renderGenerativeUI.d.ts +3 -6
  59. package/dist/renderGenerativeUI.d.ts.map +1 -1
  60. package/dist/scopeSchema.d.ts +6 -0
  61. package/dist/scopeSchema.d.ts.map +1 -0
  62. package/dist/scopeSchema.js +56 -0
  63. package/dist/scopeSchema.js.map +1 -0
  64. package/dist/slack/constants.d.ts +43 -45
  65. package/dist/slack/constants.d.ts.map +1 -1
  66. package/dist/slack/decodeBlockAction.d.ts +2 -5
  67. package/dist/slack/decodeBlockAction.d.ts.map +1 -1
  68. package/dist/slack/fromSlackBlocks.d.ts +2 -5
  69. package/dist/slack/fromSlackBlocks.d.ts.map +1 -1
  70. package/dist/slack/toSlackBlocks.d.ts +2 -5
  71. package/dist/slack/toSlackBlocks.d.ts.map +1 -1
  72. package/dist/slack/toSlackBlocks.js +1 -1
  73. package/dist/slack/types.d.ts +110 -113
  74. package/dist/slack/types.d.ts.map +1 -1
  75. package/dist/slack.d.ts +5 -5
  76. package/dist/slack.d.ts.map +1 -0
  77. package/dist/teams/constants.d.ts +15 -18
  78. package/dist/teams/constants.d.ts.map +1 -1
  79. package/dist/teams/decodeSubmitData.d.ts +2 -5
  80. package/dist/teams/decodeSubmitData.d.ts.map +1 -1
  81. package/dist/teams/toAdaptiveCard.d.ts +10 -13
  82. package/dist/teams/toAdaptiveCard.d.ts.map +1 -1
  83. package/dist/teams/toTeamsAttachments.d.ts +2 -5
  84. package/dist/teams/toTeamsAttachments.d.ts.map +1 -1
  85. package/dist/teams/types.d.ts +136 -138
  86. package/dist/teams/types.d.ts.map +1 -1
  87. package/dist/teams.d.ts +5 -5
  88. package/dist/teams.d.ts.map +1 -0
  89. package/dist/types.d.ts +45 -47
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/vocabulary/alert.d.ts +22 -25
  92. package/dist/vocabulary/alert.d.ts.map +1 -1
  93. package/dist/vocabulary/collectFormValues.d.ts +12 -13
  94. package/dist/vocabulary/collectFormValues.d.ts.map +1 -1
  95. package/dist/vocabulary/collectFormValues.js +3 -2
  96. package/dist/vocabulary/collectFormValues.js.map +1 -1
  97. package/dist/vocabulary/data.d.ts +46 -49
  98. package/dist/vocabulary/data.d.ts.map +1 -1
  99. package/dist/vocabulary/dispatch.d.ts +4 -7
  100. package/dist/vocabulary/dispatch.d.ts.map +1 -1
  101. package/dist/vocabulary/fact.d.ts +9 -12
  102. package/dist/vocabulary/fact.d.ts.map +1 -1
  103. package/dist/vocabulary/form.d.ts +8 -11
  104. package/dist/vocabulary/form.d.ts.map +1 -1
  105. package/dist/vocabulary/icon.d.ts +38 -41
  106. package/dist/vocabulary/icon.d.ts.map +1 -1
  107. package/dist/vocabulary/index.d.ts +2 -5
  108. package/dist/vocabulary/index.d.ts.map +1 -1
  109. package/dist/vocabulary/interactive.d.ts +88 -87
  110. package/dist/vocabulary/interactive.d.ts.map +1 -1
  111. package/dist/vocabulary/interactive.js +6 -4
  112. package/dist/vocabulary/interactive.js.map +1 -1
  113. package/dist/vocabulary/layout.d.ts +76 -79
  114. package/dist/vocabulary/layout.d.ts.map +1 -1
  115. package/dist/vocabulary/list.d.ts +11 -14
  116. package/dist/vocabulary/list.d.ts.map +1 -1
  117. package/dist/vocabulary/media.d.ts +22 -25
  118. package/dist/vocabulary/media.d.ts.map +1 -1
  119. package/dist/vocabulary/text.d.ts +54 -57
  120. package/dist/vocabulary/text.d.ts.map +1 -1
  121. package/dist/vocabulary/toTextContent.d.ts +1 -4
  122. package/dist/vocabulary/toTextContent.d.ts.map +1 -1
  123. package/package.json +12 -10
  124. package/src/JSONGenerativeUI.client.tsx +57 -15
  125. package/src/JSONGenerativeUI.test.tsx +298 -4
  126. package/src/a2ui/convert.test.ts +496 -0
  127. package/src/a2ui/convert.ts +170 -25
  128. package/src/a2ui/reducer.test.ts +18 -0
  129. package/src/a2ui/reducer.ts +16 -0
  130. package/src/a2ui/snapshot.test.ts +52 -0
  131. package/src/a2ui/snapshot.ts +52 -0
  132. package/src/a2ui/types.ts +16 -0
  133. package/src/a2ui.ts +2 -0
  134. package/src/actionRegistry.ts +5 -5
  135. package/src/buildPresentParameters.test.ts +246 -0
  136. package/src/buildPresentParameters.ts +18 -3
  137. package/src/constants.ts +2 -0
  138. package/src/scopeSchema.test.ts +72 -0
  139. package/src/scopeSchema.ts +71 -0
  140. package/src/slack/fromSlackBlocks.test.ts +4 -1
  141. package/src/slack/toSlackBlocks.test.ts +8 -4
  142. package/src/teams/toAdaptiveCard.test.ts +5 -3
  143. package/src/vocabulary/collectFormValues.test.ts +38 -0
  144. package/src/vocabulary/collectFormValues.ts +11 -2
  145. package/src/vocabulary/form.test.tsx +1 -0
  146. package/src/vocabulary/interactive.dispatch.test.tsx +17 -3
  147. package/src/vocabulary/interactive.test.tsx +33 -1
  148. package/src/vocabulary/interactive.tsx +12 -2
  149. package/src/vocabulary/layout.test.tsx +1 -0
  150. package/src/vocabulary/list.test.tsx +5 -4
  151. package/dist/node_modules/.pnpm/@types_json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts +0 -141
  152. package/dist/node_modules/.pnpm/@types_json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts.map +0 -1
@@ -1,94 +1,95 @@
1
- import { Action } from "../ir.js";
2
- import { GenerativeUIDispatch } from "../types.js";
1
+ import { type ReactNode } from "react";
3
2
  import { z } from "zod";
4
- //#region src/vocabulary/interactive.d.ts
3
+ import type { Action } from "../ir.js";
4
+ import type { GenerativeUIDispatch, GenerativeUIStatus } from "../types.js";
5
5
  type Option = {
6
- label: string;
7
- value: string;
6
+ label: string;
7
+ value: string;
8
8
  };
9
9
  type RadioGroupRenderProps = {
10
- options: Option[];
11
- name?: string;
12
- label?: string;
13
- defaultValue?: string;
14
- $action?: Action;
15
- $dispatch?: GenerativeUIDispatch;
10
+ options: Option[];
11
+ name?: string;
12
+ label?: string;
13
+ defaultValue?: string;
14
+ children?: ReactNode;
15
+ $status: GenerativeUIStatus;
16
+ $action?: Action;
17
+ $dispatch?: GenerativeUIDispatch;
16
18
  };
17
- declare function RadioGroupRender({ options, name, label, defaultValue, $action, $dispatch }: RadioGroupRenderProps): import("react").JSX.Element;
18
- declare const interactiveVocabulary: {
19
- Button: {
20
- description: string;
21
- properties: z.ZodObject<{
22
- label: z.ZodString;
23
- buttonStyle: z.ZodOptional<z.ZodEnum<{
24
- danger: "danger";
25
- secondary: "secondary";
26
- primary: "primary";
27
- outline: "outline";
28
- ghost: "ghost";
29
- }>>;
30
- block: z.ZodOptional<z.ZodBoolean>;
31
- submit: z.ZodOptional<z.ZodBoolean>;
32
- }, z.core.$strip>;
33
- render: ({ label, buttonStyle, block, submit, $action, $dispatch, children }: any) => import("react").JSX.Element;
34
- };
35
- Select: {
36
- description: string;
37
- properties: z.ZodObject<{
38
- options: z.ZodArray<z.ZodObject<{
39
- label: z.ZodString;
40
- value: z.ZodString;
41
- }, z.core.$strip>>;
42
- placeholder: z.ZodOptional<z.ZodString>;
43
- label: z.ZodOptional<z.ZodString>;
44
- name: z.ZodOptional<z.ZodString>;
45
- }, z.core.$strip>;
46
- render: ({ options, placeholder, label, name, $action, $dispatch, children }: any) => import("react").JSX.Element;
47
- };
48
- Input: {
49
- description: string;
50
- properties: z.ZodObject<{
51
- placeholder: z.ZodOptional<z.ZodString>;
52
- multiline: z.ZodOptional<z.ZodBoolean>;
53
- label: z.ZodOptional<z.ZodString>;
54
- name: z.ZodOptional<z.ZodString>;
55
- }, z.core.$strip>;
56
- render: ({ placeholder, multiline, label, name, $action, $dispatch }: any) => import("react").JSX.Element;
57
- };
58
- DatePicker: {
59
- description: string;
60
- properties: z.ZodObject<{
61
- value: z.ZodOptional<z.ZodString>;
62
- min: z.ZodOptional<z.ZodString>;
63
- max: z.ZodOptional<z.ZodString>;
64
- label: z.ZodOptional<z.ZodString>;
65
- name: z.ZodOptional<z.ZodString>;
66
- }, z.core.$strip>;
67
- render: ({ value, min, max, label, name, $action, $dispatch }: any) => import("react").JSX.Element;
68
- };
69
- Checkbox: {
70
- description: string;
71
- properties: z.ZodObject<{
72
- label: z.ZodString;
73
- name: z.ZodOptional<z.ZodString>;
74
- defaultChecked: z.ZodOptional<z.ZodBoolean>;
75
- }, z.core.$strip>;
76
- render: ({ label, name, defaultChecked, $action, $dispatch }: any) => import("react").JSX.Element;
77
- };
78
- RadioGroup: {
79
- description: string;
80
- properties: z.ZodObject<{
81
- options: z.ZodArray<z.ZodObject<{
82
- label: z.ZodString;
83
- value: z.ZodString;
84
- }, z.core.$strip>>;
85
- name: z.ZodOptional<z.ZodString>;
86
- label: z.ZodOptional<z.ZodString>;
87
- defaultValue: z.ZodOptional<z.ZodString>;
88
- }, z.core.$strip>;
89
- render: typeof RadioGroupRender;
90
- };
19
+ declare function RadioGroupRender({ options, name, label, defaultValue, children, $action, $dispatch, }: RadioGroupRenderProps): import("react").JSX.Element;
20
+ export declare const interactiveVocabulary: {
21
+ Button: {
22
+ description: string;
23
+ properties: z.ZodObject<{
24
+ label: z.ZodString;
25
+ buttonStyle: z.ZodOptional<z.ZodEnum<{
26
+ secondary: "secondary";
27
+ primary: "primary";
28
+ outline: "outline";
29
+ ghost: "ghost";
30
+ danger: "danger";
31
+ }>>;
32
+ block: z.ZodOptional<z.ZodBoolean>;
33
+ submit: z.ZodOptional<z.ZodBoolean>;
34
+ }, z.core.$strip>;
35
+ render: ({ label, buttonStyle, block, submit, $action, $dispatch, children, }: any) => import("react").JSX.Element;
36
+ };
37
+ Select: {
38
+ description: string;
39
+ properties: z.ZodObject<{
40
+ options: z.ZodArray<z.ZodObject<{
41
+ label: z.ZodString;
42
+ value: z.ZodString;
43
+ }, z.core.$strip>>;
44
+ placeholder: z.ZodOptional<z.ZodString>;
45
+ label: z.ZodOptional<z.ZodString>;
46
+ name: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strip>;
48
+ render: ({ options, placeholder, label, name, $action, $dispatch, children, }: any) => import("react").JSX.Element;
49
+ };
50
+ Input: {
51
+ description: string;
52
+ properties: z.ZodObject<{
53
+ placeholder: z.ZodOptional<z.ZodString>;
54
+ multiline: z.ZodOptional<z.ZodBoolean>;
55
+ label: z.ZodOptional<z.ZodString>;
56
+ name: z.ZodOptional<z.ZodString>;
57
+ }, z.core.$strip>;
58
+ render: ({ placeholder, multiline, label, name, $action, $dispatch }: any) => import("react").JSX.Element;
59
+ };
60
+ DatePicker: {
61
+ description: string;
62
+ properties: z.ZodObject<{
63
+ value: z.ZodOptional<z.ZodString>;
64
+ min: z.ZodOptional<z.ZodString>;
65
+ max: z.ZodOptional<z.ZodString>;
66
+ label: z.ZodOptional<z.ZodString>;
67
+ name: z.ZodOptional<z.ZodString>;
68
+ }, z.core.$strip>;
69
+ render: ({ value, min, max, label, name, $action, $dispatch }: any) => import("react").JSX.Element;
70
+ };
71
+ Checkbox: {
72
+ description: string;
73
+ properties: z.ZodObject<{
74
+ label: z.ZodString;
75
+ name: z.ZodOptional<z.ZodString>;
76
+ defaultChecked: z.ZodOptional<z.ZodBoolean>;
77
+ }, z.core.$strip>;
78
+ render: ({ label, name, defaultChecked, $action, $dispatch }: any) => import("react").JSX.Element;
79
+ };
80
+ RadioGroup: {
81
+ description: string;
82
+ properties: z.ZodObject<{
83
+ options: z.ZodArray<z.ZodObject<{
84
+ label: z.ZodString;
85
+ value: z.ZodString;
86
+ }, z.core.$strip>>;
87
+ name: z.ZodOptional<z.ZodString>;
88
+ label: z.ZodOptional<z.ZodString>;
89
+ defaultValue: z.ZodOptional<z.ZodString>;
90
+ }, z.core.$strip>;
91
+ render: typeof RadioGroupRender;
92
+ };
91
93
  };
92
- //#endregion
93
- export { interactiveVocabulary };
94
+ export {};
94
95
  //# sourceMappingURL=interactive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","names":[],"sources":["../../src/vocabulary/interactive.tsx"],"mappings":";;;;KAaK;EAAW;EAAe;;KAU1B;EACH,SAAS;EACT;EACA;EACA;EACA,UAAU;EACV,YAAY;;iBAGL,mBACP,SACA,MACA,OACA,cACA,SACA,aACC,wCAAqB,IAAA;cA4BX"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/vocabulary/interactive.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAc;AAEpC,OAAO,KAAK,EACV,oBAAoB,EAEpB,kBAAkB,EACnB,oBAAiB;AASlB,KAAK,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/C,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF,iBAAS,gBAAgB,CAAC,EACxB,OAAO,EACP,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,qBAAqB,+BA4BvB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuNH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { GENERATED_NAME_ATTR } from "../constants.js";
1
2
  import { BUTTON_STYLES } from "../ir.js";
2
3
  import { toTextContent } from "./toTextContent.js";
3
4
  import { actionAttr, fire } from "./dispatch.js";
@@ -10,24 +11,25 @@ const optionSchema = z.object({
10
11
  value: z.string()
11
12
  });
12
13
  const isOption = (option) => option !== null && typeof option === "object" && "label" in option && typeof option.label === "string" && "value" in option && typeof option.value === "string";
13
- function RadioGroupRender({ options, name, label, defaultValue, $action, $dispatch }) {
14
+ function RadioGroupRender({ options, name, label, defaultValue, children, $action, $dispatch }) {
14
15
  const generatedName = useId();
15
16
  const fieldName = name ?? generatedName;
16
17
  const safeOptions = Array.isArray(options) ? options : [];
17
- return /* @__PURE__ */ jsx("fieldset", {
18
+ return /* @__PURE__ */ jsxs("fieldset", {
18
19
  "data-aui": "radiogroup",
19
20
  "data-aui-action": actionAttr($action),
20
21
  "aria-label": label,
21
- children: safeOptions.map((option, i) => isOption(option) ? /* @__PURE__ */ jsxs("label", {
22
+ children: [safeOptions.map((option, i) => isOption(option) ? /* @__PURE__ */ jsxs("label", {
22
23
  "data-aui": "radiogroup-option",
23
24
  children: [/* @__PURE__ */ jsx("input", {
24
25
  type: "radio",
25
26
  name: fieldName,
27
+ ...name == null ? { [GENERATED_NAME_ATTR]: "" } : {},
26
28
  value: option.value,
27
29
  defaultChecked: defaultValue === option.value,
28
30
  onChange: () => fire($action, $dispatch, option.value)
29
31
  }), option.label]
30
- }, i) : null)
32
+ }, i) : null), children]
31
33
  });
32
34
  }
33
35
  const interactiveVocabulary = {
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","names":[],"sources":["../../src/vocabulary/interactive.tsx"],"sourcesContent":["import { useId } from \"react\";\nimport { z } from \"zod\";\nimport type { Action } from \"../ir\";\nimport { BUTTON_STYLES } from \"../ir\";\nimport type { GenerativeUIDispatch, GenerativeUILibrary } from \"../types\";\nimport { actionAttr, fire } from \"./dispatch\";\nimport { toTextContent } from \"./toTextContent\";\n\nconst optionSchema = z.object({\n label: z.string(),\n value: z.string(),\n});\n\ntype Option = { label: string; value: string };\n\nconst isOption = (option: unknown): option is Option =>\n option !== null &&\n typeof option === \"object\" &&\n \"label\" in option &&\n typeof option.label === \"string\" &&\n \"value\" in option &&\n typeof option.value === \"string\";\n\ntype RadioGroupRenderProps = {\n options: Option[];\n name?: string;\n label?: string;\n defaultValue?: string;\n $action?: Action;\n $dispatch?: GenerativeUIDispatch;\n};\n\nfunction RadioGroupRender({\n options,\n name,\n label,\n defaultValue,\n $action,\n $dispatch,\n}: RadioGroupRenderProps) {\n const generatedName = useId();\n const fieldName = name ?? generatedName;\n const safeOptions = Array.isArray(options) ? options : [];\n return (\n <fieldset\n data-aui=\"radiogroup\"\n data-aui-action={actionAttr($action)}\n aria-label={label}\n >\n {safeOptions.map((option, i) =>\n isOption(option) ? (\n <label key={i} data-aui=\"radiogroup-option\">\n <input\n type=\"radio\"\n name={fieldName}\n value={option.value}\n defaultChecked={defaultValue === option.value}\n onChange={() => fire($action, $dispatch, option.value)}\n />\n {option.label}\n </label>\n ) : null,\n )}\n </fieldset>\n );\n}\n\nexport const interactiveVocabulary = {\n Button: {\n description:\n \"A clickable button. Carries `$action` describing the side effect or resume value. Set `submit` to submit an ancestor Form/Card instead of firing `$action` on click.\",\n properties: z.object({\n label: z.string().describe(\"Button label.\"),\n buttonStyle: z.enum(BUTTON_STYLES).optional().describe(\"Visual style.\"),\n block: z\n .boolean()\n .optional()\n .describe(\"Whether the button spans the full width.\"),\n submit: z\n .boolean()\n .optional()\n .describe(\n \"Render as a submit button for an ancestor Form/Card instead of a click button.\",\n ),\n }),\n render: ({\n label,\n buttonStyle,\n block,\n submit,\n $action,\n $dispatch,\n children,\n }) => (\n <button\n type={submit ? \"submit\" : \"button\"}\n data-aui=\"button\"\n data-aui-style={buttonStyle}\n data-aui-block={block || undefined}\n data-aui-submit={submit || undefined}\n data-aui-action={actionAttr($action)}\n onClick={submit ? undefined : () => fire($action, $dispatch)}\n >\n {toTextContent(label)}\n {children}\n </button>\n ),\n },\n Select: {\n description:\n \"A dropdown selector. Carries `$action` describing the on-select behavior.\",\n properties: z.object({\n options: z.array(optionSchema).describe(\"Selectable options.\"),\n placeholder: z\n .string()\n .optional()\n .describe(\"Placeholder shown when nothing is selected.\"),\n label: z\n .string()\n .optional()\n .describe(\"Accessible label for the control.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n }),\n render: ({\n options,\n placeholder,\n label,\n name,\n $action,\n $dispatch,\n children,\n }) => {\n const placeholderText = toTextContent(placeholder);\n return (\n <select\n data-aui=\"select\"\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n defaultValue=\"\"\n onChange={(e) => fire($action, $dispatch, e.currentTarget.value)}\n >\n {placeholderText ? (\n <option value=\"\" disabled>\n {placeholderText}\n </option>\n ) : null}\n {(Array.isArray(options) ? options : []).map((option, i) =>\n isOption(option) ? (\n <option key={i} value={option.value}>\n {option.label}\n </option>\n ) : null,\n )}\n {children}\n </select>\n );\n },\n },\n Input: {\n description:\n \"A text input. Carries `$action` describing the on-submit behavior.\",\n properties: z.object({\n placeholder: z.string().optional().describe(\"Placeholder text.\"),\n multiline: z\n .boolean()\n .optional()\n .describe(\"Render a textarea instead of a single-line input.\"),\n label: z\n .string()\n .optional()\n .describe(\"Accessible label for the control.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n }),\n render: ({ placeholder, multiline, label, name, $action, $dispatch }) => {\n const submit = (v: string) => fire($action, $dispatch, v);\n return multiline ? (\n <textarea\n data-aui=\"input\"\n data-aui-multiline\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n placeholder={placeholder}\n onKeyDown={(e) => {\n if (\n e.key !== \"Enter\" ||\n !(e.ctrlKey || e.metaKey) ||\n e.nativeEvent.isComposing\n )\n return;\n if (e.currentTarget.form) {\n e.preventDefault();\n HTMLFormElement.prototype.requestSubmit.call(\n e.currentTarget.form,\n );\n } else {\n submit(e.currentTarget.value);\n }\n }}\n />\n ) : (\n <input\n data-aui=\"input\"\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n placeholder={placeholder}\n onKeyDown={(e) => {\n if (\n e.key === \"Enter\" &&\n !e.nativeEvent.isComposing &&\n !e.currentTarget.form\n )\n submit(e.currentTarget.value);\n }}\n />\n );\n },\n },\n DatePicker: {\n description:\n \"A date input. Carries `$action` describing the on-select behavior.\",\n properties: z.object({\n value: z.string().optional().describe(\"Initial date (YYYY-MM-DD).\"),\n min: z.string().optional().describe(\"Minimum date (YYYY-MM-DD).\"),\n max: z.string().optional().describe(\"Maximum date (YYYY-MM-DD).\"),\n label: z\n .string()\n .optional()\n .describe(\"Accessible label for the control.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n }),\n render: ({ value, min, max, label, name, $action, $dispatch }) => (\n <input\n type=\"date\"\n data-aui=\"datepicker\"\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n defaultValue={value}\n min={min}\n max={max}\n onChange={(e) => fire($action, $dispatch, e.currentTarget.value)}\n />\n ),\n },\n Checkbox: {\n description:\n \"A checkbox with a label. Carries `$action` describing the on-change behavior.\",\n properties: z.object({\n label: z.string().describe(\"Label text next to the checkbox.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n defaultChecked: z\n .boolean()\n .optional()\n .describe(\"Whether the checkbox starts checked.\"),\n }),\n render: ({ label, name, defaultChecked, $action, $dispatch }) => (\n <label data-aui=\"checkbox\">\n <input\n type=\"checkbox\"\n data-aui-action={actionAttr($action)}\n name={name}\n defaultChecked={defaultChecked}\n onChange={(e) => fire($action, $dispatch, e.currentTarget.checked)}\n />\n <span data-aui=\"checkbox-label\">{toTextContent(label)}</span>\n </label>\n ),\n },\n RadioGroup: {\n description:\n \"A group of mutually exclusive radio options. Carries `$action` describing the on-change behavior.\",\n properties: z.object({\n options: z.array(optionSchema).describe(\"Selectable options.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n label: z.string().optional().describe(\"Accessible name for the group.\"),\n defaultValue: z.string().optional().describe(\"Initially selected value.\"),\n }),\n render: RadioGroupRender,\n },\n} satisfies GenerativeUILibrary;\n"],"mappings":"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"}
1
+ {"version":3,"file":"interactive.js","names":[],"sources":["../../src/vocabulary/interactive.tsx"],"sourcesContent":["import { useId, type ReactNode } from \"react\";\nimport { z } from \"zod\";\nimport { GENERATED_NAME_ATTR } from \"../constants\";\nimport type { Action } from \"../ir\";\nimport { BUTTON_STYLES } from \"../ir\";\nimport type {\n GenerativeUIDispatch,\n GenerativeUILibrary,\n GenerativeUIStatus,\n} from \"../types\";\nimport { actionAttr, fire } from \"./dispatch\";\nimport { toTextContent } from \"./toTextContent\";\n\nconst optionSchema = z.object({\n label: z.string(),\n value: z.string(),\n});\n\ntype Option = { label: string; value: string };\n\nconst isOption = (option: unknown): option is Option =>\n option !== null &&\n typeof option === \"object\" &&\n \"label\" in option &&\n typeof option.label === \"string\" &&\n \"value\" in option &&\n typeof option.value === \"string\";\n\ntype RadioGroupRenderProps = {\n options: Option[];\n name?: string;\n label?: string;\n defaultValue?: string;\n children?: ReactNode;\n $status: GenerativeUIStatus;\n $action?: Action;\n $dispatch?: GenerativeUIDispatch;\n};\n\nfunction RadioGroupRender({\n options,\n name,\n label,\n defaultValue,\n children,\n $action,\n $dispatch,\n}: RadioGroupRenderProps) {\n const generatedName = useId();\n const fieldName = name ?? generatedName;\n const safeOptions = Array.isArray(options) ? options : [];\n return (\n <fieldset\n data-aui=\"radiogroup\"\n data-aui-action={actionAttr($action)}\n aria-label={label}\n >\n {safeOptions.map((option, i) =>\n isOption(option) ? (\n <label key={i} data-aui=\"radiogroup-option\">\n <input\n type=\"radio\"\n name={fieldName}\n {...(name == null ? { [GENERATED_NAME_ATTR]: \"\" } : {})}\n value={option.value}\n defaultChecked={defaultValue === option.value}\n onChange={() => fire($action, $dispatch, option.value)}\n />\n {option.label}\n </label>\n ) : null,\n )}\n {children}\n </fieldset>\n );\n}\n\nexport const interactiveVocabulary = {\n Button: {\n description:\n \"A clickable button. Carries `$action` describing the side effect or resume value. Set `submit` to submit an ancestor Form/Card instead of firing `$action` on click.\",\n properties: z.object({\n label: z.string().describe(\"Button label.\"),\n buttonStyle: z.enum(BUTTON_STYLES).optional().describe(\"Visual style.\"),\n block: z\n .boolean()\n .optional()\n .describe(\"Whether the button spans the full width.\"),\n submit: z\n .boolean()\n .optional()\n .describe(\n \"Render as a submit button for an ancestor Form/Card instead of a click button.\",\n ),\n }),\n render: ({\n label,\n buttonStyle,\n block,\n submit,\n $action,\n $dispatch,\n children,\n }) => (\n <button\n type={submit ? \"submit\" : \"button\"}\n data-aui=\"button\"\n data-aui-style={buttonStyle}\n data-aui-block={block || undefined}\n data-aui-submit={submit || undefined}\n data-aui-action={actionAttr($action)}\n onClick={submit ? undefined : () => fire($action, $dispatch)}\n >\n {toTextContent(label)}\n {children}\n </button>\n ),\n },\n Select: {\n description:\n \"A dropdown selector. Carries `$action` describing the on-select behavior.\",\n properties: z.object({\n options: z.array(optionSchema).describe(\"Selectable options.\"),\n placeholder: z\n .string()\n .optional()\n .describe(\"Placeholder shown when nothing is selected.\"),\n label: z\n .string()\n .optional()\n .describe(\"Accessible label for the control.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n }),\n render: ({\n options,\n placeholder,\n label,\n name,\n $action,\n $dispatch,\n children,\n }) => {\n const placeholderText = toTextContent(placeholder);\n return (\n <select\n data-aui=\"select\"\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n defaultValue=\"\"\n onChange={(e) => fire($action, $dispatch, e.currentTarget.value)}\n >\n {placeholderText ? (\n <option value=\"\" disabled>\n {placeholderText}\n </option>\n ) : null}\n {(Array.isArray(options) ? options : []).map((option, i) =>\n isOption(option) ? (\n <option key={i} value={option.value}>\n {option.label}\n </option>\n ) : null,\n )}\n {children}\n </select>\n );\n },\n },\n Input: {\n description:\n \"A text input. Carries `$action` describing the on-submit behavior.\",\n properties: z.object({\n placeholder: z.string().optional().describe(\"Placeholder text.\"),\n multiline: z\n .boolean()\n .optional()\n .describe(\"Render a textarea instead of a single-line input.\"),\n label: z\n .string()\n .optional()\n .describe(\"Accessible label for the control.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n }),\n render: ({ placeholder, multiline, label, name, $action, $dispatch }) => {\n const submit = (v: string) => fire($action, $dispatch, v);\n return multiline ? (\n <textarea\n data-aui=\"input\"\n data-aui-multiline\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n placeholder={placeholder}\n onKeyDown={(e) => {\n if (\n e.key !== \"Enter\" ||\n !(e.ctrlKey || e.metaKey) ||\n e.nativeEvent.isComposing\n )\n return;\n if (e.currentTarget.form) {\n e.preventDefault();\n HTMLFormElement.prototype.requestSubmit.call(\n e.currentTarget.form,\n );\n } else {\n submit(e.currentTarget.value);\n }\n }}\n />\n ) : (\n <input\n data-aui=\"input\"\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n placeholder={placeholder}\n onKeyDown={(e) => {\n if (\n e.key === \"Enter\" &&\n !e.nativeEvent.isComposing &&\n !e.currentTarget.form\n )\n submit(e.currentTarget.value);\n }}\n />\n );\n },\n },\n DatePicker: {\n description:\n \"A date input. Carries `$action` describing the on-select behavior.\",\n properties: z.object({\n value: z.string().optional().describe(\"Initial date (YYYY-MM-DD).\"),\n min: z.string().optional().describe(\"Minimum date (YYYY-MM-DD).\"),\n max: z.string().optional().describe(\"Maximum date (YYYY-MM-DD).\"),\n label: z\n .string()\n .optional()\n .describe(\"Accessible label for the control.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n }),\n render: ({ value, min, max, label, name, $action, $dispatch }) => (\n <input\n type=\"date\"\n data-aui=\"datepicker\"\n data-aui-action={actionAttr($action)}\n name={name}\n aria-label={label}\n defaultValue={value}\n min={min}\n max={max}\n onChange={(e) => fire($action, $dispatch, e.currentTarget.value)}\n />\n ),\n },\n Checkbox: {\n description:\n \"A checkbox with a label. Carries `$action` describing the on-change behavior.\",\n properties: z.object({\n label: z.string().describe(\"Label text next to the checkbox.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n defaultChecked: z\n .boolean()\n .optional()\n .describe(\"Whether the checkbox starts checked.\"),\n }),\n render: ({ label, name, defaultChecked, $action, $dispatch }) => (\n <label data-aui=\"checkbox\">\n <input\n type=\"checkbox\"\n data-aui-action={actionAttr($action)}\n name={name}\n defaultChecked={defaultChecked}\n onChange={(e) => fire($action, $dispatch, e.currentTarget.checked)}\n />\n <span data-aui=\"checkbox-label\">{toTextContent(label)}</span>\n </label>\n ),\n },\n RadioGroup: {\n description:\n \"A group of mutually exclusive radio options. Carries `$action` describing the on-change behavior.\",\n properties: z.object({\n options: z.array(optionSchema).describe(\"Selectable options.\"),\n name: z.string().optional().describe(\"Field name used inside a Form.\"),\n label: z.string().optional().describe(\"Accessible name for the group.\"),\n defaultValue: z.string().optional().describe(\"Initially selected value.\"),\n }),\n render: RadioGroupRender,\n },\n} satisfies GenerativeUILibrary;\n"],"mappings":";;;;;;;;AAaA,MAAM,eAAe,EAAE,OAAO;CAC5B,OAAO,EAAE,OAAO;CAChB,OAAO,EAAE,OAAO;AAClB,CAAC;AAID,MAAM,YAAY,WAChB,WAAW,QACX,OAAO,WAAW,YAClB,WAAW,UACX,OAAO,OAAO,UAAU,YACxB,WAAW,UACX,OAAO,OAAO,UAAU;AAa1B,SAAS,iBAAiB,EACxB,SACA,MACA,OACA,cACA,UACA,SACA,aACwB;CACxB,MAAM,gBAAgB,MAAM;CAC5B,MAAM,YAAY,QAAQ;CAC1B,MAAM,cAAc,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC;CACxD,OACE,qBAAC,YAAD;EACE,YAAS;EACT,mBAAiB,WAAW,OAAO;EACnC,cAAY;EAHd,UAAA,CAKG,YAAY,KAAK,QAAQ,MACxB,SAAS,MAAM,IACb,qBAAC,SAAD;GAAe,YAAS;GAAxB,UAAA,CACE,oBAAC,SAAD;IACE,MAAK;IACL,MAAM;IACN,GAAK,QAAQ,OAAO,GAAG,sBAAsB,GAAG,IAAI,CAAC;IACrD,OAAO,OAAO;IACd,gBAAgB,iBAAiB,OAAO;IACxC,gBAAgB,KAAK,SAAS,WAAW,OAAO,KAAK;GACtD,CAAA,GACA,OAAO,KACH;EAVK,GAAA,CAUL,IACL,IACN,GACC,QACO;;AAEd;AAEA,MAAa,wBAAwB;CACnC,QAAQ;EACN,aACE;EACF,YAAY,EAAE,OAAO;GACnB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,eAAe;GAC1C,aAAa,EAAE,KAAK,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,eAAe;GACtE,OAAO,EACJ,QAAQ,CAAC,CACT,SAAS,CAAC,CACV,SAAS,0CAA0C;GACtD,QAAQ,EACL,QAAQ,CAAC,CACT,SAAS,CAAC,CACV,SACC,gFACF;EACJ,CAAC;EACD,SAAS,EACP,OACA,aACA,OACA,QACA,SACA,WACA,eAEA,qBAAC,UAAD;GACE,MAAM,SAAS,WAAW;GAC1B,YAAS;GACT,kBAAgB;GAChB,kBAAgB,SAAS,KAAA;GACzB,mBAAiB,UAAU,KAAA;GAC3B,mBAAiB,WAAW,OAAO;GACnC,SAAS,SAAS,KAAA,UAAkB,KAAK,SAAS,SAAS;GAP7D,UAAA,CASG,cAAc,KAAK,GACnB,QACK;;CAEZ;CACA,QAAQ;EACN,aACE;EACF,YAAY,EAAE,OAAO;GACnB,SAAS,EAAE,MAAM,YAAY,CAAC,CAAC,SAAS,qBAAqB;GAC7D,aAAa,EACV,OAAO,CAAC,CACR,SAAS,CAAC,CACV,SAAS,6CAA6C;GACzD,OAAO,EACJ,OAAO,CAAC,CACR,SAAS,CAAC,CACV,SAAS,mCAAmC;GAC/C,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;EACvE,CAAC;EACD,SAAS,EACP,SACA,aACA,OACA,MACA,SACA,WACA,eACI;GACJ,MAAM,kBAAkB,cAAc,WAAW;GACjD,OACE,qBAAC,UAAD;IACE,YAAS;IACT,mBAAiB,WAAW,OAAO;IAC7B;IACN,cAAY;IACZ,cAAa;IACb,WAAW,MAAM,KAAK,SAAS,WAAW,EAAE,cAAc,KAAK;IANjE,UAAA;KAQG,kBACC,oBAAC,UAAD;MAAQ,OAAM;MAAG,UAAA;MACd,UAAA;KACK,CAAA,IACN;MACF,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,EAAA,CAAG,KAAK,QAAQ,MACpD,SAAS,MAAM,IACb,oBAAC,UAAD;MAAgB,OAAO,OAAO;MAC3B,UAAA,OAAO;KACF,GAFK,CAEL,IACN,IACN;KACC;IACK;;EAEZ;CACF;CACA,OAAO;EACL,aACE;EACF,YAAY,EAAE,OAAO;GACnB,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,mBAAmB;GAC/D,WAAW,EACR,QAAQ,CAAC,CACT,SAAS,CAAC,CACV,SAAS,mDAAmD;GAC/D,OAAO,EACJ,OAAO,CAAC,CACR,SAAS,CAAC,CACV,SAAS,mCAAmC;GAC/C,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;EACvE,CAAC;EACD,SAAS,EAAE,aAAa,WAAW,OAAO,MAAM,SAAS,gBAAgB;GACvE,MAAM,UAAU,MAAc,KAAK,SAAS,WAAW,CAAC;GACxD,OAAO,YACL,oBAAC,YAAD;IACE,YAAS;IACT,sBAAA;IACA,mBAAiB,WAAW,OAAO;IAC7B;IACN,cAAY;IACC;IACb,YAAY,MAAM;KAChB,IACE,EAAE,QAAQ,WACV,EAAE,EAAE,WAAW,EAAE,YACjB,EAAE,YAAY,aAEd;KACF,IAAI,EAAE,cAAc,MAAM;MACxB,EAAE,eAAe;MACjB,gBAAgB,UAAU,cAAc,KACtC,EAAE,cAAc,IAClB;KACF,OACE,OAAO,EAAE,cAAc,KAAK;IAEhC;GACD,CAAA,IAED,oBAAC,SAAD;IACE,YAAS;IACT,mBAAiB,WAAW,OAAO;IAC7B;IACN,cAAY;IACC;IACb,YAAY,MAAM;KAChB,IACE,EAAE,QAAQ,WACV,CAAC,EAAE,YAAY,eACf,CAAC,EAAE,cAAc,MAEjB,OAAO,EAAE,cAAc,KAAK;IAChC;GACD,CAAA;EAEL;CACF;CACA,YAAY;EACV,aACE;EACF,YAAY,EAAE,OAAO;GACnB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4BAA4B;GAClE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4BAA4B;GAChE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4BAA4B;GAChE,OAAO,EACJ,OAAO,CAAC,CACR,SAAS,CAAC,CACV,SAAS,mCAAmC;GAC/C,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;EACvE,CAAC;EACD,SAAS,EAAE,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,gBAChD,oBAAC,SAAD;GACE,MAAK;GACL,YAAS;GACT,mBAAiB,WAAW,OAAO;GAC7B;GACN,cAAY;GACZ,cAAc;GACT;GACA;GACL,WAAW,MAAM,KAAK,SAAS,WAAW,EAAE,cAAc,KAAK;EAChE,CAAA;CAEL;CACA,UAAU;EACR,aACE;EACF,YAAY,EAAE,OAAO;GACnB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC;GAC7D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;GACrE,gBAAgB,EACb,QAAQ,CAAC,CACT,SAAS,CAAC,CACV,SAAS,sCAAsC;EACpD,CAAC;EACD,SAAS,EAAE,OAAO,MAAM,gBAAgB,SAAS,gBAC/C,qBAAC,SAAD;GAAO,YAAS;GAAhB,UAAA,CACE,oBAAC,SAAD;IACE,MAAK;IACL,mBAAiB,WAAW,OAAO;IAC7B;IACU;IAChB,WAAW,MAAM,KAAK,SAAS,WAAW,EAAE,cAAc,OAAO;GAClE,CAAA,GACD,oBAAC,QAAD;IAAM,YAAS;IAAkB,UAAA,cAAc,KAAK;GAAQ,CAAA,CACvD;;CAEX;CACA,YAAY;EACV,aACE;EACF,YAAY,EAAE,OAAO;GACnB,SAAS,EAAE,MAAM,YAAY,CAAC,CAAC,SAAS,qBAAqB;GAC7D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;GACrE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;GACtE,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,2BAA2B;EAC1E,CAAC;EACD,QAAQ;CACV;AACF"}
@@ -1,82 +1,79 @@
1
1
  import { z } from "zod";
2
- //#region src/vocabulary/layout.d.ts
3
- declare const layoutVocabulary: {
4
- Card: {
5
- description: string;
6
- properties: z.ZodObject<{
7
- title: z.ZodOptional<z.ZodString>;
8
- padding: z.ZodOptional<z.ZodNumber>;
9
- background: z.ZodOptional<z.ZodString>;
10
- asForm: z.ZodOptional<z.ZodBoolean>;
11
- confirm: z.ZodOptional<z.ZodObject<{
12
- label: z.ZodString;
13
- $action: z.ZodOptional<z.ZodObject<{
14
- type: z.ZodString;
15
- }, z.core.$loose>>;
16
- }, z.core.$strip>>;
17
- cancel: z.ZodOptional<z.ZodObject<{
18
- label: z.ZodString;
19
- $action: z.ZodOptional<z.ZodObject<{
20
- type: z.ZodString;
21
- }, z.core.$loose>>;
22
- }, z.core.$strip>>;
23
- }, z.core.$strip>;
24
- render: ({ title, padding, background, asForm, confirm, cancel, $dispatch, children }: any) => import("react").JSX.Element;
25
- };
26
- Col: {
27
- description: string;
28
- properties: z.ZodObject<{
29
- gap: z.ZodOptional<z.ZodNumber>;
30
- align: z.ZodOptional<z.ZodEnum<{
31
- start: "start";
32
- center: "center";
33
- end: "end";
34
- }>>;
35
- }, z.core.$strip>;
36
- render: ({ gap, align, children }: any) => import("react").JSX.Element;
37
- };
38
- Row: {
39
- description: string;
40
- properties: z.ZodObject<{
41
- gap: z.ZodOptional<z.ZodNumber>;
42
- align: z.ZodOptional<z.ZodEnum<{
43
- start: "start";
44
- center: "center";
45
- end: "end";
46
- }>>;
47
- justify: z.ZodOptional<z.ZodEnum<{
48
- start: "start";
49
- center: "center";
50
- end: "end";
51
- between: "between";
52
- }>>;
53
- }, z.core.$strip>;
54
- render: ({ gap, align, justify, children }: any) => import("react").JSX.Element;
55
- };
56
- Spacer: {
57
- description: string;
58
- properties: z.ZodObject<{}, z.core.$strip>;
59
- render: () => import("react").JSX.Element;
60
- };
61
- Badge: {
62
- description: string;
63
- properties: z.ZodObject<{
64
- value: z.ZodString;
65
- variant: z.ZodOptional<z.ZodString>;
66
- }, z.core.$strip>;
67
- render: ({ value, variant, children }: any) => import("react").JSX.Element;
68
- };
69
- Box: {
70
- description: string;
71
- properties: z.ZodObject<{
72
- width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
73
- height: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
74
- radius: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"full">, z.ZodNumber]>>;
75
- background: z.ZodOptional<z.ZodString>;
76
- }, z.core.$strip>;
77
- render: ({ width, height, radius, background, children }: any) => import("react").JSX.Element;
78
- };
2
+ export declare const layoutVocabulary: {
3
+ Card: {
4
+ description: string;
5
+ properties: z.ZodObject<{
6
+ title: z.ZodOptional<z.ZodString>;
7
+ padding: z.ZodOptional<z.ZodNumber>;
8
+ background: z.ZodOptional<z.ZodString>;
9
+ asForm: z.ZodOptional<z.ZodBoolean>;
10
+ confirm: z.ZodOptional<z.ZodObject<{
11
+ label: z.ZodString;
12
+ $action: z.ZodOptional<z.ZodObject<{
13
+ type: z.ZodString;
14
+ }, z.core.$loose>>;
15
+ }, z.core.$strip>>;
16
+ cancel: z.ZodOptional<z.ZodObject<{
17
+ label: z.ZodString;
18
+ $action: z.ZodOptional<z.ZodObject<{
19
+ type: z.ZodString;
20
+ }, z.core.$loose>>;
21
+ }, z.core.$strip>>;
22
+ }, z.core.$strip>;
23
+ render: ({ title, padding, background, asForm, confirm, cancel, $dispatch, children, }: any) => import("react").JSX.Element;
24
+ };
25
+ Col: {
26
+ description: string;
27
+ properties: z.ZodObject<{
28
+ gap: z.ZodOptional<z.ZodNumber>;
29
+ align: z.ZodOptional<z.ZodEnum<{
30
+ start: "start";
31
+ center: "center";
32
+ end: "end";
33
+ }>>;
34
+ }, z.core.$strip>;
35
+ render: ({ gap, align, children }: any) => import("react").JSX.Element;
36
+ };
37
+ Row: {
38
+ description: string;
39
+ properties: z.ZodObject<{
40
+ gap: z.ZodOptional<z.ZodNumber>;
41
+ align: z.ZodOptional<z.ZodEnum<{
42
+ start: "start";
43
+ center: "center";
44
+ end: "end";
45
+ }>>;
46
+ justify: z.ZodOptional<z.ZodEnum<{
47
+ start: "start";
48
+ center: "center";
49
+ end: "end";
50
+ between: "between";
51
+ }>>;
52
+ }, z.core.$strip>;
53
+ render: ({ gap, align, justify, children }: any) => import("react").JSX.Element;
54
+ };
55
+ Spacer: {
56
+ description: string;
57
+ properties: z.ZodObject<{}, z.core.$strip>;
58
+ render: () => import("react").JSX.Element;
59
+ };
60
+ Badge: {
61
+ description: string;
62
+ properties: z.ZodObject<{
63
+ value: z.ZodString;
64
+ variant: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>;
66
+ render: ({ value, variant, children }: any) => import("react").JSX.Element;
67
+ };
68
+ Box: {
69
+ description: string;
70
+ properties: z.ZodObject<{
71
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
72
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
73
+ radius: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"full">, z.ZodNumber]>>;
74
+ background: z.ZodOptional<z.ZodString>;
75
+ }, z.core.$strip>;
76
+ render: ({ width, height, radius, background, children }: any) => import("react").JSX.Element;
77
+ };
79
78
  };
80
- //#endregion
81
- export { layoutVocabulary };
82
79
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","names":[],"sources":["../../src/vocabulary/layout.tsx"],"mappings":";;cAwBa"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/vocabulary/layout.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmNE,CAAC"}
@@ -1,17 +1,14 @@
1
1
  import { z } from "zod";
2
- //#region src/vocabulary/list.d.ts
3
- declare const listVocabulary: {
4
- ListView: {
5
- description: string;
6
- properties: z.ZodObject<{}, z.core.$strip>;
7
- render: ({ children }: any) => import("react").JSX.Element;
8
- };
9
- ListViewItem: {
10
- description: string;
11
- properties: z.ZodObject<{}, z.core.$strip>;
12
- render: ({ $action, $dispatch, children }: any) => import("react").JSX.Element;
13
- };
2
+ export declare const listVocabulary: {
3
+ ListView: {
4
+ description: string;
5
+ properties: z.ZodObject<{}, z.core.$strip>;
6
+ render: ({ children }: any) => import("react").JSX.Element;
7
+ };
8
+ ListViewItem: {
9
+ description: string;
10
+ properties: z.ZodObject<{}, z.core.$strip>;
11
+ render: ({ $action, $dispatch, children }: any) => import("react").JSX.Element;
12
+ };
14
13
  };
15
- //#endregion
16
- export { listVocabulary };
17
14
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","names":[],"sources":["../../src/vocabulary/list.tsx"],"mappings":";;cAOa"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/vocabulary/list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,cAAc;;;;;;;;;;;CA0CI,CAAC"}
@@ -1,28 +1,25 @@
1
1
  import { z } from "zod";
2
- //#region src/vocabulary/media.d.ts
3
- declare const mediaVocabulary: {
4
- Image: {
5
- description: string;
6
- properties: z.ZodObject<{
7
- src: z.ZodString;
8
- alt: z.ZodString;
9
- size: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
10
- sm: "sm";
11
- md: "md";
12
- lg: "lg";
13
- }>, z.ZodNumber]>>;
14
- round: z.ZodOptional<z.ZodBoolean>;
15
- }, z.core.$strip>;
16
- render: ({ src, alt, size, round }: any) => import("react").JSX.Element;
17
- };
18
- Divider: {
19
- description: string;
20
- properties: z.ZodObject<{
21
- flush: z.ZodOptional<z.ZodBoolean>;
22
- }, z.core.$strip>;
23
- render: ({ flush }: any) => import("react").JSX.Element;
24
- };
2
+ export declare const mediaVocabulary: {
3
+ Image: {
4
+ description: string;
5
+ properties: z.ZodObject<{
6
+ src: z.ZodString;
7
+ alt: z.ZodString;
8
+ size: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
9
+ sm: "sm";
10
+ md: "md";
11
+ lg: "lg";
12
+ }>, z.ZodNumber]>>;
13
+ round: z.ZodOptional<z.ZodBoolean>;
14
+ }, z.core.$strip>;
15
+ render: ({ src, alt, size, round }: any) => import("react").JSX.Element;
16
+ };
17
+ Divider: {
18
+ description: string;
19
+ properties: z.ZodObject<{
20
+ flush: z.ZodOptional<z.ZodBoolean>;
21
+ }, z.core.$strip>;
22
+ render: ({ flush }: any) => import("react").JSX.Element;
23
+ };
25
24
  };
26
- //#endregion
27
- export { mediaVocabulary };
28
25
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","names":[],"sources":["../../src/vocabulary/media.tsx"],"mappings":";;cAKa"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/vocabulary/media.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;CAkDG,CAAC"}