@exponential-at/ui 0.0.0-stage → 0.1.0

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 (251) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +54 -0
  3. package/README.md +360 -2
  4. package/catalog/a11y.json +668 -0
  5. package/catalog/basic-map.json +104 -0
  6. package/catalog/code.json +58 -0
  7. package/catalog/core.catalog.json +4752 -0
  8. package/catalog/core.schema.json +22667 -0
  9. package/catalog/host.json +64 -0
  10. package/catalog/layout.json +20 -0
  11. package/catalog/limits.json +9 -0
  12. package/catalog/locale.json +48 -0
  13. package/catalog/macros.json +3417 -0
  14. package/catalog/recipes.json +61 -0
  15. package/catalog/strings.json +72 -0
  16. package/catalog/style.json +128 -0
  17. package/catalog/theme.schema.json +42543 -0
  18. package/catalog/tokens.json +47 -0
  19. package/conformance/README.md +217 -0
  20. package/conformance/baseline.ts +101 -0
  21. package/conformance/browser-page.ts +146 -0
  22. package/conformance/browser-suites.ts +683 -0
  23. package/conformance/compare.ts +201 -0
  24. package/conformance/dom.ts +96 -0
  25. package/conformance/dump.ts +163 -0
  26. package/conformance/fonts.json +154 -0
  27. package/conformance/manifest.json +224 -0
  28. package/conformance/parity-compare.ts +191 -0
  29. package/conformance/parity-report.schema.json +73 -0
  30. package/conformance/parity.ts +412 -0
  31. package/conformance/pixel.ts +177 -0
  32. package/conformance/primitives-page.ts +49 -0
  33. package/conformance/report.schema.json +66 -0
  34. package/conformance/run.ts +118 -0
  35. package/dist/chunks/index-98npjvsd.js +3940 -0
  36. package/dist/chunks/index-98npjvsd.js.map +27 -0
  37. package/dist/chunks/index-gwkt14w3.js +7314 -0
  38. package/dist/chunks/index-gwkt14w3.js.map +10 -0
  39. package/dist/chunks/index-njt7yzzm.js +134 -0
  40. package/dist/chunks/index-njt7yzzm.js.map +9 -0
  41. package/dist/chunks/index-we7va6v6.js +7984 -0
  42. package/dist/chunks/index-we7va6v6.js.map +15 -0
  43. package/dist/chunks/index-xrm6f7wc.js +2563 -0
  44. package/dist/chunks/index-xrm6f7wc.js.map +10 -0
  45. package/dist/conformance.js +182749 -0
  46. package/dist/conformance.js.map +10 -0
  47. package/dist/entries/prompt.js +251 -0
  48. package/dist/entries/prompt.js.map +11 -0
  49. package/dist/entries/schema.js +1725 -0
  50. package/dist/entries/schema.js.map +11 -0
  51. package/dist/host/index.js +122 -0
  52. package/dist/host/index.js.map +9 -0
  53. package/dist/index.js +3213 -0
  54. package/dist/index.js.map +27 -0
  55. package/dist/types/src/a11y.d.ts +21 -0
  56. package/dist/types/src/animation.d.ts +76 -0
  57. package/dist/types/src/basic-map.d.ts +38 -0
  58. package/dist/types/src/builder.d.ts +50 -0
  59. package/dist/types/src/catalog.d.ts +54 -0
  60. package/dist/types/src/catalog.described.d.ts +33 -0
  61. package/dist/types/src/catalog.generated.d.ts +829 -0
  62. package/dist/types/src/chart.d.ts +46 -0
  63. package/dist/types/src/code.d.ts +44 -0
  64. package/dist/types/src/color.d.ts +20 -0
  65. package/dist/types/src/conformance.d.ts +39 -0
  66. package/dist/types/src/connector/app.d.ts +14 -0
  67. package/dist/types/src/connector/connector.d.ts +77 -0
  68. package/dist/types/src/connector/index.d.ts +4 -0
  69. package/dist/types/src/css.d.ts +29 -0
  70. package/dist/types/src/define.d.ts +66 -0
  71. package/dist/types/src/direction.d.ts +16 -0
  72. package/dist/types/src/dynamic.d.ts +159 -0
  73. package/dist/types/src/entries/prompt.d.ts +11 -0
  74. package/dist/types/src/entries/schema.d.ts +8 -0
  75. package/dist/types/src/expr.d.ts +71 -0
  76. package/dist/types/src/extension.d.ts +4 -0
  77. package/dist/types/src/format.d.ts +112 -0
  78. package/dist/types/src/geometry.d.ts +40 -0
  79. package/dist/types/src/host/contract.d.ts +188 -0
  80. package/dist/types/src/host/decoders.d.ts +61 -0
  81. package/dist/types/src/host/index.d.ts +11 -0
  82. package/dist/types/src/host/package.d.ts +58 -0
  83. package/dist/types/src/host/policy.d.ts +105 -0
  84. package/dist/types/src/host/router.d.ts +34 -0
  85. package/dist/types/src/host/runtime.d.ts +205 -0
  86. package/dist/types/src/host/sources.d.ts +15 -0
  87. package/dist/types/src/host/transports.d.ts +109 -0
  88. package/dist/types/src/index.d.ts +63 -0
  89. package/dist/types/src/layout.d.ts +20 -0
  90. package/dist/types/src/limits.d.ts +21 -0
  91. package/dist/types/src/list.d.ts +133 -0
  92. package/dist/types/src/locale.d.ts +22 -0
  93. package/dist/types/src/macros.d.ts +29 -0
  94. package/dist/types/src/overlay.d.ts +27 -0
  95. package/dist/types/src/prompt.d.ts +44 -0
  96. package/dist/types/src/recipes.d.ts +17 -0
  97. package/dist/types/src/reducer.d.ts +41 -0
  98. package/dist/types/src/resizable.d.ts +38 -0
  99. package/dist/types/src/schema.d.ts +7 -0
  100. package/dist/types/src/strings.d.ts +13 -0
  101. package/dist/types/src/style.d.ts +201 -0
  102. package/dist/types/src/test-preload.d.ts +1 -0
  103. package/dist/types/src/text-shimmer.d.ts +24 -0
  104. package/dist/types/src/theme-types.d.ts +162 -0
  105. package/dist/types/src/theme.d.ts +73 -0
  106. package/dist/types/src/themes.d.ts +22 -0
  107. package/dist/types/src/tree-guides.d.ts +17 -0
  108. package/dist/types/src/types.d.ts +314 -0
  109. package/dist/types/src/validate.d.ts +31 -0
  110. package/dist/types/src/web/base-css.d.ts +1 -0
  111. package/dist/types/src/web/box-css.d.ts +55 -0
  112. package/dist/types/src/web/coerce.d.ts +32 -0
  113. package/dist/types/src/web/data.d.ts +105 -0
  114. package/dist/types/src/web/dates.d.ts +12 -0
  115. package/dist/types/src/web/form.d.ts +44 -0
  116. package/dist/types/src/web/host-types.d.ts +119 -0
  117. package/dist/types/src/web/index.d.ts +28 -0
  118. package/dist/types/src/web/inputs.d.ts +55 -0
  119. package/dist/types/src/web/list.d.ts +13 -0
  120. package/dist/types/src/web/listbox.d.ts +14 -0
  121. package/dist/types/src/web/markdown.d.ts +96 -0
  122. package/dist/types/src/web/media.d.ts +62 -0
  123. package/dist/types/src/web/parts.d.ts +4 -0
  124. package/dist/types/src/web/primitives/alert-dialog.d.ts +10 -0
  125. package/dist/types/src/web/primitives/alert.d.ts +9 -0
  126. package/dist/types/src/web/primitives/avatar-color.d.ts +2 -0
  127. package/dist/types/src/web/primitives/avatar.d.ts +13 -0
  128. package/dist/types/src/web/primitives/badge.d.ts +10 -0
  129. package/dist/types/src/web/primitives/breadcrumb.d.ts +10 -0
  130. package/dist/types/src/web/primitives/button.d.ts +6 -0
  131. package/dist/types/src/web/primitives/calendar.d.ts +43 -0
  132. package/dist/types/src/web/primitives/card.d.ts +9 -0
  133. package/dist/types/src/web/primitives/checkbox.d.ts +5 -0
  134. package/dist/types/src/web/primitives/choice-tiles.d.ts +32 -0
  135. package/dist/types/src/web/primitives/cn.d.ts +3 -0
  136. package/dist/types/src/web/primitives/code-block.d.ts +24 -0
  137. package/dist/types/src/web/primitives/command.d.ts +134 -0
  138. package/dist/types/src/web/primitives/context-ring.d.ts +24 -0
  139. package/dist/types/src/web/primitives/dialog-arms.d.ts +6 -0
  140. package/dist/types/src/web/primitives/dialog.d.ts +24 -0
  141. package/dist/types/src/web/primitives/disclosure-header.d.ts +5 -0
  142. package/dist/types/src/web/primitives/dock.d.ts +42 -0
  143. package/dist/types/src/web/primitives/dropdown-menu.d.ts +14 -0
  144. package/dist/types/src/web/primitives/empty-state.d.ts +15 -0
  145. package/dist/types/src/web/primitives/glass-card.d.ts +4 -0
  146. package/dist/types/src/web/primitives/hover-card.d.ts +7 -0
  147. package/dist/types/src/web/primitives/icon-disc.d.ts +12 -0
  148. package/dist/types/src/web/primitives/index.d.ts +48 -0
  149. package/dist/types/src/web/primitives/input.d.ts +5 -0
  150. package/dist/types/src/web/primitives/kbd.d.ts +4 -0
  151. package/dist/types/src/web/primitives/label.d.ts +3 -0
  152. package/dist/types/src/web/primitives/menu-surface.d.ts +17 -0
  153. package/dist/types/src/web/primitives/meter.d.ts +21 -0
  154. package/dist/types/src/web/primitives/popover.d.ts +3 -0
  155. package/dist/types/src/web/primitives/progress-ring.d.ts +5 -0
  156. package/dist/types/src/web/primitives/progress.d.ts +8 -0
  157. package/dist/types/src/web/primitives/scroll-area.d.ts +49 -0
  158. package/dist/types/src/web/primitives/segmented-control.d.ts +5 -0
  159. package/dist/types/src/web/primitives/select.d.ts +47 -0
  160. package/dist/types/src/web/primitives/separator.d.ts +3 -0
  161. package/dist/types/src/web/primitives/sheet-chrome.d.ts +4 -0
  162. package/dist/types/src/web/primitives/sheet.d.ts +20 -0
  163. package/dist/types/src/web/primitives/skeleton.d.ts +3 -0
  164. package/dist/types/src/web/primitives/spinner.d.ts +3 -0
  165. package/dist/types/src/web/primitives/switch.d.ts +4 -0
  166. package/dist/types/src/web/primitives/table.d.ts +11 -0
  167. package/dist/types/src/web/primitives/tabs.d.ts +13 -0
  168. package/dist/types/src/web/primitives/textarea.d.ts +3 -0
  169. package/dist/types/src/web/primitives/toast.d.ts +163 -0
  170. package/dist/types/src/web/primitives/tooltip.d.ts +3 -0
  171. package/dist/types/src/web/primitives/truncate.d.ts +7 -0
  172. package/dist/types/src/web/primitives/typeahead-portal.d.ts +12 -0
  173. package/dist/types/src/web/share.d.ts +6 -0
  174. package/dist/types/src/web/table.d.ts +20 -0
  175. package/dist/types/src/web/theme-css.d.ts +69 -0
  176. package/dist/types/src/web/urls.d.ts +21 -0
  177. package/dist/web/index.js +2303 -0
  178. package/dist/web/index.js.map +26 -0
  179. package/dist/web/primitives/index.js +1450 -0
  180. package/dist/web/primitives/index.js.map +57 -0
  181. package/docs/components.generated.json +6238 -0
  182. package/docs/round-1-contract.md +679 -0
  183. package/docs/round-2-contract.md +476 -0
  184. package/docs/round-3-contract.md +174 -0
  185. package/docs/themes.generated.json +3503 -0
  186. package/fixtures/animations.json +2890 -0
  187. package/fixtures/bench-list.json +58 -0
  188. package/fixtures/bind-time.json +30664 -0
  189. package/fixtures/catalog-basic-map.json +1692 -0
  190. package/fixtures/catalog-components.json +9323 -0
  191. package/fixtures/catalog-extension.json +620 -0
  192. package/fixtures/catalog-macros.json +36370 -0
  193. package/fixtures/code-tokens.json +1993 -0
  194. package/fixtures/conformance-baseline.json +55544 -0
  195. package/fixtures/conformance-cases.json +49 -0
  196. package/fixtures/conformance-known.json +2123 -0
  197. package/fixtures/control-geometry.json +4200 -0
  198. package/fixtures/dashboard.data.json +74 -0
  199. package/fixtures/dashboard.json +752 -0
  200. package/fixtures/demo-surface.json +47 -0
  201. package/fixtures/format.json +870 -0
  202. package/fixtures/host-policy.json +1067 -0
  203. package/fixtures/host-router.json +1152 -0
  204. package/fixtures/host-transport.json +590 -0
  205. package/fixtures/interactions-round1.json +773 -0
  206. package/fixtures/kitchen-sink.expanded.json +10844 -0
  207. package/fixtures/kitchen-sink.json +3049 -0
  208. package/fixtures/layout-geometry-round1.json +7278 -0
  209. package/fixtures/layout-geometry.json +2072 -0
  210. package/fixtures/overlay-geometry.json +272 -0
  211. package/fixtures/primitive-specimens.json +58 -0
  212. package/fixtures/prompt-budget.json +33 -0
  213. package/fixtures/resizable.json +714 -0
  214. package/fixtures/round4-contract.json +2985 -0
  215. package/fixtures/specimens.json +9832 -0
  216. package/fixtures/style-conditions.json +336 -0
  217. package/fixtures/template-items.json +2215 -0
  218. package/fixtures/text-direction.json +309 -0
  219. package/fixtures/text-shimmer.json +96 -0
  220. package/fixtures/theme-extends.json +573 -0
  221. package/fixtures/theme-invalid.json +1296 -0
  222. package/fixtures/theme-recipes.json +58600 -0
  223. package/fixtures/theme-resolved.json +23949 -0
  224. package/fixtures/toast-stack.json +215 -0
  225. package/fixtures/tree-guides.json +224 -0
  226. package/fixtures/virtual-list.json +733 -0
  227. package/generated/ExponentialUICatalog.generated.kt +67 -0
  228. package/generated/ExponentialUICatalog.generated.swift +67 -0
  229. package/generated/ExponentialUIThemes.generated.kt +23 -0
  230. package/generated/ExponentialUIThemes.generated.swift +23 -0
  231. package/generated/catalog.descriptions.generated.rs +6 -0
  232. package/generated/catalog.generated.rs +80 -0
  233. package/generated/catalog.themes.generated.rs +34 -0
  234. package/generated/core.descriptions.json +2505 -0
  235. package/generated/core.runtime.json +3609 -0
  236. package/package.json +87 -4
  237. package/themes/exponential.recipes.json +49 -0
  238. package/themes/exponential.theme.json +755 -0
  239. package/themes/neutral.theme.json +5676 -0
  240. package/themes/orange.theme.json +43 -0
  241. package/themes/playful.theme.json +219 -0
  242. package/vendor/a2ui/LICENSE.txt +203 -0
  243. package/vendor/a2ui/README.md +27 -0
  244. package/vendor/a2ui/v0_9/basic_catalog.json +1387 -0
  245. package/vendor/a2ui/v0_9/basic_catalog_rules.txt +5 -0
  246. package/vendor/a2ui/v0_9/client_capabilities.json +97 -0
  247. package/vendor/a2ui/v0_9/client_to_server.json +104 -0
  248. package/vendor/a2ui/v0_9/common_types.json +315 -0
  249. package/vendor/a2ui/v0_9/server_to_client.json +132 -0
  250. package/vendor/json-render/LICENSE.txt +201 -0
  251. package/vendor/json-render/README.md +13 -0
@@ -0,0 +1,829 @@
1
+ import type { Style } from "./style.js";
2
+ import type { DataBinding, FunctionCall } from "./types.js";
3
+ export declare const CATALOG_ID = "https://ui.exponential.at/catalogs/core/v1";
4
+ export declare const LITE_CATALOG_ID = "https://ui.exponential.at/catalogs/core-lite/v1";
5
+ export declare const BASIC_CATALOG_ID = "https://a2ui.org/specification/v0_9/basic_catalog.json";
6
+ export declare const BASIC_VERSION = "v0.9";
7
+ export declare const CATALOG_VERSION = "1";
8
+ export declare const UNKNOWN_COMPONENT_NAME = "Unknown";
9
+ /** Every component in source order (the hidden placeholder included). */
10
+ export declare const COMPONENT_NAMES: readonly ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Image", "Icon", "Video", "AudioPlayer", "Avatar", "Carousel", "Tabs", "Segmented", "Accordion", "Collapsible", "Trace", "TraceItem", "Pagination", "Breadcrumb", "Stepper", "Dialog", "Drawer", "DockCard", "AlertDialog", "Popover", "Tooltip", "Menu", "Toast", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Spinner", "Skeleton", "Table", "Chart", "Sparkline", "StatTile", "Button", "Link", "Toggle", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "Composer", "Row", "TreeGuides", "Unknown"];
11
+ export type ComponentName = (typeof COMPONENT_NAMES)[number];
12
+ export declare const NATIVE_COMPONENTS: readonly ["Box", "List", "Resizable", "Text", "Markdown", "CodeBlock", "Image", "Icon", "Video", "AudioPlayer", "Avatar", "Carousel", "Tabs", "Segmented", "Accordion", "Dialog", "Drawer", "Popover", "Tooltip", "Menu", "Toast", "Ring", "Spinner", "Skeleton", "Table", "Chart", "Button", "Link", "Toggle", "Form", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "Composer", "TreeGuides", "Unknown"];
13
+ export declare const MACRO_COMPONENTS: readonly ["Stack", "Grid", "Card", "Separator", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Heading", "Kbd", "Label", "Collapsible", "Trace", "TraceItem", "Pagination", "Breadcrumb", "Stepper", "DockCard", "AlertDialog", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Sparkline", "StatTile", "FieldGroup", "FormActions", "Rating", "Row"];
14
+ /** The core-lite subset (no overlays, media or Chart). */
15
+ export declare const LITE_COMPONENTS: readonly ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Icon", "Avatar", "Tabs", "Segmented", "Collapsible", "Trace", "TraceItem", "Breadcrumb", "Stepper", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Skeleton", "StatTile", "Button", "Link", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Switch", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "Composer", "Row"];
16
+ export declare const COMPONENT_GROUPS: Record<ComponentName, string>;
17
+ /** The specimen id each component has on ui.exponential.at. */
18
+ export declare const SPECIMEN_IDS: Record<ComponentName, string>;
19
+ export declare const ENUMS: {
20
+ readonly variant: readonly ["default", "secondary", "outline", "ghost", "destructive", "link"];
21
+ readonly size: readonly ["sm", "default", "lg", "icon"];
22
+ readonly tone: readonly ["neutral", "primary", "success", "warning", "danger", "info"];
23
+ readonly gap: readonly ["none", "xs", "sm", "md", "lg", "xl"];
24
+ readonly align: readonly ["start", "center", "end", "stretch"];
25
+ readonly justify: readonly ["start", "center", "end", "between", "around", "evenly"];
26
+ readonly textVariant: readonly ["body", "caption", "muted", "lead", "code", "label", "title"];
27
+ readonly headingLevel: readonly ["h1", "h2", "h3", "h4"];
28
+ readonly imageFit: readonly ["contain", "cover", "fill", "none", "scaleDown"];
29
+ readonly orientation: readonly ["horizontal", "vertical"];
30
+ readonly side: readonly ["top", "right", "bottom", "left"];
31
+ readonly inputType: readonly ["text", "email", "password", "number", "search", "url", "tel"];
32
+ readonly validateOn: readonly ["change", "blur", "submit"];
33
+ readonly alertType: readonly ["info", "success", "warning", "error"];
34
+ readonly controlSize: readonly ["sm", "default", "lg"];
35
+ readonly spinnerSize: readonly ["xs", "sm", "default", "lg"];
36
+ readonly tabClosable: readonly ["none", "hover", "always"];
37
+ readonly groupType: readonly ["single", "multiple"];
38
+ readonly rowChevron: readonly ["none", "right", "selector"];
39
+ readonly rowSurface: readonly ["flat", "card"];
40
+ readonly chipShape: readonly ["pill", "rect"];
41
+ readonly density: readonly ["default", "compact"];
42
+ readonly listDirection: readonly ["vertical", "horizontal"];
43
+ readonly chartKind: readonly ["bar", "stackedBar", "line", "area", "pie", "donut", "sparkline"];
44
+ readonly segmentedVariant: readonly ["segmented", "toggles", "outline", "bar"];
45
+ readonly liveTone: readonly ["live", "attention", "done", "unread", "idle", "muted"];
46
+ readonly menuItemKind: readonly ["item", "checkbox", "separator", "label", "submenu"];
47
+ readonly openOn: readonly ["press", "hover"];
48
+ readonly menuOpenOn: readonly ["press", "contextmenu"];
49
+ readonly live: readonly ["off", "polite", "assertive"];
50
+ readonly selectable: readonly ["none", "single", "multiple"];
51
+ readonly cellType: readonly ["text", "number", "date", "boolean", "badge", "slot", "currency", "percent", "relativeTime"];
52
+ readonly sortDirection: readonly ["asc", "desc"];
53
+ readonly imageLoading: readonly ["lazy", "eager"];
54
+ readonly scrollDirection: readonly ["vertical", "horizontal", "both"];
55
+ readonly collapseBelow: readonly ["never", "sm", "md", "lg", "xl"];
56
+ readonly codeLanguage: readonly ["plain", "json", "js", "ts", "tsx", "rust", "swift", "kotlin", "python", "bash", "html", "css", "sql", "yaml", "markdown", "ansi"];
57
+ readonly codeToken: readonly ["plain", "keyword", "string", "number", "comment", "punctuation", "operator", "type", "function", "property", "tag", "attribute", "success", "warning", "error"];
58
+ readonly codeBlockVariant: readonly ["default", "destructive"];
59
+ readonly codeBlockSize: readonly ["default", "sm"];
60
+ readonly traceStatus: readonly ["running", "error", "pending"];
61
+ readonly traceSize: readonly ["default", "sm"];
62
+ };
63
+ export type VariantValue = (typeof ENUMS)["variant"][number];
64
+ export type SizeValue = (typeof ENUMS)["size"][number];
65
+ export type ToneValue = (typeof ENUMS)["tone"][number];
66
+ export type GapValue = (typeof ENUMS)["gap"][number];
67
+ export type AlignValue = (typeof ENUMS)["align"][number];
68
+ export type JustifyValue = (typeof ENUMS)["justify"][number];
69
+ export type TextVariantValue = (typeof ENUMS)["textVariant"][number];
70
+ export type HeadingLevelValue = (typeof ENUMS)["headingLevel"][number];
71
+ export type ImageFitValue = (typeof ENUMS)["imageFit"][number];
72
+ export type OrientationValue = (typeof ENUMS)["orientation"][number];
73
+ export type SideValue = (typeof ENUMS)["side"][number];
74
+ export type InputTypeValue = (typeof ENUMS)["inputType"][number];
75
+ export type ValidateOnValue = (typeof ENUMS)["validateOn"][number];
76
+ export type AlertTypeValue = (typeof ENUMS)["alertType"][number];
77
+ export type ControlSizeValue = (typeof ENUMS)["controlSize"][number];
78
+ export type SpinnerSizeValue = (typeof ENUMS)["spinnerSize"][number];
79
+ export type TabClosableValue = (typeof ENUMS)["tabClosable"][number];
80
+ export type GroupTypeValue = (typeof ENUMS)["groupType"][number];
81
+ export type RowChevronValue = (typeof ENUMS)["rowChevron"][number];
82
+ export type RowSurfaceValue = (typeof ENUMS)["rowSurface"][number];
83
+ export type ChipShapeValue = (typeof ENUMS)["chipShape"][number];
84
+ export type DensityValue = (typeof ENUMS)["density"][number];
85
+ export type ListDirectionValue = (typeof ENUMS)["listDirection"][number];
86
+ export type ChartKindValue = (typeof ENUMS)["chartKind"][number];
87
+ export type SegmentedVariantValue = (typeof ENUMS)["segmentedVariant"][number];
88
+ export type LiveToneValue = (typeof ENUMS)["liveTone"][number];
89
+ export type MenuItemKindValue = (typeof ENUMS)["menuItemKind"][number];
90
+ export type OpenOnValue = (typeof ENUMS)["openOn"][number];
91
+ export type MenuOpenOnValue = (typeof ENUMS)["menuOpenOn"][number];
92
+ export type LiveValue = (typeof ENUMS)["live"][number];
93
+ export type SelectableValue = (typeof ENUMS)["selectable"][number];
94
+ export type CellTypeValue = (typeof ENUMS)["cellType"][number];
95
+ export type SortDirectionValue = (typeof ENUMS)["sortDirection"][number];
96
+ export type ImageLoadingValue = (typeof ENUMS)["imageLoading"][number];
97
+ export type ScrollDirectionValue = (typeof ENUMS)["scrollDirection"][number];
98
+ export type CollapseBelowValue = (typeof ENUMS)["collapseBelow"][number];
99
+ export type CodeLanguageValue = (typeof ENUMS)["codeLanguage"][number];
100
+ export type CodeTokenValue = (typeof ENUMS)["codeToken"][number];
101
+ export type CodeBlockVariantValue = (typeof ENUMS)["codeBlockVariant"][number];
102
+ export type CodeBlockSizeValue = (typeof ENUMS)["codeBlockSize"][number];
103
+ export type TraceStatusValue = (typeof ENUMS)["traceStatus"][number];
104
+ export type TraceSizeValue = (typeof ENUMS)["traceSize"][number];
105
+ /** Token NAMES by group (values come from a theme). */
106
+ export declare const TOKEN_NAMES: {
107
+ readonly color: readonly ["background", "foreground", "card", "cardForeground", "popover", "popoverForeground", "primary", "primaryForeground", "secondary", "secondaryForeground", "muted", "mutedForeground", "accent", "accentForeground", "destructive", "destructiveForeground", "success", "successForeground", "warning", "warningForeground", "info", "infoForeground", "border", "input", "ring", "chart1", "chart2", "chart3", "chart4", "chart5", "chart6", "chart7", "chart8"];
108
+ readonly spacing: readonly ["none", "xxs", "xs", "sm", "md", "lg", "xl", "xl2", "xl3"];
109
+ readonly radius: readonly ["none", "sm", "md", "lg", "xl", "xl2", "xl3", "full"];
110
+ readonly "type.size": readonly ["xs", "sm", "base", "lg", "xl", "xl2", "xl3"];
111
+ readonly "type.lineHeight": readonly ["xs", "sm", "base", "lg", "xl", "xl2", "xl3"];
112
+ readonly "type.weight": readonly ["regular", "medium", "semibold", "bold"];
113
+ readonly "type.family": readonly ["sans", "mono"];
114
+ readonly control: readonly ["buttonSm", "buttonMd", "buttonLg", "buttonIcon", "input", "textarea", "row", "rowCompact", "pill", "badge", "chip", "toggle", "switch", "checkbox", "slider", "progress", "meter", "avatarSm", "avatarMd", "avatarLg", "iconSm", "iconMd", "iconLg", "hairline", "appBar", "tabBar", "toast"];
115
+ readonly shadow: readonly ["none", "sm", "md", "lg", "xl"];
116
+ readonly opacity: readonly ["primary", "secondary", "tertiary", "quaternary", "disabled"];
117
+ readonly border: readonly ["none", "hairline", "thick"];
118
+ readonly motion: readonly ["fast", "standard", "slow"];
119
+ readonly breakpoint: readonly ["sm", "md", "lg", "xl"];
120
+ readonly ease: readonly ["standard", "decelerate", "accelerate"];
121
+ readonly density: readonly ["compact", "comfortable"];
122
+ readonly blur: readonly ["sm", "md", "lg", "xl"];
123
+ readonly scale: readonly ["press", "popoverFrom"];
124
+ };
125
+ export type TokenGroup = keyof typeof TOKEN_NAMES;
126
+ export declare const STYLE_KEY_NAMES: readonly ["display", "flexDirection", "flexWrap", "justifyContent", "alignItems", "alignContent", "alignSelf", "justifySelf", "flexGrow", "flexShrink", "flexBasis", "gap", "rowGap", "columnGap", "direction", "overflow", "overflowX", "overflowY", "width", "height", "minWidth", "minHeight", "maxWidth", "maxHeight", "aspectRatio", "position", "top", "right", "bottom", "left", "inset", "insetInlineStart", "insetInlineEnd", "insetBlockStart", "insetBlockEnd", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingHorizontal", "paddingVertical", "paddingInlineStart", "paddingInlineEnd", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginHorizontal", "marginVertical", "marginInlineStart", "marginInlineEnd", "gridTemplateColumns", "gridTemplateRows", "gridTemplateAreas", "gridArea", "gridColumn", "gridRow", "backgroundColor", "backgroundGradient", "color", "borderWidth", "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth", "borderColor", "borderStyle", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius", "opacity", "boxShadow", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "textAlign", "textDecoration", "textTransform", "fontStyle", "fontFamily", "transition", "transitionEasing", "transform", "visibility", "pointerEvents", "userSelect", "cursor", "backdropBlur", "animation", "animationDuration"];
127
+ export declare const STYLE_STATE_NAMES: readonly [":hover", ":focus-visible", ":pressed"];
128
+ /** The Icon prop's vocabulary: packages/icons/icons.json at generate time. */
129
+ export declare const ICON_NAMES: readonly ["a-large-small", "action-chat", "action-create", "action-default", "action-repository", "action-run", "action-suggestion", "activity", "anchor", "app-editor-chat", "archive", "arrow-down", "arrow-down-left", "arrow-left", "arrow-left-right", "arrow-right", "arrow-up-right", "at-sign", "atom", "auth-passkey", "award", "ban", "bell", "bell-off", "bold", "book-open", "bookmark", "bot", "boxes", "braces", "brain", "briefcase", "brush-cleaning", "bug", "building", "building-2", "calculator", "calendar", "calendar-days", "camera", "car", "chart-line", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-up-down", "circle", "circle-arrow-up", "circle-check", "circle-dashed", "circle-dot", "circle-minus", "circle-question-mark", "circle-slash", "circle-stop", "circle-user", "circle-x", "clipboard-list", "clock", "cloud", "code", "coding-assistant", "coding-command", "coding-compact", "coding-diff", "coding-ended", "coding-in-review", "coding-needs-input", "coding-plan", "coding-running", "coding-stop", "coding-subagent", "coding-tool", "coffee", "compass", "computer", "copy", "corner-down-right", "cpu", "credit-card", "crown", "database", "download", "droplet", "dumbbell", "editor-bold", "editor-clear-formatting", "editor-code", "editor-emoji", "editor-heading-1", "editor-heading-2", "editor-heading-3", "editor-image", "editor-issue-ref", "editor-italic", "editor-link", "editor-list", "editor-list-ordered", "editor-list-todo", "editor-mention", "editor-quote", "editor-strikethrough", "editor-text", "editor-text-format", "editor-unlink", "ellipsis", "ellipsis-vertical", "event-assignee-changed", "event-board-moved", "event-estimate-changed", "event-label-added", "event-label-removed", "event-priority-changed", "event-relation-added", "event-relation-removed", "event-status-changed", "event-title-changed", "external-link", "eye", "eye-off", "fast-forward", "file", "file-diff", "file-pen-line", "file-text", "fingerprint", "flag", "flame", "flask-conical", "fold-vertical", "folder", "folder-kanban", "folder-open", "gamepad-2", "gauge", "gem", "gift", "git-branch", "git-merge", "git-pull-request", "github", "globe", "graduation-cap", "guide-changes", "hammer", "hard-drive", "hash", "heading-1", "heading-2", "heading-3", "headphones", "heart", "heart-off", "history", "hourglass", "house", "image", "images", "inbox", "info", "italic", "key", "landmark", "laptop", "layers", "layers-2", "layout-grid", "leaf", "lightbulb", "link", "link-2", "list", "list-checks", "list-end", "list-ordered", "list-todo", "list-tree", "loader-circle", "lock", "lock-open", "log-in", "log-out", "mail", "map", "map-pin", "maximize-2", "media-fast-forward", "media-rewind", "media-skip-next", "media-skip-previous", "media-volume-down", "media-volume-mute", "media-volume-off", "media-volume-up", "megaphone", "menu", "message-circle", "message-square", "message-square-plus", "message-square-reply", "mic", "microscope", "minimize-2", "minus", "monitor", "monitor-off", "moon", "mountain", "move", "music", "nav-account", "nav-actions", "nav-admin", "nav-apps", "nav-boards", "nav-changelog", "nav-computer", "nav-create-issue", "nav-devices", "nav-drafts", "nav-files", "nav-getting-started", "nav-inbox", "nav-issues", "nav-my-issues", "nav-notifications", "nav-rail-collapse", "nav-rail-expand", "nav-report-bug", "nav-search", "nav-settings", "nav-sign-out", "nav-source-control", "nav-team-switcher", "nav-terminal", "nav-threads", "newspaper", "notification-agent-message", "notification-issue-assigned", "notification-issue-comment", "notification-issue-created", "notification-issue-mention", "notification-issue-status-changed", "notification-mark-read", "notification-mute", "notification-pr-merged", "notification-pr-opened", "notification-reporter-reply", "notification-session-blocked", "os-apple", "os-linux", "os-windows", "package", "paintbrush", "palette", "panel-left-close", "panel-left-open", "paperclip", "pause", "pen-tool", "pencil", "phone", "pin", "pin-off", "plane", "play", "plug", "plus", "pr-batch", "pr-closed", "pr-draft", "pr-merged", "pr-open", "pr-stack", "printer", "priority-high", "priority-low", "priority-medium", "priority-none", "priority-urgent", "progress-1-4", "progress-1-5", "progress-2-4", "progress-2-5", "progress-3-4", "progress-3-5", "progress-4-5", "puzzle", "quote", "refresh-cw", "relation-blocked-by", "relation-blocks", "relation-duplicate", "relation-parent", "relation-related", "relation-section", "relation-sub-issue", "remove-formatting", "repeat", "rewind", "rocket", "rotate-ccw", "run-pause", "run-resume", "sc-push", "scale", "search", "search-x", "send", "server", "session-shell", "session-tree", "settings", "settings-about", "settings-account", "settings-agents", "settings-api", "settings-billing", "settings-boards", "settings-general", "settings-import", "settings-issues", "settings-labels", "settings-licenses", "settings-local-repos", "settings-mcp", "settings-members", "settings-notifications", "settings-rate", "settings-repositories", "settings-servers", "settings-sessions", "settings-statuses", "settings-storage", "settings-sync", "settings-tools", "settings-widget", "share-2", "shield", "shield-check", "shield-question-mark", "shopping-bag", "shopping-cart", "signal-high", "signal-low", "signal-medium", "skip-back", "skip-forward", "sliders-horizontal", "smartphone", "smile", "sparkles", "square-kanban", "square-pen", "square-slash", "square-terminal", "star", "star-half", "star-off", "status-backlog", "status-cancelled", "status-done", "status-duplicate", "status-in-progress", "status-in-review", "status-todo", "stethoscope", "store", "strikethrough", "sun", "support-open", "support-resolved", "tag", "target", "terminal", "tool-script", "trace-background", "trace-chevron", "trace-completed", "trace-edit", "trace-failed", "trace-fetch", "trace-read", "trace-reasoning", "trace-search", "trace-subagent", "trace-task-done", "trace-task-pending", "trace-task-running", "trace-terminal", "trace-todo", "trace-tool", "trash-2", "tree-pine", "triangle-alert", "trigger-event", "trigger-schedule", "trophy", "truck", "type", "ui-add", "ui-agent-source", "ui-archive", "ui-arrow-down", "ui-arrow-right", "ui-assignee", "ui-attach", "ui-avatar-placeholder", "ui-back", "ui-branch", "ui-check", "ui-checklist", "ui-chevron-down", "ui-chevron-left", "ui-chevron-right", "ui-chevron-up", "ui-clean", "ui-clear", "ui-clock", "ui-close", "ui-cloud", "ui-copy", "ui-delete", "ui-delete-account", "ui-device", "ui-device-default", "ui-device-offline", "ui-dock-side", "ui-docs", "ui-download", "ui-due-date", "ui-edit", "ui-empty-search", "ui-error", "ui-estimate", "ui-external-link", "ui-favorite-off", "ui-file", "ui-float", "ui-folder", "ui-folder-open", "ui-fullscreen", "ui-fullscreen-exit", "ui-github", "ui-help", "ui-hide", "ui-history", "ui-icon-placeholder", "ui-indeterminate", "ui-info", "ui-invite", "ui-issue", "ui-link", "ui-loading", "ui-mail", "ui-mcp", "ui-member", "ui-menu", "ui-minus", "ui-more", "ui-more-vertical", "ui-offline", "ui-organization", "ui-owner", "ui-permission", "ui-pin", "ui-print", "ui-private", "ui-properties", "ui-queued", "ui-redock", "ui-refresh", "ui-remove-member", "ui-repeat", "ui-repository", "ui-selected", "ui-selector", "ui-send", "ui-server", "ui-share", "ui-sign-in", "ui-sign-out", "ui-staging", "ui-star-half", "ui-star-off", "ui-stop", "ui-submit", "ui-subscribe", "ui-success", "ui-swap", "ui-team", "ui-unassigned", "ui-undo", "ui-undock", "ui-unlock", "ui-unpin", "ui-unselected", "ui-unsubscribe", "ui-update", "ui-usage", "ui-warning", "ui-watch", "ui-widget", "undo-2", "unlink", "upload", "user", "user-minus", "user-plus", "user-x", "users", "video", "volume-1", "volume-2", "volume-off", "volume-x", "wallet", "wifi-off", "work-faces", "work-results", "workflow", "wrench", "x", "zap"];
130
+ export declare const FUNCTION_NAMES: readonly ["required", "regex", "length", "numeric", "email", "formatString", "formatNumber", "formatCurrency", "formatDate", "pluralize", "openUrl", "and", "or", "not", "percent", "add", "sub", "eq", "lt", "clamp", "cond", "fallback", "concat", "coalesce", "text", "map", "len", "fill", "set", "formatPercent", "formatRelativeTime", "filter"];
131
+ /** VAPP-108: the typed authoring surface (src/define.ts). A ~ prop also
132
+ * takes a binding or a call, a ^ prop a per-breakpoint object. */
133
+ export type Dynamic = DataBinding | FunctionCall;
134
+ export type Responsive<T> = {
135
+ base: T;
136
+ sm?: T;
137
+ md?: T;
138
+ lg?: T;
139
+ xl?: T;
140
+ };
141
+ export type IconName = (typeof ICON_NAMES)[number];
142
+ /** The shared shapes (catalog `defs`). */
143
+ export interface Shapes {
144
+ option: {
145
+ label: string | Dynamic;
146
+ value: string;
147
+ icon?: IconName;
148
+ disabled?: boolean;
149
+ description?: string;
150
+ image?: string;
151
+ };
152
+ check: {
153
+ condition: boolean | Dynamic;
154
+ message: string;
155
+ };
156
+ tab: {
157
+ label: string | Dynamic;
158
+ value: string;
159
+ icon?: IconName;
160
+ count?: number;
161
+ };
162
+ menuItem: {
163
+ label?: string;
164
+ value?: string;
165
+ kind?: MenuItemKindValue;
166
+ icon?: IconName;
167
+ shortcut?: string;
168
+ checked?: boolean | Dynamic;
169
+ destructive?: boolean;
170
+ disabled?: boolean;
171
+ items?: Shapes["menuItem"][] | Dynamic;
172
+ searchable?: boolean;
173
+ placeholder?: string;
174
+ };
175
+ searchItem: {
176
+ label: string | Dynamic;
177
+ value: string;
178
+ icon?: IconName;
179
+ identifier?: string;
180
+ disabled?: boolean;
181
+ };
182
+ accordionItem: {
183
+ title: string | Dynamic;
184
+ value: string;
185
+ count?: number;
186
+ };
187
+ segment: {
188
+ value: number;
189
+ tone?: ToneValue;
190
+ label?: string;
191
+ };
192
+ series: {
193
+ name: string;
194
+ values: number[];
195
+ tone?: ToneValue;
196
+ };
197
+ pageItem: {
198
+ title?: string;
199
+ };
200
+ step: {
201
+ label: string;
202
+ description?: string;
203
+ };
204
+ column: {
205
+ key: string;
206
+ label: string;
207
+ type?: CellTypeValue;
208
+ slot?: string;
209
+ width?: number;
210
+ align?: "start" | "center" | "end";
211
+ sortable?: boolean;
212
+ currency?: string;
213
+ decimals?: number;
214
+ };
215
+ sort: {
216
+ key: string;
217
+ direction: SortDirectionValue;
218
+ };
219
+ panel: {
220
+ min?: number;
221
+ max?: number;
222
+ collapsible?: boolean;
223
+ };
224
+ file: {
225
+ name: string;
226
+ size?: number;
227
+ type?: string;
228
+ url?: string;
229
+ };
230
+ }
231
+ /** Every component's props, by name. */
232
+ export interface ComponentProps {
233
+ Box: {
234
+ style?: Style;
235
+ pressable?: boolean;
236
+ };
237
+ Stack: {
238
+ direction?: OrientationValue | Responsive<OrientationValue> | Dynamic;
239
+ gap?: GapValue | Responsive<GapValue>;
240
+ align?: AlignValue | Responsive<AlignValue> | Dynamic;
241
+ justify?: JustifyValue | Responsive<JustifyValue> | Dynamic;
242
+ wrap?: boolean | Responsive<boolean>;
243
+ style?: Style;
244
+ };
245
+ Grid: {
246
+ columns?: number | Responsive<number>;
247
+ gap?: GapValue | Responsive<GapValue>;
248
+ style?: Style;
249
+ };
250
+ Card: {
251
+ title?: string;
252
+ description?: string;
253
+ padded?: boolean;
254
+ style?: Style;
255
+ };
256
+ Separator: {
257
+ orientation?: OrientationValue;
258
+ };
259
+ List: {
260
+ direction?: ListDirectionValue;
261
+ gap?: GapValue;
262
+ divided?: boolean;
263
+ sectionBy?: string;
264
+ stickyHeaders?: boolean;
265
+ style?: Style;
266
+ };
267
+ Resizable: {
268
+ direction?: OrientationValue | Responsive<OrientationValue>;
269
+ sizes?: number[] | Dynamic;
270
+ panels?: Shapes["panel"][];
271
+ handle?: boolean;
272
+ style?: Style;
273
+ };
274
+ ScrollArea: {
275
+ direction?: ScrollDirectionValue;
276
+ maxHeight?: number;
277
+ style?: Style;
278
+ };
279
+ Sidebar: {
280
+ side?: "left" | "right";
281
+ width?: number;
282
+ collapseBelow?: CollapseBelowValue;
283
+ collapsed?: boolean | Dynamic;
284
+ };
285
+ SplitView: {
286
+ open?: boolean | Dynamic;
287
+ width?: number;
288
+ };
289
+ AppBar: {
290
+ title: string | Dynamic;
291
+ subtitle?: string | Dynamic;
292
+ back?: boolean;
293
+ };
294
+ Page: {
295
+ title: string | Dynamic;
296
+ subtitle?: string | Dynamic;
297
+ back?: boolean;
298
+ padded?: boolean;
299
+ };
300
+ Toolbar: {
301
+ gap?: GapValue;
302
+ };
303
+ Section: {
304
+ title?: string | Dynamic;
305
+ caption?: string | Dynamic;
306
+ count?: number | Dynamic;
307
+ icon?: IconName;
308
+ collapsible?: boolean;
309
+ open?: boolean | Dynamic;
310
+ tint?: ToneValue;
311
+ tree?: boolean;
312
+ loading?: boolean | Dynamic;
313
+ style?: Style;
314
+ };
315
+ Group: {
316
+ title?: string;
317
+ footer?: string;
318
+ };
319
+ Text: {
320
+ text: string | Dynamic;
321
+ variant?: TextVariantValue;
322
+ align?: "start" | "center" | "end";
323
+ lines?: number;
324
+ tone?: ToneValue;
325
+ shimmer?: boolean;
326
+ live?: LiveValue;
327
+ style?: Style;
328
+ };
329
+ Heading: {
330
+ text: string | Dynamic;
331
+ level?: HeadingLevelValue;
332
+ };
333
+ Markdown: {
334
+ text: string | Dynamic;
335
+ lines?: number;
336
+ style?: Style;
337
+ };
338
+ CodeBlock: {
339
+ code: string | Dynamic;
340
+ language?: CodeLanguageValue;
341
+ title?: string;
342
+ lineNumbers?: boolean;
343
+ wrap?: boolean;
344
+ copyable?: boolean;
345
+ highlight?: number[];
346
+ maxLines?: number;
347
+ variant?: CodeBlockVariantValue | Dynamic;
348
+ size?: CodeBlockSizeValue;
349
+ };
350
+ Kbd: {
351
+ keys: string;
352
+ };
353
+ Label: {
354
+ text: string | Dynamic;
355
+ for?: string;
356
+ required?: boolean;
357
+ };
358
+ Image: {
359
+ src?: string | Dynamic;
360
+ alt: string | Dynamic;
361
+ fit?: ImageFitValue;
362
+ width?: number;
363
+ height?: number;
364
+ aspectRatio?: number;
365
+ fallback?: IconName;
366
+ loading?: ImageLoadingValue;
367
+ focalX?: number;
368
+ focalY?: number;
369
+ style?: Style;
370
+ };
371
+ Icon: {
372
+ name: IconName | Dynamic;
373
+ size?: ControlSizeValue;
374
+ tone?: ToneValue | Dynamic;
375
+ label?: string;
376
+ };
377
+ Video: {
378
+ src: string | Dynamic;
379
+ poster?: string;
380
+ durationMs?: number;
381
+ autoplay?: boolean;
382
+ aspectRatio?: number;
383
+ style?: Style;
384
+ };
385
+ AudioPlayer: {
386
+ src: string | Dynamic;
387
+ title?: string;
388
+ durationMs?: number;
389
+ };
390
+ Avatar: {
391
+ name: string | Dynamic;
392
+ src?: string | Dynamic;
393
+ size?: ControlSizeValue;
394
+ seed?: string;
395
+ };
396
+ Carousel: {
397
+ page?: number | Dynamic;
398
+ loop?: boolean;
399
+ indicators?: boolean;
400
+ };
401
+ Tabs: {
402
+ tabs: Shapes["tab"][];
403
+ value?: string | Dynamic;
404
+ fill?: boolean;
405
+ closable?: TabClosableValue;
406
+ addable?: boolean;
407
+ };
408
+ Segmented: {
409
+ items: Shapes["option"][];
410
+ type?: GroupTypeValue;
411
+ value?: string | Dynamic;
412
+ variant?: SegmentedVariantValue;
413
+ size?: ControlSizeValue;
414
+ fill?: boolean;
415
+ };
416
+ Accordion: {
417
+ items: Shapes["accordionItem"][];
418
+ type?: GroupTypeValue;
419
+ value?: string | Dynamic;
420
+ };
421
+ Collapsible: {
422
+ title: string;
423
+ open?: boolean | Dynamic;
424
+ count?: number;
425
+ };
426
+ Trace: {
427
+ size?: TraceSizeValue;
428
+ };
429
+ TraceItem: {
430
+ title: string | Dynamic;
431
+ icon?: IconName;
432
+ description?: string;
433
+ status?: TraceStatusValue;
434
+ size?: TraceSizeValue;
435
+ collapsible?: boolean;
436
+ open?: boolean | Dynamic;
437
+ };
438
+ Pagination: {
439
+ totalPages: number;
440
+ page?: number | Dynamic;
441
+ };
442
+ Breadcrumb: {
443
+ items: Shapes["option"][];
444
+ };
445
+ Stepper: {
446
+ steps: Shapes["step"][];
447
+ current?: number | Dynamic;
448
+ orientation?: OrientationValue;
449
+ };
450
+ Dialog: {
451
+ title?: string;
452
+ description?: string;
453
+ open?: boolean | Dynamic;
454
+ dismissible?: boolean;
455
+ };
456
+ Drawer: {
457
+ title?: string;
458
+ description?: string;
459
+ open?: boolean | Dynamic;
460
+ side?: SideValue | Responsive<SideValue>;
461
+ dismissible?: boolean;
462
+ dragToDismiss?: boolean;
463
+ };
464
+ DockCard: {
465
+ label: string | Dynamic;
466
+ title: string | Dynamic;
467
+ caption?: string | Dynamic;
468
+ meta?: string | Dynamic;
469
+ icon?: IconName;
470
+ tone?: ToneValue;
471
+ open?: boolean | Dynamic;
472
+ };
473
+ AlertDialog: {
474
+ title: string;
475
+ description?: string;
476
+ confirmLabel?: string;
477
+ cancelLabel?: string;
478
+ destructive?: boolean;
479
+ open?: boolean | Dynamic;
480
+ };
481
+ Popover: {
482
+ open?: boolean | Dynamic;
483
+ side?: SideValue;
484
+ openOn?: OpenOnValue;
485
+ };
486
+ Tooltip: {
487
+ content: string;
488
+ side?: SideValue;
489
+ };
490
+ Menu: {
491
+ label?: string;
492
+ icon?: IconName;
493
+ items: Shapes["menuItem"][];
494
+ openOn?: MenuOpenOnValue;
495
+ };
496
+ Toast: {
497
+ title: string | Dynamic;
498
+ description?: string | Dynamic;
499
+ type?: AlertTypeValue;
500
+ open?: boolean | Dynamic;
501
+ duration?: number;
502
+ actionLabel?: string;
503
+ dismissible?: boolean;
504
+ };
505
+ Badge: {
506
+ text: string | Dynamic;
507
+ variant?: VariantValue | Dynamic;
508
+ icon?: IconName;
509
+ };
510
+ Alert: {
511
+ title: string;
512
+ message?: string;
513
+ type?: AlertTypeValue;
514
+ };
515
+ Chip: {
516
+ label: string | Dynamic;
517
+ shape?: ChipShapeValue;
518
+ selected?: boolean;
519
+ tone?: ToneValue | Dynamic;
520
+ dot?: string;
521
+ icon?: IconName;
522
+ image?: string;
523
+ detail?: string;
524
+ removable?: boolean;
525
+ pressable?: boolean;
526
+ };
527
+ EmptyState: {
528
+ icon: IconName;
529
+ title: string;
530
+ description?: string;
531
+ actionLabel?: string;
532
+ size?: "page" | "list";
533
+ };
534
+ Progress: {
535
+ value: number | Dynamic;
536
+ max?: number;
537
+ label?: string;
538
+ tone?: ToneValue;
539
+ };
540
+ Meter: {
541
+ segments: Shapes["segment"][];
542
+ max?: number;
543
+ label?: string;
544
+ value?: string;
545
+ };
546
+ Ring: {
547
+ value: number | Dynamic;
548
+ size?: ControlSizeValue;
549
+ tone?: ToneValue;
550
+ label?: string;
551
+ };
552
+ Spinner: {
553
+ size?: SpinnerSizeValue;
554
+ label?: string;
555
+ };
556
+ Skeleton: {
557
+ width?: string;
558
+ height?: string;
559
+ rounded?: boolean;
560
+ rows?: number;
561
+ rowHeight?: number;
562
+ dot?: boolean;
563
+ };
564
+ Table: {
565
+ columns: Shapes["column"][];
566
+ rows: Record<string, unknown>[] | Dynamic;
567
+ rowKey?: string;
568
+ sort?: Shapes["sort"] | Dynamic;
569
+ selectable?: SelectableValue;
570
+ selected?: string[] | Dynamic;
571
+ caption?: string;
572
+ emptyText?: string;
573
+ striped?: boolean;
574
+ density?: DensityValue;
575
+ stickyHeader?: boolean;
576
+ };
577
+ Chart: {
578
+ kind: ChartKindValue;
579
+ categories?: string[] | Dynamic;
580
+ series: Shapes["series"][] | Dynamic;
581
+ title?: string;
582
+ height?: number;
583
+ xLabel?: string;
584
+ yLabel?: string;
585
+ min?: number;
586
+ max?: number;
587
+ showAxes?: boolean;
588
+ showGrid?: boolean;
589
+ showLegend?: boolean;
590
+ showValues?: boolean;
591
+ };
592
+ Sparkline: {
593
+ values: number[] | Dynamic;
594
+ tone?: ToneValue;
595
+ height?: number;
596
+ };
597
+ StatTile: {
598
+ label: string | Dynamic;
599
+ value: string | Dynamic;
600
+ delta?: string | Dynamic;
601
+ tone?: ToneValue | Dynamic;
602
+ trend?: number[] | Dynamic;
603
+ };
604
+ Button: {
605
+ label?: string | Dynamic;
606
+ icon?: IconName | Dynamic;
607
+ variant?: VariantValue;
608
+ size?: SizeValue;
609
+ disabled?: boolean | Dynamic;
610
+ loading?: boolean;
611
+ pendingLabel?: string;
612
+ submit?: boolean;
613
+ };
614
+ Link: {
615
+ label: string | Dynamic;
616
+ href?: string;
617
+ external?: boolean;
618
+ };
619
+ Toggle: {
620
+ label: string;
621
+ icon?: IconName;
622
+ pressed?: boolean | Dynamic;
623
+ variant?: "default" | "outline";
624
+ size?: ControlSizeValue;
625
+ };
626
+ Form: {
627
+ name: string;
628
+ disabled?: boolean | Dynamic;
629
+ busy?: boolean | Dynamic;
630
+ summary?: boolean;
631
+ };
632
+ FieldGroup: {
633
+ columns?: number;
634
+ };
635
+ FormActions: {
636
+ submit: string | Dynamic;
637
+ cancel?: boolean;
638
+ destructive?: boolean;
639
+ };
640
+ Input: {
641
+ label: string;
642
+ name: string;
643
+ type?: InputTypeValue;
644
+ placeholder?: string;
645
+ value?: string | Dynamic;
646
+ disabled?: boolean;
647
+ checks?: Shapes["check"][];
648
+ validateOn?: ValidateOnValue;
649
+ };
650
+ Textarea: {
651
+ label: string;
652
+ name: string;
653
+ placeholder?: string;
654
+ rows?: number;
655
+ autosize?: boolean;
656
+ maxRows?: number;
657
+ value?: string | Dynamic;
658
+ disabled?: boolean;
659
+ checks?: Shapes["check"][];
660
+ validateOn?: ValidateOnValue;
661
+ };
662
+ NumberField: {
663
+ label: string;
664
+ name: string;
665
+ value?: number | Dynamic;
666
+ min?: number;
667
+ max?: number;
668
+ step?: number;
669
+ precision?: number;
670
+ unit?: string;
671
+ placeholder?: string;
672
+ disabled?: boolean;
673
+ checks?: Shapes["check"][];
674
+ validateOn?: ValidateOnValue;
675
+ };
676
+ Checkbox: {
677
+ label: string | Dynamic;
678
+ name: string;
679
+ checked?: boolean | Dynamic;
680
+ disabled?: boolean;
681
+ checks?: Shapes["check"][];
682
+ };
683
+ Radio: {
684
+ label?: string;
685
+ name: string;
686
+ options: Shapes["option"][];
687
+ value?: string | Dynamic;
688
+ orientation?: OrientationValue;
689
+ checks?: Shapes["check"][];
690
+ };
691
+ ChoiceTiles: {
692
+ name: string;
693
+ options: Shapes["option"][];
694
+ type?: GroupTypeValue;
695
+ value?: string | Dynamic;
696
+ columns?: number;
697
+ disabled?: boolean;
698
+ checks?: Shapes["check"][];
699
+ };
700
+ Switch: {
701
+ label: string | Dynamic;
702
+ name: string;
703
+ checked?: boolean | Dynamic;
704
+ description?: string;
705
+ disabled?: boolean;
706
+ };
707
+ Slider: {
708
+ label?: string;
709
+ min?: number | Dynamic;
710
+ max: number | Dynamic;
711
+ step?: number;
712
+ value?: number | Dynamic;
713
+ };
714
+ Rating: {
715
+ value?: number | Dynamic;
716
+ max?: number;
717
+ readOnly?: boolean;
718
+ size?: ControlSizeValue;
719
+ };
720
+ Select: {
721
+ label?: string;
722
+ name: string;
723
+ options?: Shapes["option"][] | Dynamic;
724
+ source?: string;
725
+ placeholder?: string;
726
+ value?: string | Dynamic;
727
+ multiple?: boolean;
728
+ searchable?: boolean;
729
+ emptyText?: string;
730
+ disabled?: boolean;
731
+ checks?: Shapes["check"][];
732
+ validateOn?: ValidateOnValue;
733
+ };
734
+ SearchList: {
735
+ items: Shapes["searchItem"][] | Dynamic;
736
+ query?: string | Dynamic;
737
+ placeholder?: string;
738
+ value?: string | Dynamic;
739
+ emptyText?: string;
740
+ maxRows?: number;
741
+ showCount?: boolean;
742
+ };
743
+ ChipInput: {
744
+ label?: string;
745
+ name: string;
746
+ values?: string[] | Dynamic;
747
+ suggestions?: Shapes["option"][] | Dynamic;
748
+ placeholder?: string;
749
+ max?: number;
750
+ disabled?: boolean;
751
+ checks?: Shapes["check"][];
752
+ };
753
+ DatePicker: {
754
+ label?: string;
755
+ name: string;
756
+ value?: string | Dynamic;
757
+ min?: string;
758
+ max?: string;
759
+ placeholder?: string;
760
+ firstDayOfWeek?: number;
761
+ };
762
+ DateRangePicker: {
763
+ label?: string;
764
+ name: string;
765
+ start?: string | Dynamic;
766
+ end?: string | Dynamic;
767
+ min?: string;
768
+ max?: string;
769
+ placeholder?: string;
770
+ firstDayOfWeek?: number;
771
+ };
772
+ TimePicker: {
773
+ label?: string;
774
+ name: string;
775
+ value?: string | Dynamic;
776
+ min?: string;
777
+ max?: string;
778
+ step?: number;
779
+ placeholder?: string;
780
+ disabled?: boolean;
781
+ };
782
+ FileUpload: {
783
+ label?: string;
784
+ name: string;
785
+ accept?: string;
786
+ multiple?: boolean;
787
+ maxSize?: number;
788
+ files?: Shapes["file"][] | Dynamic;
789
+ hint?: string;
790
+ disabled?: boolean;
791
+ };
792
+ Composer: {
793
+ placeholder?: string;
794
+ value?: string | Dynamic;
795
+ submitLabel?: string;
796
+ attachments?: boolean;
797
+ busy?: boolean;
798
+ };
799
+ Row: {
800
+ title: string | Dynamic;
801
+ identifier?: string | Dynamic;
802
+ subtitle?: string | Dynamic;
803
+ meta?: string | Dynamic;
804
+ value?: string | Dynamic;
805
+ placeholder?: string;
806
+ icon?: IconName | Dynamic;
807
+ chevron?: RowChevronValue | Dynamic;
808
+ selected?: boolean | Dynamic;
809
+ density?: DensityValue;
810
+ surface?: RowSurfaceValue;
811
+ pressable?: boolean;
812
+ depth?: number;
813
+ };
814
+ TreeGuides: {
815
+ depth: number;
816
+ elbowAt?: number;
817
+ tee?: boolean;
818
+ passThrough?: number[];
819
+ };
820
+ Unknown: {
821
+ component: string;
822
+ catalogId?: string;
823
+ };
824
+ }
825
+ /** A2UI basic component → core component. */
826
+ export declare const BASIC_COMPONENT_MAP: Record<string, string>;
827
+ /** A2UI basic icon name → icons.json name (the placeholder where none exists). */
828
+ export declare const BASIC_ICON_MAP: Record<string, string>;
829
+ export declare const BASIC_PLACEHOLDER_ICON = "ui-icon-placeholder";