@mich8060/unified-design-system 0.2.13 → 0.2.15

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 (385) hide show
  1. package/dist/ai/discovery.json +41 -0
  2. package/dist/ai/examples/index.cjs +1 -0
  3. package/dist/ai/examples/index.js +1 -0
  4. package/dist/ai/examples/training.examples.cjs +1 -0
  5. package/dist/ai/examples/training.examples.js +1 -0
  6. package/dist/ai/figma-make.contract.json +178 -0
  7. package/dist/ai/figma-make.md +50 -0
  8. package/dist/ai/icons/catalog.json +76 -0
  9. package/dist/ai/index.cjs +1 -1
  10. package/dist/ai/index.js +1 -1
  11. package/dist/ai/manifest/components.manifest.cjs +1 -1
  12. package/dist/ai/manifest/components.manifest.js +1 -1
  13. package/dist/ai/manifest/composition.manifest.cjs +1 -0
  14. package/dist/ai/manifest/composition.manifest.js +1 -0
  15. package/dist/ai/manifest/governance.manifest.cjs +1 -1
  16. package/dist/ai/manifest/governance.manifest.js +1 -1
  17. package/dist/ai/manifest/index.cjs +1 -0
  18. package/dist/ai/manifest/index.js +1 -0
  19. package/dist/ai/manifest/intent-mappings.manifest.cjs +1 -0
  20. package/dist/ai/manifest/intent-mappings.manifest.js +1 -0
  21. package/dist/ai/manifest/layout.manifest.cjs +1 -1
  22. package/dist/ai/manifest/layout.manifest.js +1 -1
  23. package/dist/ai/manifest/prop-aliases.manifest.cjs +1 -0
  24. package/dist/ai/manifest/prop-aliases.manifest.js +1 -0
  25. package/dist/ai/manifest/system.manifest.cjs +1 -1
  26. package/dist/ai/manifest/system.manifest.js +1 -1
  27. package/dist/ai/manifest.json +3165 -0
  28. package/dist/ai/policies/policy.engine.cjs +1 -1
  29. package/dist/ai/policies/policy.engine.js +1 -1
  30. package/dist/ai/policies/rules/composition.rules.cjs +1 -1
  31. package/dist/ai/policies/rules/composition.rules.js +1 -1
  32. package/dist/ai/policies/rules/props.rules.cjs +1 -0
  33. package/dist/ai/policies/rules/props.rules.js +1 -0
  34. package/dist/ai/policies/rules/tailwind.rules.cjs +1 -0
  35. package/dist/ai/policies/rules/tailwind.rules.js +1 -0
  36. package/dist/ai/policies/rules/token-variable.rules.cjs +1 -0
  37. package/dist/ai/policies/rules/token-variable.rules.js +1 -0
  38. package/dist/ai/prompts/figma-make.prompt.md +48 -0
  39. package/dist/ai/schemas/ai-output.schema.json +71 -0
  40. package/dist/ai/sdk/index.cjs +1 -0
  41. package/dist/ai/sdk/index.js +1 -0
  42. package/dist/ai/sdk/runtime-sdk.cjs +2 -0
  43. package/dist/ai/sdk/runtime-sdk.js +2 -0
  44. package/dist/ai/templates/layouts.json +416 -0
  45. package/dist/ai/validation/deterministicFeedback.cjs +1 -0
  46. package/dist/ai/validation/deterministicFeedback.js +1 -0
  47. package/dist/ai/validation/driftDetection.cjs +1 -1
  48. package/dist/ai/validation/driftDetection.js +1 -1
  49. package/dist/ai/validation/index.cjs +1 -0
  50. package/dist/ai/validation/index.js +1 -0
  51. package/dist/ai/validation/validateAIOutput.cjs +1 -1
  52. package/dist/ai/validation/validateAIOutput.js +1 -1
  53. package/dist/app-shell/AppShell.d.ts +8 -0
  54. package/dist/charts/BizChartsAdapters.cjs +1 -0
  55. package/dist/charts/BizChartsAdapters.js +1 -0
  56. package/dist/charts-bizcharts/index.cjs +1 -0
  57. package/dist/charts-bizcharts/index.js +1 -0
  58. package/dist/components/Breadcrumb/Breadcrumb.cjs +1 -1
  59. package/dist/components/Breadcrumb/Breadcrumb.js +1 -1
  60. package/dist/components/Button/Button.cjs +1 -1
  61. package/dist/components/Button/Button.js +1 -1
  62. package/dist/components/ButtonGroup/ButtonGroup.cjs +1 -0
  63. package/dist/components/ButtonGroup/ButtonGroup.js +1 -0
  64. package/dist/components/CheckboxGroup/CheckboxGroup.cjs +1 -0
  65. package/dist/components/CheckboxGroup/CheckboxGroup.js +1 -0
  66. package/dist/components/Checklist/Checklist.cjs +1 -0
  67. package/dist/components/Checklist/Checklist.js +1 -0
  68. package/dist/components/Chip/Chip.cjs +1 -1
  69. package/dist/components/Chip/Chip.js +1 -1
  70. package/dist/components/CurrencyInput/CurrencyInput.cjs +1 -0
  71. package/dist/components/CurrencyInput/CurrencyInput.js +1 -0
  72. package/dist/components/DateInput/DateInput.cjs +1 -0
  73. package/dist/components/DateInput/DateInput.js +1 -0
  74. package/dist/components/DateRangeInput/DateRangeInput.cjs +1 -0
  75. package/dist/components/DateRangeInput/DateRangeInput.js +1 -0
  76. package/dist/components/Dialog/Dialog.cjs +1 -1
  77. package/dist/components/Dialog/Dialog.js +1 -1
  78. package/dist/components/DotStatus/DotStatus.cjs +1 -1
  79. package/dist/components/DotStatus/DotStatus.js +1 -1
  80. package/dist/components/EmptyState/EmptyState.cjs +1 -1
  81. package/dist/components/EmptyState/EmptyState.js +1 -1
  82. package/dist/components/Field/Field.cjs +1 -1
  83. package/dist/components/Field/Field.js +1 -1
  84. package/dist/components/FileUpload/FileUpload.cjs +1 -1
  85. package/dist/components/FileUpload/FileUpload.js +1 -1
  86. package/dist/components/Icon/Icon.cjs +1 -1
  87. package/dist/components/Icon/Icon.js +1 -1
  88. package/dist/components/Menu/Menu.cjs +1 -1
  89. package/dist/components/Menu/Menu.js +1 -1
  90. package/dist/components/Modal/Modal.cjs +1 -1
  91. package/dist/components/Modal/Modal.js +1 -1
  92. package/dist/components/NumberInput/NumberInput.cjs +1 -0
  93. package/dist/components/NumberInput/NumberInput.js +1 -0
  94. package/dist/components/Pagination/Pagination.cjs +1 -1
  95. package/dist/components/Pagination/Pagination.js +1 -1
  96. package/dist/components/PasswordInput/PasswordInput.cjs +1 -0
  97. package/dist/components/PasswordInput/PasswordInput.js +1 -0
  98. package/dist/components/PhoneInput/PhoneInput.cjs +1 -0
  99. package/dist/components/PhoneInput/PhoneInput.js +1 -0
  100. package/dist/components/ProgressCircle/ProgressCircle.cjs +1 -1
  101. package/dist/components/ProgressCircle/ProgressCircle.js +1 -1
  102. package/dist/components/ProgressIndicator/ProgressIndicator.cjs +1 -1
  103. package/dist/components/ProgressIndicator/ProgressIndicator.js +1 -1
  104. package/dist/components/RadioGroup/RadioGroup.cjs +1 -0
  105. package/dist/components/RadioGroup/RadioGroup.js +1 -0
  106. package/dist/components/SearchInput/SearchInput.cjs +1 -0
  107. package/dist/components/SearchInput/SearchInput.js +1 -0
  108. package/dist/components/SectionHeader/SectionHeader.cjs +1 -0
  109. package/dist/components/SectionHeader/SectionHeader.js +1 -0
  110. package/dist/components/Statistics/Statistics.cjs +1 -0
  111. package/dist/components/Statistics/Statistics.js +1 -0
  112. package/dist/components/Status/Status.cjs +1 -1
  113. package/dist/components/Status/Status.js +1 -1
  114. package/dist/components/Steps/Steps.cjs +1 -1
  115. package/dist/components/Steps/Steps.js +1 -1
  116. package/dist/components/Table/Table.cjs +1 -1
  117. package/dist/components/Table/Table.js +1 -1
  118. package/dist/components/Tabs/Tabs.cjs +1 -1
  119. package/dist/components/Tabs/Tabs.js +1 -1
  120. package/dist/components/Text/Text.cjs +1 -1
  121. package/dist/components/Text/Text.js +1 -1
  122. package/dist/components/TimeInput/TimeInput.cjs +1 -0
  123. package/dist/components/TimeInput/TimeInput.js +1 -0
  124. package/dist/components/TokenInput/TokenInput.cjs +1 -0
  125. package/dist/components/TokenInput/TokenInput.js +1 -0
  126. package/dist/components/Toolbar/Toolbar.cjs +1 -0
  127. package/dist/components/Toolbar/Toolbar.js +1 -0
  128. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  129. package/dist/components/Tooltip/Tooltip.js +1 -1
  130. package/dist/design-system/ai/audit/audit.types.d.ts +1 -0
  131. package/dist/design-system/ai/examples/index.d.ts +4 -0
  132. package/dist/design-system/ai/examples/training.examples.d.ts +22 -0
  133. package/dist/design-system/ai/index.d.ts +10 -3
  134. package/dist/design-system/ai/manifest/composition.manifest.d.ts +11 -0
  135. package/dist/design-system/ai/manifest/governance.manifest.d.ts +5 -0
  136. package/dist/design-system/ai/manifest/index.d.ts +10 -0
  137. package/dist/design-system/ai/manifest/intent-mappings.manifest.d.ts +63 -0
  138. package/dist/design-system/ai/manifest/prop-aliases.manifest.d.ts +10 -0
  139. package/dist/design-system/ai/manifest/system.manifest.d.ts +2 -0
  140. package/dist/design-system/ai/manifest/types.d.ts +11 -0
  141. package/dist/design-system/ai/policies/rules/props.rules.d.ts +2 -0
  142. package/dist/design-system/ai/policies/rules/tailwind.rules.d.ts +2 -0
  143. package/dist/design-system/ai/policies/rules/token-variable.rules.d.ts +2 -0
  144. package/dist/design-system/ai/sdk/index.d.ts +1 -0
  145. package/dist/design-system/ai/sdk/runtime-sdk.d.ts +21 -0
  146. package/dist/design-system/ai/validation/deterministicFeedback.d.ts +15 -0
  147. package/dist/design-system/ai/validation/index.d.ts +5 -0
  148. package/dist/design-system/ai/validation/validateAIOutput.d.ts +13 -0
  149. package/dist/design-system/charts/BizChartsAdapters.d.ts +40 -0
  150. package/dist/design-system/charts/index.d.ts +1 -0
  151. package/dist/design-system/components/Button/Button.d.ts +1 -1
  152. package/dist/design-system/components/Button/Button.types.d.ts +1 -0
  153. package/dist/design-system/components/ButtonGroup/ButtonGroup.d.ts +3 -0
  154. package/dist/design-system/components/ButtonGroup/ButtonGroup.types.d.ts +19 -0
  155. package/dist/design-system/components/ButtonGroup/index.d.ts +2 -0
  156. package/dist/design-system/components/CheckboxGroup/CheckboxGroup.d.ts +3 -0
  157. package/dist/design-system/components/CheckboxGroup/CheckboxGroup.types.d.ts +15 -0
  158. package/dist/design-system/components/CheckboxGroup/index.d.ts +2 -0
  159. package/dist/design-system/components/Checklist/Checklist.d.ts +3 -0
  160. package/dist/design-system/components/Checklist/Checklist.types.d.ts +13 -0
  161. package/dist/design-system/components/Checklist/index.d.ts +2 -0
  162. package/dist/design-system/components/Chip/Chip.d.ts +4 -3
  163. package/dist/design-system/components/Chip/Chip.types.d.ts +13 -9
  164. package/dist/design-system/components/CurrencyInput/CurrencyInput.d.ts +2 -0
  165. package/dist/design-system/components/CurrencyInput/CurrencyInput.types.d.ts +3 -0
  166. package/dist/design-system/components/CurrencyInput/index.d.ts +2 -0
  167. package/dist/design-system/components/DateInput/DateInput.d.ts +2 -0
  168. package/dist/design-system/components/DateInput/DateInput.types.d.ts +3 -0
  169. package/dist/design-system/components/DateInput/index.d.ts +2 -0
  170. package/dist/design-system/components/DateRangeInput/DateRangeInput.d.ts +3 -0
  171. package/dist/design-system/components/DateRangeInput/DateRangeInput.types.d.ts +15 -0
  172. package/dist/design-system/components/DateRangeInput/index.d.ts +2 -0
  173. package/dist/design-system/components/Dialog/Dialog.types.d.ts +9 -8
  174. package/dist/design-system/components/Field/Field.d.ts +1 -1
  175. package/dist/design-system/components/Field/Field.types.d.ts +11 -9
  176. package/dist/design-system/components/FileUpload/FileUpload.d.ts +1 -1
  177. package/dist/design-system/components/FileUpload/FileUpload.types.d.ts +2 -0
  178. package/dist/design-system/components/Menu/index.d.ts +3 -0
  179. package/dist/design-system/components/NumberInput/NumberInput.d.ts +3 -0
  180. package/dist/design-system/components/NumberInput/NumberInput.types.d.ts +2 -0
  181. package/dist/design-system/components/NumberInput/index.d.ts +2 -0
  182. package/dist/design-system/components/Pagination/Pagination.d.ts +5 -3
  183. package/dist/design-system/components/Pagination/Pagination.types.d.ts +4 -1
  184. package/dist/design-system/components/PasswordInput/PasswordInput.d.ts +2 -0
  185. package/dist/design-system/components/PasswordInput/PasswordInput.types.d.ts +5 -0
  186. package/dist/design-system/components/PasswordInput/index.d.ts +2 -0
  187. package/dist/design-system/components/PhoneInput/PhoneInput.d.ts +2 -0
  188. package/dist/design-system/components/PhoneInput/PhoneInput.types.d.ts +5 -0
  189. package/dist/design-system/components/PhoneInput/index.d.ts +2 -0
  190. package/dist/design-system/components/ProgressCircle/ProgressCircle.d.ts +3 -2
  191. package/dist/design-system/components/ProgressCircle/ProgressCircle.types.d.ts +7 -3
  192. package/dist/design-system/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  193. package/dist/design-system/components/ProgressIndicator/ProgressIndicator.types.d.ts +8 -4
  194. package/dist/design-system/components/RadioGroup/RadioGroup.d.ts +3 -0
  195. package/dist/design-system/components/RadioGroup/RadioGroup.types.d.ts +16 -0
  196. package/dist/design-system/components/RadioGroup/index.d.ts +2 -0
  197. package/dist/design-system/components/SearchInput/SearchInput.d.ts +2 -0
  198. package/dist/design-system/components/SearchInput/SearchInput.types.d.ts +3 -0
  199. package/dist/design-system/components/SearchInput/index.d.ts +2 -0
  200. package/dist/design-system/components/SectionHeader/SectionHeader.d.ts +3 -0
  201. package/dist/design-system/components/SectionHeader/SectionHeader.types.d.ts +9 -0
  202. package/dist/design-system/components/SectionHeader/index.d.ts +2 -0
  203. package/dist/design-system/components/Statistics/Statistics.d.ts +3 -0
  204. package/dist/design-system/components/Statistics/Statistics.types.d.ts +18 -0
  205. package/dist/design-system/components/Statistics/index.d.ts +2 -0
  206. package/dist/design-system/components/Status/Status.types.d.ts +4 -2
  207. package/dist/design-system/components/Tabs/Tabs.d.ts +1 -1
  208. package/dist/design-system/components/Tabs/Tabs.types.d.ts +4 -1
  209. package/dist/design-system/components/TimeInput/TimeInput.d.ts +2 -0
  210. package/dist/design-system/components/TimeInput/TimeInput.types.d.ts +3 -0
  211. package/dist/design-system/components/TimeInput/index.d.ts +2 -0
  212. package/dist/design-system/components/Toggle/index.d.ts +2 -0
  213. package/dist/design-system/components/TokenInput/TokenInput.d.ts +4 -0
  214. package/dist/design-system/components/TokenInput/TokenInput.types.d.ts +17 -0
  215. package/dist/design-system/components/TokenInput/index.d.ts +3 -0
  216. package/dist/design-system/components/Toolbar/Toolbar.d.ts +3 -0
  217. package/dist/design-system/components/Toolbar/Toolbar.types.d.ts +8 -0
  218. package/dist/design-system/components/Toolbar/index.d.ts +2 -0
  219. package/dist/design-system/components/Tooltip/Tooltip.d.ts +1 -1
  220. package/dist/design-system/components/Tooltip/Tooltip.types.d.ts +1 -0
  221. package/dist/design-system/figma-make/index.d.ts +42 -0
  222. package/dist/design-system/generated/component-api.d.ts +2043 -0
  223. package/dist/design-system/index.d.ts +18 -2
  224. package/dist/figma-make/index.cjs +1 -0
  225. package/dist/figma-make/index.js +1 -0
  226. package/dist/generated/component-api.cjs +1 -0
  227. package/dist/generated/component-api.js +1 -0
  228. package/dist/index.cjs +1 -1
  229. package/dist/index.js +1 -1
  230. package/dist/src/app-shell/AppShell.cjs +1 -1
  231. package/dist/src/app-shell/AppShell.js +1 -1
  232. package/dist/style.css +1 -1
  233. package/package.json +70 -19
  234. package/dist/components/Accordion/Accordion.spec.cjs +0 -1
  235. package/dist/components/Accordion/Accordion.spec.js +0 -1
  236. package/dist/components/ActionMenu/ActionMenu.spec.cjs +0 -1
  237. package/dist/components/ActionMenu/ActionMenu.spec.js +0 -1
  238. package/dist/components/Avatar/Avatar.spec.cjs +0 -1
  239. package/dist/components/Avatar/Avatar.spec.js +0 -1
  240. package/dist/components/Badge/Badge.spec.cjs +0 -1
  241. package/dist/components/Badge/Badge.spec.js +0 -1
  242. package/dist/components/Branding/Branding.spec.cjs +0 -1
  243. package/dist/components/Branding/Branding.spec.js +0 -1
  244. package/dist/components/Breadcrumb/Breadcrumb.spec.cjs +0 -1
  245. package/dist/components/Breadcrumb/Breadcrumb.spec.js +0 -1
  246. package/dist/components/Button/Button.spec.cjs +0 -1
  247. package/dist/components/Button/Button.spec.js +0 -1
  248. package/dist/components/Calendar/Calendar.spec.cjs +0 -1
  249. package/dist/components/Calendar/Calendar.spec.js +0 -1
  250. package/dist/components/Card/Card.spec.cjs +0 -1
  251. package/dist/components/Card/Card.spec.js +0 -1
  252. package/dist/components/Checkbox/Checkbox.spec.cjs +0 -1
  253. package/dist/components/Checkbox/Checkbox.spec.js +0 -1
  254. package/dist/components/Chip/Chip.spec.cjs +0 -1
  255. package/dist/components/Chip/Chip.spec.js +0 -1
  256. package/dist/components/Code/Code.spec.cjs +0 -1
  257. package/dist/components/Code/Code.spec.js +0 -1
  258. package/dist/components/Container/Container.spec.cjs +0 -1
  259. package/dist/components/Container/Container.spec.js +0 -1
  260. package/dist/components/Datepicker/Datepicker.spec.cjs +0 -1
  261. package/dist/components/Datepicker/Datepicker.spec.js +0 -1
  262. package/dist/components/Dialog/Dialog.spec.cjs +0 -1
  263. package/dist/components/Dialog/Dialog.spec.js +0 -1
  264. package/dist/components/Divider/Divider.spec.cjs +0 -1
  265. package/dist/components/Divider/Divider.spec.js +0 -1
  266. package/dist/components/DotStatus/DotStatus.spec.cjs +0 -1
  267. package/dist/components/DotStatus/DotStatus.spec.js +0 -1
  268. package/dist/components/Dropdown/Dropdown.spec.cjs +0 -1
  269. package/dist/components/Dropdown/Dropdown.spec.js +0 -1
  270. package/dist/components/EmptyState/EmptyState.spec.cjs +0 -1
  271. package/dist/components/EmptyState/EmptyState.spec.js +0 -1
  272. package/dist/components/EventCard/EventCard.spec.cjs +0 -1
  273. package/dist/components/EventCard/EventCard.spec.js +0 -1
  274. package/dist/components/Field/Field.spec.cjs +0 -1
  275. package/dist/components/Field/Field.spec.js +0 -1
  276. package/dist/components/FileUpload/FileUpload.spec.cjs +0 -1
  277. package/dist/components/FileUpload/FileUpload.spec.js +0 -1
  278. package/dist/components/Flex/Flex.spec.cjs +0 -1
  279. package/dist/components/Flex/Flex.spec.js +0 -1
  280. package/dist/components/Icon/Icon.spec.cjs +0 -1
  281. package/dist/components/Icon/Icon.spec.js +0 -1
  282. package/dist/components/ImageAspect/ImageAspect.spec.cjs +0 -1
  283. package/dist/components/ImageAspect/ImageAspect.spec.js +0 -1
  284. package/dist/components/Key/Key.spec.cjs +0 -1
  285. package/dist/components/Key/Key.spec.js +0 -1
  286. package/dist/components/Menu/Menu.spec.cjs +0 -1
  287. package/dist/components/Menu/Menu.spec.js +0 -1
  288. package/dist/components/MicroCalendar/MicroCalendar.spec.cjs +0 -1
  289. package/dist/components/MicroCalendar/MicroCalendar.spec.js +0 -1
  290. package/dist/components/Modal/Modal.spec.cjs +0 -1
  291. package/dist/components/Modal/Modal.spec.js +0 -1
  292. package/dist/components/Pagination/Pagination.spec.cjs +0 -1
  293. package/dist/components/Pagination/Pagination.spec.js +0 -1
  294. package/dist/components/PillToggle/PillToggle.cjs +0 -1
  295. package/dist/components/PillToggle/PillToggle.js +0 -1
  296. package/dist/components/PillToggle/PillToggle.spec.cjs +0 -1
  297. package/dist/components/PillToggle/PillToggle.spec.js +0 -1
  298. package/dist/components/Playground/Playground.cjs +0 -9
  299. package/dist/components/Playground/Playground.js +0 -9
  300. package/dist/components/Playground/Playground.spec.cjs +0 -1
  301. package/dist/components/Playground/Playground.spec.js +0 -1
  302. package/dist/components/ProgressCircle/ProgressCircle.spec.cjs +0 -1
  303. package/dist/components/ProgressCircle/ProgressCircle.spec.js +0 -1
  304. package/dist/components/ProgressIndicator/ProgressIndicator.spec.cjs +0 -1
  305. package/dist/components/ProgressIndicator/ProgressIndicator.spec.js +0 -1
  306. package/dist/components/Radio/Radio.spec.cjs +0 -1
  307. package/dist/components/Radio/Radio.spec.js +0 -1
  308. package/dist/components/Slider/Slider.spec.cjs +0 -1
  309. package/dist/components/Slider/Slider.spec.js +0 -1
  310. package/dist/components/Status/Status.spec.cjs +0 -1
  311. package/dist/components/Status/Status.spec.js +0 -1
  312. package/dist/components/Steps/Steps.spec.cjs +0 -1
  313. package/dist/components/Steps/Steps.spec.js +0 -1
  314. package/dist/components/Table/Table.spec.cjs +0 -1
  315. package/dist/components/Table/Table.spec.js +0 -1
  316. package/dist/components/Tabs/Tabs.spec.cjs +0 -1
  317. package/dist/components/Tabs/Tabs.spec.js +0 -1
  318. package/dist/components/Tag/Tag.spec.cjs +0 -1
  319. package/dist/components/Tag/Tag.spec.js +0 -1
  320. package/dist/components/Text/Text.spec.cjs +0 -1
  321. package/dist/components/Text/Text.spec.js +0 -1
  322. package/dist/components/TextInput/TextInput.spec.cjs +0 -1
  323. package/dist/components/TextInput/TextInput.spec.js +0 -1
  324. package/dist/components/Textarea/Textarea.spec.cjs +0 -1
  325. package/dist/components/Textarea/Textarea.spec.js +0 -1
  326. package/dist/components/Toast/Toast.spec.cjs +0 -1
  327. package/dist/components/Toast/Toast.spec.js +0 -1
  328. package/dist/components/Toggle/Toggle.spec.cjs +0 -1
  329. package/dist/components/Toggle/Toggle.spec.js +0 -1
  330. package/dist/components/Tooltip/Tooltip.spec.cjs +0 -1
  331. package/dist/components/Tooltip/Tooltip.spec.js +0 -1
  332. package/dist/design-system/components/Accordion/Accordion.spec.d.ts +0 -4
  333. package/dist/design-system/components/ActionMenu/ActionMenu.spec.d.ts +0 -4
  334. package/dist/design-system/components/Avatar/Avatar.spec.d.ts +0 -6
  335. package/dist/design-system/components/Badge/Badge.spec.d.ts +0 -12
  336. package/dist/design-system/components/Branding/Branding.spec.d.ts +0 -6
  337. package/dist/design-system/components/Breadcrumb/Breadcrumb.spec.d.ts +0 -4
  338. package/dist/design-system/components/Button/Button.spec.d.ts +0 -12
  339. package/dist/design-system/components/Calendar/Calendar.spec.d.ts +0 -4
  340. package/dist/design-system/components/Card/Card.spec.d.ts +0 -4
  341. package/dist/design-system/components/Checkbox/Checkbox.spec.d.ts +0 -4
  342. package/dist/design-system/components/Chip/Chip.spec.d.ts +0 -13
  343. package/dist/design-system/components/Code/Code.spec.d.ts +0 -10
  344. package/dist/design-system/components/Container/Container.spec.d.ts +0 -2
  345. package/dist/design-system/components/Datepicker/Datepicker.spec.d.ts +0 -6
  346. package/dist/design-system/components/Dialog/Dialog.spec.d.ts +0 -8
  347. package/dist/design-system/components/Divider/Divider.spec.d.ts +0 -10
  348. package/dist/design-system/components/DotStatus/DotStatus.spec.d.ts +0 -10
  349. package/dist/design-system/components/Dropdown/Dropdown.spec.d.ts +0 -12
  350. package/dist/design-system/components/EmptyState/EmptyState.spec.d.ts +0 -2
  351. package/dist/design-system/components/EventCard/EventCard.spec.d.ts +0 -8
  352. package/dist/design-system/components/Field/Field.spec.d.ts +0 -4
  353. package/dist/design-system/components/FileUpload/FileUpload.spec.d.ts +0 -6
  354. package/dist/design-system/components/Flex/Flex.spec.d.ts +0 -2
  355. package/dist/design-system/components/Icon/Icon.spec.d.ts +0 -6
  356. package/dist/design-system/components/ImageAspect/ImageAspect.spec.d.ts +0 -8
  357. package/dist/design-system/components/Key/Key.spec.d.ts +0 -8
  358. package/dist/design-system/components/Menu/Menu.spec.d.ts +0 -6
  359. package/dist/design-system/components/MicroCalendar/MicroCalendar.spec.d.ts +0 -4
  360. package/dist/design-system/components/Modal/Modal.spec.d.ts +0 -8
  361. package/dist/design-system/components/Pagination/Pagination.spec.d.ts +0 -6
  362. package/dist/design-system/components/PillToggle/PillToggle.d.ts +0 -13
  363. package/dist/design-system/components/PillToggle/PillToggle.spec.d.ts +0 -6
  364. package/dist/design-system/components/PillToggle/PillToggle.types.d.ts +0 -9
  365. package/dist/design-system/components/PillToggle/index.d.ts +0 -3
  366. package/dist/design-system/components/Playground/Playground.d.ts +0 -12
  367. package/dist/design-system/components/Playground/Playground.spec.d.ts +0 -6
  368. package/dist/design-system/components/Playground/Playground.types.d.ts +0 -7
  369. package/dist/design-system/components/Playground/index.d.ts +0 -3
  370. package/dist/design-system/components/ProgressCircle/ProgressCircle.spec.d.ts +0 -10
  371. package/dist/design-system/components/ProgressIndicator/ProgressIndicator.spec.d.ts +0 -10
  372. package/dist/design-system/components/Radio/Radio.spec.d.ts +0 -4
  373. package/dist/design-system/components/Slider/Slider.spec.d.ts +0 -4
  374. package/dist/design-system/components/Status/Status.spec.d.ts +0 -11
  375. package/dist/design-system/components/Steps/Steps.spec.d.ts +0 -11
  376. package/dist/design-system/components/Table/Table.spec.d.ts +0 -4
  377. package/dist/design-system/components/Tabs/Tabs.spec.d.ts +0 -7
  378. package/dist/design-system/components/Tag/Tag.spec.d.ts +0 -13
  379. package/dist/design-system/components/Text/Text.spec.d.ts +0 -2
  380. package/dist/design-system/components/TextInput/TextInput.spec.d.ts +0 -12
  381. package/dist/design-system/components/Textarea/Textarea.spec.d.ts +0 -10
  382. package/dist/design-system/components/Toast/Toast.spec.d.ts +0 -8
  383. package/dist/design-system/components/Toggle/Toggle.spec.d.ts +0 -8
  384. package/dist/design-system/components/Tooltip/Tooltip.spec.d.ts +0 -8
  385. package/dist/design-system/specs/spec.types.d.ts +0 -18
@@ -0,0 +1,3165 @@
1
+ {
2
+ "contractName": "uds.ai.contract",
3
+ "schemaVersion": "1.0.0",
4
+ "systemVersion": "0.2.12",
5
+ "tokenVersion": "1.0.0",
6
+ "manifestVersion": "1.0.0",
7
+ "governanceVersion": "1.0.0",
8
+ "policyVersion": "1.0.0",
9
+ "versioning": {
10
+ "schema": "1.0.0",
11
+ "manifest": "1.0.0",
12
+ "governance": "1.0.0",
13
+ "policy": "1.0.0",
14
+ "token": "1.0.0",
15
+ "system": "0.2.12"
16
+ },
17
+ "components": {
18
+ "Accordion": {
19
+ "name": "Accordion",
20
+ "category": "layout",
21
+ "intent": "Progressive disclosure for grouped content",
22
+ "purpose": null,
23
+ "tier": null,
24
+ "description": "A vertically stacked disclosure component that allows users to expand and collapse sections of related content. It manages state visibility, keyboard accessibility, and animation timing, and should not be used for navigation or page transitions.",
25
+ "roles": [
26
+ "region"
27
+ ],
28
+ "slots": null,
29
+ "states": [],
30
+ "props": {},
31
+ "defaults": {},
32
+ "composition": {
33
+ "preferredParents": [
34
+ "Container",
35
+ "Card"
36
+ ],
37
+ "allowedChildren": [],
38
+ "allowedParents": [],
39
+ "disallowedChildren": [],
40
+ "constraints": null
41
+ },
42
+ "tokens": {
43
+ "allowed": [
44
+ "--uds-spacing-16",
45
+ "--uds-spacing-24",
46
+ "--uds-radius-8"
47
+ ]
48
+ }
49
+ },
50
+ "ActionMenu": {
51
+ "name": "ActionMenu",
52
+ "category": "navigation",
53
+ "intent": "Contextual action list for local operations",
54
+ "purpose": null,
55
+ "tier": null,
56
+ "description": "A contextual action surface triggered by a button or icon that exposes secondary, object-specific actions. It manages positioning, keyboard navigation, focus behavior, and dismissal, and is not intended for primary navigation.",
57
+ "roles": [
58
+ "menu"
59
+ ],
60
+ "slots": null,
61
+ "states": [],
62
+ "props": {},
63
+ "defaults": {},
64
+ "composition": {
65
+ "preferredParents": [
66
+ "Table",
67
+ "Card"
68
+ ],
69
+ "allowedChildren": [],
70
+ "allowedParents": [
71
+ "Card",
72
+ "Menu",
73
+ "Table"
74
+ ],
75
+ "disallowedChildren": [],
76
+ "constraints": null
77
+ },
78
+ "tokens": {
79
+ "allowed": [
80
+ "--uds-spacing-8",
81
+ "--uds-color-neutral-600",
82
+ "--uds-color-blue-600"
83
+ ]
84
+ }
85
+ },
86
+ "AppShell": {
87
+ "name": "AppShell",
88
+ "category": "layout",
89
+ "intent": "Top-level application shell and page structure",
90
+ "purpose": null,
91
+ "tier": null,
92
+ "description": "The structural application layout framework that governs global regions such as header, sidebar, breadcrumb, sub-navigation, and main content. It enforces consistent structure, theme/brand application, and layout configuration.",
93
+ "roles": [
94
+ "application"
95
+ ],
96
+ "slots": null,
97
+ "states": [],
98
+ "props": {},
99
+ "defaults": {},
100
+ "composition": {
101
+ "preferredParents": [
102
+ "root"
103
+ ],
104
+ "allowedChildren": [
105
+ "Menu",
106
+ "Container",
107
+ "Flex",
108
+ "Card",
109
+ "Text",
110
+ "Button"
111
+ ],
112
+ "allowedParents": [],
113
+ "disallowedChildren": [],
114
+ "constraints": null
115
+ },
116
+ "tokens": {
117
+ "allowed": [
118
+ "--uds-spacing-16",
119
+ "--uds-color-neutral-50",
120
+ "--uds-elevation-overlay"
121
+ ]
122
+ }
123
+ },
124
+ "Avatar": {
125
+ "name": "Avatar",
126
+ "category": "data-display",
127
+ "intent": "Visual identity for people or entities",
128
+ "purpose": null,
129
+ "tier": null,
130
+ "description": "A visual identity component representing a person, organization, or system entity via image, initials, or fallback icon. It manages size, shape, and status indicators but not profile interactions.",
131
+ "roles": [
132
+ "img"
133
+ ],
134
+ "slots": null,
135
+ "states": [],
136
+ "props": {
137
+ "size": {
138
+ "type": "string",
139
+ "default": "default"
140
+ }
141
+ },
142
+ "defaults": {
143
+ "size": "default"
144
+ },
145
+ "composition": {
146
+ "preferredParents": [
147
+ "Table",
148
+ "Card",
149
+ "Flex"
150
+ ],
151
+ "allowedChildren": [],
152
+ "allowedParents": [
153
+ "Card",
154
+ "Table"
155
+ ],
156
+ "disallowedChildren": [],
157
+ "constraints": null
158
+ },
159
+ "tokens": {
160
+ "allowed": [
161
+ "--uds-spacing-8",
162
+ "--uds-color-neutral-700",
163
+ "--uds-radius-8"
164
+ ]
165
+ }
166
+ },
167
+ "Badge": {
168
+ "name": "Badge",
169
+ "category": "data-display",
170
+ "intent": "Compact count/status indicator",
171
+ "purpose": null,
172
+ "tier": null,
173
+ "description": "A compact visual indicator for status, counts, or contextual metadata, typically attached to another UI element. It manages semantic state color and sizing.",
174
+ "roles": [
175
+ "status"
176
+ ],
177
+ "slots": null,
178
+ "states": [],
179
+ "props": {
180
+ "variant": {
181
+ "type": "enum",
182
+ "values": [
183
+ "blue",
184
+ "cyan",
185
+ "green",
186
+ "magenta",
187
+ "indigo",
188
+ "rose",
189
+ "neutral",
190
+ "orange",
191
+ "purple",
192
+ "red",
193
+ "sky",
194
+ "yellow",
195
+ "inverse",
196
+ "lime"
197
+ ],
198
+ "default": "red"
199
+ },
200
+ "appearance": {
201
+ "type": "enum",
202
+ "values": [
203
+ "solid",
204
+ "outlined"
205
+ ],
206
+ "default": "solid"
207
+ },
208
+ "rounded": {
209
+ "type": "boolean",
210
+ "default": true
211
+ }
212
+ },
213
+ "defaults": {
214
+ "variant": "red",
215
+ "appearance": "solid",
216
+ "rounded": true
217
+ },
218
+ "composition": {
219
+ "preferredParents": [
220
+ "Tabs",
221
+ "Card",
222
+ "Button"
223
+ ],
224
+ "allowedChildren": [],
225
+ "allowedParents": [],
226
+ "disallowedChildren": [],
227
+ "constraints": null
228
+ },
229
+ "tokens": {
230
+ "allowed": [
231
+ "--uds-spacing-8",
232
+ "--uds-color-neutral-700",
233
+ "--uds-radius-8"
234
+ ]
235
+ }
236
+ },
237
+ "Branding": {
238
+ "name": "Branding",
239
+ "category": "branding",
240
+ "intent": "Brand identity and logo presentation",
241
+ "purpose": null,
242
+ "tier": null,
243
+ "description": "A brand-aware component for rendering logos, wordmarks, and brand identifiers based on active brand and theme context.",
244
+ "roles": [
245
+ "banner"
246
+ ],
247
+ "slots": null,
248
+ "states": [],
249
+ "props": {
250
+ "size": {
251
+ "type": "string",
252
+ "default": "default"
253
+ }
254
+ },
255
+ "defaults": {
256
+ "size": "default"
257
+ },
258
+ "composition": {
259
+ "preferredParents": [
260
+ "Menu",
261
+ "AppShell"
262
+ ],
263
+ "allowedChildren": [],
264
+ "allowedParents": [],
265
+ "disallowedChildren": [],
266
+ "constraints": null
267
+ },
268
+ "tokens": {
269
+ "allowed": [
270
+ "--uds-spacing-8",
271
+ "--uds-color-neutral-700",
272
+ "--uds-radius-8"
273
+ ]
274
+ }
275
+ },
276
+ "Breadcrumb": {
277
+ "name": "Breadcrumb",
278
+ "category": "navigation",
279
+ "intent": "Hierarchy-aware location trail",
280
+ "purpose": null,
281
+ "tier": null,
282
+ "description": "A hierarchical navigation aid that communicates location within application structure with consistent spacing and truncation.",
283
+ "roles": [
284
+ "navigation"
285
+ ],
286
+ "slots": null,
287
+ "states": [],
288
+ "props": {},
289
+ "defaults": {},
290
+ "composition": {
291
+ "preferredParents": [
292
+ "Container"
293
+ ],
294
+ "allowedChildren": [],
295
+ "allowedParents": [],
296
+ "disallowedChildren": [],
297
+ "constraints": null
298
+ },
299
+ "tokens": {
300
+ "allowed": [
301
+ "--uds-spacing-8",
302
+ "--uds-color-neutral-600",
303
+ "--uds-color-blue-600"
304
+ ]
305
+ }
306
+ },
307
+ "Button": {
308
+ "name": "Button",
309
+ "category": "action",
310
+ "intent": "Primary and secondary user actions",
311
+ "purpose": null,
312
+ "tier": null,
313
+ "description": "An interactive control for triggering actions such as submissions, navigation, or state changes, with support for multiple variants, sizes, icon placements, and disabled states.",
314
+ "roles": [
315
+ "button"
316
+ ],
317
+ "slots": null,
318
+ "states": [],
319
+ "props": {
320
+ "layout": {
321
+ "type": "enum",
322
+ "values": [
323
+ "label-only",
324
+ "icon-left",
325
+ "icon-right",
326
+ "icon-only",
327
+ "only"
328
+ ],
329
+ "default": "label-only"
330
+ },
331
+ "appearance": {
332
+ "type": "enum",
333
+ "values": [
334
+ "primary",
335
+ "soft",
336
+ "outline",
337
+ "text",
338
+ "ghost",
339
+ "disabled",
340
+ "destructive"
341
+ ],
342
+ "default": "primary"
343
+ },
344
+ "size": {
345
+ "type": "enum",
346
+ "values": [
347
+ "large",
348
+ "default",
349
+ "small",
350
+ "xsmall"
351
+ ],
352
+ "default": "default"
353
+ }
354
+ },
355
+ "defaults": {
356
+ "layout": "label-only",
357
+ "appearance": "primary",
358
+ "size": "default"
359
+ },
360
+ "composition": {
361
+ "preferredParents": [
362
+ "Field",
363
+ "Card",
364
+ "Dialog",
365
+ "Modal",
366
+ "Container",
367
+ "Flex"
368
+ ],
369
+ "allowedChildren": [],
370
+ "allowedParents": [
371
+ "AppShell",
372
+ "Card",
373
+ "Container",
374
+ "Flex",
375
+ "Modal",
376
+ "Table",
377
+ "Tabs"
378
+ ],
379
+ "disallowedChildren": [
380
+ "Button"
381
+ ],
382
+ "constraints": {
383
+ "onlyOnePrimaryPerSection": true
384
+ }
385
+ },
386
+ "tokens": {
387
+ "allowed": [
388
+ "--uds-spacing-8",
389
+ "--uds-spacing-12",
390
+ "--uds-color-blue-600",
391
+ "--uds-color-red-600",
392
+ "--uds-radius-8"
393
+ ]
394
+ }
395
+ },
396
+ "ButtonGroup": {
397
+ "name": "ButtonGroup",
398
+ "category": "action",
399
+ "intent": "Grouped related button actions",
400
+ "purpose": "Groups related button actions with consistent spacing and orientation.",
401
+ "tier": 2,
402
+ "description": "A compositional wrapper that arranges multiple Button actions with consistent spacing and orientation for related decisions.",
403
+ "roles": [
404
+ "group"
405
+ ],
406
+ "slots": null,
407
+ "states": [
408
+ "default"
409
+ ],
410
+ "props": {
411
+ "orientation": {
412
+ "type": "enum",
413
+ "values": [
414
+ "horizontal",
415
+ "vertical"
416
+ ],
417
+ "default": "horizontal"
418
+ },
419
+ "size": {
420
+ "type": "enum",
421
+ "values": [
422
+ "xsmall",
423
+ "small",
424
+ "default",
425
+ "large"
426
+ ],
427
+ "default": "default"
428
+ }
429
+ },
430
+ "defaults": {
431
+ "orientation": "horizontal",
432
+ "size": "default"
433
+ },
434
+ "composition": {
435
+ "preferredParents": [
436
+ "Card",
437
+ "Container",
438
+ "Dialog",
439
+ "Modal"
440
+ ],
441
+ "allowedChildren": [],
442
+ "allowedParents": [],
443
+ "disallowedChildren": [],
444
+ "constraints": null
445
+ },
446
+ "tokens": {
447
+ "allowed": [
448
+ "--uds-spacing-8",
449
+ "--uds-color-neutral-700",
450
+ "--uds-radius-8"
451
+ ]
452
+ }
453
+ },
454
+ "Calendar": {
455
+ "name": "Calendar",
456
+ "category": "form",
457
+ "intent": "Calendar grid date selection",
458
+ "purpose": null,
459
+ "tier": null,
460
+ "description": "A full calendar visualization for selecting and viewing dates across weeks and months, with keyboard interaction and focus handling.",
461
+ "roles": [
462
+ "grid"
463
+ ],
464
+ "slots": null,
465
+ "states": [],
466
+ "props": {},
467
+ "defaults": {},
468
+ "composition": {
469
+ "preferredParents": [
470
+ "Datepicker",
471
+ "Card"
472
+ ],
473
+ "allowedChildren": [],
474
+ "allowedParents": [],
475
+ "disallowedChildren": [],
476
+ "constraints": null
477
+ },
478
+ "tokens": {
479
+ "allowed": [
480
+ "--uds-spacing-8",
481
+ "--uds-spacing-12",
482
+ "--uds-color-neutral-700",
483
+ "--uds-color-blue-600"
484
+ ]
485
+ }
486
+ },
487
+ "Card": {
488
+ "name": "Card",
489
+ "category": "layout",
490
+ "intent": "Contained content section",
491
+ "purpose": null,
492
+ "tier": null,
493
+ "description": "A surface container for grouping related content and actions within a visual boundary, managing elevation, padding, and spacing.",
494
+ "roles": [
495
+ "region"
496
+ ],
497
+ "slots": null,
498
+ "states": [],
499
+ "props": {},
500
+ "defaults": {},
501
+ "composition": {
502
+ "preferredParents": [
503
+ "Container",
504
+ "Flex"
505
+ ],
506
+ "allowedChildren": [
507
+ "Text",
508
+ "Flex",
509
+ "Button",
510
+ "Tag",
511
+ "Status",
512
+ "Table",
513
+ "Divider",
514
+ "Avatar",
515
+ "ActionMenu",
516
+ "Field"
517
+ ],
518
+ "allowedParents": [
519
+ "AppShell",
520
+ "Container",
521
+ "Tabs"
522
+ ],
523
+ "disallowedChildren": [],
524
+ "constraints": null
525
+ },
526
+ "tokens": {
527
+ "allowed": [
528
+ "--uds-spacing-16",
529
+ "--uds-spacing-24",
530
+ "--uds-radius-8"
531
+ ]
532
+ }
533
+ },
534
+ "Checkbox": {
535
+ "name": "Checkbox",
536
+ "category": "form",
537
+ "intent": "Multi-select boolean input",
538
+ "purpose": null,
539
+ "tier": null,
540
+ "description": "A binary selection control for independently selecting multiple options, including checked, unchecked, and indeterminate states.",
541
+ "roles": [
542
+ "checkbox"
543
+ ],
544
+ "slots": null,
545
+ "states": [],
546
+ "props": {},
547
+ "defaults": {},
548
+ "composition": {
549
+ "preferredParents": [
550
+ "Field",
551
+ "Form"
552
+ ],
553
+ "allowedChildren": [],
554
+ "allowedParents": [
555
+ "Field"
556
+ ],
557
+ "disallowedChildren": [],
558
+ "constraints": null
559
+ },
560
+ "tokens": {
561
+ "allowed": [
562
+ "--uds-spacing-8",
563
+ "--uds-spacing-12",
564
+ "--uds-color-neutral-700",
565
+ "--uds-color-blue-600"
566
+ ]
567
+ }
568
+ },
569
+ "CheckboxGroup": {
570
+ "name": "CheckboxGroup",
571
+ "category": "form",
572
+ "intent": "Grouped multi-select checkboxes",
573
+ "purpose": "Provides grouped multi-select choices using Checkbox controls.",
574
+ "tier": 2,
575
+ "description": "A grouped set of Checkbox controls for selecting multiple options with shared label, orientation, and change handling.",
576
+ "roles": [
577
+ "group"
578
+ ],
579
+ "slots": null,
580
+ "states": [
581
+ "default"
582
+ ],
583
+ "props": {
584
+ "orientation": {
585
+ "type": "enum",
586
+ "values": [
587
+ "vertical",
588
+ "horizontal"
589
+ ],
590
+ "default": "vertical"
591
+ },
592
+ "disabled": {
593
+ "type": "boolean",
594
+ "default": false
595
+ }
596
+ },
597
+ "defaults": {
598
+ "orientation": "vertical",
599
+ "disabled": false
600
+ },
601
+ "composition": {
602
+ "preferredParents": [
603
+ "Field",
604
+ "Form",
605
+ "Card"
606
+ ],
607
+ "allowedChildren": [],
608
+ "allowedParents": [],
609
+ "disallowedChildren": [],
610
+ "constraints": null
611
+ },
612
+ "tokens": {
613
+ "allowed": [
614
+ "--uds-spacing-8",
615
+ "--uds-spacing-12",
616
+ "--uds-color-neutral-700",
617
+ "--uds-color-blue-600"
618
+ ]
619
+ }
620
+ },
621
+ "Checklist": {
622
+ "name": "Checklist",
623
+ "category": "navigation",
624
+ "intent": "Sidebar step checklist with completion progress",
625
+ "purpose": "Sidebar checklist for multi-step flows with completion status.",
626
+ "tier": 2,
627
+ "description": "A vertical step checklist used as a sidebar to track progress through multi-step workflows and forms.",
628
+ "roles": [
629
+ "navigation"
630
+ ],
631
+ "slots": null,
632
+ "states": [
633
+ "default",
634
+ "active",
635
+ "completed",
636
+ "disabled"
637
+ ],
638
+ "props": {},
639
+ "defaults": {},
640
+ "composition": {
641
+ "preferredParents": [
642
+ "AppShell",
643
+ "Container",
644
+ "Card"
645
+ ],
646
+ "allowedChildren": [],
647
+ "allowedParents": [],
648
+ "disallowedChildren": [],
649
+ "constraints": null
650
+ },
651
+ "tokens": {
652
+ "allowed": [
653
+ "--uds-surface-primary",
654
+ "--uds-border-primary",
655
+ "--uds-text-primary",
656
+ "--uds-text-secondary",
657
+ "--uds-surface-brand-primary",
658
+ "--uds-spacing-8",
659
+ "--uds-spacing-12",
660
+ "--uds-spacing-20",
661
+ "--uds-spacing-24"
662
+ ]
663
+ }
664
+ },
665
+ "Chip": {
666
+ "name": "Chip",
667
+ "category": "form",
668
+ "intent": "Compact selectable/tag item",
669
+ "purpose": null,
670
+ "tier": null,
671
+ "description": "A compact, optionally removable element representing user input, filter criteria, or selected values.",
672
+ "roles": [
673
+ "button"
674
+ ],
675
+ "slots": null,
676
+ "states": [],
677
+ "props": {
678
+ "selected": {
679
+ "type": "boolean",
680
+ "default": false
681
+ },
682
+ "shape": {
683
+ "type": "enum",
684
+ "values": [
685
+ "pill",
686
+ "rounded"
687
+ ],
688
+ "default": "pill"
689
+ },
690
+ "size": {
691
+ "type": "enum",
692
+ "values": [
693
+ "default",
694
+ "compact",
695
+ "mini"
696
+ ],
697
+ "default": "default"
698
+ },
699
+ "iconPlacement": {
700
+ "type": "enum",
701
+ "values": [
702
+ "both",
703
+ "left",
704
+ "right",
705
+ "none"
706
+ ],
707
+ "default": "none"
708
+ },
709
+ "badgeVariant": {
710
+ "type": "string",
711
+ "default": "sky"
712
+ }
713
+ },
714
+ "defaults": {
715
+ "selected": false,
716
+ "shape": "pill",
717
+ "size": "default",
718
+ "iconPlacement": "none",
719
+ "badgeVariant": "sky"
720
+ },
721
+ "composition": {
722
+ "preferredParents": [
723
+ "Field",
724
+ "Flex"
725
+ ],
726
+ "allowedChildren": [],
727
+ "allowedParents": [],
728
+ "disallowedChildren": [],
729
+ "constraints": null
730
+ },
731
+ "tokens": {
732
+ "allowed": [
733
+ "--uds-spacing-8",
734
+ "--uds-spacing-12",
735
+ "--uds-color-neutral-700",
736
+ "--uds-color-blue-600"
737
+ ]
738
+ }
739
+ },
740
+ "Code": {
741
+ "name": "Code",
742
+ "category": "data-display",
743
+ "intent": "Formatted code snippet block",
744
+ "purpose": null,
745
+ "tier": null,
746
+ "description": null,
747
+ "roles": [
748
+ "code"
749
+ ],
750
+ "slots": null,
751
+ "states": [],
752
+ "props": {
753
+ "language": {
754
+ "type": "enum",
755
+ "values": [
756
+ "markup",
757
+ "css",
758
+ "clike",
759
+ "javascript",
760
+ "typescript",
761
+ "tsx",
762
+ "jsx",
763
+ "json",
764
+ "bash",
765
+ "sql"
766
+ ],
767
+ "default": "javascript"
768
+ },
769
+ "inline": {
770
+ "type": "enum",
771
+ "values": [
772
+ true,
773
+ false
774
+ ],
775
+ "default": false
776
+ }
777
+ },
778
+ "defaults": {
779
+ "language": "javascript",
780
+ "inline": false
781
+ },
782
+ "composition": {
783
+ "preferredParents": [
784
+ "Card",
785
+ "Container"
786
+ ],
787
+ "allowedChildren": [],
788
+ "allowedParents": [],
789
+ "disallowedChildren": [],
790
+ "constraints": null
791
+ },
792
+ "tokens": {
793
+ "allowed": [
794
+ "--uds-spacing-12",
795
+ "--uds-color-neutral-900",
796
+ "--uds-radius-8"
797
+ ]
798
+ }
799
+ },
800
+ "Container": {
801
+ "name": "Container",
802
+ "category": "layout",
803
+ "intent": "Width-constrained page/content wrapper",
804
+ "purpose": "Provides a reusable content wrapper with optional filled or transparent surface styles and standardized padding.",
805
+ "tier": 2,
806
+ "description": "A structural layout wrapper that enforces width constraints, horizontal padding, and alignment rhythm for consistent page sections.",
807
+ "roles": [
808
+ "region"
809
+ ],
810
+ "slots": null,
811
+ "states": [
812
+ "default"
813
+ ],
814
+ "props": {
815
+ "appearance": {
816
+ "type": "enum",
817
+ "values": [
818
+ "default",
819
+ "transparent"
820
+ ],
821
+ "default": "default"
822
+ },
823
+ "padding": {
824
+ "type": "enum",
825
+ "values": [
826
+ "none",
827
+ "xsmall",
828
+ "small",
829
+ "default",
830
+ "large",
831
+ "xlarge"
832
+ ],
833
+ "default": "default"
834
+ }
835
+ },
836
+ "defaults": {
837
+ "appearance": "default",
838
+ "padding": "default"
839
+ },
840
+ "composition": {
841
+ "preferredParents": [
842
+ "AppShell",
843
+ "root"
844
+ ],
845
+ "allowedChildren": [
846
+ "Flex",
847
+ "Card",
848
+ "Table",
849
+ "Text",
850
+ "Button",
851
+ "Field",
852
+ "Divider",
853
+ "Tag"
854
+ ],
855
+ "allowedParents": [
856
+ "AppShell",
857
+ "root"
858
+ ],
859
+ "disallowedChildren": [],
860
+ "constraints": null
861
+ },
862
+ "tokens": {
863
+ "allowed": [
864
+ "--uds-spacing-16",
865
+ "--uds-spacing-24",
866
+ "--uds-radius-8"
867
+ ]
868
+ }
869
+ },
870
+ "Datepicker": {
871
+ "name": "Datepicker",
872
+ "category": "form",
873
+ "intent": "Date input and picker interaction",
874
+ "purpose": null,
875
+ "tier": null,
876
+ "description": "A composite input component combining text entry and calendar selection for date input, including formatting and accessibility behavior.",
877
+ "roles": [
878
+ "combobox"
879
+ ],
880
+ "slots": null,
881
+ "states": [],
882
+ "props": {
883
+ "size": {
884
+ "type": "string",
885
+ "default": "desktop"
886
+ }
887
+ },
888
+ "defaults": {
889
+ "size": "desktop"
890
+ },
891
+ "composition": {
892
+ "preferredParents": [
893
+ "Field",
894
+ "Form"
895
+ ],
896
+ "allowedChildren": [],
897
+ "allowedParents": [
898
+ "Field",
899
+ "Modal"
900
+ ],
901
+ "disallowedChildren": [],
902
+ "constraints": null
903
+ },
904
+ "tokens": {
905
+ "allowed": [
906
+ "--uds-spacing-8",
907
+ "--uds-spacing-12",
908
+ "--uds-color-neutral-700",
909
+ "--uds-color-blue-600"
910
+ ]
911
+ }
912
+ },
913
+ "Dialog": {
914
+ "name": "Dialog",
915
+ "category": "feedback",
916
+ "intent": "Structured confirmation/message surface",
917
+ "purpose": null,
918
+ "tier": null,
919
+ "description": "A modal interaction surface requiring user attention before proceeding, with focus trapping, overlay behavior, and escape dismissal.",
920
+ "roles": [
921
+ "dialog"
922
+ ],
923
+ "slots": null,
924
+ "states": [],
925
+ "props": {
926
+ "intent": {
927
+ "type": "string",
928
+ "default": "info"
929
+ },
930
+ "confirmLabel": {
931
+ "type": "string",
932
+ "default": "Confirm"
933
+ },
934
+ "cancelLabel": {
935
+ "type": "string",
936
+ "default": "Cancel"
937
+ }
938
+ },
939
+ "defaults": {
940
+ "intent": "info",
941
+ "confirmLabel": "Confirm",
942
+ "cancelLabel": "Cancel"
943
+ },
944
+ "composition": {
945
+ "preferredParents": [
946
+ "Container",
947
+ "Card"
948
+ ],
949
+ "allowedChildren": [],
950
+ "allowedParents": [],
951
+ "disallowedChildren": [
952
+ "Dialog"
953
+ ],
954
+ "constraints": null
955
+ },
956
+ "tokens": {
957
+ "allowed": [
958
+ "--uds-spacing-8",
959
+ "--uds-color-green-600",
960
+ "--uds-color-red-600"
961
+ ]
962
+ }
963
+ },
964
+ "Divider": {
965
+ "name": "Divider",
966
+ "category": "layout",
967
+ "intent": "Semantic section separator",
968
+ "purpose": null,
969
+ "tier": null,
970
+ "description": "A non-interactive visual separator for distinguishing sections of content with consistent spacing and alignment.",
971
+ "roles": [
972
+ "separator"
973
+ ],
974
+ "slots": null,
975
+ "states": [],
976
+ "props": {
977
+ "alignment": {
978
+ "type": "enum",
979
+ "values": [
980
+ "left",
981
+ "center",
982
+ "right"
983
+ ],
984
+ "default": "center"
985
+ },
986
+ "variant": {
987
+ "type": "enum",
988
+ "values": [
989
+ "line",
990
+ "solid"
991
+ ],
992
+ "default": "line"
993
+ }
994
+ },
995
+ "defaults": {
996
+ "alignment": "center",
997
+ "variant": "line"
998
+ },
999
+ "composition": {
1000
+ "preferredParents": [
1001
+ "Container",
1002
+ "Card",
1003
+ "Flex"
1004
+ ],
1005
+ "allowedChildren": [],
1006
+ "allowedParents": [
1007
+ "Card",
1008
+ "Container",
1009
+ "Modal"
1010
+ ],
1011
+ "disallowedChildren": [],
1012
+ "constraints": null
1013
+ },
1014
+ "tokens": {
1015
+ "allowed": [
1016
+ "--uds-spacing-16",
1017
+ "--uds-spacing-24",
1018
+ "--uds-radius-8"
1019
+ ]
1020
+ }
1021
+ },
1022
+ "DotStatus": {
1023
+ "name": "DotStatus",
1024
+ "category": "data-display",
1025
+ "intent": "Small status indicator dot",
1026
+ "purpose": null,
1027
+ "tier": null,
1028
+ "description": "A minimal color-coded dot used to communicate state visually and intended to be paired with accessible text.",
1029
+ "roles": [
1030
+ "status"
1031
+ ],
1032
+ "slots": null,
1033
+ "states": [],
1034
+ "props": {
1035
+ "variant": {
1036
+ "type": "enum",
1037
+ "values": [
1038
+ "red",
1039
+ "blue",
1040
+ "inverse",
1041
+ "orange",
1042
+ "sky",
1043
+ "indigo",
1044
+ "rose",
1045
+ "neutral",
1046
+ "celery",
1047
+ "lime",
1048
+ "yellow",
1049
+ "green",
1050
+ "cyan",
1051
+ "purple",
1052
+ "fuchsia"
1053
+ ],
1054
+ "default": "blue"
1055
+ },
1056
+ "size": {
1057
+ "type": "enum",
1058
+ "values": [
1059
+ "small",
1060
+ "medium",
1061
+ "large"
1062
+ ],
1063
+ "default": "medium"
1064
+ },
1065
+ "outline": {
1066
+ "type": "boolean",
1067
+ "default": false
1068
+ }
1069
+ },
1070
+ "defaults": {
1071
+ "variant": "blue",
1072
+ "size": "medium",
1073
+ "outline": false
1074
+ },
1075
+ "composition": {
1076
+ "preferredParents": [
1077
+ "Table",
1078
+ "Card",
1079
+ "Flex"
1080
+ ],
1081
+ "allowedChildren": [],
1082
+ "allowedParents": [
1083
+ "Table"
1084
+ ],
1085
+ "disallowedChildren": [],
1086
+ "constraints": null
1087
+ },
1088
+ "tokens": {
1089
+ "allowed": [
1090
+ "--uds-spacing-8",
1091
+ "--uds-color-neutral-700",
1092
+ "--uds-radius-8"
1093
+ ]
1094
+ }
1095
+ },
1096
+ "Dropdown": {
1097
+ "name": "Dropdown",
1098
+ "category": "form",
1099
+ "intent": "Single-select list input",
1100
+ "purpose": null,
1101
+ "tier": null,
1102
+ "description": "A selectable list component that expands from a trigger to allow single-option selection, including open/close behavior and keyboard navigation.",
1103
+ "roles": [
1104
+ "combobox"
1105
+ ],
1106
+ "slots": null,
1107
+ "states": [
1108
+ "default",
1109
+ "focused",
1110
+ "error",
1111
+ "disabled"
1112
+ ],
1113
+ "props": {
1114
+ "size": {
1115
+ "type": "enum",
1116
+ "values": [
1117
+ "compact",
1118
+ "default"
1119
+ ],
1120
+ "default": "default"
1121
+ },
1122
+ "state": {
1123
+ "type": "enum",
1124
+ "values": [
1125
+ "default",
1126
+ "focused",
1127
+ "error",
1128
+ "disabled"
1129
+ ],
1130
+ "default": "default"
1131
+ },
1132
+ "placeholder": {
1133
+ "type": "string",
1134
+ "default": "Select an option"
1135
+ },
1136
+ "placement": {
1137
+ "type": "string",
1138
+ "default": "bottom-start"
1139
+ }
1140
+ },
1141
+ "defaults": {
1142
+ "size": "default",
1143
+ "state": "default",
1144
+ "placeholder": "Select an option",
1145
+ "placement": "bottom-start"
1146
+ },
1147
+ "composition": {
1148
+ "preferredParents": [
1149
+ "Field",
1150
+ "Form",
1151
+ "Menu"
1152
+ ],
1153
+ "allowedChildren": [],
1154
+ "allowedParents": [
1155
+ "Field",
1156
+ "Menu",
1157
+ "Modal"
1158
+ ],
1159
+ "disallowedChildren": [],
1160
+ "constraints": null
1161
+ },
1162
+ "tokens": {
1163
+ "allowed": [
1164
+ "--uds-spacing-8",
1165
+ "--uds-spacing-12",
1166
+ "--uds-color-neutral-700",
1167
+ "--uds-color-blue-600"
1168
+ ]
1169
+ }
1170
+ },
1171
+ "EmptyState": {
1172
+ "name": "EmptyState",
1173
+ "category": "feedback",
1174
+ "intent": "Guidance for empty data scenarios",
1175
+ "purpose": "Provide a clear, branded fallback when a section has no content, data, or search results.",
1176
+ "tier": 2,
1177
+ "description": "A structured placeholder pattern shown when no data exists, providing context and guidance so users can move forward instead of seeing a blank interface.",
1178
+ "roles": [
1179
+ "status"
1180
+ ],
1181
+ "slots": null,
1182
+ "states": [
1183
+ "default"
1184
+ ],
1185
+ "props": {
1186
+ "align": {
1187
+ "type": "enum",
1188
+ "values": [
1189
+ "left",
1190
+ "center"
1191
+ ],
1192
+ "default": "center"
1193
+ }
1194
+ },
1195
+ "defaults": {
1196
+ "align": "center"
1197
+ },
1198
+ "composition": {
1199
+ "preferredParents": [
1200
+ "Container",
1201
+ "Card",
1202
+ "Table"
1203
+ ],
1204
+ "allowedChildren": [],
1205
+ "allowedParents": [],
1206
+ "disallowedChildren": [],
1207
+ "constraints": null
1208
+ },
1209
+ "tokens": {
1210
+ "allowed": [
1211
+ "--uds-spacing-8",
1212
+ "--uds-color-green-600",
1213
+ "--uds-color-red-600"
1214
+ ]
1215
+ }
1216
+ },
1217
+ "EventCard": {
1218
+ "name": "EventCard",
1219
+ "category": "data-display",
1220
+ "intent": "Event summary in a compact card",
1221
+ "purpose": null,
1222
+ "tier": null,
1223
+ "description": "A specialized content container optimized for presenting event metadata such as date, time, location, and status.",
1224
+ "roles": [
1225
+ "article"
1226
+ ],
1227
+ "slots": null,
1228
+ "states": [],
1229
+ "props": {
1230
+ "title": {
1231
+ "type": "string",
1232
+ "default": "Title"
1233
+ },
1234
+ "type": {
1235
+ "type": "string",
1236
+ "default": "travel"
1237
+ },
1238
+ "status": {
1239
+ "type": "string",
1240
+ "default": "active"
1241
+ }
1242
+ },
1243
+ "defaults": {
1244
+ "title": "Title",
1245
+ "type": "travel",
1246
+ "status": "active"
1247
+ },
1248
+ "composition": {
1249
+ "preferredParents": [
1250
+ "Container",
1251
+ "Flex"
1252
+ ],
1253
+ "allowedChildren": [],
1254
+ "allowedParents": [],
1255
+ "disallowedChildren": [],
1256
+ "constraints": null
1257
+ },
1258
+ "tokens": {
1259
+ "allowed": [
1260
+ "--uds-spacing-8",
1261
+ "--uds-color-neutral-700",
1262
+ "--uds-radius-8"
1263
+ ]
1264
+ }
1265
+ },
1266
+ "Field": {
1267
+ "name": "Field",
1268
+ "category": "form",
1269
+ "intent": "Label/helper/error wrapper for controls",
1270
+ "purpose": null,
1271
+ "tier": null,
1272
+ "description": "A compositional wrapper that pairs form controls with label, helper text, validation messaging, and accessibility relationships.",
1273
+ "roles": [
1274
+ "group"
1275
+ ],
1276
+ "slots": {
1277
+ "control": {
1278
+ "required": true,
1279
+ "description": "Input-like child control."
1280
+ },
1281
+ "helper": {
1282
+ "required": false
1283
+ },
1284
+ "error": {
1285
+ "required": false
1286
+ }
1287
+ },
1288
+ "states": [],
1289
+ "props": {},
1290
+ "defaults": {},
1291
+ "composition": {
1292
+ "preferredParents": [
1293
+ "Form",
1294
+ "Card",
1295
+ "Container"
1296
+ ],
1297
+ "allowedChildren": [
1298
+ "TextInput",
1299
+ "Input",
1300
+ "Dropdown",
1301
+ "Datepicker",
1302
+ "Textarea",
1303
+ "Checkbox",
1304
+ "Radio",
1305
+ "Toggle",
1306
+ "Slider",
1307
+ "FileUpload"
1308
+ ],
1309
+ "allowedParents": [
1310
+ "Card",
1311
+ "Container",
1312
+ "Modal",
1313
+ "Tabs"
1314
+ ],
1315
+ "disallowedChildren": [],
1316
+ "constraints": null
1317
+ },
1318
+ "tokens": {
1319
+ "allowed": [
1320
+ "--uds-spacing-8",
1321
+ "--uds-spacing-12",
1322
+ "--uds-color-neutral-700",
1323
+ "--uds-color-red-600"
1324
+ ]
1325
+ }
1326
+ },
1327
+ "FileUpload": {
1328
+ "name": "FileUpload",
1329
+ "category": "form",
1330
+ "intent": "File selection and upload interaction",
1331
+ "purpose": null,
1332
+ "tier": null,
1333
+ "description": "An input for uploading files via drag-and-drop or system picker with visual states for progress, selected files, and errors.",
1334
+ "roles": [
1335
+ "group"
1336
+ ],
1337
+ "slots": null,
1338
+ "states": [],
1339
+ "props": {
1340
+ "instructionText": {
1341
+ "type": "string",
1342
+ "default": "Drop files here or click to upload"
1343
+ }
1344
+ },
1345
+ "defaults": {
1346
+ "instructionText": "Drop files here or click to upload"
1347
+ },
1348
+ "composition": {
1349
+ "preferredParents": [
1350
+ "Field",
1351
+ "Form"
1352
+ ],
1353
+ "allowedChildren": [],
1354
+ "allowedParents": [
1355
+ "Field"
1356
+ ],
1357
+ "disallowedChildren": [],
1358
+ "constraints": null
1359
+ },
1360
+ "tokens": {
1361
+ "allowed": [
1362
+ "--uds-spacing-8",
1363
+ "--uds-spacing-12",
1364
+ "--uds-color-neutral-700",
1365
+ "--uds-color-blue-600"
1366
+ ]
1367
+ }
1368
+ },
1369
+ "Flex": {
1370
+ "name": "Flex",
1371
+ "category": "layout",
1372
+ "intent": "Primary flexbox layout primitive",
1373
+ "purpose": "Creates token-driven flexbox layouts with controlled direction, alignment, wrapping, and width behavior.",
1374
+ "tier": 2,
1375
+ "description": "A flexbox-based layout primitive for direction, alignment, spacing, and wrapping using system tokens for predictable layout behavior.",
1376
+ "roles": [
1377
+ "group"
1378
+ ],
1379
+ "slots": null,
1380
+ "states": [
1381
+ "default"
1382
+ ],
1383
+ "props": {
1384
+ "fullWidth": {
1385
+ "type": "boolean",
1386
+ "default": false
1387
+ }
1388
+ },
1389
+ "defaults": {
1390
+ "fullWidth": false
1391
+ },
1392
+ "composition": {
1393
+ "preferredParents": [
1394
+ "Container",
1395
+ "Card",
1396
+ "AppShell"
1397
+ ],
1398
+ "allowedChildren": [],
1399
+ "allowedParents": [
1400
+ "AppShell",
1401
+ "Card",
1402
+ "Container"
1403
+ ],
1404
+ "disallowedChildren": [],
1405
+ "constraints": null
1406
+ },
1407
+ "tokens": {
1408
+ "allowed": [
1409
+ "--uds-spacing-8",
1410
+ "--uds-spacing-16",
1411
+ "--uds-spacing-24"
1412
+ ]
1413
+ }
1414
+ },
1415
+ "Icon": {
1416
+ "name": "Icon",
1417
+ "category": "data-display",
1418
+ "intent": "Consistent icon rendering wrapper",
1419
+ "purpose": null,
1420
+ "tier": null,
1421
+ "description": "A scalable vector icon component enforcing consistent sizing, alignment, color token usage, and accessibility semantics.",
1422
+ "roles": [
1423
+ "img"
1424
+ ],
1425
+ "slots": null,
1426
+ "states": [],
1427
+ "props": {
1428
+ "appearance": {
1429
+ "type": "string",
1430
+ "default": "regular"
1431
+ }
1432
+ },
1433
+ "defaults": {
1434
+ "appearance": "regular"
1435
+ },
1436
+ "composition": {
1437
+ "preferredParents": [
1438
+ "Button",
1439
+ "Tag",
1440
+ "Status",
1441
+ "Text"
1442
+ ],
1443
+ "allowedChildren": [],
1444
+ "allowedParents": [
1445
+ "Menu"
1446
+ ],
1447
+ "disallowedChildren": [],
1448
+ "constraints": null
1449
+ },
1450
+ "tokens": {
1451
+ "allowed": [
1452
+ "--uds-color-neutral-700",
1453
+ "--uds-color-blue-600"
1454
+ ]
1455
+ }
1456
+ },
1457
+ "ImageAspect": {
1458
+ "name": "ImageAspect",
1459
+ "category": "layout",
1460
+ "intent": "Image with stable aspect ratio",
1461
+ "purpose": null,
1462
+ "tier": null,
1463
+ "description": "A responsive image container that preserves a predefined aspect ratio across screen sizes without distortion.",
1464
+ "roles": [
1465
+ "img"
1466
+ ],
1467
+ "slots": null,
1468
+ "states": [],
1469
+ "props": {
1470
+ "aspectratio": {
1471
+ "type": "enum",
1472
+ "values": [
1473
+ "square",
1474
+ "video",
1475
+ "4-3",
1476
+ "3-2",
1477
+ "21-9",
1478
+ "portrait",
1479
+ "auto"
1480
+ ]
1481
+ },
1482
+ "ratio": {
1483
+ "type": "string",
1484
+ "default": "square"
1485
+ }
1486
+ },
1487
+ "defaults": {
1488
+ "ratio": "square"
1489
+ },
1490
+ "composition": {
1491
+ "preferredParents": [
1492
+ "Card",
1493
+ "Container"
1494
+ ],
1495
+ "allowedChildren": [],
1496
+ "allowedParents": [],
1497
+ "disallowedChildren": [],
1498
+ "constraints": null
1499
+ },
1500
+ "tokens": {
1501
+ "allowed": [
1502
+ "--uds-spacing-16",
1503
+ "--uds-spacing-24",
1504
+ "--uds-radius-8"
1505
+ ]
1506
+ }
1507
+ },
1508
+ "Input": {
1509
+ "name": "Input",
1510
+ "category": "form",
1511
+ "intent": "Alias of TextInput for text entry",
1512
+ "purpose": null,
1513
+ "tier": null,
1514
+ "description": null,
1515
+ "roles": [
1516
+ "textbox"
1517
+ ],
1518
+ "slots": null,
1519
+ "states": [],
1520
+ "props": {},
1521
+ "defaults": {},
1522
+ "composition": {
1523
+ "preferredParents": [
1524
+ "Field",
1525
+ "Form"
1526
+ ],
1527
+ "allowedChildren": [],
1528
+ "allowedParents": [
1529
+ "Field"
1530
+ ],
1531
+ "disallowedChildren": [],
1532
+ "constraints": null
1533
+ },
1534
+ "tokens": {
1535
+ "allowed": [
1536
+ "--uds-spacing-8",
1537
+ "--uds-spacing-12",
1538
+ "--uds-color-neutral-700",
1539
+ "--uds-color-blue-600"
1540
+ ]
1541
+ }
1542
+ },
1543
+ "Key": {
1544
+ "name": "Key",
1545
+ "category": "data-display",
1546
+ "intent": "Keyboard shortcut representation",
1547
+ "purpose": null,
1548
+ "tier": null,
1549
+ "description": "A structured key-value style component for labeled metadata such as properties, details, and compact information pairs.",
1550
+ "roles": [
1551
+ "note"
1552
+ ],
1553
+ "slots": null,
1554
+ "states": [],
1555
+ "props": {
1556
+ "appearance": {
1557
+ "type": "enum",
1558
+ "values": [
1559
+ "light",
1560
+ "dark"
1561
+ ],
1562
+ "default": "light"
1563
+ }
1564
+ },
1565
+ "defaults": {
1566
+ "appearance": "light"
1567
+ },
1568
+ "composition": {
1569
+ "preferredParents": [
1570
+ "Tooltip",
1571
+ "Card",
1572
+ "Text"
1573
+ ],
1574
+ "allowedChildren": [],
1575
+ "allowedParents": [],
1576
+ "disallowedChildren": [],
1577
+ "constraints": null
1578
+ },
1579
+ "tokens": {
1580
+ "allowed": [
1581
+ "--uds-spacing-8",
1582
+ "--uds-color-neutral-700",
1583
+ "--uds-radius-8"
1584
+ ]
1585
+ }
1586
+ },
1587
+ "Menu": {
1588
+ "name": "Menu",
1589
+ "category": "navigation",
1590
+ "intent": "Main app navigation and mode controls",
1591
+ "purpose": null,
1592
+ "tier": null,
1593
+ "description": "A structured vertical list of navigation options or actions with active states, keyboard support, and optional hierarchy.",
1594
+ "roles": [
1595
+ "navigation"
1596
+ ],
1597
+ "slots": null,
1598
+ "states": [],
1599
+ "props": {
1600
+ "identity": {
1601
+ "type": "string",
1602
+ "default": "design-system"
1603
+ }
1604
+ },
1605
+ "defaults": {
1606
+ "identity": "design-system"
1607
+ },
1608
+ "composition": {
1609
+ "preferredParents": [
1610
+ "AppShell"
1611
+ ],
1612
+ "allowedChildren": [
1613
+ "ActionMenu",
1614
+ "Dropdown",
1615
+ "Toggle",
1616
+ "Text",
1617
+ "Icon"
1618
+ ],
1619
+ "allowedParents": [
1620
+ "AppShell",
1621
+ "root"
1622
+ ],
1623
+ "disallowedChildren": [],
1624
+ "constraints": null
1625
+ },
1626
+ "tokens": {
1627
+ "allowed": [
1628
+ "--uds-spacing-8",
1629
+ "--uds-color-neutral-600",
1630
+ "--uds-color-blue-600"
1631
+ ]
1632
+ }
1633
+ },
1634
+ "MicroCalendar": {
1635
+ "name": "MicroCalendar",
1636
+ "category": "data-display",
1637
+ "intent": "Compact calendar visualization",
1638
+ "purpose": null,
1639
+ "tier": null,
1640
+ "description": "A compact calendar view for dashboards and side panels where full calendar interaction is unnecessary.",
1641
+ "roles": [
1642
+ "grid"
1643
+ ],
1644
+ "slots": null,
1645
+ "states": [],
1646
+ "props": {},
1647
+ "defaults": {},
1648
+ "composition": {
1649
+ "preferredParents": [
1650
+ "Card",
1651
+ "Container"
1652
+ ],
1653
+ "allowedChildren": [],
1654
+ "allowedParents": [],
1655
+ "disallowedChildren": [],
1656
+ "constraints": null
1657
+ },
1658
+ "tokens": {
1659
+ "allowed": [
1660
+ "--uds-spacing-8",
1661
+ "--uds-color-neutral-700",
1662
+ "--uds-radius-8"
1663
+ ]
1664
+ }
1665
+ },
1666
+ "Modal": {
1667
+ "name": "Modal",
1668
+ "category": "feedback",
1669
+ "intent": "Blocking overlay for focused tasks",
1670
+ "purpose": null,
1671
+ "tier": null,
1672
+ "description": "A centered or full-screen overlay surface for focused interactions, managing stacking, overlay behavior, and dismissal.",
1673
+ "roles": [
1674
+ "dialog"
1675
+ ],
1676
+ "slots": null,
1677
+ "states": [],
1678
+ "props": {
1679
+ "size": {
1680
+ "type": "enum",
1681
+ "values": [
1682
+ "small",
1683
+ "default",
1684
+ "large",
1685
+ "fullscreen"
1686
+ ],
1687
+ "default": "default"
1688
+ }
1689
+ },
1690
+ "defaults": {
1691
+ "size": "default"
1692
+ },
1693
+ "composition": {
1694
+ "preferredParents": [
1695
+ "AppShell",
1696
+ "root"
1697
+ ],
1698
+ "allowedChildren": [
1699
+ "Text",
1700
+ "Button",
1701
+ "Divider",
1702
+ "Field",
1703
+ "TextInput",
1704
+ "Dropdown",
1705
+ "Datepicker",
1706
+ "Textarea",
1707
+ "Tag"
1708
+ ],
1709
+ "allowedParents": [
1710
+ "AppShell",
1711
+ "Container",
1712
+ "root"
1713
+ ],
1714
+ "disallowedChildren": [
1715
+ "Modal"
1716
+ ],
1717
+ "constraints": {
1718
+ "disallowedChildren": [
1719
+ "Modal"
1720
+ ]
1721
+ }
1722
+ },
1723
+ "tokens": {
1724
+ "allowed": [
1725
+ "--uds-elevation-overlay",
1726
+ "--uds-spacing-16",
1727
+ "--uds-radius-12"
1728
+ ]
1729
+ }
1730
+ },
1731
+ "Pagination": {
1732
+ "name": "Pagination",
1733
+ "category": "navigation",
1734
+ "intent": "Paged navigation controls",
1735
+ "purpose": null,
1736
+ "tier": null,
1737
+ "description": "A control for navigating large datasets split across pages while preserving context of current and total pages.",
1738
+ "roles": [
1739
+ "navigation"
1740
+ ],
1741
+ "slots": null,
1742
+ "states": [],
1743
+ "props": {
1744
+ "variant": {
1745
+ "type": "string",
1746
+ "default": "default"
1747
+ }
1748
+ },
1749
+ "defaults": {
1750
+ "variant": "default"
1751
+ },
1752
+ "composition": {
1753
+ "preferredParents": [
1754
+ "Table",
1755
+ "Container"
1756
+ ],
1757
+ "allowedChildren": [],
1758
+ "allowedParents": [],
1759
+ "disallowedChildren": [],
1760
+ "constraints": null
1761
+ },
1762
+ "tokens": {
1763
+ "allowed": [
1764
+ "--uds-spacing-8",
1765
+ "--uds-color-neutral-600",
1766
+ "--uds-color-blue-600"
1767
+ ]
1768
+ }
1769
+ },
1770
+ "ProgressCircle": {
1771
+ "name": "ProgressCircle",
1772
+ "category": "data-display",
1773
+ "intent": "Circular progress visualization",
1774
+ "purpose": null,
1775
+ "tier": null,
1776
+ "description": "A circular progress visualization for determinate completion percentages or indeterminate loading activity.",
1777
+ "roles": [
1778
+ "progressbar"
1779
+ ],
1780
+ "slots": null,
1781
+ "states": [],
1782
+ "props": {
1783
+ "shape": {
1784
+ "type": "enum",
1785
+ "values": [
1786
+ "circle",
1787
+ "half-circle"
1788
+ ],
1789
+ "default": "circle"
1790
+ },
1791
+ "size": {
1792
+ "type": "enum",
1793
+ "values": [
1794
+ "xxs",
1795
+ "xs",
1796
+ "sm",
1797
+ "md",
1798
+ "lg"
1799
+ ],
1800
+ "default": "md"
1801
+ }
1802
+ },
1803
+ "defaults": {
1804
+ "shape": "circle",
1805
+ "size": "md"
1806
+ },
1807
+ "composition": {
1808
+ "preferredParents": [
1809
+ "Card",
1810
+ "Container"
1811
+ ],
1812
+ "allowedChildren": [],
1813
+ "allowedParents": [],
1814
+ "disallowedChildren": [],
1815
+ "constraints": null
1816
+ },
1817
+ "tokens": {
1818
+ "allowed": [
1819
+ "--uds-spacing-8",
1820
+ "--uds-color-neutral-700",
1821
+ "--uds-radius-8"
1822
+ ]
1823
+ }
1824
+ },
1825
+ "ProgressIndicator": {
1826
+ "name": "ProgressIndicator",
1827
+ "category": "data-display",
1828
+ "intent": "Linear progress visualization",
1829
+ "purpose": null,
1830
+ "tier": null,
1831
+ "description": "A visual indicator for workflow progress, typically rendered as a linear bar or staged sequence.",
1832
+ "roles": [
1833
+ "progressbar"
1834
+ ],
1835
+ "slots": null,
1836
+ "states": [],
1837
+ "props": {
1838
+ "labelPosition": {
1839
+ "type": "enum",
1840
+ "values": [
1841
+ "false",
1842
+ "right",
1843
+ "bottom",
1844
+ "top-floating",
1845
+ "bottom-floating"
1846
+ ],
1847
+ "default": false
1848
+ },
1849
+ "variant": {
1850
+ "type": "enum",
1851
+ "values": [
1852
+ "default",
1853
+ "blue",
1854
+ "green",
1855
+ "success",
1856
+ "orange",
1857
+ "warning",
1858
+ "red",
1859
+ "error",
1860
+ "purple"
1861
+ ],
1862
+ "default": "default"
1863
+ },
1864
+ "size": {
1865
+ "type": "enum",
1866
+ "values": [
1867
+ "small",
1868
+ "medium",
1869
+ "large"
1870
+ ],
1871
+ "default": "medium"
1872
+ }
1873
+ },
1874
+ "defaults": {
1875
+ "labelPosition": false,
1876
+ "variant": "default",
1877
+ "size": "medium"
1878
+ },
1879
+ "composition": {
1880
+ "preferredParents": [
1881
+ "Card",
1882
+ "Container",
1883
+ "Table"
1884
+ ],
1885
+ "allowedChildren": [],
1886
+ "allowedParents": [
1887
+ "Table"
1888
+ ],
1889
+ "disallowedChildren": [],
1890
+ "constraints": null
1891
+ },
1892
+ "tokens": {
1893
+ "allowed": [
1894
+ "--uds-spacing-8",
1895
+ "--uds-color-neutral-700",
1896
+ "--uds-radius-8"
1897
+ ]
1898
+ }
1899
+ },
1900
+ "Radio": {
1901
+ "name": "Radio",
1902
+ "category": "form",
1903
+ "intent": "Single-choice option input",
1904
+ "purpose": null,
1905
+ "tier": null,
1906
+ "description": "A mutually exclusive selection control for grouped choices where only one option can be selected.",
1907
+ "roles": [
1908
+ "radio"
1909
+ ],
1910
+ "slots": null,
1911
+ "states": [],
1912
+ "props": {},
1913
+ "defaults": {},
1914
+ "composition": {
1915
+ "preferredParents": [
1916
+ "Field",
1917
+ "Form"
1918
+ ],
1919
+ "allowedChildren": [],
1920
+ "allowedParents": [
1921
+ "Field"
1922
+ ],
1923
+ "disallowedChildren": [],
1924
+ "constraints": null
1925
+ },
1926
+ "tokens": {
1927
+ "allowed": [
1928
+ "--uds-spacing-8",
1929
+ "--uds-spacing-12",
1930
+ "--uds-color-neutral-700",
1931
+ "--uds-color-blue-600"
1932
+ ]
1933
+ }
1934
+ },
1935
+ "RadioGroup": {
1936
+ "name": "RadioGroup",
1937
+ "category": "form",
1938
+ "intent": "Grouped single-select radios",
1939
+ "purpose": "Provides grouped single-select choices using Radio controls.",
1940
+ "tier": 2,
1941
+ "description": "A grouped set of Radio controls for selecting exactly one option with shared name, layout orientation, and state handling.",
1942
+ "roles": [
1943
+ "radiogroup"
1944
+ ],
1945
+ "slots": null,
1946
+ "states": [
1947
+ "default"
1948
+ ],
1949
+ "props": {
1950
+ "orientation": {
1951
+ "type": "enum",
1952
+ "values": [
1953
+ "vertical",
1954
+ "horizontal"
1955
+ ],
1956
+ "default": "vertical"
1957
+ },
1958
+ "disabled": {
1959
+ "type": "boolean",
1960
+ "default": false
1961
+ }
1962
+ },
1963
+ "defaults": {
1964
+ "orientation": "vertical",
1965
+ "disabled": false
1966
+ },
1967
+ "composition": {
1968
+ "preferredParents": [
1969
+ "Field",
1970
+ "Form",
1971
+ "Card"
1972
+ ],
1973
+ "allowedChildren": [],
1974
+ "allowedParents": [],
1975
+ "disallowedChildren": [],
1976
+ "constraints": null
1977
+ },
1978
+ "tokens": {
1979
+ "allowed": [
1980
+ "--uds-spacing-8",
1981
+ "--uds-spacing-12",
1982
+ "--uds-color-neutral-700",
1983
+ "--uds-color-blue-600"
1984
+ ]
1985
+ }
1986
+ },
1987
+ "Slider": {
1988
+ "name": "Slider",
1989
+ "category": "form",
1990
+ "intent": "Range/value slider input",
1991
+ "purpose": null,
1992
+ "tier": null,
1993
+ "description": "A draggable range control for selecting numeric values with continuous or stepped adjustments.",
1994
+ "roles": [
1995
+ "slider"
1996
+ ],
1997
+ "slots": null,
1998
+ "states": [],
1999
+ "props": {},
2000
+ "defaults": {},
2001
+ "composition": {
2002
+ "preferredParents": [
2003
+ "Field",
2004
+ "Form"
2005
+ ],
2006
+ "allowedChildren": [],
2007
+ "allowedParents": [
2008
+ "Field"
2009
+ ],
2010
+ "disallowedChildren": [],
2011
+ "constraints": null
2012
+ },
2013
+ "tokens": {
2014
+ "allowed": [
2015
+ "--uds-spacing-8",
2016
+ "--uds-spacing-12",
2017
+ "--uds-color-neutral-700",
2018
+ "--uds-color-blue-600"
2019
+ ]
2020
+ }
2021
+ },
2022
+ "Statistics": {
2023
+ "name": "Statistics",
2024
+ "category": "data-display",
2025
+ "intent": "KPI and metric summary display",
2026
+ "purpose": "Displays a KPI value with optional context, trend, and icon.",
2027
+ "tier": 2,
2028
+ "description": "A metric display component for KPI values with optional trend indication, helper context, and icon.",
2029
+ "roles": [
2030
+ "status"
2031
+ ],
2032
+ "slots": null,
2033
+ "states": [
2034
+ "default"
2035
+ ],
2036
+ "props": {
2037
+ "trend": {
2038
+ "type": "enum",
2039
+ "values": [
2040
+ "up",
2041
+ "down",
2042
+ "neutral"
2043
+ ],
2044
+ "default": "neutral"
2045
+ }
2046
+ },
2047
+ "defaults": {
2048
+ "trend": "neutral"
2049
+ },
2050
+ "composition": {
2051
+ "preferredParents": [
2052
+ "Card",
2053
+ "Container",
2054
+ "Flex"
2055
+ ],
2056
+ "allowedChildren": [],
2057
+ "allowedParents": [],
2058
+ "disallowedChildren": [],
2059
+ "constraints": null
2060
+ },
2061
+ "tokens": {
2062
+ "allowed": [
2063
+ "--uds-spacing-8",
2064
+ "--uds-color-neutral-700",
2065
+ "--uds-radius-8"
2066
+ ]
2067
+ }
2068
+ },
2069
+ "Status": {
2070
+ "name": "Status",
2071
+ "category": "data-display",
2072
+ "intent": "Status label with semantic tone",
2073
+ "purpose": null,
2074
+ "tier": null,
2075
+ "description": "A semantic indicator communicating system, object, or process condition with color, iconography, and text.",
2076
+ "roles": [
2077
+ "status"
2078
+ ],
2079
+ "slots": null,
2080
+ "states": [],
2081
+ "props": {
2082
+ "appearance": {
2083
+ "type": "enum",
2084
+ "values": [
2085
+ "light-gray",
2086
+ "white",
2087
+ "transparent"
2088
+ ],
2089
+ "default": "light-gray"
2090
+ },
2091
+ "shape": {
2092
+ "type": "enum",
2093
+ "values": [
2094
+ "pill",
2095
+ "rounded"
2096
+ ],
2097
+ "default": "pill"
2098
+ },
2099
+ "variant": {
2100
+ "type": "string",
2101
+ "default": "blue"
2102
+ }
2103
+ },
2104
+ "defaults": {
2105
+ "appearance": "light-gray",
2106
+ "shape": "pill",
2107
+ "variant": "blue"
2108
+ },
2109
+ "composition": {
2110
+ "preferredParents": [
2111
+ "Table",
2112
+ "Card",
2113
+ "Flex"
2114
+ ],
2115
+ "allowedChildren": [],
2116
+ "allowedParents": [
2117
+ "Card",
2118
+ "Table"
2119
+ ],
2120
+ "disallowedChildren": [],
2121
+ "constraints": null
2122
+ },
2123
+ "tokens": {
2124
+ "allowed": [
2125
+ "--uds-spacing-8",
2126
+ "--uds-color-neutral-700",
2127
+ "--uds-radius-8"
2128
+ ]
2129
+ }
2130
+ },
2131
+ "Steps": {
2132
+ "name": "Steps",
2133
+ "category": "navigation",
2134
+ "intent": "Multi-step progress navigation",
2135
+ "purpose": null,
2136
+ "tier": null,
2137
+ "description": "A structured sequence component for multi-step workflows showing completed, current, and upcoming stages.",
2138
+ "roles": [
2139
+ "navigation"
2140
+ ],
2141
+ "slots": null,
2142
+ "states": [],
2143
+ "props": {
2144
+ "orientation": {
2145
+ "type": "enum",
2146
+ "values": [
2147
+ "horizontal",
2148
+ "vertical"
2149
+ ],
2150
+ "default": "horizontal"
2151
+ },
2152
+ "status": {
2153
+ "type": "enum",
2154
+ "values": [
2155
+ "complete",
2156
+ "active",
2157
+ "incomplete",
2158
+ "disabled",
2159
+ "error"
2160
+ ]
2161
+ },
2162
+ "size": {
2163
+ "type": "enum",
2164
+ "values": [
2165
+ "default",
2166
+ "compact"
2167
+ ],
2168
+ "default": "default"
2169
+ }
2170
+ },
2171
+ "defaults": {
2172
+ "orientation": "horizontal",
2173
+ "size": "default"
2174
+ },
2175
+ "composition": {
2176
+ "preferredParents": [
2177
+ "Container",
2178
+ "Card"
2179
+ ],
2180
+ "allowedChildren": [],
2181
+ "allowedParents": [],
2182
+ "disallowedChildren": [],
2183
+ "constraints": null
2184
+ },
2185
+ "tokens": {
2186
+ "allowed": [
2187
+ "--uds-spacing-8",
2188
+ "--uds-color-neutral-600",
2189
+ "--uds-color-blue-600"
2190
+ ]
2191
+ }
2192
+ },
2193
+ "Table": {
2194
+ "name": "Table",
2195
+ "category": "data-display",
2196
+ "intent": "Structured tabular data rendering",
2197
+ "purpose": null,
2198
+ "tier": null,
2199
+ "description": "A row-and-column data grid supporting sorting/filtering hooks and row-level actions with accessible structure.",
2200
+ "roles": [
2201
+ "table"
2202
+ ],
2203
+ "slots": {
2204
+ "row": {
2205
+ "required": true
2206
+ },
2207
+ "cell": {
2208
+ "required": true
2209
+ },
2210
+ "header": {
2211
+ "required": true
2212
+ }
2213
+ },
2214
+ "states": [],
2215
+ "props": {},
2216
+ "defaults": {},
2217
+ "composition": {
2218
+ "preferredParents": [
2219
+ "Container",
2220
+ "Card"
2221
+ ],
2222
+ "allowedChildren": [
2223
+ "Tag",
2224
+ "Status",
2225
+ "Avatar",
2226
+ "Button",
2227
+ "ActionMenu",
2228
+ "ProgressIndicator",
2229
+ "DotStatus"
2230
+ ],
2231
+ "allowedParents": [
2232
+ "Card",
2233
+ "Container",
2234
+ "Tabs"
2235
+ ],
2236
+ "disallowedChildren": [
2237
+ "Table"
2238
+ ],
2239
+ "constraints": null
2240
+ },
2241
+ "tokens": {
2242
+ "allowed": [
2243
+ "--uds-spacing-8",
2244
+ "--uds-spacing-12",
2245
+ "--uds-color-neutral-100",
2246
+ "--uds-color-neutral-700"
2247
+ ]
2248
+ }
2249
+ },
2250
+ "Tabs": {
2251
+ "name": "Tabs",
2252
+ "category": "navigation",
2253
+ "intent": "Switch between content sections",
2254
+ "purpose": null,
2255
+ "tier": null,
2256
+ "description": "A segmented navigation pattern for switching between related content areas within a shared container.",
2257
+ "roles": [
2258
+ "tablist"
2259
+ ],
2260
+ "slots": null,
2261
+ "states": [],
2262
+ "props": {
2263
+ "orientation": {
2264
+ "type": "enum",
2265
+ "values": [
2266
+ "horizontal",
2267
+ "vertical"
2268
+ ],
2269
+ "default": "horizontal"
2270
+ },
2271
+ "appearance": {
2272
+ "type": "string",
2273
+ "default": "underline"
2274
+ },
2275
+ "tagVariant": {
2276
+ "type": "string",
2277
+ "default": "red"
2278
+ }
2279
+ },
2280
+ "defaults": {
2281
+ "orientation": "horizontal",
2282
+ "appearance": "underline",
2283
+ "tagVariant": "red"
2284
+ },
2285
+ "composition": {
2286
+ "preferredParents": [
2287
+ "Container",
2288
+ "Card"
2289
+ ],
2290
+ "allowedChildren": [
2291
+ "Text",
2292
+ "Tag",
2293
+ "Button",
2294
+ "Card",
2295
+ "Table",
2296
+ "Field"
2297
+ ],
2298
+ "allowedParents": [],
2299
+ "disallowedChildren": [],
2300
+ "constraints": null
2301
+ },
2302
+ "tokens": {
2303
+ "allowed": [
2304
+ "--uds-spacing-8",
2305
+ "--uds-color-neutral-600",
2306
+ "--uds-color-blue-600"
2307
+ ]
2308
+ }
2309
+ },
2310
+ "Tag": {
2311
+ "name": "Tag",
2312
+ "category": "data-display",
2313
+ "intent": "Categorical metadata label",
2314
+ "purpose": null,
2315
+ "tier": null,
2316
+ "description": "A compact metadata label for categorization, filtering, and visual grouping of related elements.",
2317
+ "roles": [
2318
+ "status"
2319
+ ],
2320
+ "slots": null,
2321
+ "states": [],
2322
+ "props": {
2323
+ "appearance": {
2324
+ "type": "enum",
2325
+ "values": [
2326
+ "label-only",
2327
+ "icon-left"
2328
+ ],
2329
+ "default": "label-only"
2330
+ },
2331
+ "size": {
2332
+ "type": "enum",
2333
+ "values": [
2334
+ "compact",
2335
+ "default"
2336
+ ],
2337
+ "default": "compact"
2338
+ },
2339
+ "color": {
2340
+ "type": "enum",
2341
+ "values": [
2342
+ "transparent",
2343
+ "neutral",
2344
+ "red",
2345
+ "orange",
2346
+ "yellow",
2347
+ "emerald",
2348
+ "green",
2349
+ "sky",
2350
+ "cyan",
2351
+ "blue",
2352
+ "indigo",
2353
+ "purple",
2354
+ "fuchsia",
2355
+ "magenta",
2356
+ "inverse"
2357
+ ],
2358
+ "default": "transparent"
2359
+ },
2360
+ "label": {
2361
+ "type": "string",
2362
+ "default": "Label"
2363
+ }
2364
+ },
2365
+ "defaults": {
2366
+ "appearance": "label-only",
2367
+ "size": "compact",
2368
+ "color": "transparent",
2369
+ "label": "Label"
2370
+ },
2371
+ "composition": {
2372
+ "preferredParents": [
2373
+ "Table",
2374
+ "Card",
2375
+ "Flex"
2376
+ ],
2377
+ "allowedChildren": [],
2378
+ "allowedParents": [
2379
+ "Card",
2380
+ "Container",
2381
+ "Modal",
2382
+ "Table",
2383
+ "Tabs"
2384
+ ],
2385
+ "disallowedChildren": [],
2386
+ "constraints": null
2387
+ },
2388
+ "tokens": {
2389
+ "allowed": [
2390
+ "--uds-spacing-8",
2391
+ "--uds-color-neutral-700",
2392
+ "--uds-radius-8"
2393
+ ]
2394
+ }
2395
+ },
2396
+ "Text": {
2397
+ "name": "Text",
2398
+ "category": "data-display",
2399
+ "intent": "Typography primitive for semantic text",
2400
+ "purpose": "Applies UDS typography variants with governed weight and leading options while preserving semantic tags via `as`.",
2401
+ "tier": 2,
2402
+ "description": "A typography component that adapts semantic styling and theme-aware text contrast across active brand and mode.",
2403
+ "roles": [
2404
+ "text"
2405
+ ],
2406
+ "slots": null,
2407
+ "states": [
2408
+ "default"
2409
+ ],
2410
+ "props": {
2411
+ "variant": {
2412
+ "type": "enum",
2413
+ "values": [
2414
+ "display-128",
2415
+ "display-96",
2416
+ "display-72",
2417
+ "display-60",
2418
+ "display-48",
2419
+ "display-36",
2420
+ "heading-32",
2421
+ "heading-28",
2422
+ "heading-24",
2423
+ "body-20",
2424
+ "body-16",
2425
+ "body-14",
2426
+ "body-12"
2427
+ ],
2428
+ "default": "body-16"
2429
+ },
2430
+ "weight": {
2431
+ "type": "enum",
2432
+ "values": [
2433
+ "regular",
2434
+ "medium",
2435
+ "semibold",
2436
+ "bold"
2437
+ ],
2438
+ "default": "regular"
2439
+ },
2440
+ "leading": {
2441
+ "type": "enum",
2442
+ "values": [
2443
+ "tight",
2444
+ "regular",
2445
+ "loose"
2446
+ ],
2447
+ "default": "regular"
2448
+ }
2449
+ },
2450
+ "defaults": {
2451
+ "variant": "body-16",
2452
+ "weight": "regular",
2453
+ "leading": "regular"
2454
+ },
2455
+ "composition": {
2456
+ "preferredParents": [
2457
+ "Container",
2458
+ "Card",
2459
+ "Field",
2460
+ "Dialog"
2461
+ ],
2462
+ "allowedChildren": [],
2463
+ "allowedParents": [
2464
+ "AppShell",
2465
+ "Card",
2466
+ "Container",
2467
+ "Flex",
2468
+ "Menu",
2469
+ "Modal",
2470
+ "Tabs"
2471
+ ],
2472
+ "disallowedChildren": [],
2473
+ "constraints": null
2474
+ },
2475
+ "tokens": {
2476
+ "allowed": [
2477
+ "--uds-spacing-8",
2478
+ "--uds-color-neutral-700",
2479
+ "--uds-radius-8"
2480
+ ]
2481
+ }
2482
+ },
2483
+ "TextInput": {
2484
+ "name": "TextInput",
2485
+ "category": "form",
2486
+ "intent": "Single-line text input control",
2487
+ "purpose": null,
2488
+ "tier": null,
2489
+ "description": "A single-line input used for textual values such as names, titles, and search queries.",
2490
+ "roles": [
2491
+ "textbox"
2492
+ ],
2493
+ "slots": null,
2494
+ "states": [
2495
+ "default",
2496
+ "focused",
2497
+ "error",
2498
+ "disabled"
2499
+ ],
2500
+ "props": {
2501
+ "size": {
2502
+ "type": "enum",
2503
+ "values": [
2504
+ "compact",
2505
+ "default"
2506
+ ],
2507
+ "default": "default"
2508
+ },
2509
+ "state": {
2510
+ "type": "enum",
2511
+ "values": [
2512
+ "default",
2513
+ "focused",
2514
+ "error",
2515
+ "disabled"
2516
+ ],
2517
+ "default": "default"
2518
+ },
2519
+ "type": {
2520
+ "type": "string",
2521
+ "default": "text"
2522
+ },
2523
+ "iconPosition": {
2524
+ "type": "string",
2525
+ "default": "right"
2526
+ }
2527
+ },
2528
+ "defaults": {
2529
+ "size": "default",
2530
+ "state": "default",
2531
+ "type": "text",
2532
+ "iconPosition": "right"
2533
+ },
2534
+ "composition": {
2535
+ "preferredParents": [
2536
+ "Field",
2537
+ "Form"
2538
+ ],
2539
+ "allowedChildren": [],
2540
+ "allowedParents": [
2541
+ "Field",
2542
+ "Modal"
2543
+ ],
2544
+ "disallowedChildren": [],
2545
+ "constraints": null
2546
+ },
2547
+ "tokens": {
2548
+ "allowed": [
2549
+ "--uds-spacing-8",
2550
+ "--uds-spacing-12",
2551
+ "--uds-color-neutral-700",
2552
+ "--uds-color-blue-600"
2553
+ ]
2554
+ }
2555
+ },
2556
+ "Textarea": {
2557
+ "name": "Textarea",
2558
+ "category": "form",
2559
+ "intent": "Multi-line text input control",
2560
+ "purpose": null,
2561
+ "tier": null,
2562
+ "description": "A multi-line text input for longer content such as descriptions, comments, and notes.",
2563
+ "roles": [
2564
+ "textbox"
2565
+ ],
2566
+ "slots": null,
2567
+ "states": [
2568
+ "default",
2569
+ "focused",
2570
+ "error",
2571
+ "disabled"
2572
+ ],
2573
+ "props": {
2574
+ "size": {
2575
+ "type": "enum",
2576
+ "values": [
2577
+ "compact",
2578
+ "default"
2579
+ ],
2580
+ "default": "default"
2581
+ },
2582
+ "state": {
2583
+ "type": "enum",
2584
+ "values": [
2585
+ "default",
2586
+ "focused",
2587
+ "error",
2588
+ "disabled"
2589
+ ],
2590
+ "default": "default"
2591
+ }
2592
+ },
2593
+ "defaults": {
2594
+ "size": "default",
2595
+ "state": "default"
2596
+ },
2597
+ "composition": {
2598
+ "preferredParents": [
2599
+ "Field",
2600
+ "Form"
2601
+ ],
2602
+ "allowedChildren": [],
2603
+ "allowedParents": [
2604
+ "Field",
2605
+ "Modal"
2606
+ ],
2607
+ "disallowedChildren": [],
2608
+ "constraints": null
2609
+ },
2610
+ "tokens": {
2611
+ "allowed": [
2612
+ "--uds-spacing-8",
2613
+ "--uds-spacing-12",
2614
+ "--uds-color-neutral-700",
2615
+ "--uds-color-blue-600"
2616
+ ]
2617
+ }
2618
+ },
2619
+ "Toast": {
2620
+ "name": "Toast",
2621
+ "category": "feedback",
2622
+ "intent": "Transient notification message",
2623
+ "purpose": null,
2624
+ "tier": null,
2625
+ "description": "A temporary, non-blocking notification surface that provides brief system feedback and auto-dismisses.",
2626
+ "roles": [
2627
+ "status"
2628
+ ],
2629
+ "slots": null,
2630
+ "states": [],
2631
+ "props": {
2632
+ "variant": {
2633
+ "type": "enum",
2634
+ "values": [
2635
+ "success",
2636
+ "error",
2637
+ "warning",
2638
+ "info"
2639
+ ],
2640
+ "default": "info"
2641
+ }
2642
+ },
2643
+ "defaults": {
2644
+ "variant": "info"
2645
+ },
2646
+ "composition": {
2647
+ "preferredParents": [
2648
+ "AppShell",
2649
+ "root"
2650
+ ],
2651
+ "allowedChildren": [],
2652
+ "allowedParents": [],
2653
+ "disallowedChildren": [
2654
+ "Modal",
2655
+ "Dialog"
2656
+ ],
2657
+ "constraints": {
2658
+ "disallowedChildren": [
2659
+ "Modal",
2660
+ "Dialog"
2661
+ ]
2662
+ }
2663
+ },
2664
+ "tokens": {
2665
+ "allowed": [
2666
+ "--uds-spacing-8",
2667
+ "--uds-color-green-600",
2668
+ "--uds-color-red-600"
2669
+ ]
2670
+ }
2671
+ },
2672
+ "Toggle": {
2673
+ "name": "Toggle",
2674
+ "category": "form",
2675
+ "intent": "Binary switch control",
2676
+ "purpose": null,
2677
+ "tier": null,
2678
+ "description": "A binary switch for enabling or disabling a persistent setting or feature state.",
2679
+ "roles": [
2680
+ "switch"
2681
+ ],
2682
+ "slots": null,
2683
+ "states": [],
2684
+ "props": {
2685
+ "size": {
2686
+ "type": "enum",
2687
+ "values": [
2688
+ "large",
2689
+ "small"
2690
+ ],
2691
+ "default": "large"
2692
+ }
2693
+ },
2694
+ "defaults": {
2695
+ "size": "large"
2696
+ },
2697
+ "composition": {
2698
+ "preferredParents": [
2699
+ "Field",
2700
+ "Form",
2701
+ "Menu"
2702
+ ],
2703
+ "allowedChildren": [],
2704
+ "allowedParents": [
2705
+ "Field",
2706
+ "Menu"
2707
+ ],
2708
+ "disallowedChildren": [],
2709
+ "constraints": null
2710
+ },
2711
+ "tokens": {
2712
+ "allowed": [
2713
+ "--uds-spacing-8",
2714
+ "--uds-spacing-12",
2715
+ "--uds-color-neutral-700",
2716
+ "--uds-color-blue-600"
2717
+ ]
2718
+ }
2719
+ },
2720
+ "Toolbar": {
2721
+ "name": "Toolbar",
2722
+ "category": "layout",
2723
+ "intent": "Top bar with edge actions and centered identity/title",
2724
+ "purpose": "Top action bar with left and right action regions and centered title/branding.",
2725
+ "tier": 2,
2726
+ "description": "A horizontal application bar that reserves left and right action regions and a centered title or branding slot.",
2727
+ "roles": [
2728
+ "toolbar"
2729
+ ],
2730
+ "slots": null,
2731
+ "states": [
2732
+ "default"
2733
+ ],
2734
+ "props": {},
2735
+ "defaults": {},
2736
+ "composition": {
2737
+ "preferredParents": [
2738
+ "AppShell",
2739
+ "Container",
2740
+ "root"
2741
+ ],
2742
+ "allowedChildren": [],
2743
+ "allowedParents": [],
2744
+ "disallowedChildren": [],
2745
+ "constraints": null
2746
+ },
2747
+ "tokens": {
2748
+ "allowed": [
2749
+ "--uds-surface-primary",
2750
+ "--uds-border-primary",
2751
+ "--uds-spacing-8",
2752
+ "--uds-spacing-12",
2753
+ "--uds-spacing-16"
2754
+ ]
2755
+ }
2756
+ },
2757
+ "Tooltip": {
2758
+ "name": "Tooltip",
2759
+ "category": "feedback",
2760
+ "intent": "Contextual helper text on hover/focus",
2761
+ "purpose": null,
2762
+ "tier": null,
2763
+ "description": "A contextual overlay shown on hover or focus to provide supplemental information without interrupting workflow.",
2764
+ "roles": [
2765
+ "tooltip"
2766
+ ],
2767
+ "slots": null,
2768
+ "states": [],
2769
+ "props": {
2770
+ "placement": {
2771
+ "type": "enum",
2772
+ "values": [
2773
+ "top",
2774
+ "bottom",
2775
+ "left",
2776
+ "right"
2777
+ ],
2778
+ "default": "top"
2779
+ }
2780
+ },
2781
+ "defaults": {
2782
+ "placement": "top"
2783
+ },
2784
+ "composition": {
2785
+ "preferredParents": [
2786
+ "Button",
2787
+ "Icon",
2788
+ "Text"
2789
+ ],
2790
+ "allowedChildren": [],
2791
+ "allowedParents": [],
2792
+ "disallowedChildren": [],
2793
+ "constraints": null
2794
+ },
2795
+ "tokens": {
2796
+ "allowed": [
2797
+ "--uds-spacing-8",
2798
+ "--uds-color-green-600",
2799
+ "--uds-color-red-600"
2800
+ ]
2801
+ }
2802
+ }
2803
+ },
2804
+ "compositionRules": {
2805
+ "spacingSystem": {
2806
+ "unit": 4,
2807
+ "allowedTokens": [
2808
+ "--uds-spacing-0",
2809
+ "--uds-spacing-2",
2810
+ "--uds-spacing-4",
2811
+ "--uds-spacing-6",
2812
+ "--uds-spacing-8",
2813
+ "--uds-spacing-10",
2814
+ "--uds-spacing-12",
2815
+ "--uds-spacing-14",
2816
+ "--uds-spacing-16",
2817
+ "--uds-spacing-18",
2818
+ "--uds-spacing-24",
2819
+ "--uds-spacing-32",
2820
+ "--uds-spacing-36",
2821
+ "--uds-spacing-40",
2822
+ "--uds-spacing-48",
2823
+ "--uds-spacing-64",
2824
+ "--uds-spacing-80"
2825
+ ],
2826
+ "defaultToken": "--uds-spacing-16"
2827
+ },
2828
+ "verticalRhythm": {
2829
+ "sectionGapToken": "--uds-spacing-24",
2830
+ "contentGapToken": "--uds-spacing-16",
2831
+ "compactGapToken": "--uds-spacing-8"
2832
+ },
2833
+ "allowedComposition": {
2834
+ "AppShell": [
2835
+ "Menu",
2836
+ "Container",
2837
+ "Flex",
2838
+ "Card",
2839
+ "Text",
2840
+ "Button"
2841
+ ],
2842
+ "Container": [
2843
+ "Flex",
2844
+ "Card",
2845
+ "Table",
2846
+ "Text",
2847
+ "Button",
2848
+ "Field",
2849
+ "Divider",
2850
+ "Tag"
2851
+ ],
2852
+ "Field": [
2853
+ "TextInput",
2854
+ "Input",
2855
+ "Dropdown",
2856
+ "Datepicker",
2857
+ "Textarea",
2858
+ "Checkbox",
2859
+ "Radio",
2860
+ "Toggle",
2861
+ "Slider",
2862
+ "FileUpload"
2863
+ ],
2864
+ "Modal": [
2865
+ "Text",
2866
+ "Button",
2867
+ "Divider",
2868
+ "Field",
2869
+ "TextInput",
2870
+ "Dropdown",
2871
+ "Datepicker",
2872
+ "Textarea",
2873
+ "Tag"
2874
+ ],
2875
+ "Card": [
2876
+ "Text",
2877
+ "Flex",
2878
+ "Button",
2879
+ "Tag",
2880
+ "Status",
2881
+ "Table",
2882
+ "Divider",
2883
+ "Avatar",
2884
+ "ActionMenu",
2885
+ "Field"
2886
+ ],
2887
+ "Table": [
2888
+ "Tag",
2889
+ "Status",
2890
+ "Avatar",
2891
+ "Button",
2892
+ "ActionMenu",
2893
+ "ProgressIndicator",
2894
+ "DotStatus"
2895
+ ],
2896
+ "Tabs": [
2897
+ "Text",
2898
+ "Tag",
2899
+ "Button",
2900
+ "Card",
2901
+ "Table",
2902
+ "Field"
2903
+ ],
2904
+ "Menu": [
2905
+ "ActionMenu",
2906
+ "Dropdown",
2907
+ "Toggle",
2908
+ "Text",
2909
+ "Icon"
2910
+ ]
2911
+ },
2912
+ "allowedParents": {
2913
+ "ActionMenu": [
2914
+ "Card",
2915
+ "Menu",
2916
+ "Table"
2917
+ ],
2918
+ "Avatar": [
2919
+ "Card",
2920
+ "Table"
2921
+ ],
2922
+ "Button": [
2923
+ "AppShell",
2924
+ "Card",
2925
+ "Container",
2926
+ "Flex",
2927
+ "Modal",
2928
+ "Table",
2929
+ "Tabs"
2930
+ ],
2931
+ "Card": [
2932
+ "AppShell",
2933
+ "Container",
2934
+ "Tabs"
2935
+ ],
2936
+ "Checkbox": [
2937
+ "Field"
2938
+ ],
2939
+ "Container": [
2940
+ "AppShell",
2941
+ "root"
2942
+ ],
2943
+ "Datepicker": [
2944
+ "Field",
2945
+ "Modal"
2946
+ ],
2947
+ "Divider": [
2948
+ "Card",
2949
+ "Container",
2950
+ "Modal"
2951
+ ],
2952
+ "DotStatus": [
2953
+ "Table"
2954
+ ],
2955
+ "Dropdown": [
2956
+ "Field",
2957
+ "Menu",
2958
+ "Modal"
2959
+ ],
2960
+ "Field": [
2961
+ "Card",
2962
+ "Container",
2963
+ "Modal",
2964
+ "Tabs"
2965
+ ],
2966
+ "FileUpload": [
2967
+ "Field"
2968
+ ],
2969
+ "Flex": [
2970
+ "AppShell",
2971
+ "Card",
2972
+ "Container"
2973
+ ],
2974
+ "Icon": [
2975
+ "Menu"
2976
+ ],
2977
+ "Input": [
2978
+ "Field"
2979
+ ],
2980
+ "Menu": [
2981
+ "AppShell",
2982
+ "root"
2983
+ ],
2984
+ "Modal": [
2985
+ "AppShell",
2986
+ "Container",
2987
+ "root"
2988
+ ],
2989
+ "ProgressIndicator": [
2990
+ "Table"
2991
+ ],
2992
+ "Radio": [
2993
+ "Field"
2994
+ ],
2995
+ "Slider": [
2996
+ "Field"
2997
+ ],
2998
+ "Status": [
2999
+ "Card",
3000
+ "Table"
3001
+ ],
3002
+ "Table": [
3003
+ "Card",
3004
+ "Container",
3005
+ "Tabs"
3006
+ ],
3007
+ "Tag": [
3008
+ "Card",
3009
+ "Container",
3010
+ "Modal",
3011
+ "Table",
3012
+ "Tabs"
3013
+ ],
3014
+ "Text": [
3015
+ "AppShell",
3016
+ "Card",
3017
+ "Container",
3018
+ "Flex",
3019
+ "Menu",
3020
+ "Modal",
3021
+ "Tabs"
3022
+ ],
3023
+ "TextInput": [
3024
+ "Field",
3025
+ "Modal"
3026
+ ],
3027
+ "Textarea": [
3028
+ "Field",
3029
+ "Modal"
3030
+ ],
3031
+ "Toggle": [
3032
+ "Field",
3033
+ "Menu"
3034
+ ]
3035
+ },
3036
+ "disallowedNesting": [
3037
+ {
3038
+ "parent": "Modal",
3039
+ "child": "Modal"
3040
+ },
3041
+ {
3042
+ "parent": "Dialog",
3043
+ "child": "Dialog"
3044
+ },
3045
+ {
3046
+ "parent": "Toast",
3047
+ "child": "Modal"
3048
+ },
3049
+ {
3050
+ "parent": "Toast",
3051
+ "child": "Dialog"
3052
+ },
3053
+ {
3054
+ "parent": "Table",
3055
+ "child": "Table"
3056
+ },
3057
+ {
3058
+ "parent": "Button",
3059
+ "child": "Button"
3060
+ }
3061
+ ],
3062
+ "actionPlacement": {
3063
+ "primaryActionPosition": "end",
3064
+ "secondaryActionPosition": "start",
3065
+ "maxPrimaryActionsPerSection": 1
3066
+ },
3067
+ "maxWidth": {
3068
+ "content": "1280px",
3069
+ "form": "640px",
3070
+ "dialog": "720px"
3071
+ },
3072
+ "maxNestingDepth": 8
3073
+ },
3074
+ "intentComponentMappings": {
3075
+ "primaryAction": {
3076
+ "component": "Button",
3077
+ "props": {
3078
+ "appearance": "primary"
3079
+ },
3080
+ "notes": "Use one primary action per section max."
3081
+ },
3082
+ "secondaryAction": {
3083
+ "component": "Button",
3084
+ "props": {
3085
+ "appearance": "text"
3086
+ },
3087
+ "notes": "Use non-primary appearance for secondary actions."
3088
+ },
3089
+ "sectionContainer": {
3090
+ "component": "Container",
3091
+ "props": {
3092
+ "gap": "--uds-spacing-24"
3093
+ },
3094
+ "notes": "Default section wrapper with governed spacing."
3095
+ },
3096
+ "contentStack": {
3097
+ "component": "Flex",
3098
+ "props": {
3099
+ "direction": "column",
3100
+ "gap": "--uds-spacing-16"
3101
+ },
3102
+ "notes": "Primary stack for vertical rhythm."
3103
+ },
3104
+ "formFieldWrapper": {
3105
+ "component": "Field",
3106
+ "notes": "Wrap inputs that require label/helper/error messaging."
3107
+ },
3108
+ "textInputControl": {
3109
+ "component": "TextInput",
3110
+ "notes": "Use TextInput for freeform single-line text."
3111
+ },
3112
+ "selectionControl": {
3113
+ "component": "Dropdown",
3114
+ "notes": "Use Dropdown for controlled selection."
3115
+ },
3116
+ "statusIndicator": {
3117
+ "component": "Status",
3118
+ "notes": "Use semantic status component for state communication."
3119
+ },
3120
+ "badgeLabel": {
3121
+ "component": "Tag",
3122
+ "notes": "Use Tag for concise categorical labels."
3123
+ },
3124
+ "contextualActions": {
3125
+ "component": "ActionMenu",
3126
+ "notes": "Use ActionMenu for row/object-level secondary actions."
3127
+ },
3128
+ "dataPresentation": {
3129
+ "component": "Table",
3130
+ "notes": "Use Table for tabular datasets and structured records."
3131
+ },
3132
+ "confirmationDialog": {
3133
+ "component": "Modal",
3134
+ "notes": "Use Modal for confirmation/destructive decision points."
3135
+ }
3136
+ },
3137
+ "tokenIntents": {
3138
+ "surface/background": [
3139
+ "--uds-color-neutral-0",
3140
+ "--uds-color-neutral-50",
3141
+ "--uds-color-neutral-100"
3142
+ ],
3143
+ "text hierarchy": [
3144
+ "--uds-color-neutral-900",
3145
+ "--uds-color-neutral-700",
3146
+ "--uds-color-neutral-600"
3147
+ ],
3148
+ "interactive emphasis": [
3149
+ "--uds-color-blue-600",
3150
+ "--uds-color-blue-700",
3151
+ "--uds-color-blue-50"
3152
+ ],
3153
+ "error and warning": [
3154
+ "--uds-color-red-600",
3155
+ "--uds-color-amber-600"
3156
+ ],
3157
+ "layout spacing rhythm": [
3158
+ "--uds-spacing-8",
3159
+ "--uds-spacing-12",
3160
+ "--uds-spacing-16",
3161
+ "--uds-spacing-24",
3162
+ "--uds-spacing-32"
3163
+ ]
3164
+ }
3165
+ }