@exponential_app/eui 0.0.0-stage → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +54 -0
  3. package/README.md +377 -2
  4. package/catalog/a11y.json +705 -0
  5. package/catalog/basic-map.json +104 -0
  6. package/catalog/code.json +58 -0
  7. package/catalog/core.catalog.json +5190 -0
  8. package/catalog/core.schema.json +24542 -0
  9. package/catalog/host.json +95 -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 +4152 -0
  14. package/catalog/recipes.json +64 -0
  15. package/catalog/strings.json +84 -0
  16. package/catalog/style.json +180 -0
  17. package/catalog/theme.schema.json +47754 -0
  18. package/catalog/tokens.json +47 -0
  19. package/conformance/README.md +218 -0
  20. package/conformance/baseline.ts +101 -0
  21. package/conformance/browser-page.ts +146 -0
  22. package/conformance/browser-suites.ts +699 -0
  23. package/conformance/compare.ts +201 -0
  24. package/conformance/dom.ts +97 -0
  25. package/conformance/dump.ts +163 -0
  26. package/conformance/fonts.json +157 -0
  27. package/conformance/manifest.json +233 -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/conformance/voice-wave-child.ts +102 -0
  36. package/dist/chunks/index-5fmaa0xq.js +8384 -0
  37. package/dist/chunks/index-5fmaa0xq.js.map +10 -0
  38. package/dist/chunks/index-62yzr94z.js +2784 -0
  39. package/dist/chunks/index-62yzr94z.js.map +10 -0
  40. package/dist/chunks/index-bg2jsgjq.js +8541 -0
  41. package/dist/chunks/index-bg2jsgjq.js.map +15 -0
  42. package/dist/chunks/index-fy7y2nz8.js +186 -0
  43. package/dist/chunks/index-fy7y2nz8.js.map +9 -0
  44. package/dist/chunks/index-gtk2gwsb.js +4555 -0
  45. package/dist/chunks/index-gtk2gwsb.js.map +31 -0
  46. package/dist/chunks/index-t6qz1770.js +95 -0
  47. package/dist/chunks/index-t6qz1770.js.map +11 -0
  48. package/dist/conformance.js +230462 -0
  49. package/dist/conformance.js.map +10 -0
  50. package/dist/entries/prompt.js +251 -0
  51. package/dist/entries/prompt.js.map +11 -0
  52. package/dist/entries/schema.js +1725 -0
  53. package/dist/entries/schema.js.map +11 -0
  54. package/dist/host/index.js +194 -0
  55. package/dist/host/index.js.map +9 -0
  56. package/dist/index.js +3851 -0
  57. package/dist/index.js.map +30 -0
  58. package/dist/types/src/a11y.d.ts +21 -0
  59. package/dist/types/src/animation.d.ts +76 -0
  60. package/dist/types/src/basic-map.d.ts +38 -0
  61. package/dist/types/src/builder.d.ts +50 -0
  62. package/dist/types/src/catalog.d.ts +54 -0
  63. package/dist/types/src/catalog.described.d.ts +33 -0
  64. package/dist/types/src/catalog.generated.d.ts +904 -0
  65. package/dist/types/src/chart.d.ts +46 -0
  66. package/dist/types/src/code.d.ts +44 -0
  67. package/dist/types/src/color.d.ts +20 -0
  68. package/dist/types/src/conformance.d.ts +39 -0
  69. package/dist/types/src/connector/app.d.ts +14 -0
  70. package/dist/types/src/connector/connector.d.ts +77 -0
  71. package/dist/types/src/connector/index.d.ts +4 -0
  72. package/dist/types/src/css.d.ts +27 -0
  73. package/dist/types/src/define.d.ts +66 -0
  74. package/dist/types/src/direction.d.ts +16 -0
  75. package/dist/types/src/dynamic.d.ts +161 -0
  76. package/dist/types/src/entries/prompt.d.ts +11 -0
  77. package/dist/types/src/entries/schema.d.ts +8 -0
  78. package/dist/types/src/expr.d.ts +71 -0
  79. package/dist/types/src/extension.d.ts +4 -0
  80. package/dist/types/src/format.d.ts +112 -0
  81. package/dist/types/src/geometry.d.ts +40 -0
  82. package/dist/types/src/host/contract.d.ts +225 -0
  83. package/dist/types/src/host/decoders.d.ts +61 -0
  84. package/dist/types/src/host/index.d.ts +15 -0
  85. package/dist/types/src/host/package.d.ts +102 -0
  86. package/dist/types/src/host/policy.d.ts +107 -0
  87. package/dist/types/src/host/record-store.d.ts +103 -0
  88. package/dist/types/src/host/records.d.ts +45 -0
  89. package/dist/types/src/host/router.d.ts +38 -0
  90. package/dist/types/src/host/runtime.d.ts +213 -0
  91. package/dist/types/src/host/signature.d.ts +52 -0
  92. package/dist/types/src/host/sources.d.ts +22 -0
  93. package/dist/types/src/host/tools.d.ts +42 -0
  94. package/dist/types/src/host/transports.d.ts +109 -0
  95. package/dist/types/src/index.d.ts +70 -0
  96. package/dist/types/src/layout.d.ts +20 -0
  97. package/dist/types/src/limits.d.ts +21 -0
  98. package/dist/types/src/list.d.ts +133 -0
  99. package/dist/types/src/locale.d.ts +22 -0
  100. package/dist/types/src/macros.d.ts +29 -0
  101. package/dist/types/src/overlay.d.ts +27 -0
  102. package/dist/types/src/prompt.d.ts +44 -0
  103. package/dist/types/src/qr-code.d.ts +30 -0
  104. package/dist/types/src/recipes.d.ts +17 -0
  105. package/dist/types/src/reducer.d.ts +41 -0
  106. package/dist/types/src/resizable.d.ts +38 -0
  107. package/dist/types/src/schema.d.ts +7 -0
  108. package/dist/types/src/strings.d.ts +13 -0
  109. package/dist/types/src/style.d.ts +201 -0
  110. package/dist/types/src/test-preload.d.ts +1 -0
  111. package/dist/types/src/text-clusters.d.ts +11 -0
  112. package/dist/types/src/text-shimmer.d.ts +24 -0
  113. package/dist/types/src/theme-types.d.ts +162 -0
  114. package/dist/types/src/theme.d.ts +75 -0
  115. package/dist/types/src/themes.d.ts +22 -0
  116. package/dist/types/src/tree-guides.d.ts +17 -0
  117. package/dist/types/src/types.d.ts +320 -0
  118. package/dist/types/src/validate.d.ts +31 -0
  119. package/dist/types/src/voice-wave.d.ts +181 -0
  120. package/dist/types/src/web/base-css.d.ts +1 -0
  121. package/dist/types/src/web/box-css.d.ts +63 -0
  122. package/dist/types/src/web/coerce.d.ts +32 -0
  123. package/dist/types/src/web/custom-icons.generated.d.ts +4 -0
  124. package/dist/types/src/web/data.d.ts +107 -0
  125. package/dist/types/src/web/dates.d.ts +12 -0
  126. package/dist/types/src/web/form.d.ts +44 -0
  127. package/dist/types/src/web/host-types.d.ts +126 -0
  128. package/dist/types/src/web/index.d.ts +35 -0
  129. package/dist/types/src/web/inputs.d.ts +55 -0
  130. package/dist/types/src/web/list.d.ts +16 -0
  131. package/dist/types/src/web/listbox.d.ts +14 -0
  132. package/dist/types/src/web/markdown.d.ts +96 -0
  133. package/dist/types/src/web/media.d.ts +63 -0
  134. package/dist/types/src/web/parts.d.ts +4 -0
  135. package/dist/types/src/web/primitives/alert-dialog.d.ts +10 -0
  136. package/dist/types/src/web/primitives/alert.d.ts +9 -0
  137. package/dist/types/src/web/primitives/avatar-color.d.ts +2 -0
  138. package/dist/types/src/web/primitives/avatar.d.ts +13 -0
  139. package/dist/types/src/web/primitives/badge.d.ts +10 -0
  140. package/dist/types/src/web/primitives/breadcrumb.d.ts +10 -0
  141. package/dist/types/src/web/primitives/button.d.ts +6 -0
  142. package/dist/types/src/web/primitives/calendar.d.ts +43 -0
  143. package/dist/types/src/web/primitives/card.d.ts +9 -0
  144. package/dist/types/src/web/primitives/checkbox.d.ts +5 -0
  145. package/dist/types/src/web/primitives/choice-tiles.d.ts +32 -0
  146. package/dist/types/src/web/primitives/cn.d.ts +3 -0
  147. package/dist/types/src/web/primitives/code-block.d.ts +24 -0
  148. package/dist/types/src/web/primitives/command.d.ts +134 -0
  149. package/dist/types/src/web/primitives/context-ring.d.ts +24 -0
  150. package/dist/types/src/web/primitives/dialog-arms.d.ts +6 -0
  151. package/dist/types/src/web/primitives/dialog.d.ts +24 -0
  152. package/dist/types/src/web/primitives/disclosure-header.d.ts +5 -0
  153. package/dist/types/src/web/primitives/dock.d.ts +42 -0
  154. package/dist/types/src/web/primitives/dropdown-menu.d.ts +14 -0
  155. package/dist/types/src/web/primitives/empty-state.d.ts +15 -0
  156. package/dist/types/src/web/primitives/glass-card.d.ts +4 -0
  157. package/dist/types/src/web/primitives/hover-card.d.ts +7 -0
  158. package/dist/types/src/web/primitives/icon-disc.d.ts +12 -0
  159. package/dist/types/src/web/primitives/index.d.ts +50 -0
  160. package/dist/types/src/web/primitives/input.d.ts +5 -0
  161. package/dist/types/src/web/primitives/kbd.d.ts +4 -0
  162. package/dist/types/src/web/primitives/label.d.ts +3 -0
  163. package/dist/types/src/web/primitives/measure.d.ts +16 -0
  164. package/dist/types/src/web/primitives/menu-surface.d.ts +17 -0
  165. package/dist/types/src/web/primitives/meter.d.ts +21 -0
  166. package/dist/types/src/web/primitives/popover.d.ts +3 -0
  167. package/dist/types/src/web/primitives/progress-ring.d.ts +5 -0
  168. package/dist/types/src/web/primitives/progress.d.ts +8 -0
  169. package/dist/types/src/web/primitives/scroll-area.d.ts +49 -0
  170. package/dist/types/src/web/primitives/segmented-control.d.ts +5 -0
  171. package/dist/types/src/web/primitives/select.d.ts +47 -0
  172. package/dist/types/src/web/primitives/separator.d.ts +3 -0
  173. package/dist/types/src/web/primitives/sheet-chrome.d.ts +4 -0
  174. package/dist/types/src/web/primitives/sheet.d.ts +20 -0
  175. package/dist/types/src/web/primitives/skeleton.d.ts +3 -0
  176. package/dist/types/src/web/primitives/spinner.d.ts +3 -0
  177. package/dist/types/src/web/primitives/switch.d.ts +4 -0
  178. package/dist/types/src/web/primitives/table.d.ts +11 -0
  179. package/dist/types/src/web/primitives/tabs.d.ts +13 -0
  180. package/dist/types/src/web/primitives/textarea.d.ts +3 -0
  181. package/dist/types/src/web/primitives/toast.d.ts +163 -0
  182. package/dist/types/src/web/primitives/tooltip.d.ts +3 -0
  183. package/dist/types/src/web/primitives/truncate.d.ts +7 -0
  184. package/dist/types/src/web/primitives/typeahead-portal.d.ts +12 -0
  185. package/dist/types/src/web/primitives/voice-wave.d.ts +50 -0
  186. package/dist/types/src/web/round5.d.ts +107 -0
  187. package/dist/types/src/web/share.d.ts +6 -0
  188. package/dist/types/src/web/table.d.ts +20 -0
  189. package/dist/types/src/web/theme-css.d.ts +69 -0
  190. package/dist/types/src/web/urls.d.ts +21 -0
  191. package/dist/web/index.js +2565 -0
  192. package/dist/web/index.js.map +28 -0
  193. package/dist/web/primitives/index.js +1476 -0
  194. package/dist/web/primitives/index.js.map +57 -0
  195. package/docs/components.generated.json +6783 -0
  196. package/docs/package-format.md +182 -0
  197. package/docs/round-1-contract.md +679 -0
  198. package/docs/round-2-contract.md +476 -0
  199. package/docs/round-3-contract.md +174 -0
  200. package/docs/round-5-contract.md +268 -0
  201. package/docs/themes.generated.json +3647 -0
  202. package/fixtures/animations.json +2890 -0
  203. package/fixtures/bench-list.json +58 -0
  204. package/fixtures/bind-time.json +54734 -0
  205. package/fixtures/catalog-basic-map.json +1692 -0
  206. package/fixtures/catalog-components.json +10293 -0
  207. package/fixtures/catalog-extension.json +620 -0
  208. package/fixtures/catalog-macros.json +51805 -0
  209. package/fixtures/code-tokens.json +1993 -0
  210. package/fixtures/conformance-baseline.json +59016 -0
  211. package/fixtures/conformance-cases.json +49 -0
  212. package/fixtures/conformance-known.json +2111 -0
  213. package/fixtures/control-geometry.json +5129 -0
  214. package/fixtures/dashboard.data.json +74 -0
  215. package/fixtures/dashboard.json +781 -0
  216. package/fixtures/demo-surface.json +47 -0
  217. package/fixtures/format.json +870 -0
  218. package/fixtures/host-package.json +1262 -0
  219. package/fixtures/host-policy.json +1209 -0
  220. package/fixtures/host-router.json +2034 -0
  221. package/fixtures/host-transport.json +590 -0
  222. package/fixtures/interactions-round1.json +1058 -0
  223. package/fixtures/kitchen-sink.expanded.json +11972 -0
  224. package/fixtures/kitchen-sink.json +3140 -0
  225. package/fixtures/layout-geometry-round1.json +7278 -0
  226. package/fixtures/layout-geometry.json +2072 -0
  227. package/fixtures/overlay-geometry.json +272 -0
  228. package/fixtures/pointer.json +89 -0
  229. package/fixtures/primitive-specimens.json +59 -0
  230. package/fixtures/prompt-budget.json +33 -0
  231. package/fixtures/qr-code.json +480 -0
  232. package/fixtures/resizable.json +714 -0
  233. package/fixtures/round4-contract.json +2985 -0
  234. package/fixtures/specimens.json +11168 -0
  235. package/fixtures/style-conditions.json +336 -0
  236. package/fixtures/template-items.json +2215 -0
  237. package/fixtures/text-clusters.json +65 -0
  238. package/fixtures/text-direction.json +309 -0
  239. package/fixtures/text-shimmer.json +96 -0
  240. package/fixtures/theme-extends.json +573 -0
  241. package/fixtures/theme-invalid.json +1300 -0
  242. package/fixtures/theme-recipes.json +61762 -0
  243. package/fixtures/theme-resolved.json +25969 -0
  244. package/fixtures/toast-stack.json +215 -0
  245. package/fixtures/tree-guides.json +224 -0
  246. package/fixtures/virtual-list.json +733 -0
  247. package/fixtures/voice-wave.json +19236 -0
  248. package/generated/ExponentialUICatalog.generated.kt +67 -0
  249. package/generated/ExponentialUICatalog.generated.swift +67 -0
  250. package/generated/ExponentialUIThemes.generated.kt +23 -0
  251. package/generated/ExponentialUIThemes.generated.swift +23 -0
  252. package/generated/catalog.descriptions.generated.rs +6 -0
  253. package/generated/catalog.generated.rs +80 -0
  254. package/generated/catalog.themes.generated.rs +34 -0
  255. package/generated/core.descriptions.json +2726 -0
  256. package/generated/core.runtime.json +3944 -0
  257. package/package.json +87 -4
  258. package/themes/exponential.recipes.json +49 -0
  259. package/themes/exponential.theme.json +768 -0
  260. package/themes/neutral.theme.json +6178 -0
  261. package/themes/orange.theme.json +43 -0
  262. package/themes/playful.theme.json +219 -0
  263. package/vendor/a2ui/LICENSE.txt +203 -0
  264. package/vendor/a2ui/README.md +27 -0
  265. package/vendor/a2ui/v0_9/basic_catalog.json +1387 -0
  266. package/vendor/a2ui/v0_9/basic_catalog_rules.txt +5 -0
  267. package/vendor/a2ui/v0_9/client_capabilities.json +97 -0
  268. package/vendor/a2ui/v0_9/client_to_server.json +104 -0
  269. package/vendor/a2ui/v0_9/common_types.json +315 -0
  270. package/vendor/a2ui/v0_9/server_to_client.json +132 -0
  271. package/vendor/json-render/LICENSE.txt +201 -0
  272. package/vendor/json-render/README.md +13 -0
  273. package/vendor/nayuki-qr/LICENSE.txt +20 -0
  274. package/vendor/nayuki-qr/README.md +10 -0
@@ -0,0 +1,904 @@
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", "QrCode", "Carousel", "Tabs", "Segmented", "Accordion", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Stepper", "Dialog", "Drawer", "DockCard", "AlertDialog", "Popover", "Tooltip", "Menu", "Toast", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Spinner", "Skeleton", "VoiceWave", "CallSurface", "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", "QrScanner", "Composer", "Row", "MessageBubble", "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", "QrCode", "Carousel", "Tabs", "Segmented", "Accordion", "Dialog", "Drawer", "Popover", "Tooltip", "Menu", "Toast", "Ring", "Spinner", "Skeleton", "VoiceWave", "Table", "Chart", "Button", "Link", "Toggle", "Form", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "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", "Plan", "Pagination", "Breadcrumb", "Stepper", "DockCard", "AlertDialog", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "CallSurface", "Sparkline", "StatTile", "FieldGroup", "FormActions", "Rating", "Row", "MessageBubble"];
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", "Plan", "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", "MessageBubble"];
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", "done", "skipped"];
61
+ readonly traceSize: readonly ["default", "sm"];
62
+ readonly voiceWaveActivity: readonly ["idle", "listening", "thinking", "speaking", "muted"];
63
+ readonly voiceWaveSize: readonly ["sm", "md", "lg", "xl"];
64
+ readonly messageSide: readonly ["in", "out"];
65
+ readonly messageStatus: readonly ["sending", "sent", "read"];
66
+ readonly callState: readonly ["ringing", "connecting", "talking", "ended"];
67
+ readonly voiceWaveVariant: readonly ["ring", "bars"];
68
+ readonly qrLevel: readonly ["L", "M", "Q", "H"];
69
+ readonly planState: readonly ["proposed", "running", "done", "declined"];
70
+ };
71
+ export type VariantValue = (typeof ENUMS)["variant"][number];
72
+ export type SizeValue = (typeof ENUMS)["size"][number];
73
+ export type ToneValue = (typeof ENUMS)["tone"][number];
74
+ export type GapValue = (typeof ENUMS)["gap"][number];
75
+ export type AlignValue = (typeof ENUMS)["align"][number];
76
+ export type JustifyValue = (typeof ENUMS)["justify"][number];
77
+ export type TextVariantValue = (typeof ENUMS)["textVariant"][number];
78
+ export type HeadingLevelValue = (typeof ENUMS)["headingLevel"][number];
79
+ export type ImageFitValue = (typeof ENUMS)["imageFit"][number];
80
+ export type OrientationValue = (typeof ENUMS)["orientation"][number];
81
+ export type SideValue = (typeof ENUMS)["side"][number];
82
+ export type InputTypeValue = (typeof ENUMS)["inputType"][number];
83
+ export type ValidateOnValue = (typeof ENUMS)["validateOn"][number];
84
+ export type AlertTypeValue = (typeof ENUMS)["alertType"][number];
85
+ export type ControlSizeValue = (typeof ENUMS)["controlSize"][number];
86
+ export type SpinnerSizeValue = (typeof ENUMS)["spinnerSize"][number];
87
+ export type TabClosableValue = (typeof ENUMS)["tabClosable"][number];
88
+ export type GroupTypeValue = (typeof ENUMS)["groupType"][number];
89
+ export type RowChevronValue = (typeof ENUMS)["rowChevron"][number];
90
+ export type RowSurfaceValue = (typeof ENUMS)["rowSurface"][number];
91
+ export type ChipShapeValue = (typeof ENUMS)["chipShape"][number];
92
+ export type DensityValue = (typeof ENUMS)["density"][number];
93
+ export type ListDirectionValue = (typeof ENUMS)["listDirection"][number];
94
+ export type ChartKindValue = (typeof ENUMS)["chartKind"][number];
95
+ export type SegmentedVariantValue = (typeof ENUMS)["segmentedVariant"][number];
96
+ export type LiveToneValue = (typeof ENUMS)["liveTone"][number];
97
+ export type MenuItemKindValue = (typeof ENUMS)["menuItemKind"][number];
98
+ export type OpenOnValue = (typeof ENUMS)["openOn"][number];
99
+ export type MenuOpenOnValue = (typeof ENUMS)["menuOpenOn"][number];
100
+ export type LiveValue = (typeof ENUMS)["live"][number];
101
+ export type SelectableValue = (typeof ENUMS)["selectable"][number];
102
+ export type CellTypeValue = (typeof ENUMS)["cellType"][number];
103
+ export type SortDirectionValue = (typeof ENUMS)["sortDirection"][number];
104
+ export type ImageLoadingValue = (typeof ENUMS)["imageLoading"][number];
105
+ export type ScrollDirectionValue = (typeof ENUMS)["scrollDirection"][number];
106
+ export type CollapseBelowValue = (typeof ENUMS)["collapseBelow"][number];
107
+ export type CodeLanguageValue = (typeof ENUMS)["codeLanguage"][number];
108
+ export type CodeTokenValue = (typeof ENUMS)["codeToken"][number];
109
+ export type CodeBlockVariantValue = (typeof ENUMS)["codeBlockVariant"][number];
110
+ export type CodeBlockSizeValue = (typeof ENUMS)["codeBlockSize"][number];
111
+ export type TraceStatusValue = (typeof ENUMS)["traceStatus"][number];
112
+ export type TraceSizeValue = (typeof ENUMS)["traceSize"][number];
113
+ export type VoiceWaveActivityValue = (typeof ENUMS)["voiceWaveActivity"][number];
114
+ export type VoiceWaveSizeValue = (typeof ENUMS)["voiceWaveSize"][number];
115
+ export type MessageSideValue = (typeof ENUMS)["messageSide"][number];
116
+ export type MessageStatusValue = (typeof ENUMS)["messageStatus"][number];
117
+ export type CallStateValue = (typeof ENUMS)["callState"][number];
118
+ export type VoiceWaveVariantValue = (typeof ENUMS)["voiceWaveVariant"][number];
119
+ export type QrLevelValue = (typeof ENUMS)["qrLevel"][number];
120
+ export type PlanStateValue = (typeof ENUMS)["planState"][number];
121
+ /** Token NAMES by group (values come from a theme). */
122
+ export declare const TOKEN_NAMES: {
123
+ 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"];
124
+ readonly spacing: readonly ["none", "xxs", "xs", "sm", "md", "lg", "xl", "xl2", "xl3"];
125
+ readonly radius: readonly ["none", "sm", "md", "lg", "xl", "xl2", "xl3", "full"];
126
+ readonly "type.size": readonly ["xs", "sm", "base", "lg", "xl", "xl2", "xl3"];
127
+ readonly "type.lineHeight": readonly ["xs", "sm", "base", "lg", "xl", "xl2", "xl3"];
128
+ readonly "type.weight": readonly ["regular", "medium", "semibold", "bold"];
129
+ readonly "type.family": readonly ["sans", "mono", "serif"];
130
+ 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"];
131
+ readonly shadow: readonly ["none", "sm", "md", "lg", "xl"];
132
+ readonly opacity: readonly ["primary", "secondary", "tertiary", "quaternary", "disabled"];
133
+ readonly border: readonly ["none", "hairline", "thick"];
134
+ readonly motion: readonly ["fast", "standard", "slow"];
135
+ readonly breakpoint: readonly ["sm", "md", "lg", "xl"];
136
+ readonly ease: readonly ["standard", "decelerate", "accelerate"];
137
+ readonly density: readonly ["compact", "comfortable"];
138
+ readonly blur: readonly ["sm", "md", "lg", "xl"];
139
+ readonly scale: readonly ["press", "popoverFrom"];
140
+ };
141
+ export type TokenGroup = keyof typeof TOKEN_NAMES;
142
+ 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"];
143
+ export declare const STYLE_STATE_NAMES: readonly [":hover", ":focus-visible", ":pressed"];
144
+ /** The Icon prop's vocabulary: packages/icons/icons.json at generate time. */
145
+ 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", "archive-restore", "arrow-down", "arrow-down-left", "arrow-left", "arrow-left-right", "arrow-right", "arrow-up-right", "at-sign", "atom", "audio-lines", "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", "call-end", "call-incoming", "call-mute", "call-speaker", "call-speaker-off", "call-unmute", "camera", "car", "chart-line", "check", "check-check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-up-down", "circle", "circle-arrow-up", "circle-check", "circle-dashed", "circle-dot", "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", "ear", "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", "hand", "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", "mail-open", "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", "mic-off", "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", "phone-incoming", "phone-off", "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", "qr-code", "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", "scan-line", "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-voice", "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", "square-check", "square-kanban", "square-minus", "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", "thread-stories", "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-hold", "ui-icon-placeholder", "ui-indeterminate", "ui-info", "ui-invite", "ui-issue", "ui-link", "ui-loading", "ui-mail", "ui-mark-read", "ui-mark-unread", "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-qr-code", "ui-queued", "ui-read", "ui-redock", "ui-refresh", "ui-remove-member", "ui-repeat", "ui-repository", "ui-scan", "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-unarchive", "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", "voice-call", "voice-level", "volume-1", "volume-2", "volume-off", "volume-x", "wallet", "wifi-off", "work-faces", "work-results", "workflow", "wrench", "x", "zap"];
146
+ 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", "bind"];
147
+ /** VAPP-108: the typed authoring surface (src/define.ts). A ~ prop also
148
+ * takes a binding or a call, a ^ prop a per-breakpoint object. */
149
+ export type Dynamic = DataBinding | FunctionCall;
150
+ export type Responsive<T> = {
151
+ base: T;
152
+ sm?: T;
153
+ md?: T;
154
+ lg?: T;
155
+ xl?: T;
156
+ };
157
+ export type IconName = (typeof ICON_NAMES)[number];
158
+ /** The shared shapes (catalog `defs`). */
159
+ export interface Shapes {
160
+ option: {
161
+ label: string | Dynamic;
162
+ value: string;
163
+ icon?: IconName;
164
+ disabled?: boolean;
165
+ description?: string;
166
+ image?: string;
167
+ count?: number | Dynamic;
168
+ };
169
+ check: {
170
+ condition: boolean | Dynamic;
171
+ message: string;
172
+ };
173
+ tab: {
174
+ label: string | Dynamic;
175
+ value: string;
176
+ icon?: IconName;
177
+ count?: number;
178
+ };
179
+ menuItem: {
180
+ label?: string;
181
+ value?: string;
182
+ kind?: MenuItemKindValue;
183
+ icon?: IconName;
184
+ shortcut?: string;
185
+ checked?: boolean | Dynamic;
186
+ destructive?: boolean;
187
+ disabled?: boolean;
188
+ items?: Shapes["menuItem"][] | Dynamic;
189
+ searchable?: boolean;
190
+ placeholder?: string;
191
+ };
192
+ searchItem: {
193
+ label: string | Dynamic;
194
+ value: string;
195
+ icon?: IconName;
196
+ identifier?: string;
197
+ disabled?: boolean;
198
+ };
199
+ accordionItem: {
200
+ title: string | Dynamic;
201
+ value: string;
202
+ count?: number;
203
+ };
204
+ segment: {
205
+ value: number;
206
+ tone?: ToneValue;
207
+ label?: string;
208
+ };
209
+ series: {
210
+ name: string;
211
+ values: number[];
212
+ tone?: ToneValue;
213
+ };
214
+ pageItem: {
215
+ title?: string;
216
+ };
217
+ step: {
218
+ label: string;
219
+ description?: string;
220
+ };
221
+ column: {
222
+ key: string;
223
+ label: string;
224
+ type?: CellTypeValue;
225
+ slot?: string;
226
+ width?: number;
227
+ align?: "start" | "center" | "end";
228
+ sortable?: boolean;
229
+ currency?: string;
230
+ decimals?: number;
231
+ };
232
+ sort: {
233
+ key: string;
234
+ direction: SortDirectionValue;
235
+ };
236
+ panel: {
237
+ min?: number;
238
+ max?: number;
239
+ collapsible?: boolean;
240
+ };
241
+ file: {
242
+ name: string;
243
+ size?: number;
244
+ type?: string;
245
+ url?: string;
246
+ };
247
+ planStep: {
248
+ title: string;
249
+ detail?: string;
250
+ icon?: IconName;
251
+ status?: TraceStatusValue;
252
+ };
253
+ }
254
+ /** Every component's props, by name. */
255
+ export interface ComponentProps {
256
+ Box: {
257
+ style?: Style;
258
+ pressable?: boolean;
259
+ };
260
+ Stack: {
261
+ direction?: OrientationValue | Responsive<OrientationValue> | Dynamic;
262
+ gap?: GapValue | Responsive<GapValue>;
263
+ align?: AlignValue | Responsive<AlignValue> | Dynamic;
264
+ justify?: JustifyValue | Responsive<JustifyValue> | Dynamic;
265
+ wrap?: boolean | Responsive<boolean>;
266
+ style?: Style;
267
+ };
268
+ Grid: {
269
+ columns?: number | Responsive<number>;
270
+ gap?: GapValue | Responsive<GapValue>;
271
+ style?: Style;
272
+ };
273
+ Card: {
274
+ title?: string;
275
+ description?: string;
276
+ padded?: boolean;
277
+ style?: Style;
278
+ };
279
+ Separator: {
280
+ orientation?: OrientationValue;
281
+ };
282
+ List: {
283
+ direction?: ListDirectionValue;
284
+ gap?: GapValue;
285
+ divided?: boolean;
286
+ sectionBy?: string;
287
+ stickyHeaders?: boolean;
288
+ style?: Style;
289
+ };
290
+ Resizable: {
291
+ direction?: OrientationValue | Responsive<OrientationValue>;
292
+ sizes?: number[] | Dynamic;
293
+ panels?: Shapes["panel"][];
294
+ handle?: boolean;
295
+ style?: Style;
296
+ };
297
+ ScrollArea: {
298
+ direction?: ScrollDirectionValue;
299
+ maxHeight?: number;
300
+ style?: Style;
301
+ };
302
+ Sidebar: {
303
+ side?: "left" | "right";
304
+ width?: number;
305
+ collapseBelow?: CollapseBelowValue;
306
+ collapsed?: boolean | Dynamic;
307
+ };
308
+ SplitView: {
309
+ open?: boolean | Dynamic;
310
+ width?: number;
311
+ };
312
+ AppBar: {
313
+ title: string | Dynamic;
314
+ subtitle?: string | Dynamic;
315
+ back?: boolean;
316
+ };
317
+ Page: {
318
+ title: string | Dynamic;
319
+ subtitle?: string | Dynamic;
320
+ back?: boolean;
321
+ padded?: boolean;
322
+ };
323
+ Toolbar: {
324
+ gap?: GapValue;
325
+ };
326
+ Section: {
327
+ title?: string | Dynamic;
328
+ caption?: string | Dynamic;
329
+ count?: number | Dynamic;
330
+ icon?: IconName;
331
+ collapsible?: boolean;
332
+ open?: boolean | Dynamic;
333
+ tint?: ToneValue;
334
+ tree?: boolean;
335
+ loading?: boolean | Dynamic;
336
+ style?: Style;
337
+ };
338
+ Group: {
339
+ title?: string;
340
+ footer?: string;
341
+ };
342
+ Text: {
343
+ text: string | Dynamic;
344
+ variant?: TextVariantValue;
345
+ align?: "start" | "center" | "end";
346
+ lines?: number;
347
+ tone?: ToneValue;
348
+ shimmer?: boolean;
349
+ live?: LiveValue;
350
+ style?: Style;
351
+ };
352
+ Heading: {
353
+ text: string | Dynamic;
354
+ level?: HeadingLevelValue;
355
+ };
356
+ Markdown: {
357
+ text: string | Dynamic;
358
+ lines?: number;
359
+ style?: Style;
360
+ };
361
+ CodeBlock: {
362
+ code: string | Dynamic;
363
+ language?: CodeLanguageValue;
364
+ title?: string;
365
+ lineNumbers?: boolean;
366
+ wrap?: boolean;
367
+ copyable?: boolean;
368
+ highlight?: number[];
369
+ maxLines?: number;
370
+ variant?: CodeBlockVariantValue | Dynamic;
371
+ size?: CodeBlockSizeValue;
372
+ };
373
+ Kbd: {
374
+ keys: string;
375
+ };
376
+ Label: {
377
+ text: string | Dynamic;
378
+ for?: string;
379
+ required?: boolean;
380
+ };
381
+ Image: {
382
+ src?: string | Dynamic;
383
+ alt: string | Dynamic;
384
+ fit?: ImageFitValue;
385
+ width?: number;
386
+ height?: number;
387
+ aspectRatio?: number;
388
+ fallback?: IconName;
389
+ loading?: ImageLoadingValue;
390
+ focalX?: number;
391
+ focalY?: number;
392
+ style?: Style;
393
+ };
394
+ Icon: {
395
+ name: IconName | Dynamic;
396
+ size?: ControlSizeValue;
397
+ tone?: ToneValue | Dynamic;
398
+ label?: string;
399
+ };
400
+ Video: {
401
+ src: string | Dynamic;
402
+ poster?: string;
403
+ durationMs?: number;
404
+ autoplay?: boolean;
405
+ aspectRatio?: number;
406
+ style?: Style;
407
+ };
408
+ AudioPlayer: {
409
+ src: string | Dynamic;
410
+ title?: string;
411
+ durationMs?: number;
412
+ };
413
+ Avatar: {
414
+ name: string | Dynamic;
415
+ src?: string | Dynamic;
416
+ size?: ControlSizeValue;
417
+ seed?: string;
418
+ };
419
+ QrCode: {
420
+ value: string | Dynamic;
421
+ size?: number;
422
+ level?: QrLevelValue;
423
+ label?: string;
424
+ };
425
+ Carousel: {
426
+ page?: number | Dynamic;
427
+ loop?: boolean;
428
+ indicators?: boolean;
429
+ };
430
+ Tabs: {
431
+ tabs: Shapes["tab"][];
432
+ value?: string | Dynamic;
433
+ fill?: boolean;
434
+ closable?: TabClosableValue;
435
+ addable?: boolean;
436
+ };
437
+ Segmented: {
438
+ items: Shapes["option"][];
439
+ type?: GroupTypeValue;
440
+ value?: string | Dynamic;
441
+ variant?: SegmentedVariantValue;
442
+ size?: ControlSizeValue;
443
+ fill?: boolean;
444
+ orientation?: OrientationValue;
445
+ };
446
+ Accordion: {
447
+ items: Shapes["accordionItem"][];
448
+ type?: GroupTypeValue;
449
+ value?: string | Dynamic;
450
+ };
451
+ Collapsible: {
452
+ title: string;
453
+ open?: boolean | Dynamic;
454
+ count?: number;
455
+ };
456
+ Trace: {
457
+ size?: TraceSizeValue;
458
+ };
459
+ TraceItem: {
460
+ title: string | Dynamic;
461
+ icon?: IconName;
462
+ description?: string;
463
+ status?: TraceStatusValue;
464
+ size?: TraceSizeValue;
465
+ collapsible?: boolean;
466
+ open?: boolean | Dynamic;
467
+ };
468
+ Plan: {
469
+ title: string | Dynamic;
470
+ description?: string | Dynamic;
471
+ steps?: Shapes["planStep"][];
472
+ state?: PlanStateValue | Dynamic;
473
+ progress?: number | Dynamic;
474
+ approveLabel?: string;
475
+ declineLabel?: string;
476
+ stopLabel?: string;
477
+ };
478
+ Pagination: {
479
+ totalPages: number;
480
+ page?: number | Dynamic;
481
+ };
482
+ Breadcrumb: {
483
+ items: Shapes["option"][];
484
+ };
485
+ Stepper: {
486
+ steps: Shapes["step"][];
487
+ current?: number | Dynamic;
488
+ orientation?: OrientationValue;
489
+ };
490
+ Dialog: {
491
+ title?: string;
492
+ description?: string;
493
+ open?: boolean | Dynamic;
494
+ dismissible?: boolean;
495
+ };
496
+ Drawer: {
497
+ title?: string;
498
+ description?: string;
499
+ open?: boolean | Dynamic;
500
+ side?: SideValue | Responsive<SideValue>;
501
+ dismissible?: boolean;
502
+ dragToDismiss?: boolean;
503
+ };
504
+ DockCard: {
505
+ label: string | Dynamic;
506
+ title: string | Dynamic;
507
+ caption?: string | Dynamic;
508
+ meta?: string | Dynamic;
509
+ icon?: IconName;
510
+ tone?: ToneValue;
511
+ open?: boolean | Dynamic;
512
+ };
513
+ AlertDialog: {
514
+ title: string;
515
+ description?: string;
516
+ confirmLabel?: string;
517
+ cancelLabel?: string;
518
+ destructive?: boolean;
519
+ open?: boolean | Dynamic;
520
+ };
521
+ Popover: {
522
+ open?: boolean | Dynamic;
523
+ side?: SideValue;
524
+ openOn?: OpenOnValue;
525
+ };
526
+ Tooltip: {
527
+ content: string;
528
+ side?: SideValue;
529
+ };
530
+ Menu: {
531
+ label?: string;
532
+ icon?: IconName;
533
+ items: Shapes["menuItem"][];
534
+ openOn?: MenuOpenOnValue;
535
+ };
536
+ Toast: {
537
+ title: string | Dynamic;
538
+ description?: string | Dynamic;
539
+ type?: AlertTypeValue;
540
+ open?: boolean | Dynamic;
541
+ duration?: number;
542
+ actionLabel?: string;
543
+ dismissible?: boolean;
544
+ };
545
+ Badge: {
546
+ text: string | Dynamic;
547
+ variant?: VariantValue | Dynamic;
548
+ icon?: IconName;
549
+ };
550
+ Alert: {
551
+ title: string;
552
+ message?: string;
553
+ type?: AlertTypeValue;
554
+ };
555
+ Chip: {
556
+ label: string | Dynamic;
557
+ shape?: ChipShapeValue;
558
+ selected?: boolean;
559
+ tone?: ToneValue | Dynamic;
560
+ dot?: string;
561
+ icon?: IconName;
562
+ image?: string;
563
+ detail?: string;
564
+ removable?: boolean;
565
+ pressable?: boolean;
566
+ };
567
+ EmptyState: {
568
+ icon: IconName;
569
+ title: string;
570
+ description?: string;
571
+ actionLabel?: string;
572
+ size?: "page" | "list";
573
+ };
574
+ Progress: {
575
+ value: number | Dynamic;
576
+ max?: number;
577
+ label?: string;
578
+ tone?: ToneValue;
579
+ };
580
+ Meter: {
581
+ segments: Shapes["segment"][];
582
+ max?: number;
583
+ label?: string;
584
+ value?: string;
585
+ };
586
+ Ring: {
587
+ value: number | Dynamic;
588
+ size?: ControlSizeValue;
589
+ tone?: ToneValue;
590
+ label?: string;
591
+ };
592
+ Spinner: {
593
+ size?: SpinnerSizeValue;
594
+ label?: string;
595
+ };
596
+ Skeleton: {
597
+ width?: string;
598
+ height?: string;
599
+ rounded?: boolean;
600
+ rows?: number;
601
+ rowHeight?: number;
602
+ dot?: boolean;
603
+ };
604
+ VoiceWave: {
605
+ activity?: VoiceWaveActivityValue | Dynamic;
606
+ variant?: VoiceWaveVariantValue;
607
+ level?: number | Dynamic;
608
+ bands?: number[] | Dynamic;
609
+ size?: VoiceWaveSizeValue;
610
+ label?: string;
611
+ };
612
+ CallSurface: {
613
+ name: string | Dynamic;
614
+ avatar?: string | Dynamic;
615
+ state?: CallStateValue | Dynamic;
616
+ activity?: VoiceWaveActivityValue | Dynamic;
617
+ level?: number | Dynamic;
618
+ bands?: number[] | Dynamic;
619
+ status?: string | Dynamic;
620
+ caption?: string | Dynamic;
621
+ muted?: boolean | Dynamic;
622
+ speaker?: boolean | Dynamic;
623
+ };
624
+ Table: {
625
+ columns: Shapes["column"][];
626
+ rows: Record<string, unknown>[] | Dynamic;
627
+ rowKey?: string;
628
+ sort?: Shapes["sort"] | Dynamic;
629
+ selectable?: SelectableValue;
630
+ selected?: string[] | Dynamic;
631
+ caption?: string;
632
+ emptyText?: string;
633
+ striped?: boolean;
634
+ density?: DensityValue;
635
+ stickyHeader?: boolean;
636
+ };
637
+ Chart: {
638
+ kind: ChartKindValue;
639
+ categories?: string[] | Dynamic;
640
+ series: Shapes["series"][] | Dynamic;
641
+ title?: string;
642
+ height?: number;
643
+ xLabel?: string;
644
+ yLabel?: string;
645
+ min?: number;
646
+ max?: number;
647
+ showAxes?: boolean;
648
+ showGrid?: boolean;
649
+ showLegend?: boolean;
650
+ showValues?: boolean;
651
+ };
652
+ Sparkline: {
653
+ values: number[] | Dynamic;
654
+ tone?: ToneValue;
655
+ height?: number;
656
+ };
657
+ StatTile: {
658
+ label: string | Dynamic;
659
+ value: string | Dynamic;
660
+ delta?: string | Dynamic;
661
+ tone?: ToneValue | Dynamic;
662
+ trend?: number[] | Dynamic;
663
+ };
664
+ Button: {
665
+ label?: string | Dynamic;
666
+ icon?: IconName | Dynamic;
667
+ variant?: VariantValue;
668
+ size?: SizeValue;
669
+ disabled?: boolean | Dynamic;
670
+ loading?: boolean;
671
+ pendingLabel?: string;
672
+ submit?: boolean;
673
+ hold?: boolean;
674
+ holdingLabel?: string;
675
+ };
676
+ Link: {
677
+ label: string | Dynamic;
678
+ href?: string;
679
+ external?: boolean;
680
+ };
681
+ Toggle: {
682
+ label: string;
683
+ icon?: IconName;
684
+ pressed?: boolean | Dynamic;
685
+ variant?: "default" | "outline";
686
+ size?: ControlSizeValue;
687
+ };
688
+ Form: {
689
+ name: string;
690
+ disabled?: boolean | Dynamic;
691
+ busy?: boolean | Dynamic;
692
+ summary?: boolean;
693
+ };
694
+ FieldGroup: {
695
+ columns?: number;
696
+ };
697
+ FormActions: {
698
+ submit: string | Dynamic;
699
+ cancel?: boolean;
700
+ destructive?: boolean;
701
+ };
702
+ Input: {
703
+ label: string;
704
+ name: string;
705
+ type?: InputTypeValue;
706
+ placeholder?: string;
707
+ value?: string | Dynamic;
708
+ disabled?: boolean;
709
+ checks?: Shapes["check"][];
710
+ validateOn?: ValidateOnValue;
711
+ };
712
+ Textarea: {
713
+ label: string;
714
+ name: string;
715
+ placeholder?: string;
716
+ rows?: number;
717
+ autosize?: boolean;
718
+ maxRows?: number;
719
+ value?: string | Dynamic;
720
+ disabled?: boolean;
721
+ checks?: Shapes["check"][];
722
+ validateOn?: ValidateOnValue;
723
+ };
724
+ NumberField: {
725
+ label: string;
726
+ name: string;
727
+ value?: number | Dynamic;
728
+ min?: number;
729
+ max?: number;
730
+ step?: number;
731
+ precision?: number;
732
+ unit?: string;
733
+ placeholder?: string;
734
+ disabled?: boolean;
735
+ checks?: Shapes["check"][];
736
+ validateOn?: ValidateOnValue;
737
+ };
738
+ Checkbox: {
739
+ label: string | Dynamic;
740
+ name: string;
741
+ checked?: boolean | Dynamic;
742
+ disabled?: boolean;
743
+ checks?: Shapes["check"][];
744
+ };
745
+ Radio: {
746
+ label?: string;
747
+ name: string;
748
+ options: Shapes["option"][];
749
+ value?: string | Dynamic;
750
+ orientation?: OrientationValue;
751
+ checks?: Shapes["check"][];
752
+ };
753
+ ChoiceTiles: {
754
+ name: string;
755
+ options: Shapes["option"][];
756
+ type?: GroupTypeValue;
757
+ value?: string | Dynamic;
758
+ columns?: number;
759
+ disabled?: boolean;
760
+ checks?: Shapes["check"][];
761
+ };
762
+ Switch: {
763
+ label: string | Dynamic;
764
+ name: string;
765
+ checked?: boolean | Dynamic;
766
+ description?: string;
767
+ disabled?: boolean;
768
+ };
769
+ Slider: {
770
+ label?: string;
771
+ min?: number | Dynamic;
772
+ max: number | Dynamic;
773
+ step?: number;
774
+ value?: number | Dynamic;
775
+ };
776
+ Rating: {
777
+ value?: number | Dynamic;
778
+ max?: number;
779
+ readOnly?: boolean;
780
+ size?: ControlSizeValue;
781
+ };
782
+ Select: {
783
+ label?: string;
784
+ name: string;
785
+ options?: Shapes["option"][] | Dynamic;
786
+ source?: string;
787
+ placeholder?: string;
788
+ value?: string | Dynamic;
789
+ multiple?: boolean;
790
+ searchable?: boolean;
791
+ emptyText?: string;
792
+ disabled?: boolean;
793
+ checks?: Shapes["check"][];
794
+ validateOn?: ValidateOnValue;
795
+ };
796
+ SearchList: {
797
+ items: Shapes["searchItem"][] | Dynamic;
798
+ query?: string | Dynamic;
799
+ placeholder?: string;
800
+ value?: string | Dynamic;
801
+ emptyText?: string;
802
+ maxRows?: number;
803
+ showCount?: boolean;
804
+ };
805
+ ChipInput: {
806
+ label?: string;
807
+ name: string;
808
+ values?: string[] | Dynamic;
809
+ suggestions?: Shapes["option"][] | Dynamic;
810
+ placeholder?: string;
811
+ max?: number;
812
+ disabled?: boolean;
813
+ checks?: Shapes["check"][];
814
+ };
815
+ DatePicker: {
816
+ label?: string;
817
+ name: string;
818
+ value?: string | Dynamic;
819
+ min?: string;
820
+ max?: string;
821
+ placeholder?: string;
822
+ firstDayOfWeek?: number;
823
+ };
824
+ DateRangePicker: {
825
+ label?: string;
826
+ name: string;
827
+ start?: string | Dynamic;
828
+ end?: string | Dynamic;
829
+ min?: string;
830
+ max?: string;
831
+ placeholder?: string;
832
+ firstDayOfWeek?: number;
833
+ };
834
+ TimePicker: {
835
+ label?: string;
836
+ name: string;
837
+ value?: string | Dynamic;
838
+ min?: string;
839
+ max?: string;
840
+ step?: number;
841
+ placeholder?: string;
842
+ disabled?: boolean;
843
+ };
844
+ FileUpload: {
845
+ label?: string;
846
+ name: string;
847
+ accept?: string;
848
+ multiple?: boolean;
849
+ maxSize?: number;
850
+ files?: Shapes["file"][] | Dynamic;
851
+ hint?: string;
852
+ disabled?: boolean;
853
+ };
854
+ QrScanner: {
855
+ hint?: string | Dynamic;
856
+ formats?: string[];
857
+ label?: string;
858
+ disabled?: boolean;
859
+ };
860
+ Composer: {
861
+ placeholder?: string;
862
+ value?: string | Dynamic;
863
+ submitLabel?: string;
864
+ attachments?: boolean;
865
+ busy?: boolean;
866
+ };
867
+ Row: {
868
+ title: string | Dynamic;
869
+ identifier?: string | Dynamic;
870
+ subtitle?: string | Dynamic;
871
+ meta?: string | Dynamic;
872
+ value?: string | Dynamic;
873
+ placeholder?: string;
874
+ icon?: IconName | Dynamic;
875
+ chevron?: RowChevronValue | Dynamic;
876
+ selected?: boolean | Dynamic;
877
+ density?: DensityValue;
878
+ surface?: RowSurfaceValue;
879
+ pressable?: boolean;
880
+ depth?: number;
881
+ };
882
+ MessageBubble: {
883
+ text: string | Dynamic;
884
+ side?: MessageSideValue;
885
+ time?: string | Dynamic;
886
+ status?: MessageStatusValue | Dynamic;
887
+ author?: string | Dynamic;
888
+ };
889
+ TreeGuides: {
890
+ depth: number;
891
+ elbowAt?: number;
892
+ tee?: boolean;
893
+ passThrough?: number[];
894
+ };
895
+ Unknown: {
896
+ component: string;
897
+ catalogId?: string;
898
+ };
899
+ }
900
+ /** A2UI basic component → core component. */
901
+ export declare const BASIC_COMPONENT_MAP: Record<string, string>;
902
+ /** A2UI basic icon name → icons.json name (the placeholder where none exists). */
903
+ export declare const BASIC_ICON_MAP: Record<string, string>;
904
+ export declare const BASIC_PLACEHOLDER_ICON = "ui-icon-placeholder";