@misoto22/design 0.6.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/AGENTS.md +87 -0
  2. package/CLAUDE.md +1 -0
  3. package/README.md +62 -5
  4. package/bin/misoto22-design.mjs +59 -13
  5. package/dist/agent/Accordion.md +24 -1
  6. package/dist/agent/Alert.md +23 -1
  7. package/dist/agent/AppShell.md +30 -2
  8. package/dist/agent/ArchitectureFigure.md +71 -0
  9. package/dist/agent/AreaChart.md +27 -2
  10. package/dist/agent/Article.md +26 -3
  11. package/dist/agent/AspectRatio.md +57 -0
  12. package/dist/agent/Avatar.md +25 -5
  13. package/dist/agent/Badge.md +22 -1
  14. package/dist/agent/BarChart.md +29 -2
  15. package/dist/agent/BarList.md +27 -1
  16. package/dist/agent/BigNumber.md +26 -2
  17. package/dist/agent/BoxPlot.md +24 -1
  18. package/dist/agent/Breadcrumb.md +24 -2
  19. package/dist/agent/BulletChart.md +23 -1
  20. package/dist/agent/Button.md +25 -1
  21. package/dist/agent/Calendar.md +37 -3
  22. package/dist/agent/Card.md +24 -2
  23. package/dist/agent/Checkbox.md +23 -2
  24. package/dist/agent/Code.md +50 -0
  25. package/dist/agent/CodeBlock.md +74 -0
  26. package/dist/agent/Collapsible.md +22 -1
  27. package/dist/agent/Combobox.md +29 -3
  28. package/dist/agent/Command.md +25 -2
  29. package/dist/agent/ComposedChart.md +26 -2
  30. package/dist/agent/ContextMenu.md +37 -4
  31. package/dist/agent/DataflowFigure.md +48 -0
  32. package/dist/agent/DatePicker.md +34 -6
  33. package/dist/agent/DescriptionList.md +68 -0
  34. package/dist/agent/Diagram.md +27 -3
  35. package/dist/agent/DiagramCanvas.md +70 -0
  36. package/dist/agent/DiagramExportMenu.md +64 -0
  37. package/dist/agent/DiagramInspector.md +72 -0
  38. package/dist/agent/DiagramLegend.md +55 -0
  39. package/dist/agent/DiagramMinimap.md +68 -0
  40. package/dist/agent/DiagramToolbar.md +69 -0
  41. package/dist/agent/Dialog.md +26 -3
  42. package/dist/agent/DropdownMenu.md +45 -6
  43. package/dist/agent/EmptyState.md +26 -1
  44. package/dist/agent/ErrorState.md +27 -2
  45. package/dist/agent/Facet.md +25 -1
  46. package/dist/agent/Field.md +45 -4
  47. package/dist/agent/FigureBand.md +24 -1
  48. package/dist/agent/FloatingIconButton.md +23 -1
  49. package/dist/agent/FunnelChart.md +23 -1
  50. package/dist/agent/Heading.md +64 -0
  51. package/dist/agent/Heatmap.md +25 -1
  52. package/dist/agent/Histogram.md +26 -2
  53. package/dist/agent/Input.md +22 -1
  54. package/dist/agent/Kbd.md +19 -1
  55. package/dist/agent/LifecycleFigure.md +49 -0
  56. package/dist/agent/LineChart.md +26 -2
  57. package/dist/agent/LinkArrow.md +20 -1
  58. package/dist/agent/Markdown.md +68 -0
  59. package/dist/agent/NativeSelect.md +23 -2
  60. package/dist/agent/NavItem.md +21 -1
  61. package/dist/agent/Pagination.md +28 -2
  62. package/dist/agent/PieChart.md +26 -2
  63. package/dist/agent/Popover.md +23 -1
  64. package/dist/agent/Progress.md +27 -3
  65. package/dist/agent/RadarChart.md +26 -2
  66. package/dist/agent/RadialChart.md +26 -3
  67. package/dist/agent/RadioGroup.md +23 -2
  68. package/dist/agent/SankeyChart.md +25 -2
  69. package/dist/agent/ScatterChart.md +27 -2
  70. package/dist/agent/ScrollArea.md +24 -3
  71. package/dist/agent/SearchableMenu.md +23 -1
  72. package/dist/agent/Select.md +29 -3
  73. package/dist/agent/Separator.md +28 -4
  74. package/dist/agent/SequenceFigure.md +50 -0
  75. package/dist/agent/Sheet.md +25 -2
  76. package/dist/agent/Skeleton.md +24 -2
  77. package/dist/agent/Slider.md +27 -4
  78. package/dist/agent/Sparkline.md +23 -1
  79. package/dist/agent/Spinner.md +24 -2
  80. package/dist/agent/StatusDot.md +20 -1
  81. package/dist/agent/StatusPill.md +28 -2
  82. package/dist/agent/Steps.md +24 -1
  83. package/dist/agent/Switch.md +21 -1
  84. package/dist/agent/Table.md +26 -3
  85. package/dist/agent/Tabs.md +24 -2
  86. package/dist/agent/Tag.md +40 -9
  87. package/dist/agent/Text.md +65 -0
  88. package/dist/agent/Textarea.md +20 -1
  89. package/dist/agent/Timestamp.md +64 -0
  90. package/dist/agent/Toast.md +26 -2
  91. package/dist/agent/ToggleGroup.md +24 -2
  92. package/dist/agent/Toolbar.md +71 -0
  93. package/dist/agent/Tooltip.md +23 -1
  94. package/dist/agent/TreemapChart.md +24 -1
  95. package/dist/agent/WaterfallChart.md +24 -1
  96. package/dist/agent/WorkflowFigure.md +50 -0
  97. package/dist/agent/catalog.json +6086 -1009
  98. package/dist/agent/index.md +27 -4
  99. package/dist/article.css +16 -4
  100. package/dist/charts/AreaChart/AreaChart.d.ts +9 -2
  101. package/dist/charts/AreaChart/AreaChart.js +12 -13
  102. package/dist/charts/AreaChart/AreaChart.js.map +1 -1
  103. package/dist/charts/BarChart/BarChart.d.ts +14 -3
  104. package/dist/charts/BarChart/BarChart.js +20 -12
  105. package/dist/charts/BarChart/BarChart.js.map +1 -1
  106. package/dist/charts/BarList/BarList.d.ts +9 -1
  107. package/dist/charts/BarList/BarList.js +9 -1
  108. package/dist/charts/BarList/BarList.js.map +1 -1
  109. package/dist/charts/BigNumber/BigNumber.d.ts +19 -3
  110. package/dist/charts/BigNumber/BigNumber.js +25 -5
  111. package/dist/charts/BigNumber/BigNumber.js.map +1 -1
  112. package/dist/charts/BoxPlot/BoxPlot.js +4 -2
  113. package/dist/charts/BoxPlot/BoxPlot.js.map +1 -1
  114. package/dist/charts/BulletChart/BulletChart.js +28 -7
  115. package/dist/charts/BulletChart/BulletChart.js.map +1 -1
  116. package/dist/charts/ComposedChart/ComposedChart.d.ts +9 -2
  117. package/dist/charts/ComposedChart/ComposedChart.js +10 -10
  118. package/dist/charts/ComposedChart/ComposedChart.js.map +1 -1
  119. package/dist/charts/FunnelChart/FunnelChart.d.ts +7 -2
  120. package/dist/charts/FunnelChart/FunnelChart.js +6 -16
  121. package/dist/charts/FunnelChart/FunnelChart.js.map +1 -1
  122. package/dist/charts/Heatmap/Heatmap.d.ts +17 -3
  123. package/dist/charts/Heatmap/Heatmap.js +20 -11
  124. package/dist/charts/Heatmap/Heatmap.js.map +1 -1
  125. package/dist/charts/Histogram/Histogram.d.ts +24 -1
  126. package/dist/charts/Histogram/Histogram.js +43 -11
  127. package/dist/charts/Histogram/Histogram.js.map +1 -1
  128. package/dist/charts/LineChart/LineChart.d.ts +9 -2
  129. package/dist/charts/LineChart/LineChart.js +11 -12
  130. package/dist/charts/LineChart/LineChart.js.map +1 -1
  131. package/dist/charts/PieChart/PieChart.d.ts +15 -3
  132. package/dist/charts/PieChart/PieChart.js +14 -6
  133. package/dist/charts/PieChart/PieChart.js.map +1 -1
  134. package/dist/charts/RadarChart/RadarChart.d.ts +15 -3
  135. package/dist/charts/RadarChart/RadarChart.js +11 -9
  136. package/dist/charts/RadarChart/RadarChart.js.map +1 -1
  137. package/dist/charts/RadialChart/RadialChart.d.ts +22 -4
  138. package/dist/charts/RadialChart/RadialChart.js +28 -6
  139. package/dist/charts/RadialChart/RadialChart.js.map +1 -1
  140. package/dist/charts/SankeyChart/SankeyChart.d.ts +16 -4
  141. package/dist/charts/SankeyChart/SankeyChart.js +14 -6
  142. package/dist/charts/SankeyChart/SankeyChart.js.map +1 -1
  143. package/dist/charts/ScatterChart/ScatterChart.d.ts +24 -3
  144. package/dist/charts/ScatterChart/ScatterChart.js +21 -15
  145. package/dist/charts/ScatterChart/ScatterChart.js.map +1 -1
  146. package/dist/charts/Sparkline/Sparkline.js +5 -3
  147. package/dist/charts/Sparkline/Sparkline.js.map +1 -1
  148. package/dist/charts/TreemapChart/TreemapChart.d.ts +7 -2
  149. package/dist/charts/TreemapChart/TreemapChart.js +20 -11
  150. package/dist/charts/TreemapChart/TreemapChart.js.map +1 -1
  151. package/dist/charts/WaterfallChart/WaterfallChart.js +4 -2
  152. package/dist/charts/WaterfallChart/WaterfallChart.js.map +1 -1
  153. package/dist/charts/index.d.ts +2 -1
  154. package/dist/charts/lib/export.d.ts +34 -43
  155. package/dist/charts/lib/export.js +16 -158
  156. package/dist/charts/lib/export.js.map +1 -1
  157. package/dist/charts/lib/figure.d.ts +21 -1
  158. package/dist/charts/lib/figure.js +5 -2
  159. package/dist/charts/lib/figure.js.map +1 -1
  160. package/dist/charts/lib/scale.d.ts +23 -0
  161. package/dist/charts/lib/scale.js +13 -0
  162. package/dist/charts/lib/scale.js.map +1 -0
  163. package/dist/charts/lib/selection.d.ts +20 -0
  164. package/dist/charts/lib/selection.js +18 -0
  165. package/dist/charts/lib/selection.js.map +1 -0
  166. package/dist/charts/lib/toolbar.d.ts +1 -0
  167. package/dist/components/Accordion/Accordion.js +8 -1
  168. package/dist/components/Accordion/Accordion.js.map +1 -1
  169. package/dist/components/AppShell/AppShell.d.ts +6 -0
  170. package/dist/components/AppShell/AppShell.js +34 -4
  171. package/dist/components/AppShell/AppShell.js.map +1 -1
  172. package/dist/components/Article/Article.d.ts +11 -4
  173. package/dist/components/Article/Article.js +13 -0
  174. package/dist/components/Article/Article.js.map +1 -1
  175. package/dist/components/AspectRatio/AspectRatio.d.ts +46 -0
  176. package/dist/components/AspectRatio/AspectRatio.js +33 -0
  177. package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
  178. package/dist/components/Avatar/Avatar.d.ts +12 -3
  179. package/dist/components/Avatar/Avatar.js +6 -1
  180. package/dist/components/Avatar/Avatar.js.map +1 -1
  181. package/dist/components/Breadcrumb/Breadcrumb.d.ts +6 -0
  182. package/dist/components/Breadcrumb/Breadcrumb.js +15 -0
  183. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  184. package/dist/components/Button/Button.js +14 -0
  185. package/dist/components/Button/Button.js.map +1 -1
  186. package/dist/components/Calendar/Calendar.d.ts +29 -3
  187. package/dist/components/Calendar/Calendar.js +60 -12
  188. package/dist/components/Calendar/Calendar.js.map +1 -1
  189. package/dist/components/Card/Card.d.ts +6 -0
  190. package/dist/components/Card/Card.js +1 -1
  191. package/dist/components/Card/Card.js.map +1 -1
  192. package/dist/components/Checkbox/Checkbox.d.ts +5 -2
  193. package/dist/components/Checkbox/Checkbox.js +12 -2
  194. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  195. package/dist/components/Code/Code.d.ts +30 -0
  196. package/dist/components/Code/Code.js +21 -0
  197. package/dist/components/Code/Code.js.map +1 -0
  198. package/dist/components/CodeBlock/CodeBlock.d.ts +141 -0
  199. package/dist/components/CodeBlock/CodeBlock.js +123 -0
  200. package/dist/components/CodeBlock/CodeBlock.js.map +1 -0
  201. package/dist/components/Collapsible/Collapsible.js +10 -2
  202. package/dist/components/Collapsible/Collapsible.js.map +1 -1
  203. package/dist/components/Combobox/Combobox.d.ts +15 -1
  204. package/dist/components/Combobox/Combobox.js +25 -5
  205. package/dist/components/Combobox/Combobox.js.map +1 -1
  206. package/dist/components/Command/Command.d.ts +4 -2
  207. package/dist/components/Command/Command.js +13 -1
  208. package/dist/components/Command/Command.js.map +1 -1
  209. package/dist/components/ContextMenu/ContextMenu.d.ts +30 -5
  210. package/dist/components/ContextMenu/ContextMenu.js +32 -2
  211. package/dist/components/ContextMenu/ContextMenu.js.map +1 -1
  212. package/dist/components/DatePicker/DatePicker.d.ts +36 -4
  213. package/dist/components/DatePicker/DatePicker.js +55 -12
  214. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  215. package/dist/components/DescriptionList/DescriptionList.d.ts +73 -0
  216. package/dist/components/DescriptionList/DescriptionList.js +35 -0
  217. package/dist/components/DescriptionList/DescriptionList.js.map +1 -0
  218. package/dist/components/Diagram/Diagram.d.ts +8 -3
  219. package/dist/components/Diagram/Diagram.js +82 -10
  220. package/dist/components/Diagram/Diagram.js.map +1 -1
  221. package/dist/components/Dialog/Dialog.d.ts +18 -3
  222. package/dist/components/Dialog/Dialog.js +20 -2
  223. package/dist/components/Dialog/Dialog.js.map +1 -1
  224. package/dist/components/DropdownMenu/DropdownMenu.d.ts +49 -11
  225. package/dist/components/DropdownMenu/DropdownMenu.js +32 -2
  226. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  227. package/dist/components/EmptyState/EmptyState.d.ts +25 -1
  228. package/dist/components/EmptyState/EmptyState.js +3 -1
  229. package/dist/components/EmptyState/EmptyState.js.map +1 -1
  230. package/dist/components/ErrorState/ErrorState.d.ts +22 -1
  231. package/dist/components/ErrorState/ErrorState.js +11 -2
  232. package/dist/components/ErrorState/ErrorState.js.map +1 -1
  233. package/dist/components/Field/Field.d.ts +70 -3
  234. package/dist/components/Field/Field.js +53 -12
  235. package/dist/components/Field/Field.js.map +1 -1
  236. package/dist/components/Field/field-control.d.ts +31 -0
  237. package/dist/components/Field/field-control.js +12 -0
  238. package/dist/components/Field/field-control.js.map +1 -0
  239. package/dist/components/FloatingIconButton/FloatingIconButton.js +2 -0
  240. package/dist/components/FloatingIconButton/FloatingIconButton.js.map +1 -1
  241. package/dist/components/Heading/Heading.d.ts +62 -0
  242. package/dist/components/Heading/Heading.js +44 -0
  243. package/dist/components/Heading/Heading.js.map +1 -0
  244. package/dist/components/Markdown/Markdown.d.ts +139 -0
  245. package/dist/components/Markdown/Markdown.js +135 -0
  246. package/dist/components/Markdown/Markdown.js.map +1 -0
  247. package/dist/components/Markdown/inline.d.ts +29 -0
  248. package/dist/components/Markdown/inline.js +74 -0
  249. package/dist/components/Markdown/inline.js.map +1 -0
  250. package/dist/components/Markdown/nodes.d.ts +65 -0
  251. package/dist/components/Markdown/nodes.js +1 -0
  252. package/dist/components/Markdown/nodes.js.map +1 -0
  253. package/dist/components/Markdown/parse.d.ts +24 -0
  254. package/dist/components/Markdown/parse.js +110 -0
  255. package/dist/components/Markdown/parse.js.map +1 -0
  256. package/dist/components/Markdown/slug.d.ts +15 -0
  257. package/dist/components/Markdown/slug.js +7 -0
  258. package/dist/components/Markdown/slug.js.map +1 -0
  259. package/dist/components/NativeSelect/NativeSelect.d.ts +6 -0
  260. package/dist/components/NativeSelect/NativeSelect.js +2 -3
  261. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  262. package/dist/components/Pagination/Pagination.d.ts +24 -1
  263. package/dist/components/Pagination/Pagination.js +6 -3
  264. package/dist/components/Pagination/Pagination.js.map +1 -1
  265. package/dist/components/Progress/Progress.d.ts +17 -5
  266. package/dist/components/Progress/Progress.js +18 -6
  267. package/dist/components/Progress/Progress.js.map +1 -1
  268. package/dist/components/RadioGroup/RadioGroup.d.ts +6 -0
  269. package/dist/components/RadioGroup/RadioGroup.js +11 -1
  270. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  271. package/dist/components/ScrollArea/ScrollArea.d.ts +15 -0
  272. package/dist/components/ScrollArea/ScrollArea.js +2 -2
  273. package/dist/components/ScrollArea/ScrollArea.js.map +1 -1
  274. package/dist/components/SearchableMenu/SearchableMenu.d.ts +11 -2
  275. package/dist/components/SearchableMenu/SearchableMenu.js +24 -2
  276. package/dist/components/SearchableMenu/SearchableMenu.js.map +1 -1
  277. package/dist/components/Select/Select.d.ts +18 -2
  278. package/dist/components/Select/Select.js +20 -3
  279. package/dist/components/Select/Select.js.map +1 -1
  280. package/dist/components/Separator/Separator.d.ts +21 -3
  281. package/dist/components/Separator/Separator.js +9 -1
  282. package/dist/components/Separator/Separator.js.map +1 -1
  283. package/dist/components/Sheet/Sheet.d.ts +3 -0
  284. package/dist/components/Sheet/Sheet.js +11 -2
  285. package/dist/components/Sheet/Sheet.js.map +1 -1
  286. package/dist/components/Skeleton/Skeleton.d.ts +8 -1
  287. package/dist/components/Skeleton/Skeleton.js +1 -1
  288. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  289. package/dist/components/Slider/Slider.d.ts +21 -3
  290. package/dist/components/Slider/Slider.js +54 -27
  291. package/dist/components/Slider/Slider.js.map +1 -1
  292. package/dist/components/Spinner/Spinner.d.ts +8 -0
  293. package/dist/components/Spinner/Spinner.js +3 -2
  294. package/dist/components/Spinner/Spinner.js.map +1 -1
  295. package/dist/components/StatusPill/StatusPill.d.ts +5 -0
  296. package/dist/components/StatusPill/StatusPill.js +6 -0
  297. package/dist/components/StatusPill/StatusPill.js.map +1 -1
  298. package/dist/components/Table/Table.d.ts +6 -0
  299. package/dist/components/Table/Table.js +3 -1
  300. package/dist/components/Table/Table.js.map +1 -1
  301. package/dist/components/Tag/Tag.d.ts +68 -9
  302. package/dist/components/Tag/Tag.js +50 -10
  303. package/dist/components/Tag/Tag.js.map +1 -1
  304. package/dist/components/Text/Text.d.ts +62 -0
  305. package/dist/components/Text/Text.js +30 -0
  306. package/dist/components/Text/Text.js.map +1 -0
  307. package/dist/components/Timestamp/Timestamp.d.ts +59 -0
  308. package/dist/components/Timestamp/Timestamp.js +56 -0
  309. package/dist/components/Timestamp/Timestamp.js.map +1 -0
  310. package/dist/components/Toast/Toast.d.ts +9 -1
  311. package/dist/components/Toast/Toast.js +27 -4
  312. package/dist/components/Toast/Toast.js.map +1 -1
  313. package/dist/components/ToggleGroup/ToggleGroup.d.ts +6 -1
  314. package/dist/components/ToggleGroup/ToggleGroup.js +11 -1
  315. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
  316. package/dist/components/Toolbar/Toolbar.d.ts +55 -0
  317. package/dist/components/Toolbar/Toolbar.js +43 -0
  318. package/dist/components/Toolbar/Toolbar.js.map +1 -0
  319. package/dist/diagrams/ArchitectureFigure/ArchitectureFigure.d.ts +55 -0
  320. package/dist/diagrams/ArchitectureFigure/ArchitectureFigure.js +175 -0
  321. package/dist/diagrams/ArchitectureFigure/ArchitectureFigure.js.map +1 -0
  322. package/dist/diagrams/DataflowFigure/DataflowFigure.d.ts +28 -0
  323. package/dist/diagrams/DataflowFigure/DataflowFigure.js +148 -0
  324. package/dist/diagrams/DataflowFigure/DataflowFigure.js.map +1 -0
  325. package/dist/diagrams/DiagramCanvas/DiagramCanvas.d.ts +78 -0
  326. package/dist/diagrams/DiagramCanvas/DiagramCanvas.js +229 -0
  327. package/dist/diagrams/DiagramCanvas/DiagramCanvas.js.map +1 -0
  328. package/dist/diagrams/DiagramExportMenu/DiagramExportMenu.d.ts +106 -0
  329. package/dist/diagrams/DiagramExportMenu/DiagramExportMenu.js +123 -0
  330. package/dist/diagrams/DiagramExportMenu/DiagramExportMenu.js.map +1 -0
  331. package/dist/diagrams/DiagramInspector/DiagramInspector.d.ts +70 -0
  332. package/dist/diagrams/DiagramInspector/DiagramInspector.js +94 -0
  333. package/dist/diagrams/DiagramInspector/DiagramInspector.js.map +1 -0
  334. package/dist/diagrams/DiagramLegend/DiagramLegend.d.ts +42 -0
  335. package/dist/diagrams/DiagramLegend/DiagramLegend.js +35 -0
  336. package/dist/diagrams/DiagramLegend/DiagramLegend.js.map +1 -0
  337. package/dist/diagrams/DiagramMinimap/DiagramMinimap.d.ts +77 -0
  338. package/dist/diagrams/DiagramMinimap/DiagramMinimap.js +106 -0
  339. package/dist/diagrams/DiagramMinimap/DiagramMinimap.js.map +1 -0
  340. package/dist/diagrams/DiagramToolbar/DiagramToolbar.d.ts +48 -0
  341. package/dist/diagrams/DiagramToolbar/DiagramToolbar.js +53 -0
  342. package/dist/diagrams/DiagramToolbar/DiagramToolbar.js.map +1 -0
  343. package/dist/diagrams/LifecycleFigure/LifecycleFigure.d.ts +31 -0
  344. package/dist/diagrams/LifecycleFigure/LifecycleFigure.js +234 -0
  345. package/dist/diagrams/LifecycleFigure/LifecycleFigure.js.map +1 -0
  346. package/dist/diagrams/SequenceFigure/SequenceFigure.d.ts +38 -0
  347. package/dist/diagrams/SequenceFigure/SequenceFigure.js +261 -0
  348. package/dist/diagrams/SequenceFigure/SequenceFigure.js.map +1 -0
  349. package/dist/diagrams/WorkflowFigure/WorkflowFigure.d.ts +36 -0
  350. package/dist/diagrams/WorkflowFigure/WorkflowFigure.js +259 -0
  351. package/dist/diagrams/WorkflowFigure/WorkflowFigure.js.map +1 -0
  352. package/dist/diagrams/index.d.ts +17 -0
  353. package/dist/diagrams/index.js +29 -0
  354. package/dist/diagrams/index.js.map +1 -0
  355. package/dist/diagrams/lib/dev.d.ts +61 -0
  356. package/dist/diagrams/lib/dev.js +96 -0
  357. package/dist/diagrams/lib/dev.js.map +1 -0
  358. package/dist/diagrams/lib/frame.d.ts +138 -0
  359. package/dist/diagrams/lib/frame.js +131 -0
  360. package/dist/diagrams/lib/frame.js.map +1 -0
  361. package/dist/diagrams/lib/geometry.d.ts +114 -0
  362. package/dist/diagrams/lib/geometry.js +113 -0
  363. package/dist/diagrams/lib/geometry.js.map +1 -0
  364. package/dist/diagrams/lib/legend.d.ts +32 -0
  365. package/dist/diagrams/lib/legend.js +84 -0
  366. package/dist/diagrams/lib/legend.js.map +1 -0
  367. package/dist/diagrams/lib/marks.d.ts +207 -0
  368. package/dist/diagrams/lib/marks.js +480 -0
  369. package/dist/diagrams/lib/marks.js.map +1 -0
  370. package/dist/diagrams/lib/route.d.ts +85 -0
  371. package/dist/diagrams/lib/route.js +178 -0
  372. package/dist/diagrams/lib/route.js.map +1 -0
  373. package/dist/diagrams/lib/wires.d.ts +59 -0
  374. package/dist/diagrams/lib/wires.js +90 -0
  375. package/dist/diagrams/lib/wires.js.map +1 -0
  376. package/dist/diagrams/spec.d.ts +405 -0
  377. package/dist/diagrams/spec.js +1 -0
  378. package/dist/diagrams/spec.js.map +1 -0
  379. package/dist/index.d.ts +16 -4
  380. package/dist/index.js +9 -0
  381. package/dist/index.js.map +1 -1
  382. package/dist/keyframes.css +57 -3
  383. package/dist/lib/overlay-container.d.ts +14 -4
  384. package/dist/lib/overlay-container.js.map +1 -1
  385. package/dist/lib/svg-export.d.ts +138 -0
  386. package/dist/lib/svg-export.js +198 -0
  387. package/dist/lib/svg-export.js.map +1 -0
  388. package/dist/lib/warn.d.ts +73 -0
  389. package/dist/lib/warn.js +38 -0
  390. package/dist/lib/warn.js.map +1 -0
  391. package/dist/semantic.css +51 -6
  392. package/dist/styles.css +1 -1
  393. package/dist/tokens.css +20 -2
  394. package/dist/tokens.d.ts +17 -1
  395. package/dist/tokens.js +121 -36
  396. package/dist/tokens.json +121 -36
  397. package/llms.txt +35 -0
  398. package/package.json +9 -2
  399. package/skills/misoto22-design/SKILL.md +21 -7
  400. package/skills/misoto22-design/evals/evals.json +84 -0
  401. package/skills/misoto22-design/rules/a11y.md +55 -3
  402. package/skills/misoto22-design/rules/forms.md +5 -0
package/dist/tokens.js CHANGED
@@ -297,37 +297,37 @@ export const TOKENS = {
297
297
  "fs-title": {
298
298
  "layer": "tokens",
299
299
  "category": "type",
300
- "light": "clamp(2.5rem, calc(4.6 * var(--fluid)), 3.375rem)"
300
+ "light": "clamp(2.5rem, calc(4.6 * var(--fluid)), 3.375rem)",
301
+ "comment": "page h1 40 → 54px"
301
302
  },
302
303
  "fs-lead": {
303
304
  "layer": "tokens",
304
305
  "category": "type",
305
306
  "light": "clamp(1.875rem, calc(3 * var(--fluid)), 2.625rem)",
306
- "comment": "page h1 4054px"
307
+ "comment": "band heading 3042px"
307
308
  },
308
309
  "fs-heading": {
309
310
  "layer": "tokens",
310
311
  "category": "type",
311
312
  "light": "clamp(1.5rem, calc(2.1 * var(--fluid)), 1.8125rem)",
312
- "comment": "band heading 3042px"
313
+ "comment": "record title 2429px"
313
314
  },
314
315
  "fs-sub": {
315
316
  "layer": "tokens",
316
317
  "category": "type",
317
318
  "light": "clamp(1.3125rem, calc(1.7 * var(--fluid)), 1.5625rem)",
318
- "comment": "record title 2429px"
319
+ "comment": "card sub-head 2125px"
319
320
  },
320
321
  "fs-item": {
321
322
  "layer": "tokens",
322
323
  "category": "type",
323
324
  "light": "clamp(1.125rem, calc(1.35 * var(--fluid)), 1.25rem)",
324
- "comment": "card sub-head 2125px"
325
+ "comment": "in-card title 1820px"
325
326
  },
326
327
  "pad": {
327
328
  "layer": "tokens",
328
329
  "category": "space",
329
- "light": "clamp(18px, calc(4.4 * var(--fluid)), 64px)",
330
- "comment": "in-card title 18 → 20px"
330
+ "light": "clamp(18px, calc(4.4 * var(--fluid)), 64px)"
331
331
  },
332
332
  "sec": {
333
333
  "layer": "tokens",
@@ -354,111 +354,114 @@ export const TOKENS = {
354
354
  "layer": "tokens",
355
355
  "category": "radius",
356
356
  "light": "calc(4px * var(--radius-factor))",
357
- "comment": "The numbers are the ones the rest of the industry settled on, and that is the argument for them: 8px for a control, 12px for a panel, and 4/6 for the small marks inside one. Tailwind's own scale, shadcn's `--radius` ± 2 and ± 4, Radix Themes' steps 3 and 4, and Material's `xs`/`sm`/`md` all agree within a pixel of this. The previous 2/4/6/10 was a step tighter than any of them, which is what made a card read as a rectangle with the corners shaved rather than as a rounded panel."
357
+ "comment": "a mark inside a tight box"
358
358
  },
359
359
  "radius-sm": {
360
360
  "layer": "tokens",
361
361
  "category": "radius",
362
362
  "light": "calc(6px * var(--radius-factor))",
363
- "comment": "a mark inside a tight box"
363
+ "comment": "chips, keys, list rows"
364
364
  },
365
365
  "radius": {
366
366
  "layer": "tokens",
367
367
  "category": "radius",
368
368
  "light": "calc(8px * var(--radius-factor))",
369
- "comment": "chips, keys, list rows"
369
+ "comment": "inputs, code, small plates"
370
370
  },
371
371
  "radius-lg": {
372
372
  "layer": "tokens",
373
373
  "category": "radius",
374
374
  "light": "calc(12px * var(--radius-factor))",
375
- "comment": "inputs, code, small plates"
375
+ "comment": "cards, dialogs, menu panels"
376
376
  },
377
377
  "radius-pill": {
378
378
  "layer": "tokens",
379
379
  "category": "radius",
380
380
  "light": "calc(999px * var(--radius-factor))",
381
- "comment": "cards, dialogs, menu panels"
381
+ "comment": "capsules and counters"
382
382
  },
383
383
  "radius-row": {
384
384
  "layer": "tokens",
385
385
  "category": "radius",
386
386
  "light": "max(0px, calc(var(--radius-lg) - 0.375rem))",
387
- "comment": "The nesting law, applied to the two insets this system actually uses."
387
+ "comment": "a row in a 6px-padded panel"
388
388
  },
389
389
  "radius-frame": {
390
390
  "layer": "tokens",
391
391
  "category": "radius",
392
392
  "light": "calc(var(--radius-lg) + 1rem * var(--radius-gate))",
393
- "comment": "a row in a 6px-padded panel"
393
+ "comment": "a frame 16px outside a panel"
394
394
  },
395
395
  "control-h-sm": {
396
396
  "layer": "tokens",
397
397
  "category": "density",
398
- "light": "1.875rem"
398
+ "light": "2.25rem",
399
+ "comment": "36px"
399
400
  },
400
401
  "control-h-md": {
401
402
  "layer": "tokens",
402
403
  "category": "density",
403
- "light": "2.25rem",
404
- "comment": "30px"
404
+ "light": "2.75rem",
405
+ "comment": "44px — WCAG 2.5.5"
405
406
  },
406
407
  "control-h-lg": {
407
408
  "layer": "tokens",
408
409
  "category": "density",
409
- "light": "2.5rem",
410
- "comment": "36px — clears WCAG 2.5.8, not 2.5.5"
410
+ "light": "3rem",
411
+ "comment": "48px"
411
412
  },
412
413
  "control-px-sm": {
413
414
  "layer": "tokens",
414
415
  "category": "density",
415
- "light": "0.75rem",
416
- "comment": "40px"
416
+ "light": "1rem"
417
417
  },
418
418
  "control-px-md": {
419
419
  "layer": "tokens",
420
420
  "category": "density",
421
- "light": "1rem"
421
+ "light": "1.5rem"
422
422
  },
423
423
  "control-px-lg": {
424
424
  "layer": "tokens",
425
425
  "category": "density",
426
- "light": "1.25rem"
426
+ "light": "1.75rem"
427
427
  },
428
428
  "control-py-sm": {
429
429
  "layer": "tokens",
430
430
  "category": "density",
431
- "light": "0.25rem"
431
+ "light": "0.5rem",
432
+ "comment": "The vertical padding is part of the axis too, and has to be: a control whose padding alone exceeds the compact height never shrinks, because `min-height` is a floor and not a ceiling."
432
433
  },
433
434
  "control-py-md": {
434
435
  "layer": "tokens",
435
436
  "category": "density",
436
- "light": "0.375rem"
437
+ "light": "0.75rem"
437
438
  },
438
439
  "control-py-lg": {
439
440
  "layer": "tokens",
440
441
  "category": "density",
441
- "light": "0.5rem"
442
+ "light": "0.75rem"
442
443
  },
443
444
  "control-gap": {
444
445
  "layer": "tokens",
445
446
  "category": "density",
446
- "light": "0.5rem"
447
+ "light": "0.625rem"
447
448
  },
448
449
  "field-px": {
449
450
  "layer": "tokens",
450
451
  "category": "density",
451
- "light": "0.625rem"
452
+ "light": "0.875rem",
453
+ "comment": "Text inputs are measured separately: they are read as much as they are hit, so their padding tracks the type rather than the target."
452
454
  },
453
455
  "field-py": {
454
456
  "layer": "tokens",
455
457
  "category": "density",
456
- "light": "0.375rem"
458
+ "light": "0.625rem"
457
459
  },
458
460
  "table-pad-y": {
459
461
  "layer": "tokens",
460
462
  "category": "other",
461
- "light": "0.5rem"
463
+ "light": "0.875rem",
464
+ "comment": "A table's own row padding. Separate from the control scale because a table row is neither a control nor a field — it is a line of text with a rule under it, and it tightens on its own axis."
462
465
  },
463
466
  "table-pad-x": {
464
467
  "layer": "tokens",
@@ -507,7 +510,7 @@ export const TOKENS = {
507
510
  "layer": "tokens",
508
511
  "category": "layer",
509
512
  "light": "1",
510
- "comment": "─── Stacking ─── seven ranks, named for what sits at each."
513
+ "comment": "─── Stacking ─── seven ranks, named for what sits at each. Every overlay in the package portals to document.body, so all of them are siblings in the ROOT stacking context and the rank is the whole of the decision — there is no ancestor left to nest one inside another. Read it as a sentence: a sticky header clears the page, a drawer clears the header, a scrim covers both, a modal sits on its scrim, an ANCHORED panel clears the modal it was opened from, and a toast clears everything because it is the only rank that has to survive a modal asking a question. --z-anchored is the one that is not obvious, and it is the one that was wrong. A popover, a menu or a select listbox is opened FROM something, and the surface it is most often opened from is a modal — a select inside a modal form is one of the most ordinary shapes in an application. Ranked below the modal, as it was, the panel is painted behind the very dialog that summoned it. The rank it replaced, --z-palette, was read by nothing: a command palette is a Dialog, so it lands at --z-modal, and its order against a second modal is settled by document order — which is the right answer, because it moves a scrim and its panel together."
511
514
  },
512
515
  "z-sticky": {
513
516
  "layer": "tokens",
@@ -529,7 +532,7 @@ export const TOKENS = {
529
532
  "category": "layer",
530
533
  "light": "210"
531
534
  },
532
- "z-palette": {
535
+ "z-anchored": {
533
536
  "layer": "tokens",
534
537
  "category": "layer",
535
538
  "light": "220"
@@ -800,7 +803,7 @@ export const TOKENS = {
800
803
  "layer": "semantic",
801
804
  "category": "depth",
802
805
  "light": "transparent",
803
- "comment": "─── Depth ──────────────────────────────────────────────────────────── Law 2 — a box-shadow is never blurred. The system has no elevation ramp; depth is a hard offset in ink, applied per component. These three resolve to nothing on purpose, so a component ported from a shadowed system stays flat instead of drawing a blur the White Reset does not have. Reach for --lift instead, which is the offset idiom expressed once."
806
+ "comment": "─── Depth ──────────────────────────────────────────────────────────── Law 2 — a box-shadow is never blurred. The system has no elevation ramp; depth is a hard offset in ink, applied per component. These three resolve to nothing on purpose, so a component ported from a shadowed system stays flat instead of drawing a blur the White Reset does not have. --lift below is the sanctioned offset idiom for anything that must read as raised."
804
807
  },
805
808
  "shadow-sm": {
806
809
  "layer": "semantic",
@@ -821,7 +824,7 @@ export const TOKENS = {
821
824
  "layer": "semantic",
822
825
  "category": "depth",
823
826
  "light": "3px 3px 0 0 var(--shadow-offset)",
824
- "comment": "The one depth cue the system does have: a hard 3px ink offset, no blur. Used by a plate that must read as sitting above the page."
827
+ "comment": "The one depth cue the system does have: a hard 3px ink offset, no blur, in the accent rather than a grey because --shadow-offset points at --clay. PUBLISHED, NOT CONSUMED. No component in this package sets either one — there is not a single shadow-(--lift) in src/. What the library actually separates with is a hairline, a change of ground, and the reversal that Card variant=\"plate\" reaches for. These two exist so a consumer building a raised plate of their own has the system's answer instead of inventing a blur; do not read them as describing what the library does."
825
828
  },
826
829
  "lift-sm": {
827
830
  "layer": "semantic",
@@ -872,14 +875,96 @@ export const TOKENS = {
872
875
  "z-dropdown": {
873
876
  "layer": "semantic",
874
877
  "category": "layer",
875
- "light": "var(--z-drawer)",
876
- "comment": "─── Stacking ─── five component-facing names onto the seven ranks. ─────"
878
+ "light": "var(--z-anchored)",
879
+ "comment": "─── Stacking ─── two component-facing names onto the seven ranks. ────── The other five ranks are read by their own names; only these two had a component-facing spelling that outlived the rank it pointed at. --z-dropdown pointed at --z-drawer, 100, which put every anchored panel under the modal at 210 that opened it."
877
880
  },
878
881
  "z-overlay": {
879
882
  "layer": "semantic",
880
883
  "category": "layer",
881
884
  "light": "var(--z-scrim)"
882
885
  },
886
+ "diagram-surface": {
887
+ "layer": "semantic",
888
+ "category": "other",
889
+ "light": "var(--paper)",
890
+ "comment": "─── Diagrams ─────────────────────────────────────────────────────────── The figures in `@misoto22/design/diagrams`, which draw in SVG and therefore cannot read a custom property from a presentation attribute — every one of these reaches a mark through a style rule. Named separately from the page's own rules rather than pointed straight at --rule-2 because a figure is a PICTURE inside a document: its hairline has to hold up against a 1200-wide raster export and a greyscale print, where the page's own hairline is chosen to disappear. Keeping the two apart is what lets a figure be tuned without touching a table. Nothing here is a hue. The seven kinds of node are separated by drawn sigils, and the only colour a figure spends is --success / --danger on a terminal lifecycle state — the same two the rest of the system reserves for state and refuses to spend on brand."
891
+ },
892
+ "diagram-node": {
893
+ "layer": "semantic",
894
+ "category": "other",
895
+ "light": "var(--paper)"
896
+ },
897
+ "diagram-node-2": {
898
+ "layer": "semantic",
899
+ "category": "other",
900
+ "light": "var(--paper-2)"
901
+ },
902
+ "diagram-band": {
903
+ "layer": "semantic",
904
+ "category": "other",
905
+ "light": "var(--stone)"
906
+ },
907
+ "diagram-chip": {
908
+ "layer": "semantic",
909
+ "category": "other",
910
+ "light": "var(--paper-2)"
911
+ },
912
+ "diagram-rule": {
913
+ "layer": "semantic",
914
+ "category": "other",
915
+ "light": "var(--rule-2)"
916
+ },
917
+ "diagram-rule-hard": {
918
+ "layer": "semantic",
919
+ "category": "other",
920
+ "light": "var(--ink-3-aa)"
921
+ },
922
+ "diagram-line": {
923
+ "layer": "semantic",
924
+ "category": "other",
925
+ "light": "var(--ink-2)"
926
+ },
927
+ "diagram-line-strong": {
928
+ "layer": "semantic",
929
+ "category": "other",
930
+ "light": "var(--ink)"
931
+ },
932
+ "diagram-line-soft": {
933
+ "layer": "semantic",
934
+ "category": "colour",
935
+ "light": "var(--ink-3-aa)"
936
+ },
937
+ "diagram-sigil": {
938
+ "layer": "semantic",
939
+ "category": "other",
940
+ "light": "var(--ink-3-aa)"
941
+ },
942
+ "diagram-ink": {
943
+ "layer": "semantic",
944
+ "category": "other",
945
+ "light": "var(--ink)"
946
+ },
947
+ "diagram-ink-2": {
948
+ "layer": "semantic",
949
+ "category": "other",
950
+ "light": "var(--ink-2)"
951
+ },
952
+ "diagram-ink-3": {
953
+ "layer": "semantic",
954
+ "category": "other",
955
+ "light": "var(--ink-3-aa)"
956
+ },
957
+ "diagram-plate": {
958
+ "layer": "semantic",
959
+ "category": "other",
960
+ "light": "var(--accent)",
961
+ "comment": "The reversed plate, and its type. A figure gets ONE of these — the node the diagram is about — for the same reason a page gets one Card variant=\"plate\"."
962
+ },
963
+ "diagram-plate-ink": {
964
+ "layer": "semantic",
965
+ "category": "other",
966
+ "light": "var(--accent-foreground)"
967
+ },
883
968
  "page-pad": {
884
969
  "layer": "semantic",
885
970
  "category": "space",
package/dist/tokens.json CHANGED
@@ -296,37 +296,37 @@
296
296
  "fs-title": {
297
297
  "layer": "tokens",
298
298
  "category": "type",
299
- "light": "clamp(2.5rem, calc(4.6 * var(--fluid)), 3.375rem)"
299
+ "light": "clamp(2.5rem, calc(4.6 * var(--fluid)), 3.375rem)",
300
+ "comment": "page h1 40 → 54px"
300
301
  },
301
302
  "fs-lead": {
302
303
  "layer": "tokens",
303
304
  "category": "type",
304
305
  "light": "clamp(1.875rem, calc(3 * var(--fluid)), 2.625rem)",
305
- "comment": "page h1 4054px"
306
+ "comment": "band heading 3042px"
306
307
  },
307
308
  "fs-heading": {
308
309
  "layer": "tokens",
309
310
  "category": "type",
310
311
  "light": "clamp(1.5rem, calc(2.1 * var(--fluid)), 1.8125rem)",
311
- "comment": "band heading 3042px"
312
+ "comment": "record title 2429px"
312
313
  },
313
314
  "fs-sub": {
314
315
  "layer": "tokens",
315
316
  "category": "type",
316
317
  "light": "clamp(1.3125rem, calc(1.7 * var(--fluid)), 1.5625rem)",
317
- "comment": "record title 2429px"
318
+ "comment": "card sub-head 2125px"
318
319
  },
319
320
  "fs-item": {
320
321
  "layer": "tokens",
321
322
  "category": "type",
322
323
  "light": "clamp(1.125rem, calc(1.35 * var(--fluid)), 1.25rem)",
323
- "comment": "card sub-head 2125px"
324
+ "comment": "in-card title 1820px"
324
325
  },
325
326
  "pad": {
326
327
  "layer": "tokens",
327
328
  "category": "space",
328
- "light": "clamp(18px, calc(4.4 * var(--fluid)), 64px)",
329
- "comment": "in-card title 18 → 20px"
329
+ "light": "clamp(18px, calc(4.4 * var(--fluid)), 64px)"
330
330
  },
331
331
  "sec": {
332
332
  "layer": "tokens",
@@ -353,111 +353,114 @@
353
353
  "layer": "tokens",
354
354
  "category": "radius",
355
355
  "light": "calc(4px * var(--radius-factor))",
356
- "comment": "The numbers are the ones the rest of the industry settled on, and that is the argument for them: 8px for a control, 12px for a panel, and 4/6 for the small marks inside one. Tailwind's own scale, shadcn's `--radius` ± 2 and ± 4, Radix Themes' steps 3 and 4, and Material's `xs`/`sm`/`md` all agree within a pixel of this. The previous 2/4/6/10 was a step tighter than any of them, which is what made a card read as a rectangle with the corners shaved rather than as a rounded panel."
356
+ "comment": "a mark inside a tight box"
357
357
  },
358
358
  "radius-sm": {
359
359
  "layer": "tokens",
360
360
  "category": "radius",
361
361
  "light": "calc(6px * var(--radius-factor))",
362
- "comment": "a mark inside a tight box"
362
+ "comment": "chips, keys, list rows"
363
363
  },
364
364
  "radius": {
365
365
  "layer": "tokens",
366
366
  "category": "radius",
367
367
  "light": "calc(8px * var(--radius-factor))",
368
- "comment": "chips, keys, list rows"
368
+ "comment": "inputs, code, small plates"
369
369
  },
370
370
  "radius-lg": {
371
371
  "layer": "tokens",
372
372
  "category": "radius",
373
373
  "light": "calc(12px * var(--radius-factor))",
374
- "comment": "inputs, code, small plates"
374
+ "comment": "cards, dialogs, menu panels"
375
375
  },
376
376
  "radius-pill": {
377
377
  "layer": "tokens",
378
378
  "category": "radius",
379
379
  "light": "calc(999px * var(--radius-factor))",
380
- "comment": "cards, dialogs, menu panels"
380
+ "comment": "capsules and counters"
381
381
  },
382
382
  "radius-row": {
383
383
  "layer": "tokens",
384
384
  "category": "radius",
385
385
  "light": "max(0px, calc(var(--radius-lg) - 0.375rem))",
386
- "comment": "The nesting law, applied to the two insets this system actually uses."
386
+ "comment": "a row in a 6px-padded panel"
387
387
  },
388
388
  "radius-frame": {
389
389
  "layer": "tokens",
390
390
  "category": "radius",
391
391
  "light": "calc(var(--radius-lg) + 1rem * var(--radius-gate))",
392
- "comment": "a row in a 6px-padded panel"
392
+ "comment": "a frame 16px outside a panel"
393
393
  },
394
394
  "control-h-sm": {
395
395
  "layer": "tokens",
396
396
  "category": "density",
397
- "light": "1.875rem"
397
+ "light": "2.25rem",
398
+ "comment": "36px"
398
399
  },
399
400
  "control-h-md": {
400
401
  "layer": "tokens",
401
402
  "category": "density",
402
- "light": "2.25rem",
403
- "comment": "30px"
403
+ "light": "2.75rem",
404
+ "comment": "44px — WCAG 2.5.5"
404
405
  },
405
406
  "control-h-lg": {
406
407
  "layer": "tokens",
407
408
  "category": "density",
408
- "light": "2.5rem",
409
- "comment": "36px — clears WCAG 2.5.8, not 2.5.5"
409
+ "light": "3rem",
410
+ "comment": "48px"
410
411
  },
411
412
  "control-px-sm": {
412
413
  "layer": "tokens",
413
414
  "category": "density",
414
- "light": "0.75rem",
415
- "comment": "40px"
415
+ "light": "1rem"
416
416
  },
417
417
  "control-px-md": {
418
418
  "layer": "tokens",
419
419
  "category": "density",
420
- "light": "1rem"
420
+ "light": "1.5rem"
421
421
  },
422
422
  "control-px-lg": {
423
423
  "layer": "tokens",
424
424
  "category": "density",
425
- "light": "1.25rem"
425
+ "light": "1.75rem"
426
426
  },
427
427
  "control-py-sm": {
428
428
  "layer": "tokens",
429
429
  "category": "density",
430
- "light": "0.25rem"
430
+ "light": "0.5rem",
431
+ "comment": "The vertical padding is part of the axis too, and has to be: a control whose padding alone exceeds the compact height never shrinks, because `min-height` is a floor and not a ceiling."
431
432
  },
432
433
  "control-py-md": {
433
434
  "layer": "tokens",
434
435
  "category": "density",
435
- "light": "0.375rem"
436
+ "light": "0.75rem"
436
437
  },
437
438
  "control-py-lg": {
438
439
  "layer": "tokens",
439
440
  "category": "density",
440
- "light": "0.5rem"
441
+ "light": "0.75rem"
441
442
  },
442
443
  "control-gap": {
443
444
  "layer": "tokens",
444
445
  "category": "density",
445
- "light": "0.5rem"
446
+ "light": "0.625rem"
446
447
  },
447
448
  "field-px": {
448
449
  "layer": "tokens",
449
450
  "category": "density",
450
- "light": "0.625rem"
451
+ "light": "0.875rem",
452
+ "comment": "Text inputs are measured separately: they are read as much as they are hit, so their padding tracks the type rather than the target."
451
453
  },
452
454
  "field-py": {
453
455
  "layer": "tokens",
454
456
  "category": "density",
455
- "light": "0.375rem"
457
+ "light": "0.625rem"
456
458
  },
457
459
  "table-pad-y": {
458
460
  "layer": "tokens",
459
461
  "category": "other",
460
- "light": "0.5rem"
462
+ "light": "0.875rem",
463
+ "comment": "A table's own row padding. Separate from the control scale because a table row is neither a control nor a field — it is a line of text with a rule under it, and it tightens on its own axis."
461
464
  },
462
465
  "table-pad-x": {
463
466
  "layer": "tokens",
@@ -506,7 +509,7 @@
506
509
  "layer": "tokens",
507
510
  "category": "layer",
508
511
  "light": "1",
509
- "comment": "─── Stacking ─── seven ranks, named for what sits at each."
512
+ "comment": "─── Stacking ─── seven ranks, named for what sits at each. Every overlay in the package portals to document.body, so all of them are siblings in the ROOT stacking context and the rank is the whole of the decision — there is no ancestor left to nest one inside another. Read it as a sentence: a sticky header clears the page, a drawer clears the header, a scrim covers both, a modal sits on its scrim, an ANCHORED panel clears the modal it was opened from, and a toast clears everything because it is the only rank that has to survive a modal asking a question. --z-anchored is the one that is not obvious, and it is the one that was wrong. A popover, a menu or a select listbox is opened FROM something, and the surface it is most often opened from is a modal — a select inside a modal form is one of the most ordinary shapes in an application. Ranked below the modal, as it was, the panel is painted behind the very dialog that summoned it. The rank it replaced, --z-palette, was read by nothing: a command palette is a Dialog, so it lands at --z-modal, and its order against a second modal is settled by document order — which is the right answer, because it moves a scrim and its panel together."
510
513
  },
511
514
  "z-sticky": {
512
515
  "layer": "tokens",
@@ -528,7 +531,7 @@
528
531
  "category": "layer",
529
532
  "light": "210"
530
533
  },
531
- "z-palette": {
534
+ "z-anchored": {
532
535
  "layer": "tokens",
533
536
  "category": "layer",
534
537
  "light": "220"
@@ -799,7 +802,7 @@
799
802
  "layer": "semantic",
800
803
  "category": "depth",
801
804
  "light": "transparent",
802
- "comment": "─── Depth ──────────────────────────────────────────────────────────── Law 2 — a box-shadow is never blurred. The system has no elevation ramp; depth is a hard offset in ink, applied per component. These three resolve to nothing on purpose, so a component ported from a shadowed system stays flat instead of drawing a blur the White Reset does not have. Reach for --lift instead, which is the offset idiom expressed once."
805
+ "comment": "─── Depth ──────────────────────────────────────────────────────────── Law 2 — a box-shadow is never blurred. The system has no elevation ramp; depth is a hard offset in ink, applied per component. These three resolve to nothing on purpose, so a component ported from a shadowed system stays flat instead of drawing a blur the White Reset does not have. --lift below is the sanctioned offset idiom for anything that must read as raised."
803
806
  },
804
807
  "shadow-sm": {
805
808
  "layer": "semantic",
@@ -820,7 +823,7 @@
820
823
  "layer": "semantic",
821
824
  "category": "depth",
822
825
  "light": "3px 3px 0 0 var(--shadow-offset)",
823
- "comment": "The one depth cue the system does have: a hard 3px ink offset, no blur. Used by a plate that must read as sitting above the page."
826
+ "comment": "The one depth cue the system does have: a hard 3px ink offset, no blur, in the accent rather than a grey because --shadow-offset points at --clay. PUBLISHED, NOT CONSUMED. No component in this package sets either one — there is not a single shadow-(--lift) in src/. What the library actually separates with is a hairline, a change of ground, and the reversal that Card variant=\"plate\" reaches for. These two exist so a consumer building a raised plate of their own has the system's answer instead of inventing a blur; do not read them as describing what the library does."
824
827
  },
825
828
  "lift-sm": {
826
829
  "layer": "semantic",
@@ -871,14 +874,96 @@
871
874
  "z-dropdown": {
872
875
  "layer": "semantic",
873
876
  "category": "layer",
874
- "light": "var(--z-drawer)",
875
- "comment": "─── Stacking ─── five component-facing names onto the seven ranks. ─────"
877
+ "light": "var(--z-anchored)",
878
+ "comment": "─── Stacking ─── two component-facing names onto the seven ranks. ────── The other five ranks are read by their own names; only these two had a component-facing spelling that outlived the rank it pointed at. --z-dropdown pointed at --z-drawer, 100, which put every anchored panel under the modal at 210 that opened it."
876
879
  },
877
880
  "z-overlay": {
878
881
  "layer": "semantic",
879
882
  "category": "layer",
880
883
  "light": "var(--z-scrim)"
881
884
  },
885
+ "diagram-surface": {
886
+ "layer": "semantic",
887
+ "category": "other",
888
+ "light": "var(--paper)",
889
+ "comment": "─── Diagrams ─────────────────────────────────────────────────────────── The figures in `@misoto22/design/diagrams`, which draw in SVG and therefore cannot read a custom property from a presentation attribute — every one of these reaches a mark through a style rule. Named separately from the page's own rules rather than pointed straight at --rule-2 because a figure is a PICTURE inside a document: its hairline has to hold up against a 1200-wide raster export and a greyscale print, where the page's own hairline is chosen to disappear. Keeping the two apart is what lets a figure be tuned without touching a table. Nothing here is a hue. The seven kinds of node are separated by drawn sigils, and the only colour a figure spends is --success / --danger on a terminal lifecycle state — the same two the rest of the system reserves for state and refuses to spend on brand."
890
+ },
891
+ "diagram-node": {
892
+ "layer": "semantic",
893
+ "category": "other",
894
+ "light": "var(--paper)"
895
+ },
896
+ "diagram-node-2": {
897
+ "layer": "semantic",
898
+ "category": "other",
899
+ "light": "var(--paper-2)"
900
+ },
901
+ "diagram-band": {
902
+ "layer": "semantic",
903
+ "category": "other",
904
+ "light": "var(--stone)"
905
+ },
906
+ "diagram-chip": {
907
+ "layer": "semantic",
908
+ "category": "other",
909
+ "light": "var(--paper-2)"
910
+ },
911
+ "diagram-rule": {
912
+ "layer": "semantic",
913
+ "category": "other",
914
+ "light": "var(--rule-2)"
915
+ },
916
+ "diagram-rule-hard": {
917
+ "layer": "semantic",
918
+ "category": "other",
919
+ "light": "var(--ink-3-aa)"
920
+ },
921
+ "diagram-line": {
922
+ "layer": "semantic",
923
+ "category": "other",
924
+ "light": "var(--ink-2)"
925
+ },
926
+ "diagram-line-strong": {
927
+ "layer": "semantic",
928
+ "category": "other",
929
+ "light": "var(--ink)"
930
+ },
931
+ "diagram-line-soft": {
932
+ "layer": "semantic",
933
+ "category": "colour",
934
+ "light": "var(--ink-3-aa)"
935
+ },
936
+ "diagram-sigil": {
937
+ "layer": "semantic",
938
+ "category": "other",
939
+ "light": "var(--ink-3-aa)"
940
+ },
941
+ "diagram-ink": {
942
+ "layer": "semantic",
943
+ "category": "other",
944
+ "light": "var(--ink)"
945
+ },
946
+ "diagram-ink-2": {
947
+ "layer": "semantic",
948
+ "category": "other",
949
+ "light": "var(--ink-2)"
950
+ },
951
+ "diagram-ink-3": {
952
+ "layer": "semantic",
953
+ "category": "other",
954
+ "light": "var(--ink-3-aa)"
955
+ },
956
+ "diagram-plate": {
957
+ "layer": "semantic",
958
+ "category": "other",
959
+ "light": "var(--accent)",
960
+ "comment": "The reversed plate, and its type. A figure gets ONE of these — the node the diagram is about — for the same reason a page gets one Card variant=\"plate\"."
961
+ },
962
+ "diagram-plate-ink": {
963
+ "layer": "semantic",
964
+ "category": "other",
965
+ "light": "var(--accent-foreground)"
966
+ },
882
967
  "page-pad": {
883
968
  "layer": "semantic",
884
969
  "category": "space",