@elaraai/east-ui 1.0.80 → 1.0.82

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 (353) hide show
  1. package/dist/src/charts/chart/index.d.ts +4 -0
  2. package/dist/src/charts/chart/index.d.ts.map +1 -1
  3. package/dist/src/charts/spec/index.d.ts +8 -0
  4. package/dist/src/charts/spec/index.d.ts.map +1 -1
  5. package/dist/src/collections/deck/index.d.ts +8 -0
  6. package/dist/src/collections/deck/index.d.ts.map +1 -1
  7. package/dist/src/collections/index.d.ts +2 -2
  8. package/dist/src/collections/index.d.ts.map +1 -1
  9. package/dist/src/collections/index.js.map +1 -1
  10. package/dist/src/collections/library/index.d.ts +4 -0
  11. package/dist/src/collections/library/index.d.ts.map +1 -1
  12. package/dist/src/collections/library/types.d.ts +4 -0
  13. package/dist/src/collections/library/types.d.ts.map +1 -1
  14. package/dist/src/collections/matrix/index.d.ts +56 -19
  15. package/dist/src/collections/matrix/index.d.ts.map +1 -1
  16. package/dist/src/collections/matrix/index.js +38 -24
  17. package/dist/src/collections/matrix/index.js.map +1 -1
  18. package/dist/src/collections/plan/assemble.d.ts +655 -2113
  19. package/dist/src/collections/plan/assemble.d.ts.map +1 -1
  20. package/dist/src/collections/plan/assemble.js +159 -136
  21. package/dist/src/collections/plan/assemble.js.map +1 -1
  22. package/dist/src/collections/plan/builders.d.ts +193 -40
  23. package/dist/src/collections/plan/builders.d.ts.map +1 -1
  24. package/dist/src/collections/plan/builders.js +162 -32
  25. package/dist/src/collections/plan/builders.js.map +1 -1
  26. package/dist/src/collections/plan/factories.d.ts +290 -116
  27. package/dist/src/collections/plan/factories.d.ts.map +1 -1
  28. package/dist/src/collections/plan/factories.js +281 -156
  29. package/dist/src/collections/plan/factories.js.map +1 -1
  30. package/dist/src/collections/plan/index.d.ts +111 -58
  31. package/dist/src/collections/plan/index.d.ts.map +1 -1
  32. package/dist/src/collections/plan/index.js +62 -31
  33. package/dist/src/collections/plan/index.js.map +1 -1
  34. package/dist/src/collections/plan/ir.d.ts +759 -1769
  35. package/dist/src/collections/plan/ir.d.ts.map +1 -1
  36. package/dist/src/collections/plan/ir.js +51 -27
  37. package/dist/src/collections/plan/ir.js.map +1 -1
  38. package/dist/src/collections/plan/pick.d.ts +89 -71
  39. package/dist/src/collections/plan/pick.d.ts.map +1 -1
  40. package/dist/src/collections/plan/pick.js +101 -86
  41. package/dist/src/collections/plan/pick.js.map +1 -1
  42. package/dist/src/collections/plan/root.d.ts +164 -77
  43. package/dist/src/collections/plan/root.d.ts.map +1 -1
  44. package/dist/src/collections/plan/root.js +350 -42
  45. package/dist/src/collections/plan/root.js.map +1 -1
  46. package/dist/src/collections/plan/series.d.ts +12524 -10527
  47. package/dist/src/collections/plan/series.d.ts.map +1 -1
  48. package/dist/src/collections/plan/series.js +1596 -298
  49. package/dist/src/collections/plan/series.js.map +1 -1
  50. package/dist/src/collections/plan/types.d.ts +6115 -2802
  51. package/dist/src/collections/plan/types.d.ts.map +1 -1
  52. package/dist/src/collections/plan/types.js +575 -170
  53. package/dist/src/collections/plan/types.js.map +1 -1
  54. package/dist/src/collections/sheet/bridge.d.ts +154 -43
  55. package/dist/src/collections/sheet/bridge.d.ts.map +1 -1
  56. package/dist/src/collections/sheet/bridge.js +383 -240
  57. package/dist/src/collections/sheet/bridge.js.map +1 -1
  58. package/dist/src/collections/sheet/columns.d.ts +66 -16
  59. package/dist/src/collections/sheet/columns.d.ts.map +1 -1
  60. package/dist/src/collections/sheet/columns.js +25 -25
  61. package/dist/src/collections/sheet/columns.js.map +1 -1
  62. package/dist/src/collections/sheet/context-bridge.d.ts +48 -0
  63. package/dist/src/collections/sheet/context-bridge.d.ts.map +1 -0
  64. package/dist/src/collections/sheet/context-bridge.js +216 -0
  65. package/dist/src/collections/sheet/context-bridge.js.map +1 -0
  66. package/dist/src/collections/sheet/draft-bridge.d.ts +37 -0
  67. package/dist/src/collections/sheet/draft-bridge.d.ts.map +1 -0
  68. package/dist/src/collections/sheet/draft-bridge.js +153 -0
  69. package/dist/src/collections/sheet/draft-bridge.js.map +1 -0
  70. package/dist/src/collections/sheet/drafts.d.ts +14 -0
  71. package/dist/src/collections/sheet/drafts.d.ts.map +1 -0
  72. package/dist/src/collections/sheet/drafts.js +14 -0
  73. package/dist/src/collections/sheet/drafts.js.map +1 -0
  74. package/dist/src/collections/sheet/editing-bridge.d.ts +36 -0
  75. package/dist/src/collections/sheet/editing-bridge.d.ts.map +1 -0
  76. package/dist/src/collections/sheet/editing-bridge.js +196 -0
  77. package/dist/src/collections/sheet/editing-bridge.js.map +1 -0
  78. package/dist/src/collections/sheet/editing-types.d.ts +268 -0
  79. package/dist/src/collections/sheet/editing-types.d.ts.map +1 -0
  80. package/dist/src/collections/sheet/editing-types.js +34 -0
  81. package/dist/src/collections/sheet/editing-types.js.map +1 -0
  82. package/dist/src/collections/sheet/edits.d.ts +37 -0
  83. package/dist/src/collections/sheet/edits.d.ts.map +1 -0
  84. package/dist/src/collections/sheet/edits.js +31 -0
  85. package/dist/src/collections/sheet/edits.js.map +1 -0
  86. package/dist/src/collections/sheet/group.d.ts +165 -0
  87. package/dist/src/collections/sheet/group.d.ts.map +1 -0
  88. package/dist/src/collections/sheet/group.js +52 -0
  89. package/dist/src/collections/sheet/group.js.map +1 -0
  90. package/dist/src/collections/sheet/index.d.ts +171 -27
  91. package/dist/src/collections/sheet/index.d.ts.map +1 -1
  92. package/dist/src/collections/sheet/index.js +99 -17
  93. package/dist/src/collections/sheet/index.js.map +1 -1
  94. package/dist/src/collections/sheet/link.d.ts +22 -16
  95. package/dist/src/collections/sheet/link.d.ts.map +1 -1
  96. package/dist/src/collections/sheet/link.js +18 -12
  97. package/dist/src/collections/sheet/link.js.map +1 -1
  98. package/dist/src/collections/sheet/registers.d.ts +152 -5
  99. package/dist/src/collections/sheet/registers.d.ts.map +1 -1
  100. package/dist/src/collections/sheet/registers.js +154 -5
  101. package/dist/src/collections/sheet/registers.js.map +1 -1
  102. package/dist/src/collections/sheet/root.d.ts +175 -26
  103. package/dist/src/collections/sheet/root.d.ts.map +1 -1
  104. package/dist/src/collections/sheet/root.js +150 -26
  105. package/dist/src/collections/sheet/root.js.map +1 -1
  106. package/dist/src/collections/sheet/seed-bridge.d.ts +14 -0
  107. package/dist/src/collections/sheet/seed-bridge.d.ts.map +1 -0
  108. package/dist/src/collections/sheet/seed-bridge.js +51 -0
  109. package/dist/src/collections/sheet/seed-bridge.js.map +1 -0
  110. package/dist/src/collections/sheet/sub-rows.d.ts +249 -0
  111. package/dist/src/collections/sheet/sub-rows.d.ts.map +1 -0
  112. package/dist/src/collections/sheet/sub-rows.js +222 -0
  113. package/dist/src/collections/sheet/sub-rows.js.map +1 -0
  114. package/dist/src/collections/sheet/transactions.d.ts +76 -0
  115. package/dist/src/collections/sheet/transactions.d.ts.map +1 -0
  116. package/dist/src/collections/sheet/transactions.js +40 -0
  117. package/dist/src/collections/sheet/transactions.js.map +1 -0
  118. package/dist/src/collections/sheet/types.d.ts +12034 -3651
  119. package/dist/src/collections/sheet/types.d.ts.map +1 -1
  120. package/dist/src/collections/sheet/types.js +365 -48
  121. package/dist/src/collections/sheet/types.js.map +1 -1
  122. package/dist/src/collections/table/index.d.ts +98 -123
  123. package/dist/src/collections/table/index.d.ts.map +1 -1
  124. package/dist/src/collections/table/index.js +97 -111
  125. package/dist/src/collections/table/index.js.map +1 -1
  126. package/dist/src/collections/table/types.d.ts +87 -31
  127. package/dist/src/collections/table/types.d.ts.map +1 -1
  128. package/dist/src/collections/table/types.js +51 -26
  129. package/dist/src/collections/table/types.js.map +1 -1
  130. package/dist/src/collections/value-tree/flatten.d.ts.map +1 -1
  131. package/dist/src/collections/value-tree/flatten.js +4 -1
  132. package/dist/src/collections/value-tree/flatten.js.map +1 -1
  133. package/dist/src/component.d.ts +5075 -4079
  134. package/dist/src/component.d.ts.map +1 -1
  135. package/dist/src/component.js +46 -46
  136. package/dist/src/component.js.map +1 -1
  137. package/dist/src/contracts/approval.d.ts +10 -8
  138. package/dist/src/contracts/approval.d.ts.map +1 -1
  139. package/dist/src/contracts/approval.js +10 -8
  140. package/dist/src/contracts/approval.js.map +1 -1
  141. package/dist/src/contracts/drag.d.ts +11 -9
  142. package/dist/src/contracts/drag.d.ts.map +1 -1
  143. package/dist/src/contracts/drag.js +28 -21
  144. package/dist/src/contracts/drag.js.map +1 -1
  145. package/dist/src/contracts/editing.d.ts +1283 -0
  146. package/dist/src/contracts/editing.d.ts.map +1 -0
  147. package/dist/src/contracts/editing.js +711 -0
  148. package/dist/src/contracts/editing.js.map +1 -0
  149. package/dist/src/contracts/index.d.ts +2 -1
  150. package/dist/src/contracts/index.d.ts.map +1 -1
  151. package/dist/src/contracts/index.js +2 -1
  152. package/dist/src/contracts/index.js.map +1 -1
  153. package/dist/src/contracts/pick.d.ts +6 -7
  154. package/dist/src/contracts/pick.d.ts.map +1 -1
  155. package/dist/src/contracts/pick.js +6 -7
  156. package/dist/src/contracts/pick.js.map +1 -1
  157. package/dist/src/contracts/review.d.ts +3 -1
  158. package/dist/src/contracts/review.d.ts.map +1 -1
  159. package/dist/src/contracts/review.js +3 -1
  160. package/dist/src/contracts/review.js.map +1 -1
  161. package/dist/src/contracts/source.d.ts +270 -80
  162. package/dist/src/contracts/source.d.ts.map +1 -1
  163. package/dist/src/contracts/source.js +357 -58
  164. package/dist/src/contracts/source.js.map +1 -1
  165. package/dist/src/display/chip-rail/index.d.ts.map +1 -1
  166. package/dist/src/display/chip-rail/index.js +10 -10
  167. package/dist/src/display/chip-rail/index.js.map +1 -1
  168. package/dist/src/extension.d.ts +2 -1
  169. package/dist/src/extension.d.ts.map +1 -1
  170. package/dist/src/extension.js +2 -1
  171. package/dist/src/extension.js.map +1 -1
  172. package/dist/src/format/index.d.ts +1 -154
  173. package/dist/src/format/index.d.ts.map +1 -1
  174. package/dist/src/format/types.d.ts +35 -23
  175. package/dist/src/format/types.d.ts.map +1 -1
  176. package/dist/src/format/types.js +16 -14
  177. package/dist/src/format/types.js.map +1 -1
  178. package/dist/src/forms/field/index.js +4 -4
  179. package/dist/src/forms/field/index.js.map +1 -1
  180. package/dist/src/forms/file-upload/index.js +16 -16
  181. package/dist/src/forms/file-upload/index.js.map +1 -1
  182. package/dist/src/index.d.ts +4 -2
  183. package/dist/src/index.d.ts.map +1 -1
  184. package/dist/src/index.js +12 -5
  185. package/dist/src/index.js.map +1 -1
  186. package/dist/src/internal.d.ts +8 -3
  187. package/dist/src/internal.d.ts.map +1 -1
  188. package/dist/src/internal.js +11 -3
  189. package/dist/src/internal.js.map +1 -1
  190. package/dist/src/layout/box/index.d.ts.map +1 -1
  191. package/dist/src/layout/box/index.js +47 -47
  192. package/dist/src/layout/box/index.js.map +1 -1
  193. package/dist/src/layout/flex/index.d.ts.map +1 -1
  194. package/dist/src/layout/flex/index.js +47 -47
  195. package/dist/src/layout/flex/index.js.map +1 -1
  196. package/dist/src/layout/grid/index.js +11 -11
  197. package/dist/src/layout/grid/index.js.map +1 -1
  198. package/dist/src/layout/scroll-area/index.d.ts.map +1 -1
  199. package/dist/src/layout/scroll-area/index.js +8 -8
  200. package/dist/src/layout/scroll-area/index.js.map +1 -1
  201. package/dist/src/layout/separator/index.d.ts.map +1 -1
  202. package/dist/src/layout/separator/index.js +6 -6
  203. package/dist/src/layout/separator/index.js.map +1 -1
  204. package/dist/src/layout/stack/index.d.ts.map +1 -1
  205. package/dist/src/layout/stack/index.js +46 -46
  206. package/dist/src/layout/stack/index.js.map +1 -1
  207. package/dist/src/layout/sticky/index.d.ts.map +1 -1
  208. package/dist/src/layout/sticky/index.js +8 -8
  209. package/dist/src/layout/sticky/index.js.map +1 -1
  210. package/dist/src/overlays/action-bar/index.d.ts.map +1 -1
  211. package/dist/src/overlays/action-bar/index.js +8 -8
  212. package/dist/src/overlays/action-bar/index.js.map +1 -1
  213. package/dist/src/platform/index.d.ts +1 -1
  214. package/dist/src/platform/index.d.ts.map +1 -1
  215. package/dist/src/platform/index.js +1 -1
  216. package/dist/src/platform/index.js.map +1 -1
  217. package/dist/src/platform/slice/impl.d.ts +62 -51
  218. package/dist/src/platform/slice/impl.d.ts.map +1 -1
  219. package/dist/src/platform/slice/impl.js +155 -72
  220. package/dist/src/platform/slice/impl.js.map +1 -1
  221. package/dist/src/platform/slice/index.d.ts +3744 -2226
  222. package/dist/src/platform/slice/index.d.ts.map +1 -1
  223. package/dist/src/platform/slice/index.js +43 -1
  224. package/dist/src/platform/slice/index.js.map +1 -1
  225. package/dist/src/runtime/collections/deck.d.ts +4 -0
  226. package/dist/src/runtime/collections/deck.d.ts.map +1 -1
  227. package/dist/src/runtime/collections/matrix.d.ts +10 -9
  228. package/dist/src/runtime/collections/matrix.d.ts.map +1 -1
  229. package/dist/src/runtime/collections/matrix.js +11 -6
  230. package/dist/src/runtime/collections/matrix.js.map +1 -1
  231. package/dist/src/runtime/collections/plan.d.ts +148 -65
  232. package/dist/src/runtime/collections/plan.d.ts.map +1 -1
  233. package/dist/src/runtime/collections/plan.js +155 -67
  234. package/dist/src/runtime/collections/plan.js.map +1 -1
  235. package/dist/src/runtime/collections/sheet.d.ts +56 -23
  236. package/dist/src/runtime/collections/sheet.d.ts.map +1 -1
  237. package/dist/src/runtime/collections/sheet.js +30 -22
  238. package/dist/src/runtime/collections/sheet.js.map +1 -1
  239. package/dist/src/runtime/collections/table.d.ts +18 -11
  240. package/dist/src/runtime/collections/table.d.ts.map +1 -1
  241. package/dist/src/runtime/collections/table.js +7 -4
  242. package/dist/src/runtime/collections/table.js.map +1 -1
  243. package/dist/src/shared/reify.d.ts +4 -46
  244. package/dist/src/shared/reify.d.ts.map +1 -1
  245. package/dist/src/shared/reify.js +4 -61
  246. package/dist/src/shared/reify.js.map +1 -1
  247. package/dist/src/shared/tree.d.ts +88 -0
  248. package/dist/src/shared/tree.d.ts.map +1 -0
  249. package/dist/src/shared/tree.js +134 -0
  250. package/dist/src/shared/tree.js.map +1 -0
  251. package/dist/src/slice/breakdown/index.d.ts +4 -0
  252. package/dist/src/slice/breakdown/index.d.ts.map +1 -1
  253. package/dist/src/slice/breakdown/types.d.ts +4 -0
  254. package/dist/src/slice/breakdown/types.d.ts.map +1 -1
  255. package/dist/src/slice/cohort/index.d.ts +24 -4
  256. package/dist/src/slice/cohort/index.d.ts.map +1 -1
  257. package/dist/src/slice/cohort/index.js +8 -4
  258. package/dist/src/slice/cohort/index.js.map +1 -1
  259. package/dist/src/slice/cohort/types.d.ts +11 -0
  260. package/dist/src/slice/cohort/types.d.ts.map +1 -1
  261. package/dist/src/slice/cohort/types.js +7 -0
  262. package/dist/src/slice/cohort/types.js.map +1 -1
  263. package/dist/src/slice/filter/index.d.ts +4 -0
  264. package/dist/src/slice/filter/index.d.ts.map +1 -1
  265. package/dist/src/slice/filter/types.d.ts +4 -0
  266. package/dist/src/slice/filter/types.d.ts.map +1 -1
  267. package/dist/src/slice/index.d.ts +736 -0
  268. package/dist/src/slice/index.d.ts.map +1 -1
  269. package/dist/src/slice/legend/index.d.ts +4 -0
  270. package/dist/src/slice/legend/index.d.ts.map +1 -1
  271. package/dist/src/slice/legend/types.d.ts +4 -0
  272. package/dist/src/slice/legend/types.d.ts.map +1 -1
  273. package/dist/src/slice/rail/index.d.ts +8 -4
  274. package/dist/src/slice/rail/index.d.ts.map +1 -1
  275. package/dist/src/slice/rail/index.js.map +1 -1
  276. package/dist/src/slice/range/index.d.ts +4 -0
  277. package/dist/src/slice/range/index.d.ts.map +1 -1
  278. package/dist/src/slice/range/types.d.ts +4 -0
  279. package/dist/src/slice/range/types.d.ts.map +1 -1
  280. package/dist/src/slice/search/index.d.ts +4 -0
  281. package/dist/src/slice/search/index.d.ts.map +1 -1
  282. package/dist/src/slice/search/types.d.ts +4 -0
  283. package/dist/src/slice/search/types.d.ts.map +1 -1
  284. package/dist/src/slice/summary/index.d.ts +4 -0
  285. package/dist/src/slice/summary/index.d.ts.map +1 -1
  286. package/dist/src/slice/summary/types.d.ts +4 -0
  287. package/dist/src/slice/summary/types.d.ts.map +1 -1
  288. package/dist/src/typography/code/index.js +1 -1
  289. package/dist/src/typography/code/index.js.map +1 -1
  290. package/dist/src/typography/code-block/index.js +7 -7
  291. package/dist/src/typography/code-block/index.js.map +1 -1
  292. package/dist/src/typography/heading/index.js +2 -2
  293. package/dist/src/typography/heading/index.js.map +1 -1
  294. package/dist/src/typography/list/index.js +1 -1
  295. package/dist/src/typography/list/index.js.map +1 -1
  296. package/dist/src/typography/mark/index.js +1 -1
  297. package/dist/src/typography/mark/index.js.map +1 -1
  298. package/dist/src/typography/note/index.js +1 -1
  299. package/dist/src/typography/note/index.js.map +1 -1
  300. package/dist/src/typography/numeric/index.d.ts +3 -308
  301. package/dist/src/typography/numeric/index.d.ts.map +1 -1
  302. package/dist/src/typography/numeric/index.js +4 -4
  303. package/dist/src/typography/numeric/index.js.map +1 -1
  304. package/dist/src/typography/numeric/types.d.ts +1 -154
  305. package/dist/src/typography/numeric/types.d.ts.map +1 -1
  306. package/dist/src/typography/text/index.js +1 -1
  307. package/dist/src/typography/text/index.js.map +1 -1
  308. package/dist/test/collections/matrix.examples.d.ts +7 -3
  309. package/dist/test/collections/matrix.examples.d.ts.map +1 -1
  310. package/dist/test/collections/matrix.examples.js +55 -24
  311. package/dist/test/collections/matrix.examples.js.map +1 -1
  312. package/dist/test/collections/paged-source.examples.d.ts +4 -0
  313. package/dist/test/collections/paged-source.examples.d.ts.map +1 -1
  314. package/dist/test/collections/paged-source.examples.js +98 -13
  315. package/dist/test/collections/paged-source.examples.js.map +1 -1
  316. package/dist/test/collections/plan.examples.d.ts +101 -26
  317. package/dist/test/collections/plan.examples.d.ts.map +1 -1
  318. package/dist/test/collections/plan.examples.js +1481 -755
  319. package/dist/test/collections/plan.examples.js.map +1 -1
  320. package/dist/test/collections/sheet-link.examples.d.ts +7 -0
  321. package/dist/test/collections/sheet-link.examples.d.ts.map +1 -0
  322. package/dist/test/collections/sheet-link.examples.js +41 -0
  323. package/dist/test/collections/sheet-link.examples.js.map +1 -0
  324. package/dist/test/collections/sheet-transactions.examples.d.ts +7 -0
  325. package/dist/test/collections/sheet-transactions.examples.d.ts.map +1 -0
  326. package/dist/test/collections/sheet-transactions.examples.js +58 -0
  327. package/dist/test/collections/sheet-transactions.examples.js.map +1 -0
  328. package/dist/test/collections/sheet.examples.d.ts +52 -5
  329. package/dist/test/collections/sheet.examples.d.ts.map +1 -1
  330. package/dist/test/collections/sheet.examples.js +500 -158
  331. package/dist/test/collections/sheet.examples.js.map +1 -1
  332. package/dist/test/collections/table.examples.d.ts +31 -3
  333. package/dist/test/collections/table.examples.d.ts.map +1 -1
  334. package/dist/test/collections/table.examples.js +188 -28
  335. package/dist/test/collections/table.examples.js.map +1 -1
  336. package/dist/test/contracts/editing.examples.d.ts +7 -0
  337. package/dist/test/contracts/editing.examples.d.ts.map +1 -0
  338. package/dist/test/contracts/editing.examples.js +58 -0
  339. package/dist/test/contracts/editing.examples.js.map +1 -0
  340. package/dist/test/layout/splitter.examples.d.ts.map +1 -1
  341. package/dist/test/layout/splitter.examples.js +3 -1
  342. package/dist/test/layout/splitter.examples.js.map +1 -1
  343. package/dist/test/platform/slice.examples.d.ts.map +1 -1
  344. package/dist/test/platform/slice.examples.js +1 -0
  345. package/dist/test/platform/slice.examples.js.map +1 -1
  346. package/dist/test/slice/slice.examples.d.ts.map +1 -1
  347. package/dist/test/slice/slice.examples.js +5 -2
  348. package/dist/test/slice/slice.examples.js.map +1 -1
  349. package/package.json +4 -3
  350. package/dist/src/collections/plan/data-forms.d.ts +0 -332
  351. package/dist/src/collections/plan/data-forms.d.ts.map +0 -1
  352. package/dist/src/collections/plan/data-forms.js +0 -212
  353. package/dist/src/collections/plan/data-forms.js.map +0 -1
@@ -4,9 +4,16 @@
4
4
  */
5
5
  /**
6
6
  * The Plan kind factories — `span` / `buckets` / `chart` / `heat` / `table` /
7
- * `cards` / `events` / `group`. Each returns the row's flattened subtree
8
- * (`ExprType<ArrayType<PlanRowType>>`) with parent aggregates computed
9
- * eagerly by the `assemble` engines, so factories compose.
7
+ * `cards` / `events` / `group` — the vocabulary for rows no dataset holds,
8
+ * placed on a canvas by a `Plan.series.rows` entry. Each returns its row's
9
+ * STREAM (`PlanRowsValue` — the row, then its nested rows), so factories
10
+ * compose: a nested `rows:` input is other factories' results, placed under
11
+ * the parent in order (#822). A nesting parent DECLARES its rollup / aggregate
12
+ * / subtotal; the renderer derives the values from the subtree.
13
+ *
14
+ * The per-kind constructors ({@link spanKind} … {@link groupKind}) are shared
15
+ * with the data-driven series, so a hand-built row and a row made from a
16
+ * source entry carry the same kind for the same input.
10
17
  *
11
18
  * @packageDocumentation
12
19
  */
@@ -15,12 +22,12 @@ import {} from "../../charts/chart/index.js";
15
22
  import { ChartXType } from "../../charts/spec/index.js";
16
23
  import { TableAggregateType } from "../table/types.js";
17
24
  import { TickFormatType } from "../../format/types.js";
18
- import { PlanAggregateType, PlanTableEmphasisType, PlanTableSeriesType, PlanTableSplitType, PlanChartAxisType, PlanChartHeightType, PlanHeatCellsType, PlanTableCellType, PlanPortType, PlanCellMarkerType, PlanChartPointType, PlanChartBandPointType, PlanChartLayerType, PlanAxisSideType, PlanBreachType, PlanRollupType, PlanRunType, PlanDecisionMarkType, PlanBucketEventType, PlanChipType, PlanEventMarkType, PlanLaneType, PlanRowKindType, PlanInstantType, } from "./types.js";
19
- import { createHeatCells, resolveTag, resolveInstant } from "./builders.js";
25
+ import { PlanAggregateType, PlanTableEmphasisType, PlanTableSeriesType, PlanTableSplitType, PlanChartAxisType, PlanChartHeightType, PlanHeatCellsType, PlanTableCellType, PlanPortType, PlanCellMarkerType, PlanChartPointType, PlanChartBandPointType, PlanChartLayerType, PlanAxisSideType, PlanBreachType, PlanRollupType, PlanRunType, PlanDecisionMarkType, PlanBucketEventType, PlanChipType, PlanEventMarkType, PlanLaneType, PlanRowKindType, PlanInstantType, PlanHeatScaleType, PlanGroupSummaryType, } from "./types.js";
26
+ import { createHeatCells, createHeatScale, resolveFold, resolveTag, resolveInstant, } from "./builders.js";
20
27
  import { makeRow, assembleNested, } from "./assemble.js";
21
28
  /**
22
29
  * Wraps a Chart layer builder result with the Plan-only channels (axis side,
23
- * breach threshold, stack series).
30
+ * breach threshold, stack series, and how a coarser bucket folds its points).
24
31
  *
25
32
  * @param layer - The `Chart.Line` / `Column` / `Area` / `Scatter` / `Band` / `ref*` builder result
26
33
  * @param channels - The Plan-only channels ({@link PlanLayerChannels})
@@ -119,12 +126,15 @@ function consumeLayer(input) {
119
126
  return layer.data.map((_$, s) => East.value(variant("line", {
120
127
  points: s.points.map((_$2, p) => East.value({ t: pointInstant(p.x, xScale), y: p.value }, PlanChartPointType)),
121
128
  axis: axisSide(channels.axis ?? layer.style.axis), breach: breachOpt(channels.breach),
129
+ // A line is a level: a bucket folds its points to their mean (#824).
130
+ fold: resolveFold(channels.fold, "mean"),
122
131
  }), PlanChartLayerType));
123
132
  }
124
133
  if (layer.mark === "area") {
125
134
  return layer.data.map((_$, s) => East.value(variant("area", {
126
135
  points: s.points.map((_$2, p) => East.value({ t: pointInstant(p.x, xScale), y: p.value }, PlanChartPointType)),
127
136
  axis: axisSide(channels.axis ?? layer.style.axis),
137
+ fold: resolveFold(channels.fold, "mean"),
128
138
  }), PlanChartLayerType));
129
139
  }
130
140
  if (layer.mark === "scatter") {
@@ -142,6 +152,8 @@ function consumeLayer(input) {
142
152
  ? East.value(some(s.key), OptionType(StringType))
143
153
  : East.value(none, OptionType(StringType))),
144
154
  breach: breachOpt(channels.breach),
155
+ // A column is an amount: a bucket folds its points to their sum (#824).
156
+ fold: resolveFold(channels.fold, "sum"),
145
157
  }), PlanChartLayerType));
146
158
  }
147
159
  /** Concatenate the consumed layers of a chart row. */
@@ -159,64 +171,6 @@ export function consumeLayers(inputs) {
159
171
  export function createFixedHeight(size) {
160
172
  return East.value(variant("fixed", size), PlanChartHeightType);
161
173
  }
162
- /**
163
- * Creates a span row (the Gantt surface) — continuous state-run bars, with
164
- * optional nested rows rolled up into union/byStatus bands (`×k` peak
165
- * concurrency, summed quantities, pessimistic certainty).
166
- *
167
- * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
168
- * @param input - The span configuration ({@link PlanSpanInput})
169
- * @returns The flattened subtree (parent first, children re-parented), branded with its kind
170
- *
171
- * @example
172
- * ```ts
173
- * import { East } from "@elaraai/east";
174
- * import { UIComponentType } from "@elaraai/east-ui";
175
- * import { Plan } from "@elaraai/east-ui/internal";
176
- *
177
- * const example = East.function([], UIComponentType, _$ =>
178
- * Plan.Root({
179
- * axis: Plan.axis({ resolution: "week" }),
180
- * rows: [Plan.span({
181
- * key: "m03", label: "L1-M03", id: true, sub: "120 t",
182
- * runs: [Plan.run({ key: "r1", start: new Date("2026-07-01"), end: new Date("2026-07-22"),
183
- * label: "RUN · B-214", quantity: "96 t", state: "actual" })],
184
- * })],
185
- * }),
186
- * );
187
- * ```
188
- */
189
- export function createSpan(input) {
190
- const spanKind = (rollup) => East.value(variant("span", {
191
- runs: East.value((input.runs ?? []), ArrayType(PlanRunType)),
192
- decisions: East.value((input.decisions ?? []), ArrayType(PlanDecisionMarkType)),
193
- ports: East.value((input.ports ?? []), ArrayType(PlanPortType)),
194
- rollup: rollup !== undefined ? some(resolveTag(rollup, PlanRollupType)) : none,
195
- unit: input.unit !== undefined ? some(input.unit) : none,
196
- }), PlanRowKindType);
197
- if (input.rows === undefined)
198
- return makeRow(input, spanKind(input.rollup));
199
- // Nesting declares the rollup (default union); the RENDERER derives the
200
- // bands from the subtree's runs — never precomputed expressions.
201
- return assembleNested(input, input.rows, spanKind(input.rollup ?? "union"));
202
- }
203
- /**
204
- * Creates a bucket row (the Planner surface, verbatim) — allocation tiles in
205
- * discrete slots, optionally sub-divided into lanes (AM/PM). WEEK resolution
206
- * folds lanes into week cells; DAY re-splits — same data, slice-driven.
207
- *
208
- * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
209
- * @param input - The buckets configuration ({@link PlanBucketsInput})
210
- * @returns The 1-row flattened subtree, branded with its kind
211
- */
212
- export function createBuckets(input) {
213
- const kind = East.value(variant("buckets", {
214
- lanes: East.value(input.lanes ?? [], ArrayType(PlanLaneType)),
215
- events: East.value((input.events ?? []), ArrayType(PlanBucketEventType)),
216
- markers: East.value((input.markers ?? []), ArrayType(PlanCellMarkerType)),
217
- }), PlanRowKindType);
218
- return makeRow(input, kind);
219
- }
220
174
  /** Whether a domain bound is temporal — mirrors `Chart.Root`'s `isTemporalBound`. */
221
175
  function isTemporalBound(bound) {
222
176
  if (bound instanceof Date)
@@ -250,6 +204,244 @@ function buildChartAxis(a, side) {
250
204
  format: a.format !== undefined ? some(a.format) : none,
251
205
  }, PlanChartAxisType);
252
206
  }
207
+ /**
208
+ * A span row's kind.
209
+ *
210
+ * @param parts - The row's runs, decisions and ports
211
+ * @param rollup - The declared rollup — `some` on a row whose subtree rolls up into its bands
212
+ * @returns The kind
213
+ */
214
+ export function spanKind(parts, rollup) {
215
+ return East.value(variant("span", {
216
+ runs: East.value((parts.runs ?? []), ArrayType(PlanRunType)),
217
+ decisions: East.value((parts.decisions ?? []), ArrayType(PlanDecisionMarkType)),
218
+ ports: East.value((parts.ports ?? []), ArrayType(PlanPortType)),
219
+ rollup,
220
+ }), PlanRowKindType);
221
+ }
222
+ /**
223
+ * A bucket row's kind.
224
+ *
225
+ * @param parts - The row's lanes, tiles and markers
226
+ * @returns The kind
227
+ */
228
+ export function bucketsKind(parts) {
229
+ return East.value(variant("buckets", {
230
+ lanes: East.value(parts.lanes ?? [], ArrayType(PlanLaneType)),
231
+ events: East.value((parts.events ?? []), ArrayType(PlanBucketEventType)),
232
+ markers: East.value((parts.markers ?? []), ArrayType(PlanCellMarkerType)),
233
+ }), PlanRowKindType);
234
+ }
235
+ /**
236
+ * A chart row's kind — Chart layers consumed AS DATA.
237
+ *
238
+ * @param parts - The row's layers and axes ({@link PlanChartParts})
239
+ * @returns The kind
240
+ */
241
+ export function chartKind(parts) {
242
+ const heightMode = parts.height === undefined
243
+ ? East.value(variant("spark", null), PlanChartHeightType)
244
+ : (typeof parts.height === "string"
245
+ ? East.value(variant(parts.height, null), PlanChartHeightType)
246
+ : East.value(parts.height, PlanChartHeightType));
247
+ return East.value(variant("chart", {
248
+ layers: consumeLayers(parts.layers),
249
+ left: parts.left !== undefined ? some(buildChartAxis(parts.left, "left")) : none,
250
+ right: parts.right !== undefined ? some(buildChartAxis(parts.right, "right")) : none,
251
+ height: heightMode,
252
+ expandedHeight: parts.expandedHeight !== undefined ? some(parts.expandedHeight) : none,
253
+ expandable: parts.expandable ?? false,
254
+ }), PlanRowKindType);
255
+ }
256
+ /**
257
+ * A heat row's kind.
258
+ *
259
+ * @param parts - The row's cells and the scale its derived cells paint on
260
+ * @param aggregate - The declared aggregate — how a parent with no cells of its own derives them from its children
261
+ * @returns The kind
262
+ */
263
+ export function heatKind(parts, aggregate) {
264
+ const cells = parts.cells;
265
+ return East.value(variant("heat", {
266
+ cells: cells !== undefined ? East.value(cells, PlanHeatCellsType) : createHeatCells([]),
267
+ aggregate,
268
+ scale: parts.scale !== undefined
269
+ ? East.value(some(createHeatScale(parts.scale)), OptionType(PlanHeatScaleType))
270
+ : East.value(none, OptionType(PlanHeatScaleType)),
271
+ }), PlanRowKindType);
272
+ }
273
+ /**
274
+ * A table row's kind — its value series (`cells` wraps into one unstyled
275
+ * series, so the renderer has a single representation).
276
+ *
277
+ * @param parts - The row's cells or series, split, format, emphasis and the cells' fold
278
+ * @param aggregate - The declared subtotal mode — how a parent with no values of its own derives them from its children
279
+ * @returns The kind
280
+ * @throws {Error} When both `cells` and `series` are given, or `fold` with `series` (each series declares its own)
281
+ */
282
+ export function tableKind(parts, aggregate) {
283
+ if (parts.cells !== undefined && parts.series !== undefined) {
284
+ throw new Error("Plan.table: pass `cells` (sugar for one plain series) OR `series` — not both");
285
+ }
286
+ if (parts.fold !== undefined && parts.series !== undefined) {
287
+ throw new Error("Plan.table: `fold` goes with `cells` — each `Plan.tableSeries` declares its own fold");
288
+ }
289
+ const series = parts.series !== undefined
290
+ ? East.value(parts.series, ArrayType(PlanTableSeriesType))
291
+ : (parts.cells !== undefined
292
+ ? East.value([East.value({
293
+ cells: East.value(parts.cells, ArrayType(PlanTableCellType)),
294
+ format: none, tone: none, strong: false, rollup: false,
295
+ fold: resolveFold(parts.fold, "sum"),
296
+ }, PlanTableSeriesType)], ArrayType(PlanTableSeriesType))
297
+ : East.value([], ArrayType(PlanTableSeriesType)));
298
+ return East.value(variant("table", {
299
+ series,
300
+ split: resolveTag(parts.split ?? "horizontal", PlanTableSplitType),
301
+ aggregate,
302
+ format: parts.format !== undefined ? some(East.value(parts.format, TickFormatType)) : none,
303
+ emphasis: resolveTag(parts.emphasis ?? "body", PlanTableEmphasisType),
304
+ }), PlanRowKindType);
305
+ }
306
+ /**
307
+ * A cards row's kind.
308
+ *
309
+ * @param chips - The row's shift chips
310
+ * @returns The kind
311
+ */
312
+ export function cardsKind(chips) {
313
+ return East.value(variant("cards", {
314
+ chips: East.value((chips ?? []), ArrayType(PlanChipType)),
315
+ }), PlanRowKindType);
316
+ }
317
+ /**
318
+ * An event row's kind.
319
+ *
320
+ * @param marks - The row's marks
321
+ * @returns The kind
322
+ */
323
+ export function eventsKind(marks) {
324
+ return East.value(variant("events", {
325
+ marks: East.value((marks ?? []), ArrayType(PlanEventMarkType)),
326
+ }), PlanRowKindType);
327
+ }
328
+ /**
329
+ * A group strip's ONE summary declaration (#824) — explicit cells, a declared
330
+ * aggregate, or a plain band — from the two inputs an author writes it with.
331
+ *
332
+ * @param cells - Explicit collapsed-strip cells, if given
333
+ * @param aggregate - The declared strip aggregation over the members' heat cells, if given
334
+ * @param where - Who is asking, for the message
335
+ * @returns The summary
336
+ * @throws {Error} When both are given — a strip shows one or the other
337
+ */
338
+ export function groupSummary(cells, aggregate, where) {
339
+ if (cells !== undefined && aggregate !== undefined) {
340
+ throw new Error(`${where}: give \`summary\` (explicit strip cells) OR \`summaryAggregate\` (cells derived from the ` +
341
+ "members) — a collapsed strip shows one or the other");
342
+ }
343
+ if (cells !== undefined)
344
+ return East.value(variant("cells", East.value(cells, PlanHeatCellsType)), PlanGroupSummaryType);
345
+ if (aggregate !== undefined)
346
+ return East.value(variant("aggregate", resolveTag(aggregate, PlanAggregateType)), PlanGroupSummaryType);
347
+ return East.value(variant("none", null), PlanGroupSummaryType);
348
+ }
349
+ /**
350
+ * A group strip's kind.
351
+ *
352
+ * @param summary - What the collapsed strip shows ({@link groupSummary})
353
+ * @returns The kind
354
+ */
355
+ export function groupKind(summary) {
356
+ return East.value(variant("group", { summary }), PlanRowKindType);
357
+ }
358
+ /**
359
+ * Creates a span row (the Gantt surface) — continuous state-run bars. With
360
+ * nested `rows` it DECLARES a rollup (default `"union"`), and the renderer
361
+ * derives the parent's union / byStatus bands from the subtree's runs (`×k`
362
+ * peak concurrency, quantities summed unit by unit, pessimistic certainty).
363
+ *
364
+ * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
365
+ * @param input - The span configuration ({@link PlanSpanInput})
366
+ * @returns The row stream — the span row, then every nested row under it — branded with its kind
367
+ *
368
+ * @example
369
+ * ```tsx
370
+ * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
371
+ * import { ArrayType, DateTimeType, DictType, East, IntegerType, StringType, StructType, variant } from "@elaraai/east";
372
+ * import { EventStateType, Plan, UIComponentType } from "@elaraai/east-ui";
373
+ *
374
+ * const canvas = East.function([], UIComponentType, ($) => {
375
+ * // Monday of ISO week n, 2026 — window W27–W38 (half-open), now W31.
376
+ * const week = $.const(East.function([IntegerType], DateTimeType, ($, n) => {
377
+ * const w1 = $.const(new Date("2025-12-29T00:00:00Z"), DateTimeType);
378
+ * return w1.addWeeks(n.subtract(1n));
379
+ * }));
380
+ * const JobRow = StructType({
381
+ * batch: StringType, start: DateTimeType, end: DateTimeType, state: EventStateType,
382
+ * });
383
+ * const MachineRow = StructType({ jobs: ArrayType(JobRow) });
384
+ * const machines = $.const(new Map([
385
+ * ["L1-M03", { jobs: [{ batch: "B-214", start: week(28n), end: week(31n), state: variant("in-progress", null) }] }],
386
+ * ["L1-M04", { jobs: [{ batch: "B-208", start: week(27n), end: week(30n), state: variant("actual", null) }] }],
387
+ * ]), DictType(StringType, MachineRow));
388
+ * const axis = $.const(Plan.axis({ window: { min: week(27n), max: week(39n) }, resolution: "week", now: week(31n) }));
389
+ * return (
390
+ * <Plan
391
+ * axis={axis}
392
+ * data={machines}
393
+ * series={[
394
+ * Plan.series.span(MachineRow, {
395
+ * key: "machines", title: "Machines",
396
+ * label: (_r, k) => k, id: true,
397
+ * runs: r => r.jobs.map((_$, j) => Plan.run({
398
+ * key: j.batch, start: j.start, end: j.end,
399
+ * label: East.str`RUN · ${j.batch}`, state: j.state,
400
+ * })),
401
+ * }),
402
+ * // Rows no dataset holds — the planned shutdown, written out once.
403
+ * // `Plan.span` nests: the parent DECLARES its rollup and the canvas
404
+ * // derives the band from its two rows' runs. The series list is the
405
+ * // layout, so this block sits below the machines.
406
+ * Plan.series.rows(MachineRow, { key: "works", title: "Planned works", subtitle: "literal rows" }, [
407
+ * Plan.span({
408
+ * key: "shutdown", label: "SHUTDOWN", rollup: "union", rows: [
409
+ * Plan.span({ key: "elec", label: "Electrical", runs: [
410
+ * Plan.run({ key: "iso", start: week(33n), end: week(34n), label: "ISOLATE", state: "confirmed" }),
411
+ * ] }),
412
+ * Plan.span({ key: "mech", label: "Mechanical", runs: [
413
+ * Plan.run({ key: "reline", start: week(34n), end: week(36n), label: "RELINE", state: "recommended" }),
414
+ * ] }),
415
+ * ],
416
+ * }),
417
+ * ]),
418
+ * ]}
419
+ * />
420
+ * );
421
+ * });
422
+ * ```
423
+ */
424
+ export function createSpan(input) {
425
+ if (input.rows === undefined) {
426
+ const rollup = input.rollup !== undefined ? some(resolveTag(input.rollup, PlanRollupType)) : none;
427
+ return makeRow(input, spanKind(input, rollup));
428
+ }
429
+ // Nesting declares the rollup (default union); the RENDERER derives the
430
+ // bands from the subtree's runs — never precomputed expressions.
431
+ return assembleNested(input, input.rows, spanKind(input, some(resolveTag(input.rollup ?? "union", PlanRollupType))));
432
+ }
433
+ /**
434
+ * Creates a bucket row (the Planner surface, verbatim) — allocation tiles in
435
+ * discrete slots, optionally sub-divided into lanes (AM/PM). WEEK resolution
436
+ * folds lanes into week cells; DAY re-splits — same data, slice-driven.
437
+ *
438
+ * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
439
+ * @param input - The buckets configuration ({@link PlanBucketsInput})
440
+ * @returns A one-row stream, branded with its kind
441
+ */
442
+ export function createBuckets(input) {
443
+ return makeRow(input, bucketsKind(input));
444
+ }
253
445
  /**
254
446
  * Creates a chart row — Chart layers consumed AS DATA (reified `{t, y}`
255
447
  * points on the axis arm the x accessor's type implies), drawn by the canvas
@@ -257,107 +449,53 @@ function buildChartAxis(a, side) {
257
449
  * build-time error.
258
450
  *
259
451
  * @param input - The chart configuration ({@link PlanChartInput})
260
- * @returns The 1-row flattened subtree
452
+ * @returns A one-row stream
261
453
  */
262
454
  export function createChart(input) {
263
455
  // Base-input `height` is the row-height override; the chart's own height
264
456
  // mode is the `height` field here — spelled apart deliberately.
265
- const heightMode = input.height === undefined
266
- ? East.value(variant("spark", null), PlanChartHeightType)
267
- : (typeof input.height === "string"
268
- ? East.value(variant(input.height, null), PlanChartHeightType)
269
- : East.value(input.height, PlanChartHeightType));
270
- const kind = East.value(variant("chart", {
271
- layers: consumeLayers(input.layers),
272
- left: input.left !== undefined ? some(buildChartAxis(input.left, "left")) : none,
273
- right: input.right !== undefined ? some(buildChartAxis(input.right, "right")) : none,
274
- height: heightMode,
275
- expandedHeight: input.expandedHeight !== undefined ? some(input.expandedHeight) : none,
276
- expandable: input.expandable !== undefined ? some(input.expandable) : none,
277
- }), PlanRowKindType);
457
+ const kind = chartKind(input);
278
458
  const { height: _rowHeight, ...base } = input;
279
459
  return makeRow(base, kind);
280
460
  }
281
461
  /**
282
462
  * Creates a heat row (the Matrix cell recipes on the shared axis) — colour
283
463
  * depth, weight bars or segment compositions. With `rows` and no explicit
284
- * `cells`, the parent's cells are the per-bucket `aggregate` of its direct
285
- * children's heat cells; the warn ring stays on the breaching child.
464
+ * `cells`, the renderer derives the parent's cells — the per-bucket
465
+ * `aggregate` of its direct children's heat cells; the warn ring stays on
466
+ * the breaching child.
286
467
  *
287
468
  * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
288
469
  * @param input - The heat configuration ({@link PlanHeatInput})
289
- * @returns The flattened subtree (parent first, children re-parented), branded with its kind
470
+ * @returns The row stream — the heat row, then every nested row under it — branded with its kind
290
471
  */
291
472
  export function createHeat(input) {
292
- const aggregateOpt = () => input.aggregate !== undefined
293
- ? some(resolveTag(input.aggregate, PlanAggregateType))
294
- : none;
295
- const cells = input.cells;
296
473
  if (input.rows === undefined) {
297
- const kind = East.value(variant("heat", {
298
- cells: cells !== undefined ? East.value(cells, PlanHeatCellsType) : createHeatCells([]),
299
- aggregate: aggregateOpt(),
300
- }), PlanRowKindType);
301
- return makeRow(input, kind);
474
+ const aggregate = input.aggregate !== undefined ? some(resolveTag(input.aggregate, PlanAggregateType)) : none;
475
+ return makeRow(input, heatKind({ ...(input.cells !== undefined ? { cells: input.cells } : {}) }, aggregate));
302
476
  }
303
- // A nesting parent DECLARES its aggregation (default mean); its cells stay
304
- // empty (carrying the scale) and the renderer derives the per-bucket
305
- // values from the children.
306
- const kind = East.value(variant("heat", {
307
- cells: cells !== undefined ? East.value(cells, PlanHeatCellsType) : createHeatCells([], input.scale),
308
- aggregate: some(resolveTag(input.aggregate ?? "mean", PlanAggregateType)),
309
- }), PlanRowKindType);
310
- return assembleNested(input, input.rows, kind);
477
+ // A nesting parent DECLARES its aggregation (default mean) and the scale
478
+ // its derived cells paint on (#824); its cells stay empty and the
479
+ // renderer derives the per-bucket values from the children.
480
+ return assembleNested(input, input.rows, heatKind(input, some(resolveTag(input.aggregate ?? "mean", PlanAggregateType))));
311
481
  }
312
482
  /**
313
- * Creates a table row (the Table groupBy surface with time-bucket columns).
483
+ * Creates a table row (bucketed numerals under the shared time-bucket columns).
314
484
  * With `rows` and no explicit `cells`, the parent prints per-bucket
315
485
  * subtotals via `aggregate` — a collapsed parent reads as its subtotal line.
316
486
  *
317
487
  * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
318
488
  * @param input - The table configuration ({@link PlanTableInput})
319
- * @returns The flattened subtree (parent first, children re-parented), branded with its kind
489
+ * @returns The row stream — the table row, then every nested row under it — branded with its kind
320
490
  */
321
491
  export function createTable(input) {
322
- if (input.cells !== undefined && input.series !== undefined) {
323
- throw new Error("Plan.table: pass `cells` (sugar for one plain series) OR `series` — not both");
324
- }
325
- const aggregateOpt = () => input.aggregate !== undefined
326
- ? some(resolveTag(input.aggregate, TableAggregateType))
327
- : none;
328
- const emphasisOf = () => resolveTag(input.emphasis ?? "body", PlanTableEmphasisType);
329
- const formatOpt = () => input.format !== undefined ? some(East.value(input.format, TickFormatType)) : none;
330
- // The stored form is ALWAYS series — `cells` wraps into one unstyled
331
- // series, so the renderer has a single representation.
332
- const seriesOf = () => input.series !== undefined
333
- ? East.value(input.series, ArrayType(PlanTableSeriesType))
334
- : (input.cells !== undefined
335
- ? East.value([East.value({
336
- cells: East.value(input.cells, ArrayType(PlanTableCellType)),
337
- format: none, tone: none, strong: none, rollup: none,
338
- }, PlanTableSeriesType)], ArrayType(PlanTableSeriesType))
339
- : East.value([], ArrayType(PlanTableSeriesType)));
340
- const splitOf = () => resolveTag(input.split ?? "horizontal", PlanTableSplitType);
341
492
  if (input.rows === undefined) {
342
- const kind = East.value(variant("table", {
343
- series: seriesOf(),
344
- split: splitOf(),
345
- aggregate: aggregateOpt(),
346
- format: formatOpt(),
347
- emphasis: emphasisOf(),
348
- }), PlanRowKindType);
349
- return makeRow(input, kind);
493
+ const aggregate = input.aggregate !== undefined ? some(resolveTag(input.aggregate, TableAggregateType)) : none;
494
+ return makeRow(input, tableKind(input, aggregate));
350
495
  }
351
496
  // A nesting parent DECLARES its subtotal mode + format; the renderer
352
497
  // derives the per-bucket cells from the children.
353
- const kind = East.value(variant("table", {
354
- series: seriesOf(),
355
- split: splitOf(),
356
- aggregate: some(resolveTag(input.aggregate ?? "sum", TableAggregateType)),
357
- format: formatOpt(),
358
- emphasis: emphasisOf(),
359
- }), PlanRowKindType);
360
- return assembleNested(input, input.rows, kind);
498
+ return assembleNested(input, input.rows, tableKind(input, some(resolveTag(input.aggregate ?? "sum", TableAggregateType))));
361
499
  }
362
500
  /**
363
501
  * Creates a cards row (the Roster surface on the shared axis) — shift chips
@@ -365,13 +503,10 @@ export function createTable(input) {
365
503
  *
366
504
  * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
367
505
  * @param input - The cards configuration ({@link PlanCardsInput})
368
- * @returns The 1-row flattened subtree, branded with its kind
506
+ * @returns A one-row stream, branded with its kind
369
507
  */
370
508
  export function createCards(input) {
371
- const kind = East.value(variant("cards", {
372
- chips: East.value((input.chips ?? []), ArrayType(PlanChipType)),
373
- }), PlanRowKindType);
374
- return makeRow(input, kind);
509
+ return makeRow(input, cardsKind(input.chips));
375
510
  }
376
511
  /**
377
512
  * Creates an event row — ● milestone / ◇◆ decision / ▲ exception marks at
@@ -379,34 +514,24 @@ export function createCards(input) {
379
514
  *
380
515
  * @typeParam K - The axis kind the row's instants ride (inferred; `never` when erased)
381
516
  * @param input - The events configuration ({@link PlanEventsInput})
382
- * @returns The 1-row flattened subtree, branded with its kind
517
+ * @returns A one-row stream, branded with its kind
383
518
  */
384
519
  export function createEvents(input) {
385
- const kind = East.value(variant("events", {
386
- marks: East.value((input.marks ?? []), ArrayType(PlanEventMarkType)),
387
- }), PlanRowKindType);
388
- return makeRow(input, kind);
520
+ return makeRow(input, eventsKind(input.marks));
389
521
  }
390
522
  /**
391
523
  * Creates a group strip — the canvas-level heterogeneous container. Collapsed
392
524
  * it rests as its summary heat strip — explicit `summary` cells, or the
393
- * renderer-derived `summaryAggregate` declaration (`none` ⇒ a plain band);
525
+ * renderer-derived `summaryAggregate` declaration (neither ⇒ a plain band);
394
526
  * expanding swaps the strip for the member rows in place.
395
527
  *
396
528
  * @typeParam K - The axis kind the group's instants ride (inferred; `never` when erased)
397
529
  * @param input - The group configuration ({@link PlanGroupInput})
398
- * @returns The flattened subtree (group first, members re-parented), branded with its kind
530
+ * @returns The row stream — the group strip, then every member under it — branded with its kind
531
+ * @throws {Error} When both `summary` and `summaryAggregate` are given
399
532
  */
400
533
  export function createGroup(input) {
401
- const summary = input.summary !== undefined
402
- ? East.value(some(East.value(input.summary, PlanHeatCellsType)), OptionType(PlanHeatCellsType))
403
- : East.value(none, OptionType(PlanHeatCellsType));
404
- const summaryAggregate = input.summaryAggregate !== undefined
405
- ? some(resolveTag(input.summaryAggregate, PlanAggregateType))
406
- : none;
407
- const kind = East.value(variant("group", {
408
- summary, summaryAggregate, collapsed: input.collapsed !== undefined ? some(input.collapsed) : none,
409
- }), PlanRowKindType);
534
+ const kind = groupKind(groupSummary(input.summary, input.summaryAggregate, "Plan.group"));
410
535
  if (input.rows === undefined)
411
536
  return makeRow(input, kind);
412
537
  return assembleNested(input, input.rows, kind);
@@ -1 +1 @@
1
- {"version":3,"file":"factories.js","sourceRoot":"","sources":["../../../../src/collections/plan/factories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAGH,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAMN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAA8B,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAGH,iBAAiB,EAEjB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAElB,iBAAiB,EACjB,mBAAmB,EAEnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAEhB,cAAc,EACd,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,GAOlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAA6B,MAAM,eAAe,CAAC;AACvG,OAAO,EAGH,OAAO,EACP,cAAc,GACjB,MAAM,eAAe,CAAC;AAmCvB;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,QAA2B;IACtE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED,oEAAoE;AACpE,SAAS,QAAQ,CAAC,IAAqC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvE,CAAC;AAED,4CAA4C;AAC5C,SAAS,SAAS,CAAC,MAAmC;IAClD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,OAAO,IAAI,MAAM;QACzB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,CAAuB,EAAE,MAAkC;IAC7E,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,CAAG,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACrF,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACzF,OAAO,CAAC,CAAO,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAA0B;IAC5C,MAAM,OAAO,GAAI,KAA0B,CAAC,IAAI,KAAK,IAAI,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,KAA0B,CAAC,KAAK,CAAC,CAAC,CAAE,KAAoB,CAAC;IAClF,MAAM,QAAQ,GAAsB,OAAO,CAAC,CAAC,CAAE,KAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAExF,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,UAA4B,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,mHAAmH,CAAC,CAAC;YACzI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE;oBAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;iBACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,UAA4B,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;YAC5H,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE;oBAC7C,IAAI,EAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA4C,EAAE,kBAAkB,CAAC;oBAC5F,EAAE,EAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA4C,EAAE,kBAAkB,CAAC;oBAC5F,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;iBACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,UAA2B,CAAC;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC5C,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAA4C,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI;oBACjG,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;iBACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI;aACtD,EAAE,sBAAsB,CAAC,CAAC;YAC3B,IAAI,EAAE,IAAI;SACb,CAAC,EAAE,kBAAkB,CAAC,CAA4C,CAAC;IACxE,CAAC;IAED,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,KAAK,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC7H,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;IAChD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC9G,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;SACxF,CAAC,EAAE,kBAAkB,CAAC,CAA4C,CAAC;IACxE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC9G,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACpD,CAAC,EAAE,kBAAkB,CAAC,CAA4C,CAAC;IACxE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE;YAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC9G,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACpD,CAAC,EAAE,kBAAkB,CAAC,CAA4C,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC9G,IAAI,EAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,SAAS;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC,OAAO;gBACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;gBACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;KACrC,CAAC,EAAE,kBAAkB,CAAC,CAA4C,CAAC;AACxE,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,aAAa,CAAC,MAAmD;IAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,MAAM,CACd,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAA4C,EAClF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAChD,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAoC;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACnE,CAAC;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,UAAU,CAAwC,KAAuB;IACrF,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;QAC7E,IAAI,EAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAA+C,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/G,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAwD,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtI,KAAK,EAAM,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAuD,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACzH,MAAM,EAAK,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACjF,IAAI,EAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KAChE,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAqB,CAAC;IAChG,wEAAwE;IACxE,iEAAiE;IACjE,OAAO,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,CAAqB,CAAC;AACpG,CAAC;AAoBD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAwC,KAA0B;IAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE;QACvC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC/D,MAAM,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAuD,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC/H,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAA6D,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;KACxI,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAqB,CAAC;AACpD,CAAC;AAYD,qFAAqF;AACrF,SAAS,eAAe,CAAC,KAA4C;IACjE,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAQ,IAAI,CAAC,IAAI,CAAC,KAAa,CAAiC,CAAC,IAAI,KAAK,UAAU,CAAC;AACzF,CAAC;AAED,oGAAoG;AACpG,SAAS,oBAAoB,CAAC,EAA6B;IACvD,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAA8C,CAAmC,CAAC;IAC1G,OAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0B,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AAC/E,CAAC;AAED,gGAAgG;AAChG,SAAS,cAAc,CAAC,CAAqB,EAAE,IAAsB;IACjE,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,sGAAsG,CAAC,CAAC;IACnJ,CAAC;IACD,IAAI,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,6CAA6C,CAAC,CAAC;IAC1I,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAkC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAkC,EAAE,CAAC,CAAC;YACnI,CAAC,CAAC,IAAI;QACV,UAAU,EAAE,CAAC,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAsD,CAAC,CAAC;YACnF,CAAC,CAAC,IAAI;QACV,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;KACzD,EAAE,iBAAiB,CAAC,CAAC;AAC1B,CAAC;AAiCD;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,KAAqB;IAC7C,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS;QACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,mBAAmB,CAAC;QACzD,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACrC,MAAM,EAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,IAAI,EAAQ,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACtF,KAAK,EAAO,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACzF,MAAM,EAAM,UAAU;QACtB,cAAc,EAAE,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;QACtF,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;KAC7E,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAwB,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC;AAuBD;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAwC,KAAuB;IACrF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;QACpD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACtD,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,KAAK,GAAG,KAAK,CAAC,KAA0D,CAAC;IAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACpC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;YACvF,SAAS,EAAE,YAAY,EAAE;SAC5B,CAAC,EAAE,eAAe,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAqB,CAAC;IACpD,CAAC;IACD,2EAA2E;IAC3E,qEAAqE;IACrE,4BAA4B;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;QACpC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;QACpG,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC5E,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAqB,CAAC;AACvE,CAAC;AAiCD;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAwC,KAAwB;IACvF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;QACpD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACvD,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,qEAAqE;IACrE,uDAAuD;IACvD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;QAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAA4D,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;YACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrB,KAAK,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAyD,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;oBACjH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;iBACvD,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YACrC,MAAM,EAAK,QAAQ,EAAE;YACrB,KAAK,EAAM,OAAO,EAAE;YACpB,SAAS,EAAE,YAAY,EAAE;YACzB,MAAM,EAAK,SAAS,EAAE;YACtB,QAAQ,EAAG,UAAU,EAAE;SAC1B,CAAC,EAAE,eAAe,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAqB,CAAC;IACpD,CAAC;IACD,qEAAqE;IACrE,kDAAkD;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACrC,MAAM,EAAK,QAAQ,EAAE;QACrB,KAAK,EAAM,OAAO,EAAE;QACpB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACzE,MAAM,EAAK,SAAS,EAAE;QACtB,QAAQ,EAAG,UAAU,EAAE;KAC1B,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,OAAO,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAqB,CAAC;AACvE,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAwC,KAAwB;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAgD,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;KACjH,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAqB,CAAC;AACpD,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAwC,KAAyB;IACzF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;QACtC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAqD,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;KAC3H,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAqB,CAAC;AACpD,CAAC;AAsBD;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAwC,KAAwB;IACvF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS;QACvC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAgD,EAAE,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACxI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,KAAK,SAAS;QACzD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACrC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;KACrG,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAqB,CAAC;IAC9E,OAAO,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAqB,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"factories.js","sourceRoot":"","sources":["../../../../src/collections/plan/factories.ts"],"names":[],"mappings":"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"}