@elaraai/east-ui 1.0.60 → 1.0.62

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 (548) hide show
  1. package/dist/src/buttons/button/index.d.ts +3 -2
  2. package/dist/src/buttons/button/index.d.ts.map +1 -1
  3. package/dist/src/buttons/button/index.js +2 -2
  4. package/dist/src/buttons/button/types.d.ts +1 -0
  5. package/dist/src/buttons/button/types.d.ts.map +1 -1
  6. package/dist/src/buttons/copy-button/index.d.ts +4 -2
  7. package/dist/src/buttons/copy-button/index.d.ts.map +1 -1
  8. package/dist/src/buttons/copy-button/index.js +2 -2
  9. package/dist/src/buttons/copy-button/types.d.ts +2 -0
  10. package/dist/src/buttons/copy-button/types.d.ts.map +1 -1
  11. package/dist/src/buttons/icon-button/index.d.ts +5 -1
  12. package/dist/src/buttons/icon-button/index.d.ts.map +1 -1
  13. package/dist/src/buttons/icon-button/index.js +1 -1
  14. package/dist/src/buttons/icon-button/types.d.ts +4 -0
  15. package/dist/src/buttons/icon-button/types.d.ts.map +1 -1
  16. package/dist/src/charts/sparkline/index.d.ts +3 -3
  17. package/dist/src/charts/sparkline/index.js +3 -3
  18. package/dist/src/charts/spec/index.d.ts +1 -1
  19. package/dist/src/charts/spec/index.js +1 -1
  20. package/dist/src/collections/table/types.d.ts +1 -0
  21. package/dist/src/collections/table/types.d.ts.map +1 -1
  22. package/dist/src/collections/tree-view/index.d.ts +8 -2
  23. package/dist/src/collections/tree-view/index.d.ts.map +1 -1
  24. package/dist/src/collections/tree-view/index.js +4 -4
  25. package/dist/src/component.d.ts +80 -0
  26. package/dist/src/component.d.ts.map +1 -1
  27. package/dist/src/component.js +31 -0
  28. package/dist/src/component.js.map +1 -1
  29. package/dist/src/disclosure/carousel/index.d.ts +1 -1
  30. package/dist/src/disclosure/carousel/index.js +1 -1
  31. package/dist/src/disclosure/segment-group/index.d.ts +1 -0
  32. package/dist/src/disclosure/segment-group/index.d.ts.map +1 -1
  33. package/dist/src/disclosure/segment-group/types.d.ts +1 -0
  34. package/dist/src/disclosure/segment-group/types.d.ts.map +1 -1
  35. package/dist/src/disclosure/tabs/index.d.ts +1 -0
  36. package/dist/src/disclosure/tabs/index.d.ts.map +1 -1
  37. package/dist/src/disclosure/tabs/types.d.ts +1 -0
  38. package/dist/src/disclosure/tabs/types.d.ts.map +1 -1
  39. package/dist/src/display/avatar/index.d.ts +2 -0
  40. package/dist/src/display/avatar/index.d.ts.map +1 -1
  41. package/dist/src/display/avatar/types.d.ts +2 -0
  42. package/dist/src/display/avatar/types.d.ts.map +1 -1
  43. package/dist/src/display/avatar-group/types.d.ts +1 -0
  44. package/dist/src/display/avatar-group/types.d.ts.map +1 -1
  45. package/dist/src/display/badge/index.d.ts +2 -0
  46. package/dist/src/display/badge/index.d.ts.map +1 -1
  47. package/dist/src/display/badge/types.d.ts +2 -0
  48. package/dist/src/display/badge/types.d.ts.map +1 -1
  49. package/dist/src/display/icon/index.d.ts +3 -1
  50. package/dist/src/display/icon/index.d.ts.map +1 -1
  51. package/dist/src/display/icon/index.js +1 -1
  52. package/dist/src/display/icon/types.d.ts +2 -0
  53. package/dist/src/display/icon/types.d.ts.map +1 -1
  54. package/dist/src/display/kbd/types.d.ts +2 -0
  55. package/dist/src/display/kbd/types.d.ts.map +1 -1
  56. package/dist/src/display/segmented-meter/index.js +1 -1
  57. package/dist/src/display/stat/types.d.ts +1 -0
  58. package/dist/src/display/stat/types.d.ts.map +1 -1
  59. package/dist/src/display/tag/index.d.ts +2 -0
  60. package/dist/src/display/tag/index.d.ts.map +1 -1
  61. package/dist/src/display/tag/types.d.ts +2 -0
  62. package/dist/src/display/tag/types.d.ts.map +1 -1
  63. package/dist/src/forms/checkbox/types.d.ts +2 -0
  64. package/dist/src/forms/checkbox/types.d.ts.map +1 -1
  65. package/dist/src/forms/field/index.d.ts +4 -0
  66. package/dist/src/forms/field/index.d.ts.map +1 -1
  67. package/dist/src/forms/field/types.d.ts +8 -0
  68. package/dist/src/forms/field/types.d.ts.map +1 -1
  69. package/dist/src/forms/radio-card-group/types.d.ts +2 -0
  70. package/dist/src/forms/radio-card-group/types.d.ts.map +1 -1
  71. package/dist/src/forms/radio-group/types.d.ts +2 -0
  72. package/dist/src/forms/radio-group/types.d.ts.map +1 -1
  73. package/dist/src/forms/slider/index.d.ts +2 -0
  74. package/dist/src/forms/slider/index.d.ts.map +1 -1
  75. package/dist/src/forms/slider/types.d.ts +2 -0
  76. package/dist/src/forms/slider/types.d.ts.map +1 -1
  77. package/dist/src/forms/switch/types.d.ts +2 -0
  78. package/dist/src/forms/switch/types.d.ts.map +1 -1
  79. package/dist/src/forms/tags-input/types.d.ts +2 -0
  80. package/dist/src/forms/tags-input/types.d.ts.map +1 -1
  81. package/dist/src/index.d.ts +1 -1
  82. package/dist/src/index.d.ts.map +1 -1
  83. package/dist/src/index.js +1 -1
  84. package/dist/src/index.js.map +1 -1
  85. package/dist/src/internal.d.ts +1 -1
  86. package/dist/src/internal.d.ts.map +1 -1
  87. package/dist/src/internal.js +1 -1
  88. package/dist/src/internal.js.map +1 -1
  89. package/dist/src/layout/box/index.d.ts +2 -2
  90. package/dist/src/layout/box/index.js +2 -2
  91. package/dist/src/layout/configurator/index.d.ts +207 -0
  92. package/dist/src/layout/configurator/index.d.ts.map +1 -0
  93. package/dist/src/layout/configurator/index.js +177 -0
  94. package/dist/src/layout/configurator/index.js.map +1 -0
  95. package/dist/src/layout/configurator/types.d.ts +57 -0
  96. package/dist/src/layout/configurator/types.d.ts.map +1 -0
  97. package/dist/src/layout/configurator/types.js +38 -0
  98. package/dist/src/layout/configurator/types.js.map +1 -0
  99. package/dist/src/layout/index.d.ts +1 -0
  100. package/dist/src/layout/index.d.ts.map +1 -1
  101. package/dist/src/layout/index.js +1 -0
  102. package/dist/src/layout/index.js.map +1 -1
  103. package/dist/src/navigation/nav-list/types.d.ts +3 -0
  104. package/dist/src/navigation/nav-list/types.d.ts.map +1 -1
  105. package/dist/src/overlays/command-palette/types.d.ts +2 -0
  106. package/dist/src/overlays/command-palette/types.d.ts.map +1 -1
  107. package/dist/src/runtime/charts/sparkline.d.ts +1 -1
  108. package/dist/src/runtime/charts/sparkline.js +1 -1
  109. package/dist/src/runtime/disclosure/carousel.d.ts +3 -3
  110. package/dist/src/runtime/disclosure/carousel.js +3 -3
  111. package/dist/src/runtime/disclosure/collapsible.d.ts +1 -1
  112. package/dist/src/runtime/disclosure/collapsible.js +1 -1
  113. package/dist/src/runtime/layout/box.d.ts +1 -1
  114. package/dist/src/runtime/layout/box.js +1 -1
  115. package/dist/src/runtime/layout/configurator.d.ts +56 -0
  116. package/dist/src/runtime/layout/configurator.d.ts.map +1 -0
  117. package/dist/src/runtime/layout/configurator.js +53 -0
  118. package/dist/src/runtime/layout/configurator.js.map +1 -0
  119. package/dist/src/runtime/layout/grid.d.ts +4 -4
  120. package/dist/src/runtime/layout/grid.js +4 -4
  121. package/dist/src/runtime/layout/index.d.ts +1 -0
  122. package/dist/src/runtime/layout/index.d.ts.map +1 -1
  123. package/dist/src/runtime/layout/index.js +1 -0
  124. package/dist/src/runtime/layout/index.js.map +1 -1
  125. package/dist/src/runtime/layout/splitter.d.ts +2 -2
  126. package/dist/src/runtime/layout/splitter.js +2 -2
  127. package/dist/src/runtime/layout/stack.d.ts +1 -1
  128. package/dist/src/runtime/layout/stack.js +1 -1
  129. package/dist/src/runtime/layout/sticky.d.ts +2 -2
  130. package/dist/src/runtime/layout/sticky.js +2 -2
  131. package/dist/src/runtime/overlays/hover-card.d.ts +1 -1
  132. package/dist/src/runtime/overlays/hover-card.js +1 -1
  133. package/dist/src/runtime/typography/heading.d.ts +1 -1
  134. package/dist/src/runtime/typography/heading.js +1 -1
  135. package/dist/src/runtime/typography/highlight.d.ts +1 -1
  136. package/dist/src/runtime/typography/highlight.js +1 -1
  137. package/dist/src/runtime/typography/text.d.ts +1 -1
  138. package/dist/src/runtime/typography/text.js +1 -1
  139. package/dist/src/style/namespace.d.ts +1 -0
  140. package/dist/src/style/namespace.d.ts.map +1 -1
  141. package/dist/src/style/scheme.d.ts +6 -1
  142. package/dist/src/style/scheme.d.ts.map +1 -1
  143. package/dist/src/style/scheme.js +5 -0
  144. package/dist/src/style/scheme.js.map +1 -1
  145. package/dist/src/typography/heading/index.d.ts +1 -1
  146. package/dist/src/typography/heading/index.js +1 -1
  147. package/dist/src/typography/highlight/index.d.ts +1 -1
  148. package/dist/src/typography/highlight/index.js +1 -1
  149. package/dist/src/typography/list/index.d.ts +2 -0
  150. package/dist/src/typography/list/index.d.ts.map +1 -1
  151. package/dist/src/typography/list/types.d.ts +2 -0
  152. package/dist/src/typography/list/types.d.ts.map +1 -1
  153. package/dist/src/typography/text/index.d.ts +1 -1
  154. package/dist/src/typography/text/index.js +1 -1
  155. package/dist/test/buttons/button-group.examples.d.ts +1 -2
  156. package/dist/test/buttons/button-group.examples.d.ts.map +1 -1
  157. package/dist/test/buttons/button-group.examples.js +36 -17
  158. package/dist/test/buttons/button-group.examples.js.map +1 -1
  159. package/dist/test/buttons/button.examples.d.ts +3 -9
  160. package/dist/test/buttons/button.examples.d.ts.map +1 -1
  161. package/dist/test/buttons/button.examples.js +77 -81
  162. package/dist/test/buttons/button.examples.js.map +1 -1
  163. package/dist/test/buttons/close-button.examples.d.ts +3 -3
  164. package/dist/test/buttons/close-button.examples.d.ts.map +1 -1
  165. package/dist/test/buttons/close-button.examples.js +41 -23
  166. package/dist/test/buttons/close-button.examples.js.map +1 -1
  167. package/dist/test/buttons/copy-button.examples.d.ts +3 -2
  168. package/dist/test/buttons/copy-button.examples.d.ts.map +1 -1
  169. package/dist/test/buttons/copy-button.examples.js +28 -15
  170. package/dist/test/buttons/copy-button.examples.js.map +1 -1
  171. package/dist/test/buttons/icon-button.examples.d.ts +1 -4
  172. package/dist/test/buttons/icon-button.examples.d.ts.map +1 -1
  173. package/dist/test/buttons/icon-button.examples.js +118 -36
  174. package/dist/test/buttons/icon-button.examples.js.map +1 -1
  175. package/dist/test/buttons/toggle.examples.d.ts +1 -2
  176. package/dist/test/buttons/toggle.examples.d.ts.map +1 -1
  177. package/dist/test/buttons/toggle.examples.js +35 -22
  178. package/dist/test/buttons/toggle.examples.js.map +1 -1
  179. package/dist/test/charts/chart.examples.d.ts +17 -43
  180. package/dist/test/charts/chart.examples.d.ts.map +1 -1
  181. package/dist/test/charts/chart.examples.js +169 -432
  182. package/dist/test/charts/chart.examples.js.map +1 -1
  183. package/dist/test/charts/sparkline.examples.d.ts +2 -9
  184. package/dist/test/charts/sparkline.examples.d.ts.map +1 -1
  185. package/dist/test/charts/sparkline.examples.js +79 -70
  186. package/dist/test/charts/sparkline.examples.js.map +1 -1
  187. package/dist/test/collections/blend.examples.d.ts +13 -7
  188. package/dist/test/collections/blend.examples.d.ts.map +1 -1
  189. package/dist/test/collections/blend.examples.js +66 -65
  190. package/dist/test/collections/blend.examples.js.map +1 -1
  191. package/dist/test/collections/board.examples.d.ts +13 -11
  192. package/dist/test/collections/board.examples.d.ts.map +1 -1
  193. package/dist/test/collections/board.examples.js +228 -205
  194. package/dist/test/collections/board.examples.js.map +1 -1
  195. package/dist/test/collections/calendar.examples.d.ts +2 -6
  196. package/dist/test/collections/calendar.examples.d.ts.map +1 -1
  197. package/dist/test/collections/calendar.examples.js +91 -124
  198. package/dist/test/collections/calendar.examples.js.map +1 -1
  199. package/dist/test/collections/data-list.examples.d.ts +1 -7
  200. package/dist/test/collections/data-list.examples.d.ts.map +1 -1
  201. package/dist/test/collections/data-list.examples.js +93 -89
  202. package/dist/test/collections/data-list.examples.js.map +1 -1
  203. package/dist/test/collections/deck.examples.d.ts +8 -4
  204. package/dist/test/collections/deck.examples.d.ts.map +1 -1
  205. package/dist/test/collections/deck.examples.js +171 -106
  206. package/dist/test/collections/deck.examples.js.map +1 -1
  207. package/dist/test/collections/flowchart.examples.d.ts +13 -3
  208. package/dist/test/collections/flowchart.examples.d.ts.map +1 -1
  209. package/dist/test/collections/flowchart.examples.js +41 -81
  210. package/dist/test/collections/flowchart.examples.js.map +1 -1
  211. package/dist/test/collections/gantt.examples.d.ts +12 -23
  212. package/dist/test/collections/gantt.examples.d.ts.map +1 -1
  213. package/dist/test/collections/gantt.examples.js +246 -382
  214. package/dist/test/collections/gantt.examples.js.map +1 -1
  215. package/dist/test/collections/library.examples.d.ts +9 -6
  216. package/dist/test/collections/library.examples.d.ts.map +1 -1
  217. package/dist/test/collections/library.examples.js +63 -156
  218. package/dist/test/collections/library.examples.js.map +1 -1
  219. package/dist/test/collections/map.examples.d.ts +10 -5
  220. package/dist/test/collections/map.examples.d.ts.map +1 -1
  221. package/dist/test/collections/map.examples.js +76 -106
  222. package/dist/test/collections/map.examples.js.map +1 -1
  223. package/dist/test/collections/matrix.examples.d.ts +14 -38
  224. package/dist/test/collections/matrix.examples.d.ts.map +1 -1
  225. package/dist/test/collections/matrix.examples.js +103 -169
  226. package/dist/test/collections/matrix.examples.js.map +1 -1
  227. package/dist/test/collections/pagination.examples.d.ts +3 -3
  228. package/dist/test/collections/pagination.examples.d.ts.map +1 -1
  229. package/dist/test/collections/pagination.examples.js +49 -31
  230. package/dist/test/collections/pagination.examples.js.map +1 -1
  231. package/dist/test/collections/planner.examples.d.ts +15 -108
  232. package/dist/test/collections/planner.examples.d.ts.map +1 -1
  233. package/dist/test/collections/planner.examples.js +335 -401
  234. package/dist/test/collections/planner.examples.js.map +1 -1
  235. package/dist/test/collections/roster.examples.d.ts +19 -16
  236. package/dist/test/collections/roster.examples.d.ts.map +1 -1
  237. package/dist/test/collections/roster.examples.js +166 -168
  238. package/dist/test/collections/roster.examples.js.map +1 -1
  239. package/dist/test/collections/schematic.examples.d.ts +18 -13
  240. package/dist/test/collections/schematic.examples.d.ts.map +1 -1
  241. package/dist/test/collections/schematic.examples.js +417 -418
  242. package/dist/test/collections/schematic.examples.js.map +1 -1
  243. package/dist/test/collections/table.examples.d.ts +33 -38
  244. package/dist/test/collections/table.examples.d.ts.map +1 -1
  245. package/dist/test/collections/table.examples.js +293 -399
  246. package/dist/test/collections/table.examples.js.map +1 -1
  247. package/dist/test/collections/tree-view.examples.d.ts +2 -10
  248. package/dist/test/collections/tree-view.examples.d.ts.map +1 -1
  249. package/dist/test/collections/tree-view.examples.js +133 -178
  250. package/dist/test/collections/tree-view.examples.js.map +1 -1
  251. package/dist/test/collections/value-tree.examples.d.ts +23 -9
  252. package/dist/test/collections/value-tree.examples.d.ts.map +1 -1
  253. package/dist/test/collections/value-tree.examples.js +181 -227
  254. package/dist/test/collections/value-tree.examples.js.map +1 -1
  255. package/dist/test/container/card.examples.d.ts +7 -14
  256. package/dist/test/container/card.examples.d.ts.map +1 -1
  257. package/dist/test/container/card.examples.js +109 -117
  258. package/dist/test/container/card.examples.js.map +1 -1
  259. package/dist/test/disclosure/accordion.examples.d.ts +1 -6
  260. package/dist/test/disclosure/accordion.examples.d.ts.map +1 -1
  261. package/dist/test/disclosure/accordion.examples.js +73 -78
  262. package/dist/test/disclosure/accordion.examples.js.map +1 -1
  263. package/dist/test/disclosure/carousel.examples.d.ts +1 -7
  264. package/dist/test/disclosure/carousel.examples.d.ts.map +1 -1
  265. package/dist/test/disclosure/carousel.examples.js +87 -60
  266. package/dist/test/disclosure/carousel.examples.js.map +1 -1
  267. package/dist/test/disclosure/collapsible.examples.d.ts +3 -3
  268. package/dist/test/disclosure/collapsible.examples.d.ts.map +1 -1
  269. package/dist/test/disclosure/collapsible.examples.js +27 -23
  270. package/dist/test/disclosure/collapsible.examples.js.map +1 -1
  271. package/dist/test/disclosure/option-list.examples.js +3 -3
  272. package/dist/test/disclosure/option-list.examples.js.map +1 -1
  273. package/dist/test/disclosure/segment-group.examples.d.ts +3 -3
  274. package/dist/test/disclosure/segment-group.examples.d.ts.map +1 -1
  275. package/dist/test/disclosure/segment-group.examples.js +46 -36
  276. package/dist/test/disclosure/segment-group.examples.js.map +1 -1
  277. package/dist/test/disclosure/show-more.examples.d.ts +1 -2
  278. package/dist/test/disclosure/show-more.examples.d.ts.map +1 -1
  279. package/dist/test/disclosure/show-more.examples.js +24 -17
  280. package/dist/test/disclosure/show-more.examples.js.map +1 -1
  281. package/dist/test/disclosure/story.examples.d.ts +8 -8
  282. package/dist/test/disclosure/story.examples.d.ts.map +1 -1
  283. package/dist/test/disclosure/story.examples.js +109 -93
  284. package/dist/test/disclosure/story.examples.js.map +1 -1
  285. package/dist/test/disclosure/tabs.examples.d.ts +1 -8
  286. package/dist/test/disclosure/tabs.examples.d.ts.map +1 -1
  287. package/dist/test/disclosure/tabs.examples.js +94 -107
  288. package/dist/test/disclosure/tabs.examples.js.map +1 -1
  289. package/dist/test/display/avatar-group.examples.d.ts +1 -3
  290. package/dist/test/display/avatar-group.examples.d.ts.map +1 -1
  291. package/dist/test/display/avatar-group.examples.js +34 -29
  292. package/dist/test/display/avatar-group.examples.js.map +1 -1
  293. package/dist/test/display/avatar.examples.d.ts +1 -4
  294. package/dist/test/display/avatar.examples.d.ts.map +1 -1
  295. package/dist/test/display/avatar.examples.js +88 -40
  296. package/dist/test/display/avatar.examples.js.map +1 -1
  297. package/dist/test/display/badge.examples.d.ts +1 -9
  298. package/dist/test/display/badge.examples.d.ts.map +1 -1
  299. package/dist/test/display/badge.examples.js +93 -79
  300. package/dist/test/display/badge.examples.js.map +1 -1
  301. package/dist/test/display/bar-strip.examples.d.ts +1 -3
  302. package/dist/test/display/bar-strip.examples.d.ts.map +1 -1
  303. package/dist/test/display/bar-strip.examples.js +42 -48
  304. package/dist/test/display/bar-strip.examples.js.map +1 -1
  305. package/dist/test/display/chip-rail.examples.d.ts +1 -4
  306. package/dist/test/display/chip-rail.examples.d.ts.map +1 -1
  307. package/dist/test/display/chip-rail.examples.js +86 -36
  308. package/dist/test/display/chip-rail.examples.js.map +1 -1
  309. package/dist/test/display/combine.examples.d.ts.map +1 -1
  310. package/dist/test/display/combine.examples.js +102 -162
  311. package/dist/test/display/combine.examples.js.map +1 -1
  312. package/dist/test/display/editable-chip.examples.d.ts +1 -5
  313. package/dist/test/display/editable-chip.examples.d.ts.map +1 -1
  314. package/dist/test/display/editable-chip.examples.js +77 -51
  315. package/dist/test/display/editable-chip.examples.js.map +1 -1
  316. package/dist/test/display/icon.examples.d.ts +0 -1
  317. package/dist/test/display/icon.examples.d.ts.map +1 -1
  318. package/dist/test/display/icon.examples.js +101 -21
  319. package/dist/test/display/icon.examples.js.map +1 -1
  320. package/dist/test/display/image.examples.d.ts +1 -3
  321. package/dist/test/display/image.examples.d.ts.map +1 -1
  322. package/dist/test/display/image.examples.js +50 -25
  323. package/dist/test/display/image.examples.js.map +1 -1
  324. package/dist/test/display/kbd.examples.d.ts +1 -3
  325. package/dist/test/display/kbd.examples.d.ts.map +1 -1
  326. package/dist/test/display/kbd.examples.js +34 -29
  327. package/dist/test/display/kbd.examples.js.map +1 -1
  328. package/dist/test/display/meter.examples.d.ts +1 -4
  329. package/dist/test/display/meter.examples.d.ts.map +1 -1
  330. package/dist/test/display/meter.examples.js +107 -35
  331. package/dist/test/display/meter.examples.js.map +1 -1
  332. package/dist/test/display/metric-chip.examples.d.ts +4 -5
  333. package/dist/test/display/metric-chip.examples.d.ts.map +1 -1
  334. package/dist/test/display/metric-chip.examples.js +99 -35
  335. package/dist/test/display/metric-chip.examples.js.map +1 -1
  336. package/dist/test/display/segmented-meter.examples.d.ts +2 -2
  337. package/dist/test/display/segmented-meter.examples.d.ts.map +1 -1
  338. package/dist/test/display/segmented-meter.examples.js +43 -44
  339. package/dist/test/display/segmented-meter.examples.js.map +1 -1
  340. package/dist/test/display/stat.examples.d.ts +1 -5
  341. package/dist/test/display/stat.examples.d.ts.map +1 -1
  342. package/dist/test/display/stat.examples.js +83 -48
  343. package/dist/test/display/stat.examples.js.map +1 -1
  344. package/dist/test/display/tag.examples.d.ts +1 -8
  345. package/dist/test/display/tag.examples.d.ts.map +1 -1
  346. package/dist/test/display/tag.examples.js +109 -71
  347. package/dist/test/display/tag.examples.js.map +1 -1
  348. package/dist/test/display/trace.examples.d.ts +1 -4
  349. package/dist/test/display/trace.examples.d.ts.map +1 -1
  350. package/dist/test/display/trace.examples.js +113 -57
  351. package/dist/test/display/trace.examples.js.map +1 -1
  352. package/dist/test/extension.examples.js +1 -1
  353. package/dist/test/extension.examples.js.map +1 -1
  354. package/dist/test/feedback/banner.examples.d.ts +1 -12
  355. package/dist/test/feedback/banner.examples.d.ts.map +1 -1
  356. package/dist/test/feedback/banner.examples.js +53 -63
  357. package/dist/test/feedback/banner.examples.js.map +1 -1
  358. package/dist/test/feedback/progress.examples.d.ts +3 -7
  359. package/dist/test/feedback/progress.examples.d.ts.map +1 -1
  360. package/dist/test/feedback/progress.examples.js +84 -51
  361. package/dist/test/feedback/progress.examples.js.map +1 -1
  362. package/dist/test/feedback/status.examples.d.ts +1 -3
  363. package/dist/test/feedback/status.examples.d.ts.map +1 -1
  364. package/dist/test/feedback/status.examples.js +35 -24
  365. package/dist/test/feedback/status.examples.js.map +1 -1
  366. package/dist/test/forms/checkbox.examples.d.ts +1 -2
  367. package/dist/test/forms/checkbox.examples.d.ts.map +1 -1
  368. package/dist/test/forms/checkbox.examples.js +27 -17
  369. package/dist/test/forms/checkbox.examples.js.map +1 -1
  370. package/dist/test/forms/combobox.examples.d.ts +2 -9
  371. package/dist/test/forms/combobox.examples.d.ts.map +1 -1
  372. package/dist/test/forms/combobox.examples.js +100 -126
  373. package/dist/test/forms/combobox.examples.js.map +1 -1
  374. package/dist/test/forms/date-range-input.examples.d.ts +3 -6
  375. package/dist/test/forms/date-range-input.examples.d.ts.map +1 -1
  376. package/dist/test/forms/date-range-input.examples.js +82 -76
  377. package/dist/test/forms/date-range-input.examples.js.map +1 -1
  378. package/dist/test/forms/field.examples.d.ts +1 -1
  379. package/dist/test/forms/field.examples.d.ts.map +1 -1
  380. package/dist/test/forms/field.examples.js +24 -11
  381. package/dist/test/forms/field.examples.js.map +1 -1
  382. package/dist/test/forms/file-upload.examples.d.ts +1 -3
  383. package/dist/test/forms/file-upload.examples.d.ts.map +1 -1
  384. package/dist/test/forms/file-upload.examples.js +30 -33
  385. package/dist/test/forms/file-upload.examples.js.map +1 -1
  386. package/dist/test/forms/input.examples.d.ts +1 -11
  387. package/dist/test/forms/input.examples.d.ts.map +1 -1
  388. package/dist/test/forms/input.examples.js +106 -118
  389. package/dist/test/forms/input.examples.js.map +1 -1
  390. package/dist/test/forms/radio-card-group.examples.d.ts +3 -4
  391. package/dist/test/forms/radio-card-group.examples.d.ts.map +1 -1
  392. package/dist/test/forms/radio-card-group.examples.js +66 -47
  393. package/dist/test/forms/radio-card-group.examples.js.map +1 -1
  394. package/dist/test/forms/radio-group.examples.d.ts +3 -4
  395. package/dist/test/forms/radio-group.examples.d.ts.map +1 -1
  396. package/dist/test/forms/radio-group.examples.js +65 -48
  397. package/dist/test/forms/radio-group.examples.js.map +1 -1
  398. package/dist/test/forms/select.examples.d.ts +1 -3
  399. package/dist/test/forms/select.examples.d.ts.map +1 -1
  400. package/dist/test/forms/select.examples.js +34 -49
  401. package/dist/test/forms/select.examples.js.map +1 -1
  402. package/dist/test/forms/slider.examples.d.ts +1 -2
  403. package/dist/test/forms/slider.examples.d.ts.map +1 -1
  404. package/dist/test/forms/slider.examples.js +26 -24
  405. package/dist/test/forms/slider.examples.js.map +1 -1
  406. package/dist/test/forms/switch.examples.d.ts +1 -2
  407. package/dist/test/forms/switch.examples.d.ts.map +1 -1
  408. package/dist/test/forms/switch.examples.js +26 -19
  409. package/dist/test/forms/switch.examples.js.map +1 -1
  410. package/dist/test/forms/tags-input.examples.d.ts +0 -3
  411. package/dist/test/forms/tags-input.examples.d.ts.map +1 -1
  412. package/dist/test/forms/tags-input.examples.js +14 -32
  413. package/dist/test/forms/tags-input.examples.js.map +1 -1
  414. package/dist/test/forms/textarea.examples.d.ts +1 -3
  415. package/dist/test/forms/textarea.examples.d.ts.map +1 -1
  416. package/dist/test/forms/textarea.examples.js +28 -28
  417. package/dist/test/forms/textarea.examples.js.map +1 -1
  418. package/dist/test/forms/time-range-input.examples.d.ts +3 -5
  419. package/dist/test/forms/time-range-input.examples.d.ts.map +1 -1
  420. package/dist/test/forms/time-range-input.examples.js +73 -64
  421. package/dist/test/forms/time-range-input.examples.js.map +1 -1
  422. package/dist/test/layout/aligned-stack.examples.d.ts +13 -95
  423. package/dist/test/layout/aligned-stack.examples.d.ts.map +1 -1
  424. package/dist/test/layout/aligned-stack.examples.js +225 -368
  425. package/dist/test/layout/aligned-stack.examples.js.map +1 -1
  426. package/dist/test/layout/box.examples.d.ts +1 -12
  427. package/dist/test/layout/box.examples.d.ts.map +1 -1
  428. package/dist/test/layout/box.examples.js +135 -103
  429. package/dist/test/layout/box.examples.js.map +1 -1
  430. package/dist/test/layout/dock.examples.d.ts +9 -17
  431. package/dist/test/layout/dock.examples.d.ts.map +1 -1
  432. package/dist/test/layout/dock.examples.js +49 -33
  433. package/dist/test/layout/dock.examples.js.map +1 -1
  434. package/dist/test/layout/flex.examples.d.ts +1 -8
  435. package/dist/test/layout/flex.examples.d.ts.map +1 -1
  436. package/dist/test/layout/flex.examples.js +104 -72
  437. package/dist/test/layout/flex.examples.js.map +1 -1
  438. package/dist/test/layout/grid.examples.d.ts +2 -10
  439. package/dist/test/layout/grid.examples.d.ts.map +1 -1
  440. package/dist/test/layout/grid.examples.js +126 -127
  441. package/dist/test/layout/grid.examples.js.map +1 -1
  442. package/dist/test/layout/scroll-area.examples.js +2 -2
  443. package/dist/test/layout/scroll-area.examples.js.map +1 -1
  444. package/dist/test/layout/separator.examples.d.ts +3 -10
  445. package/dist/test/layout/separator.examples.d.ts.map +1 -1
  446. package/dist/test/layout/separator.examples.js +71 -84
  447. package/dist/test/layout/separator.examples.js.map +1 -1
  448. package/dist/test/layout/splitter.examples.d.ts +2 -8
  449. package/dist/test/layout/splitter.examples.d.ts.map +1 -1
  450. package/dist/test/layout/splitter.examples.js +100 -104
  451. package/dist/test/layout/splitter.examples.js.map +1 -1
  452. package/dist/test/layout/stack.examples.d.ts +2 -10
  453. package/dist/test/layout/stack.examples.d.ts.map +1 -1
  454. package/dist/test/layout/stack.examples.js +116 -83
  455. package/dist/test/layout/stack.examples.js.map +1 -1
  456. package/dist/test/layout/sticky.examples.js +2 -2
  457. package/dist/test/layout/sticky.examples.js.map +1 -1
  458. package/dist/test/navigation/app.examples.d.ts +5 -11
  459. package/dist/test/navigation/app.examples.d.ts.map +1 -1
  460. package/dist/test/navigation/app.examples.js +27 -42
  461. package/dist/test/navigation/app.examples.js.map +1 -1
  462. package/dist/test/navigation/breadcrumb.examples.d.ts +1 -3
  463. package/dist/test/navigation/breadcrumb.examples.d.ts.map +1 -1
  464. package/dist/test/navigation/breadcrumb.examples.js +13 -43
  465. package/dist/test/navigation/breadcrumb.examples.js.map +1 -1
  466. package/dist/test/navigation/nav-list.examples.d.ts +1 -4
  467. package/dist/test/navigation/nav-list.examples.d.ts.map +1 -1
  468. package/dist/test/navigation/nav-list.examples.js +141 -84
  469. package/dist/test/navigation/nav-list.examples.js.map +1 -1
  470. package/dist/test/overlays/command-palette.examples.d.ts +1 -4
  471. package/dist/test/overlays/command-palette.examples.d.ts.map +1 -1
  472. package/dist/test/overlays/command-palette.examples.js +75 -52
  473. package/dist/test/overlays/command-palette.examples.js.map +1 -1
  474. package/dist/test/overlays/dialog.examples.d.ts +1 -2
  475. package/dist/test/overlays/dialog.examples.d.ts.map +1 -1
  476. package/dist/test/overlays/dialog.examples.js +18 -19
  477. package/dist/test/overlays/dialog.examples.js.map +1 -1
  478. package/dist/test/overlays/drawer.examples.d.ts +2 -4
  479. package/dist/test/overlays/drawer.examples.d.ts.map +1 -1
  480. package/dist/test/overlays/drawer.examples.js +55 -32
  481. package/dist/test/overlays/drawer.examples.js.map +1 -1
  482. package/dist/test/overlays/hover-card.examples.d.ts +1 -2
  483. package/dist/test/overlays/hover-card.examples.d.ts.map +1 -1
  484. package/dist/test/overlays/hover-card.examples.js +17 -19
  485. package/dist/test/overlays/hover-card.examples.js.map +1 -1
  486. package/dist/test/overlays/menu.examples.d.ts +1 -2
  487. package/dist/test/overlays/menu.examples.d.ts.map +1 -1
  488. package/dist/test/overlays/menu.examples.js +18 -25
  489. package/dist/test/overlays/menu.examples.js.map +1 -1
  490. package/dist/test/overlays/popover.examples.d.ts +1 -2
  491. package/dist/test/overlays/popover.examples.d.ts.map +1 -1
  492. package/dist/test/overlays/popover.examples.js +20 -22
  493. package/dist/test/overlays/popover.examples.js.map +1 -1
  494. package/dist/test/overlays/toggle-tip.examples.d.ts +1 -2
  495. package/dist/test/overlays/toggle-tip.examples.d.ts.map +1 -1
  496. package/dist/test/overlays/toggle-tip.examples.js +15 -18
  497. package/dist/test/overlays/toggle-tip.examples.js.map +1 -1
  498. package/dist/test/platform/slice.examples.d.ts +2 -9
  499. package/dist/test/platform/slice.examples.d.ts.map +1 -1
  500. package/dist/test/platform/slice.examples.js +197 -289
  501. package/dist/test/platform/slice.examples.js.map +1 -1
  502. package/dist/test/slice/slice.examples.d.ts +0 -4
  503. package/dist/test/slice/slice.examples.d.ts.map +1 -1
  504. package/dist/test/slice/slice.examples.js +168 -218
  505. package/dist/test/slice/slice.examples.js.map +1 -1
  506. package/dist/test/style.examples.js +4 -4
  507. package/dist/test/style.examples.js.map +1 -1
  508. package/dist/test/typography/code-block.examples.d.ts +1 -9
  509. package/dist/test/typography/code-block.examples.d.ts.map +1 -1
  510. package/dist/test/typography/code-block.examples.js +82 -88
  511. package/dist/test/typography/code-block.examples.js.map +1 -1
  512. package/dist/test/typography/code.examples.d.ts +1 -7
  513. package/dist/test/typography/code.examples.d.ts.map +1 -1
  514. package/dist/test/typography/code.examples.js +54 -60
  515. package/dist/test/typography/code.examples.js.map +1 -1
  516. package/dist/test/typography/heading.examples.d.ts +1 -8
  517. package/dist/test/typography/heading.examples.d.ts.map +1 -1
  518. package/dist/test/typography/heading.examples.js +82 -68
  519. package/dist/test/typography/heading.examples.js.map +1 -1
  520. package/dist/test/typography/highlight.examples.d.ts +4 -8
  521. package/dist/test/typography/highlight.examples.d.ts.map +1 -1
  522. package/dist/test/typography/highlight.examples.js +49 -59
  523. package/dist/test/typography/highlight.examples.js.map +1 -1
  524. package/dist/test/typography/link.examples.d.ts +1 -7
  525. package/dist/test/typography/link.examples.d.ts.map +1 -1
  526. package/dist/test/typography/link.examples.js +57 -60
  527. package/dist/test/typography/link.examples.js.map +1 -1
  528. package/dist/test/typography/list.examples.d.ts +3 -11
  529. package/dist/test/typography/list.examples.d.ts.map +1 -1
  530. package/dist/test/typography/list.examples.js +117 -107
  531. package/dist/test/typography/list.examples.js.map +1 -1
  532. package/dist/test/typography/mark.examples.d.ts +1 -8
  533. package/dist/test/typography/mark.examples.d.ts.map +1 -1
  534. package/dist/test/typography/mark.examples.js +49 -68
  535. package/dist/test/typography/mark.examples.js.map +1 -1
  536. package/dist/test/typography/note.examples.d.ts +1 -3
  537. package/dist/test/typography/note.examples.d.ts.map +1 -1
  538. package/dist/test/typography/note.examples.js +24 -25
  539. package/dist/test/typography/note.examples.js.map +1 -1
  540. package/dist/test/typography/numeric.examples.d.ts +1 -5
  541. package/dist/test/typography/numeric.examples.d.ts.map +1 -1
  542. package/dist/test/typography/numeric.examples.js +60 -40
  543. package/dist/test/typography/numeric.examples.js.map +1 -1
  544. package/dist/test/typography/text.examples.d.ts +1 -18
  545. package/dist/test/typography/text.examples.d.ts.map +1 -1
  546. package/dist/test/typography/text.examples.js +146 -149
  547. package/dist/test/typography/text.examples.js.map +1 -1
  548. package/package.json +3 -3
@@ -7,61 +7,45 @@ import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/east-ui/jsx-runtime";
7
7
  import { East, ArrayType, DateTimeType, FloatType, StringType, StructType, example } from "@elaraai/east";
8
8
  import { UIComponentType, DragEventType } from "@elaraai/east-ui";
9
9
  import { NullType } from "@elaraai/east";
10
- import { AlignedStack, Box, Calendar, Chart, Gantt, HStack, Library, Matrix, Planner, Table, Trace } from "@elaraai/east-ui";
10
+ import { AlignedStack, Box, Calendar, Chart, Gantt, HStack, Library, Matrix, Planner, Separator, Table, Trace, VStack } from "@elaraai/east-ui";
11
+ // ============================================================================
12
+ // Module-scope fixtures — one per merged example (consolidation epic #455).
13
+ // ============================================================================
14
+ // ============================================================================
15
+ // The flagship — golden-coupled, name and body frozen
16
+ // ============================================================================
11
17
  /**
12
- * Two charts on the same day axis, stacked in an `<AlignedStack>` with a shared
13
- * `gutter`. Both plots inset their lane to `[left, W−right]` (the gutter), so
14
- * their x-axes line up pixel-for-pixel even though each derives different y-axis
15
- * widths on its own. (#147)
18
+ * The kitchen-sink panel — the flagship all-seven stack plus every merged
19
+ * AlignedStack variant as captioned groups (epic #455). The flagship: ONE
20
+ * `<AlignedStack gutter>` lines up **seven** stacked lane components on a
21
+ * single shared day axis: a `<Chart>` trajectory over a `<Trace>` heat-strip, a
22
+ * `<Matrix>` utilisation grid, a `<Planner>` activity timeline, a `<Calendar>`
23
+ * week band, a `<Table>` of per-day metrics, and a `<Gantt>` phase timeline.
24
+ * Every component inherits the same `{ left, right }` gutter from context —
25
+ * the frozen label columns / row headers / week labels all fill `left`, and
26
+ * each data lane fills `[left, W−right]`, so the day columns line up top to
27
+ * bottom without the consumer hand-matching a single number. (#147) The
28
+ * remaining groups keep the chart-over-lane pairs, the density presets, and
29
+ * the axis-title / date-axis / auto-gutter variants mounted.
16
30
  */
17
- export const alignedStackCharts = example({
18
- keywords: ["AlignedStack", "plotGutter", "gutter", "align", "Chart", "stack", "axis", "shared"],
19
- description: "Two stacked charts share one plot gutter so their x-axes line up on a common day axis",
31
+ export const alignedStackAll = example({
32
+ keywords: ["AlignedStack", "plotGutter", "gutter", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "align", "stack", "dashboard", "all", "shared", "axis", "lane", "day", "week", "grid", "frozen", "categories", "timeline", "splitter", "time", "density", "compact", "condensed", "title", "label", "titleGap", "margin", "date", "resolution", "format", "ddd", "tick", "instants", "auto", "measure"],
33
+ description: "AlignedStack panel — the all-seven flagship stack plus chart-over-lane pairs (Trace, Calendar, Matrix, Table, Planner, Gantt), density presets (compact, condensed) and axis variants (titles, formatted date axis, auto gutter)",
20
34
  fn: East.function([], UIComponentType, ($) => {
21
- const temp = $.const([
35
+ const ALIGNED_STACK_CHARTS_DATA = [
22
36
  { day: 0.0, v: 22.0 }, { day: 2.0, v: 20.5 }, { day: 4.0, v: 18.0 }, { day: 6.0, v: 16.5 },
23
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
24
- const rate = $.const([
37
+ ];
38
+ const ALIGNED_STACK_CHARTS_RATE_DATA = [
25
39
  { day: 0.0, v: 1.2 }, { day: 2.0, v: 0.9 }, { day: 4.0, v: 0.6 }, { day: 6.0, v: 0.3 },
26
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
27
- return (_jsxs(AlignedStack, { gutter: { left: "48px", right: "16px" }, gap: "8px", children: [_jsx(Box, { height: "180px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(temp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [0, 6], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Box, { height: "180px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(rate, { x: r => r.day, y: r => r.v }, { color: "purple.solid" }), x: { scale: "linear", domain: [0, 6], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "rate" }, grid: true }) })] }));
28
- }),
29
- inputs: [],
30
- });
31
- /**
32
- * A `<Chart>` stacked over a `<Trace>` in an `<AlignedStack>` — both inherit the
33
- * gutter from context, so the Trace's step lane fills `[left, W−right]` and lines
34
- * up under the chart's day axis (the canonical Chart-over-lane alignment). (#147)
35
- */
36
- export const alignedStackChartTrace = example({
37
- keywords: ["AlignedStack", "plotGutter", "Chart", "Trace", "align", "lane", "axis", "day"],
38
- description: "A Chart stacked over a Trace sharing one gutter — the Trace's step lane lines up under the chart's day axis",
39
- fn: East.function([], UIComponentType, ($) => {
40
- const temp = $.const([
40
+ ];
41
+ const ALIGNED_STACK_CHART_TRACE_DATA = [
41
42
  { day: 0.0, v: 22.0 }, { day: 2.0, v: 20.0 }, { day: 4.0, v: 18.0 }, { day: 6.0, v: 16.0 },
42
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
43
- return (_jsxs(AlignedStack, { gutter: { left: "48px", right: "16px" }, gap: "8px", children: [_jsx(Box, { height: "160px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(temp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Trace, { tracks: [
44
- { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
45
- { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
46
- ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"], density: "comfortable" })] }));
47
- }),
48
- inputs: [],
49
- });
50
- /**
51
- * A `<Chart>` stacked over a `<Calendar>` in an `<AlignedStack>` — the Calendar
52
- * inherits the gutter from context, so its 7-day band fills `[left, W−right]` and
53
- * lines up under the chart's day axis. `left` (the week-label column) and `right`
54
- * come from the shared gutter, not the calendar's own density. (#147)
55
- */
56
- export const alignedStackChartCalendar = example({
57
- keywords: ["AlignedStack", "plotGutter", "Chart", "Calendar", "align", "lane", "day", "week"],
58
- description: "A Chart stacked over a Calendar sharing one gutter — the Calendar's day band lines up under the chart's day axis",
59
- fn: East.function([], UIComponentType, ($) => {
60
- const load = $.const([
43
+ ];
44
+ const ALIGNED_STACK_CHART_CALENDAR_DATA = [
61
45
  { day: 0.0, v: 0.4 }, { day: 1.0, v: 0.7 }, { day: 2.0, v: 0.9 },
62
46
  { day: 3.0, v: 0.6 }, { day: 4.0, v: 0.8 }, { day: 5.0, v: 0.3 }, { day: 6.0, v: 0.2 },
63
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
64
- const grid = $.const([
47
+ ];
48
+ const ALIGNED_STACK_CHART_CALENDAR_GRID_DATA = [
65
49
  { week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
66
50
  { week: "W37", day: "Wed", demand: 0.9 }, { week: "W37", day: "Thu", demand: 0.6 },
67
51
  { week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
@@ -70,128 +54,35 @@ export const alignedStackChartCalendar = example({
70
54
  { week: "W38", day: "Wed", demand: 0.7 }, { week: "W38", day: "Thu", demand: 0.9 },
71
55
  { week: "W38", day: "Fri", demand: 0.4 }, { week: "W38", day: "Sat", demand: 0.2 },
72
56
  { week: "W38", day: "Sun", demand: 0.1 },
73
- ], ArrayType(StructType({ week: StringType, day: StringType, demand: FloatType })));
74
- return (_jsxs(AlignedStack, { gutter: { left: "56px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(load, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "load" }, grid: true }) }), _jsx(Calendar, { data: grid, cell: d => ({ week: d.week, day: d.day, value: d.demand }) })] }));
75
- }),
76
- inputs: [],
77
- });
78
- /**
79
- * A `<Chart>` stacked over a `<Matrix>` in an `<AlignedStack>` — the Matrix inherits
80
- * the gutter from context, so its row-header pane fills `left` and the value-grid
81
- * columns fill `[left, W−right]`, lining up column-for-column under the chart's day
82
- * axis. (#147)
83
- */
84
- export const alignedStackChartMatrix = example({
85
- keywords: ["AlignedStack", "plotGutter", "Chart", "Matrix", "align", "lane", "grid", "day"],
86
- description: "A Chart stacked over a Matrix sharing one gutter — the Matrix value-grid lines up column-for-column under the chart's day axis",
87
- fn: East.function([], UIComponentType, ($) => {
88
- const load = $.const([
57
+ ];
58
+ const ALIGNED_STACK_CHART_MATRIX_DATA = [
89
59
  { day: 0.0, v: 0.45 }, { day: 1.0, v: 0.70 }, { day: 2.0, v: 0.85 },
90
60
  { day: 3.0, v: 0.60 }, { day: 4.0, v: 0.30 },
91
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
92
- return (_jsxs(AlignedStack, { gutter: { left: "120px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(load, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 4.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0] }, y: { label: "load" }, grid: true }) }), _jsx(Matrix, { data: [
93
- { name: "Alice", booked: new Map([["mon", 0.45], ["tue", 0.70], ["wed", 0.85], ["thu", 0.60], ["fri", 0.30]]) },
94
- { name: "Bob", booked: new Map([["mon", 0.35], ["tue", 0.60], ["wed", 0.30], ["thu", 0.75], ["fri", 0.50]]) },
95
- ], columns: [
96
- Matrix.column({ key: "mon", label: "Mon" }),
97
- Matrix.column({ key: "tue", label: "Tue" }),
98
- Matrix.column({ key: "wed", label: "Wed" }),
99
- Matrix.column({ key: "thu", label: "Thu" }),
100
- Matrix.column({ key: "fri", label: "Fri" }),
101
- ], rowKey: r => r.name, rowHeader: "Resource", cell: (r, col) => Matrix.cell({ segments: [
102
- Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
103
- Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
104
- ] }) })] }));
105
- }),
106
- inputs: [],
107
- });
108
- /**
109
- * A `<Chart>` stacked over a `<Table>` in an `<AlignedStack>` — the Table inherits
110
- * the gutter from context, so the frozen `resource` column fills `left`, the data
111
- * columns flex-fill `[left, W−right]`, and horizontal scroll is dropped. The data
112
- * lane lines up under the chart's day axis on shared categories. (#147)
113
- */
114
- export const alignedStackChartTable = example({
115
- keywords: ["AlignedStack", "plotGutter", "Chart", "Table", "frozen", "align", "lane", "categories"],
116
- description: "A Chart stacked over a Table sharing one gutter — the frozen column fills `left` and the data columns line up under the chart's day axis",
117
- fn: East.function([], UIComponentType, ($) => {
118
- const load = $.const([
61
+ ];
62
+ const ALIGNED_STACK_CHART_TABLE_DATA = [
119
63
  { day: 0.0, v: 0.45 }, { day: 1.0, v: 0.70 }, { day: 2.0, v: 0.85 },
120
64
  { day: 3.0, v: 0.60 }, { day: 4.0, v: 0.30 },
121
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
122
- return (_jsxs(AlignedStack, { gutter: { left: "120px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(load, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 4.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0] }, y: { label: "load" }, grid: true }) }), _jsx(Table, { data: [
123
- { resource: "Alice", mon: "0.45", tue: "0.70", wed: "0.85", thu: "0.60", fri: "0.30" },
124
- { resource: "Bob", mon: "0.35", tue: "0.60", wed: "0.30", thu: "0.75", fri: "0.50" },
125
- ], columns: {
126
- resource: { header: "Resource" },
127
- mon: { header: "Mon" }, tue: { header: "Tue" }, wed: { header: "Wed" },
128
- thu: { header: "Thu" }, fri: { header: "Fri" },
129
- }, frozen: ["resource"] })] }));
130
- }),
131
- inputs: [],
132
- });
133
- /**
134
- * A `<Chart>` stacked over a `<Planner>` in an `<AlignedStack>` — the canonical
135
- * acceptance case (#147). The Planner inherits the gutter from context, so its
136
- * frozen channel column fills `left`, the day-slot timeline fills `[left, W−right]`,
137
- * and horizontal scroll is dropped — the slot lane lines up under the chart's day
138
- * axis. (Match the chart's interval count to the slot count for the interior
139
- * day-lines to coincide; the gutter always aligns the lane edges.)
140
- */
141
- export const alignedStackChartPlanner = example({
142
- keywords: ["AlignedStack", "plotGutter", "Chart", "Planner", "frozen", "timeline", "day", "axis", "align"],
143
- description: "A Chart stacked over a Planner sharing one gutter — the frozen channel fills `left` and the day-slot timeline lines up under the chart's day axis",
144
- fn: East.function([], UIComponentType, ($) => {
145
- const temp = $.const([
65
+ ];
66
+ const ALIGNED_STACK_CHART_PLANNER_DATA = [
146
67
  { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
147
68
  { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
148
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
149
- return (_jsxs(AlignedStack, { gutter: { left: "140px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(temp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Line A", role: "Primary" }, { name: "Line B", role: "Backup" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
150
- Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
151
- Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
152
- Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
153
- Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
154
- ], now: Planner.at.number(4), onSelectRow: East.function([Planner.Types.SelectEvent], NullType, _$ => null) })] }));
155
- }),
156
- inputs: [],
157
- });
158
- /**
159
- * #327 regression — a `<Chart>` carrying BOTH axis titles (`x` "Day", `y` "°C")
160
- * stacked over a `<Planner>`. The x-title renders in its own band below the plot
161
- * (growing the chart's footprint) rather than eating the bottom plot margin, so
162
- * the plot rect stays put and the chart's day ticks still line up with the
163
- * Planner's day columns — the title no longer shoves the stacked lane.
164
- */
165
- export const alignedStackChartTitles = example({
166
- keywords: ["AlignedStack", "Chart", "Planner", "axis", "title", "label", "titleGap", "margin", "align", "gutter"],
167
- description: "A Chart with x + y axis titles (nudged out with titleGap) stacked over a Planner — the titles push into their own axis bands while the day ticks stay aligned with the Planner columns (#327)",
168
- fn: East.function([], UIComponentType, ($) => {
169
- const temp = $.const([
69
+ ];
70
+ const ALIGNED_STACK_CHART_GANTT_DATA = [
71
+ { d: 0.0, v: 0.3 }, { d: 1.0, v: 0.6 }, { d: 2.0, v: 0.8 }, { d: 3.0, v: 0.5 },
72
+ ];
73
+ const ALIGNED_STACK_ALL_COMPACT_DATA = [
170
74
  { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
171
75
  { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
172
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
173
- return (_jsxs(AlignedStack, { gutter: { left: "140px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "170px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(temp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { label: "Day", titleGap: 8, scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C", titleGap: 6 }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Line A", role: "Primary" }, { name: "Line B", role: "Backup" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
174
- Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
175
- Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
176
- ], now: Planner.at.number(4) })] }));
177
- }),
178
- inputs: [],
179
- });
180
- /**
181
- * A `<Chart>` and a `<Planner>` on one FORMATTED DATE axis (#309) — both lanes
182
- * speak real instants and the same date-pattern tokens. The Planner pins a
183
- * half-open day window `[min, max)` at `resolution: "day"` (seven columns,
184
- * `"ddd DD"` → `Mon 30 … Sun 05`); the Chart's time x-axis pins the SAME
185
- * `[min, max]` domain with `Chart.format.date("ddd DD")` ticks. Because the
186
- * window spans exactly seven days, each day-noon data point lands at
187
- * `(i + 0.5)/7` of the shared gutter lane — the centre of its Planner day
188
- * column — so the bars sit inside the day cells they schedule.
189
- */
190
- export const alignedStackDateAxis = example({
191
- keywords: ["AlignedStack", "plotGutter", "Chart", "Planner", "time", "date", "resolution", "day", "format", "ddd", "tick", "align", "instants"],
192
- description: "A Chart and a day-resolution Planner share one gutter and one formatted date axis — the same [min, max) window and 'ddd DD' tokens on both lanes",
193
- fn: East.function([], UIComponentType, ($) => {
194
- const runs = $.const([
76
+ ];
77
+ const ALIGNED_STACK_ALL_CONDENSED_DATA = [
78
+ { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
79
+ { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
80
+ ];
81
+ const ALIGNED_STACK_CHART_TITLES_DATA = [
82
+ { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
83
+ { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
84
+ ];
85
+ const ALIGNED_STACK_DATE_AXIS_DATA = [
195
86
  { at: new Date("2026-03-30T12:00:00Z"), kl: 8.0 },
196
87
  { at: new Date("2026-03-31T12:00:00Z"), kl: 10.0 },
197
88
  { at: new Date("2026-04-01T12:00:00Z"), kl: 14.0 },
@@ -199,19 +90,182 @@ export const alignedStackDateAxis = example({
199
90
  { at: new Date("2026-04-03T12:00:00Z"), kl: 9.0 },
200
91
  { at: new Date("2026-04-04T12:00:00Z"), kl: 5.0 },
201
92
  { at: new Date("2026-04-05T12:00:00Z"), kl: 3.0 },
202
- ], ArrayType(StructType({ at: DateTimeType, kl: FloatType })));
203
- return (_jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Column(runs, { x: r => r.at, y: r => r.kl }, { color: "teal.solid" }), x: { scale: "time", domain: [new Date("2026-03-30"), new Date("2026-04-06")], format: Chart.format.date("ddd DD") }, y: { label: "kL" }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Press A", role: "Stamp" }, { name: "Press B", role: "Stamp" }], axis: Planner.axis.time({
204
- resolution: "day",
205
- format: "ddd DD",
206
- range: { min: new Date("2026-03-30"), max: new Date("2026-04-06") },
207
- }), now: Planner.at.time(new Date("2026-04-02")), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
208
- Planner.event({ slot: Planner.at.time(new Date("2026-03-30T09:00:00Z")), label: "Setup", state: "committed" }),
209
- Planner.event({ slot: Planner.at.time(new Date("2026-04-01T09:00:00Z")), label: "Run", state: "committed" }),
210
- Planner.event({ slot: Planner.at.time(new Date("2026-04-03T09:00:00Z")), label: "Plan", state: "added" }),
211
- ] })] }));
93
+ ];
94
+ const ALIGNED_STACK_AUTO_DATA = [
95
+ { day: 0.0, v: 10.0 }, { day: 3.0, v: 14.0 }, { day: 6.0, v: 9.0 },
96
+ ];
97
+ const trend = $.const([
98
+ { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
99
+ { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
100
+ ], ArrayType(StructType({ day: FloatType, v: FloatType })));
101
+ const chartsTemp = $.const(ALIGNED_STACK_CHARTS_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
102
+ const chartsRate = $.const(ALIGNED_STACK_CHARTS_RATE_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
103
+ const traceTemp = $.const(ALIGNED_STACK_CHART_TRACE_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
104
+ const calendarLoad = $.const(ALIGNED_STACK_CHART_CALENDAR_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
105
+ const calendarGrid = $.const(ALIGNED_STACK_CHART_CALENDAR_GRID_DATA, ArrayType(StructType({ week: StringType, day: StringType, demand: FloatType })));
106
+ const matrixLoad = $.const(ALIGNED_STACK_CHART_MATRIX_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
107
+ const tableLoad = $.const(ALIGNED_STACK_CHART_TABLE_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
108
+ const plannerTemp = $.const(ALIGNED_STACK_CHART_PLANNER_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
109
+ const ganttLoad = $.const(ALIGNED_STACK_CHART_GANTT_DATA, ArrayType(StructType({ d: FloatType, v: FloatType })));
110
+ const compactTrend = $.const(ALIGNED_STACK_ALL_COMPACT_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
111
+ const condensedTrend = $.const(ALIGNED_STACK_ALL_CONDENSED_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
112
+ const titlesTemp = $.const(ALIGNED_STACK_CHART_TITLES_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
113
+ const dateRuns = $.const(ALIGNED_STACK_DATE_AXIS_DATA, ArrayType(StructType({ at: DateTimeType, kl: FloatType })));
114
+ const autoRows = $.const(ALIGNED_STACK_AUTO_DATA, ArrayType(StructType({ day: FloatType, v: FloatType })));
115
+ return (_jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Separator, { label: "STACK ALL", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "10px", children: [_jsx(Box, { height: "140px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
116
+ { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
117
+ { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
118
+ ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
119
+ { line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
120
+ { line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
121
+ ], columns: [
122
+ Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
123
+ Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
124
+ Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
125
+ Matrix.column({ key: "d6", label: "6" }),
126
+ ], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
127
+ Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
128
+ Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
129
+ ] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
130
+ Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
131
+ Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
132
+ Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
133
+ Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
134
+ ], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
135
+ { week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
136
+ { week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
137
+ { week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
138
+ { week: "W37", day: "Sun", demand: 0.2 },
139
+ ], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
140
+ { metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
141
+ { metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
142
+ ], columns: {
143
+ metric: { header: "Metric" },
144
+ d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
145
+ d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
146
+ }, frozen: ["metric"] }), _jsx(Gantt, { data: [
147
+ { phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
148
+ { phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
149
+ { phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
150
+ ], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK CHARTS", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "48px", right: "16px" }, gap: "8px", children: [_jsx(Box, { height: "180px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(chartsTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [0, 6], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Box, { height: "180px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(chartsRate, { x: r => r.day, y: r => r.v }, { color: "purple.solid" }), x: { scale: "linear", domain: [0, 6], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "rate" }, grid: true }) })] }), _jsx(Separator, { label: "STACK CHART TRACE", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "48px", right: "16px" }, gap: "8px", children: [_jsx(Box, { height: "160px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(traceTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Trace, { tracks: [
151
+ { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
152
+ { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
153
+ ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"], density: "comfortable" })] }), _jsx(Separator, { label: "STACK CHART CALENDAR", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "56px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(calendarLoad, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "load" }, grid: true }) }), _jsx(Calendar, { data: calendarGrid, cell: d => ({ week: d.week, day: d.day, value: d.demand }) })] }), _jsx(Separator, { label: "STACK CHART MATRIX", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "120px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(matrixLoad, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 4.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0] }, y: { label: "load" }, grid: true }) }), _jsx(Matrix, { data: [
154
+ { name: "Alice", booked: new Map([["mon", 0.45], ["tue", 0.70], ["wed", 0.85], ["thu", 0.60], ["fri", 0.30]]) },
155
+ { name: "Bob", booked: new Map([["mon", 0.35], ["tue", 0.60], ["wed", 0.30], ["thu", 0.75], ["fri", 0.50]]) },
156
+ ], columns: [
157
+ Matrix.column({ key: "mon", label: "Mon" }),
158
+ Matrix.column({ key: "tue", label: "Tue" }),
159
+ Matrix.column({ key: "wed", label: "Wed" }),
160
+ Matrix.column({ key: "thu", label: "Thu" }),
161
+ Matrix.column({ key: "fri", label: "Fri" }),
162
+ ], rowKey: r => r.name, rowHeader: "Resource", cell: (r, col) => Matrix.cell({ segments: [
163
+ Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
164
+ Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
165
+ ] }) })] }), _jsx(Separator, { label: "STACK CHART TABLE", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "120px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(tableLoad, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 4.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0] }, y: { label: "load" }, grid: true }) }), _jsx(Table, { data: [
166
+ { resource: "Alice", mon: "0.45", tue: "0.70", wed: "0.85", thu: "0.60", fri: "0.30" },
167
+ { resource: "Bob", mon: "0.35", tue: "0.60", wed: "0.30", thu: "0.75", fri: "0.50" },
168
+ ], columns: {
169
+ resource: { header: "Resource" },
170
+ mon: { header: "Mon" }, tue: { header: "Tue" }, wed: { header: "Wed" },
171
+ thu: { header: "Thu" }, fri: { header: "Fri" },
172
+ }, frozen: ["resource"] })] }), _jsx(Separator, { label: "STACK CHART PLANNER", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "140px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(plannerTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C" }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Line A", role: "Primary" }, { name: "Line B", role: "Backup" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
173
+ Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
174
+ Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
175
+ Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
176
+ Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
177
+ ], now: Planner.at.number(4), onSelectRow: East.function([Planner.Types.SelectEvent], NullType, _$ => null) })] }), _jsx(Separator, { label: "STACK CHART GANTT", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "180px", right: "14px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(ganttLoad, { x: r => r.d, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [0, 3] }, y: { label: "load" }, grid: true }) }), _jsx(Gantt, { data: [
178
+ { task: "Planning", owner: "Alice", start: new Date("2024-01-01"), end: new Date("2024-01-20") },
179
+ { task: "Design", owner: "Bob", start: new Date("2024-01-15"), end: new Date("2024-02-05") },
180
+ { task: "Build", owner: "Carol", start: new Date("2024-01-25"), end: new Date("2024-03-01") },
181
+ ], columns: ["task", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK ALL COMPACT", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "8px", density: "compact", children: [_jsx(Box, { height: "130px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(compactTrend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
182
+ { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
183
+ { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
184
+ ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
185
+ { line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
186
+ { line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
187
+ ], columns: [
188
+ Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
189
+ Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
190
+ Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
191
+ Matrix.column({ key: "d6", label: "6" }),
192
+ ], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
193
+ Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
194
+ Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
195
+ ] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
196
+ Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
197
+ Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
198
+ Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
199
+ Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
200
+ ], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
201
+ { week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
202
+ { week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
203
+ { week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
204
+ { week: "W37", day: "Sun", demand: 0.2 },
205
+ ], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
206
+ { metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
207
+ { metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
208
+ ], columns: {
209
+ metric: { header: "Metric" },
210
+ d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
211
+ d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
212
+ }, frozen: ["metric"] }), _jsx(Gantt, { data: [
213
+ { phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
214
+ { phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
215
+ { phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
216
+ ], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK ALL CONDENSED", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "6px", density: "condensed", children: [_jsx(Box, { height: "120px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(condensedTrend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
217
+ { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
218
+ { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
219
+ ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
220
+ { line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
221
+ { line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
222
+ ], columns: [
223
+ Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
224
+ Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
225
+ Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
226
+ Matrix.column({ key: "d6", label: "6" }),
227
+ ], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
228
+ Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
229
+ Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
230
+ ] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
231
+ Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
232
+ Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
233
+ Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
234
+ Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
235
+ ], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
236
+ { week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
237
+ { week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
238
+ { week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
239
+ { week: "W37", day: "Sun", demand: 0.2 },
240
+ ], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
241
+ { metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
242
+ { metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
243
+ ], columns: {
244
+ metric: { header: "Metric" },
245
+ d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
246
+ d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
247
+ }, frozen: ["metric"] }), _jsx(Gantt, { data: [
248
+ { phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
249
+ { phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
250
+ { phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
251
+ ], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }), _jsx(Separator, { label: "STACK CHART TITLES", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "140px", right: "12px" }, gap: "8px", children: [_jsx(Box, { height: "170px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(titlesTemp, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { label: "Day", titleGap: 8, scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C", titleGap: 6 }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Line A", role: "Primary" }, { name: "Line B", role: "Backup" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
252
+ Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
253
+ Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
254
+ ], now: Planner.at.number(4) })] }), _jsx(Separator, { label: "STACK DATE AXIS", align: "start" }), _jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Column(dateRuns, { x: r => r.at, y: r => r.kl }, { color: "teal.solid" }), x: { scale: "time", domain: [new Date("2026-03-30"), new Date("2026-04-06")], format: Chart.format.date("ddd DD") }, y: { label: "kL" }, grid: true }) }), _jsx(Planner.Point, { data: [{ name: "Press A", role: "Stamp" }, { name: "Press B", role: "Stamp" }], axis: Planner.axis.time({
255
+ resolution: "day",
256
+ format: "ddd DD",
257
+ range: { min: new Date("2026-03-30"), max: new Date("2026-04-06") },
258
+ }), now: Planner.at.time(new Date("2026-04-02")), columns: [{ key: "name", frozen: true, value: r => r.name, sublabel: r => r.role }], events: _r => [
259
+ Planner.event({ slot: Planner.at.time(new Date("2026-03-30T09:00:00Z")), label: "Setup", state: "committed" }),
260
+ Planner.event({ slot: Planner.at.time(new Date("2026-04-01T09:00:00Z")), label: "Run", state: "committed" }),
261
+ Planner.event({ slot: Planner.at.time(new Date("2026-04-03T09:00:00Z")), label: "Plan", state: "added" }),
262
+ ] })] }), _jsx(Separator, { label: "STACK AUTO", align: "start" }), _jsx(AlignedStack, { gutter: "auto", gap: "6px", children: _jsx(Box, { height: "160px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(autoRows, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), grid: true }) }) })] }));
212
263
  }),
213
264
  inputs: [],
214
265
  });
266
+ // ============================================================================
267
+ // Behavioral isolates
268
+ // ============================================================================
215
269
  /**
216
270
  * DnD across an `<AlignedStack>` (#330) — a `<Library>` (drag SOURCE) beside a
217
271
  * Chart-over-`<Planner>` stack whose Planner is the drop TARGET (`sources` +
@@ -237,201 +291,4 @@ export const alignedStackLibraryDnd = example({
237
291
  }),
238
292
  inputs: [],
239
293
  });
240
- /**
241
- * A `<Chart>` stacked over a `<Gantt>` in an `<AlignedStack>` — the Gantt inherits
242
- * the gutter from context, so its frozen table panel is pinned to `left` (the
243
- * splitter no longer drags) and its time-axis timeline fills `[left, W−right]`,
244
- * lining up under the chart's plot. (#147)
245
- */
246
- export const alignedStackChartGantt = example({
247
- keywords: ["AlignedStack", "plotGutter", "Chart", "Gantt", "timeline", "splitter", "frozen", "align", "time"],
248
- description: "A Chart stacked over a Gantt sharing one gutter — the frozen table panel fills `left` and the timeline lines up under the chart's plot",
249
- fn: East.function([], UIComponentType, ($) => {
250
- const load = $.const([
251
- { d: 0.0, v: 0.3 }, { d: 1.0, v: 0.6 }, { d: 2.0, v: 0.8 }, { d: 3.0, v: 0.5 },
252
- ], ArrayType(StructType({ d: FloatType, v: FloatType })));
253
- return (_jsxs(AlignedStack, { gutter: { left: "180px", right: "14px" }, gap: "8px", children: [_jsx(Box, { height: "150px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(load, { x: r => r.d, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [0, 3] }, y: { label: "load" }, grid: true }) }), _jsx(Gantt, { data: [
254
- { task: "Planning", owner: "Alice", start: new Date("2024-01-01"), end: new Date("2024-01-20") },
255
- { task: "Design", owner: "Bob", start: new Date("2024-01-15"), end: new Date("2024-02-05") },
256
- { task: "Build", owner: "Carol", start: new Date("2024-01-25"), end: new Date("2024-03-01") },
257
- ], columns: ["task", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
258
- }),
259
- inputs: [],
260
- });
261
- /**
262
- * The kitchen-sink — ONE `<AlignedStack gutter>` lines up **seven** stacked lane
263
- * components on a single shared day axis: a `<Chart>` trajectory over a `<Trace>`
264
- * heat-strip, a `<Matrix>` utilisation grid, a `<Planner>` activity timeline, a
265
- * `<Calendar>` week band, a `<Table>` of per-day metrics, and a `<Gantt>` phase
266
- * timeline. Every component inherits the same `{ left, right }` gutter from
267
- * context — the frozen label columns / row headers / week labels all fill `left`,
268
- * and each data lane fills `[left, W−right]`, so the day columns line up top to
269
- * bottom without the consumer hand-matching a single number. (#147)
270
- */
271
- export const alignedStackAll = example({
272
- keywords: ["AlignedStack", "plotGutter", "gutter", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "align", "stack", "dashboard", "all", "shared"],
273
- description: "One AlignedStack gutter lines up seven stacked lane components — Chart, Trace, Matrix, Planner, Calendar, Table and Gantt — on a common day axis",
274
- fn: East.function([], UIComponentType, ($) => {
275
- const trend = $.const([
276
- { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
277
- { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
278
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
279
- return (_jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "10px", children: [_jsx(Box, { height: "140px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
280
- { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
281
- { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
282
- ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
283
- { line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
284
- { line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
285
- ], columns: [
286
- Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
287
- Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
288
- Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
289
- Matrix.column({ key: "d6", label: "6" }),
290
- ], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
291
- Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
292
- Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
293
- ] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
294
- Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
295
- Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
296
- Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
297
- Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
298
- ], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
299
- { week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
300
- { week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
301
- { week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
302
- { week: "W37", day: "Sun", demand: 0.2 },
303
- ], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
304
- { metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
305
- { metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
306
- ], columns: {
307
- metric: { header: "Metric" },
308
- d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
309
- d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
310
- }, frozen: ["metric"] }), _jsx(Gantt, { data: [
311
- { phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
312
- { phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
313
- { phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
314
- ], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
315
- }),
316
- inputs: [],
317
- });
318
- /**
319
- * The same seven-component stack as {@link alignedStackAll}, but with
320
- * `density="compact"` on the `<AlignedStack>` — the stack imposes the density on
321
- * every lane child via context (each child still reads it through `useDensity`),
322
- * so the whole dashboard tightens its row rhythm in one place. (#147)
323
- */
324
- export const alignedStackAllCompact = example({
325
- keywords: ["AlignedStack", "plotGutter", "density", "compact", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "stack", "all"],
326
- description: "The all-seven AlignedStack at density='compact' — one density prop tightens every lane child",
327
- fn: East.function([], UIComponentType, ($) => {
328
- const trend = $.const([
329
- { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
330
- { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
331
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
332
- return (_jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "8px", density: "compact", children: [_jsx(Box, { height: "130px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
333
- { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
334
- { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
335
- ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
336
- { line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
337
- { line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
338
- ], columns: [
339
- Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
340
- Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
341
- Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
342
- Matrix.column({ key: "d6", label: "6" }),
343
- ], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
344
- Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
345
- Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
346
- ] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
347
- Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
348
- Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
349
- Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
350
- Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
351
- ], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
352
- { week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
353
- { week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
354
- { week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
355
- { week: "W37", day: "Sun", demand: 0.2 },
356
- ], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
357
- { metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
358
- { metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
359
- ], columns: {
360
- metric: { header: "Metric" },
361
- d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
362
- d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
363
- }, frozen: ["metric"] }), _jsx(Gantt, { data: [
364
- { phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
365
- { phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
366
- { phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
367
- ], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
368
- }),
369
- inputs: [],
370
- });
371
- /**
372
- * The all-seven stack at `density="condensed"` — the tightest preset. Same single
373
- * density prop on the `<AlignedStack>` cascades to every lane child. (#147)
374
- */
375
- export const alignedStackAllCondensed = example({
376
- keywords: ["AlignedStack", "plotGutter", "density", "condensed", "Chart", "Trace", "Matrix", "Planner", "Calendar", "Table", "Gantt", "stack", "all"],
377
- description: "The all-seven AlignedStack at density='condensed' — the tightest preset, cascaded from one prop",
378
- fn: East.function([], UIComponentType, ($) => {
379
- const trend = $.const([
380
- { day: 0.0, v: 12.0 }, { day: 1.0, v: 14.0 }, { day: 2.0, v: 18.0 },
381
- { day: 3.0, v: 20.0 }, { day: 4.0, v: 19.0 }, { day: 5.0, v: 16.0 }, { day: 6.0, v: 13.0 },
382
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
383
- return (_jsxs(AlignedStack, { gutter: { left: "150px", right: "14px" }, gap: "6px", density: "condensed", children: [_jsx(Box, { height: "120px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(trend, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), x: { scale: "linear", domain: [-0.5, 6.5], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "value" }, grid: true }) }), _jsx(Trace, { tracks: [
384
- { name: "Series A", values: [12.0, 13.0, 14.0, 16.0, 18.0, 20.0, 22.0] },
385
- { name: "Series B", values: [1.0, 2.0, 3.0, 5.0, 7.0, 9.0, 11.0] },
386
- ], now: 4n, axis: ["0", "1", "2", "3", "4", "5", "6"] }), _jsx(Matrix, { data: [
387
- { line: "Line A", booked: new Map([["d0", 0.4], ["d1", 0.7], ["d2", 0.85], ["d3", 0.6], ["d4", 0.8], ["d5", 0.3], ["d6", 0.2]]) },
388
- { line: "Line B", booked: new Map([["d0", 0.5], ["d1", 0.6], ["d2", 0.7], ["d3", 0.9], ["d4", 0.4], ["d5", 0.2], ["d6", 0.1]]) },
389
- ], columns: [
390
- Matrix.column({ key: "d0", label: "0" }), Matrix.column({ key: "d1", label: "1" }),
391
- Matrix.column({ key: "d2", label: "2" }), Matrix.column({ key: "d3", label: "3" }),
392
- Matrix.column({ key: "d4", label: "4" }), Matrix.column({ key: "d5", label: "5" }),
393
- Matrix.column({ key: "d6", label: "6" }),
394
- ], rowKey: r => r.line, rowHeader: "Line", cell: (r, col) => Matrix.cell({ segments: [
395
- Matrix.segment({ fill: "brand", weight: r.booked.get(col.key) }),
396
- Matrix.segment({ fill: "free", weight: East.value(1.0, FloatType).subtract(r.booked.get(col.key)) }),
397
- ] }) }), _jsx(Planner.Point, { data: [{ name: "Line A" }, { name: "Line B" }], axis: Planner.axis.number({ range: { min: 0, max: 6 } }), columns: [{ key: "name", frozen: true, value: r => r.name }], events: _r => [
398
- Planner.event({ slot: Planner.at.number(0), label: "✓", state: "committed" }),
399
- Planner.event({ slot: Planner.at.number(2), label: "✓", state: "committed" }),
400
- Planner.event({ slot: Planner.at.number(4), label: "plan", state: "added" }),
401
- Planner.event({ slot: Planner.at.number(6), label: "?", state: "model" }),
402
- ], now: Planner.at.number(4) }), _jsx(Calendar, { data: [
403
- { week: "W37", day: "Mon", demand: 0.4 }, { week: "W37", day: "Tue", demand: 0.7 },
404
- { week: "W37", day: "Wed", demand: 0.85 }, { week: "W37", day: "Thu", demand: 0.6 },
405
- { week: "W37", day: "Fri", demand: 0.8 }, { week: "W37", day: "Sat", demand: 0.3 },
406
- { week: "W37", day: "Sun", demand: 0.2 },
407
- ], cell: d => ({ week: d.week, day: d.day, value: d.demand }) }), _jsx(Table, { data: [
408
- { metric: "Output", d0: "12", d1: "14", d2: "18", d3: "20", d4: "19", d5: "16", d6: "13" },
409
- { metric: "Target", d0: "12", d1: "13", d2: "14", d3: "16", d4: "18", d5: "20", d6: "22" },
410
- ], columns: {
411
- metric: { header: "Metric" },
412
- d0: { header: "0" }, d1: { header: "1" }, d2: { header: "2" }, d3: { header: "3" },
413
- d4: { header: "4" }, d5: { header: "5" }, d6: { header: "6" },
414
- }, frozen: ["metric"] }), _jsx(Gantt, { data: [
415
- { phase: "Setup", owner: "—", start: new Date("2024-01-01"), end: new Date("2024-01-02") },
416
- { phase: "Run", owner: "—", start: new Date("2024-01-02"), end: new Date("2024-01-06") },
417
- { phase: "Wrap", owner: "—", start: new Date("2024-01-06"), end: new Date("2024-01-07") },
418
- ], columns: ["phase", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) })] }));
419
- }),
420
- inputs: [],
421
- });
422
- /**
423
- * `gutter="auto"` — AlignedStack measures the max gutter its children need and
424
- * imposes it on all (not yet wired in the renderer; imposes nothing for now).
425
- */
426
- export const alignedStackAuto = example({
427
- keywords: ["AlignedStack", "gutter", "auto", "measure", "align"],
428
- description: "AlignedStack with gutter='auto' (measure-the-max mode)",
429
- fn: East.function([], UIComponentType, ($) => {
430
- const rows = $.const([
431
- { day: 0.0, v: 10.0 }, { day: 3.0, v: 14.0 }, { day: 6.0, v: 9.0 },
432
- ], ArrayType(StructType({ day: FloatType, v: FloatType })));
433
- return (_jsx(AlignedStack, { gutter: "auto", gap: "6px", children: _jsx(Box, { height: "160px", width: "100%", children: _jsx(Chart, { height: "fill", layers: Chart.Line(rows, { x: r => r.day, y: r => r.v }, { color: "teal.solid" }), grid: true }) }) }));
434
- }),
435
- inputs: [],
436
- });
437
294
  //# sourceMappingURL=aligned-stack.examples.js.map