@elaraai/e3-ui 1.0.97 → 1.0.99

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 (491) hide show
  1. package/README.md +0 -2
  2. package/dist/src/allocation/adapters.d.ts +1 -1
  3. package/dist/src/allocation/adapters.js +1 -1
  4. package/dist/src/allocation/index.d.ts +232 -25
  5. package/dist/src/allocation/index.d.ts.map +1 -1
  6. package/dist/src/allocation/index.js +35 -6
  7. package/dist/src/allocation/index.js.map +1 -1
  8. package/dist/src/allocation/types.d.ts +41 -0
  9. package/dist/src/allocation/types.d.ts.map +1 -1
  10. package/dist/src/allocation/types.js +35 -0
  11. package/dist/src/allocation/types.js.map +1 -1
  12. package/dist/src/bind/data-indexed.d.ts +286 -37
  13. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  14. package/dist/src/bind/data-indexed.js +259 -38
  15. package/dist/src/bind/data-indexed.js.map +1 -1
  16. package/dist/src/bind/data.d.ts +48 -9
  17. package/dist/src/bind/data.d.ts.map +1 -1
  18. package/dist/src/bind/data.js +48 -3
  19. package/dist/src/bind/data.js.map +1 -1
  20. package/dist/src/bind/record.d.ts +61 -24
  21. package/dist/src/bind/record.d.ts.map +1 -1
  22. package/dist/src/bind/record.js +17 -57
  23. package/dist/src/bind/record.js.map +1 -1
  24. package/dist/src/calendar/index.d.ts +522 -36
  25. package/dist/src/calendar/index.d.ts.map +1 -1
  26. package/dist/src/calendar/index.js +53 -13
  27. package/dist/src/calendar/index.js.map +1 -1
  28. package/dist/src/calendar/paged.d.ts +89 -0
  29. package/dist/src/calendar/paged.d.ts.map +1 -0
  30. package/dist/src/calendar/paged.js +148 -0
  31. package/dist/src/calendar/paged.js.map +1 -0
  32. package/dist/src/flowchart/index.d.ts +35 -31
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +35 -31
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +108 -84
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +108 -84
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/payload.d.ts +105 -17
  41. package/dist/src/flowchart/payload.d.ts.map +1 -1
  42. package/dist/src/flowchart/payload.js +3 -3
  43. package/dist/src/flowchart/payload.js.map +1 -1
  44. package/dist/src/flowchart/values.d.ts +35 -31
  45. package/dist/src/flowchart/values.d.ts.map +1 -1
  46. package/dist/src/flowchart/values.js +35 -31
  47. package/dist/src/flowchart/values.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts.map +1 -1
  49. package/dist/src/flowchart/window.js +3 -2
  50. package/dist/src/flowchart/window.js.map +1 -1
  51. package/dist/src/index.d.ts +13 -4
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +20 -1
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/internal.d.ts +18 -8
  56. package/dist/src/internal.d.ts.map +1 -1
  57. package/dist/src/internal.js +40 -10
  58. package/dist/src/internal.js.map +1 -1
  59. package/dist/src/plan/assemble.d.ts +8 -0
  60. package/dist/src/plan/assemble.d.ts.map +1 -1
  61. package/dist/src/plan/assemble.js +1 -1
  62. package/dist/src/plan/assemble.js.map +1 -1
  63. package/dist/src/plan/builders.d.ts +1530 -10
  64. package/dist/src/plan/builders.d.ts.map +1 -1
  65. package/dist/src/plan/builders.js +260 -122
  66. package/dist/src/plan/builders.js.map +1 -1
  67. package/dist/src/plan/event-rows.d.ts +224 -157
  68. package/dist/src/plan/event-rows.d.ts.map +1 -1
  69. package/dist/src/plan/event-rows.js +201 -56
  70. package/dist/src/plan/event-rows.js.map +1 -1
  71. package/dist/src/plan/factories.d.ts +72 -4
  72. package/dist/src/plan/factories.d.ts.map +1 -1
  73. package/dist/src/plan/factories.js +147 -1
  74. package/dist/src/plan/factories.js.map +1 -1
  75. package/dist/src/plan/index.d.ts +152 -125
  76. package/dist/src/plan/index.d.ts.map +1 -1
  77. package/dist/src/plan/index.js +138 -122
  78. package/dist/src/plan/index.js.map +1 -1
  79. package/dist/src/plan/ir.d.ts +1139 -8
  80. package/dist/src/plan/ir.d.ts.map +1 -1
  81. package/dist/src/plan/ir.js +5 -0
  82. package/dist/src/plan/ir.js.map +1 -1
  83. package/dist/src/plan/library.d.ts +65 -42
  84. package/dist/src/plan/library.d.ts.map +1 -1
  85. package/dist/src/plan/library.js +65 -42
  86. package/dist/src/plan/library.js.map +1 -1
  87. package/dist/src/plan/nested-checks.d.ts +146 -0
  88. package/dist/src/plan/nested-checks.d.ts.map +1 -0
  89. package/dist/src/plan/nested-checks.js +468 -0
  90. package/dist/src/plan/nested-checks.js.map +1 -0
  91. package/dist/src/plan/nested-patch.d.ts +35 -0
  92. package/dist/src/plan/nested-patch.d.ts.map +1 -0
  93. package/dist/src/plan/nested-patch.js +143 -0
  94. package/dist/src/plan/nested-patch.js.map +1 -0
  95. package/dist/src/plan/nested-read.d.ts +3250 -0
  96. package/dist/src/plan/nested-read.d.ts.map +1 -0
  97. package/dist/src/plan/nested-read.js +163 -0
  98. package/dist/src/plan/nested-read.js.map +1 -0
  99. package/dist/src/plan/nested.d.ts +280 -0
  100. package/dist/src/plan/nested.d.ts.map +1 -0
  101. package/dist/src/plan/nested.js +6 -0
  102. package/dist/src/plan/nested.js.map +1 -0
  103. package/dist/src/plan/ordered-source.d.ts +3067 -1
  104. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  105. package/dist/src/plan/ordered-source.js +67 -17
  106. package/dist/src/plan/ordered-source.js.map +1 -1
  107. package/dist/src/plan/over.d.ts +111 -75
  108. package/dist/src/plan/over.d.ts.map +1 -1
  109. package/dist/src/plan/over.js +111 -75
  110. package/dist/src/plan/over.js.map +1 -1
  111. package/dist/src/plan/pick.d.ts +15 -3
  112. package/dist/src/plan/pick.d.ts.map +1 -1
  113. package/dist/src/plan/pick.js +75 -36
  114. package/dist/src/plan/pick.js.map +1 -1
  115. package/dist/src/plan/plan.d.ts +3143 -501
  116. package/dist/src/plan/plan.d.ts.map +1 -1
  117. package/dist/src/plan/plan.js +133 -34
  118. package/dist/src/plan/plan.js.map +1 -1
  119. package/dist/src/plan/reads.d.ts +421 -0
  120. package/dist/src/plan/reads.d.ts.map +1 -0
  121. package/dist/src/plan/reads.js +143 -0
  122. package/dist/src/plan/reads.js.map +1 -0
  123. package/dist/src/plan/refs.d.ts +111 -75
  124. package/dist/src/plan/refs.d.ts.map +1 -1
  125. package/dist/src/plan/refs.js +111 -75
  126. package/dist/src/plan/refs.js.map +1 -1
  127. package/dist/src/plan/root.d.ts +14 -7
  128. package/dist/src/plan/root.d.ts.map +1 -1
  129. package/dist/src/plan/root.js +82 -17
  130. package/dist/src/plan/root.js.map +1 -1
  131. package/dist/src/plan/series.d.ts +5153 -4331
  132. package/dist/src/plan/series.d.ts.map +1 -1
  133. package/dist/src/plan/series.js +1082 -266
  134. package/dist/src/plan/series.js.map +1 -1
  135. package/dist/src/plan/shade.d.ts +981 -0
  136. package/dist/src/plan/shade.d.ts.map +1 -0
  137. package/dist/src/plan/shade.js +60 -0
  138. package/dist/src/plan/shade.js.map +1 -0
  139. package/dist/src/plan/types.d.ts +192 -18
  140. package/dist/src/plan/types.d.ts.map +1 -1
  141. package/dist/src/plan/types.js +77 -19
  142. package/dist/src/plan/types.js.map +1 -1
  143. package/dist/src/query/builder.d.ts +3 -3
  144. package/dist/src/query/builder.d.ts.map +1 -1
  145. package/dist/src/query/builder.js +1 -1
  146. package/dist/src/query/library.d.ts +3 -3
  147. package/dist/src/query/library.d.ts.map +1 -1
  148. package/dist/src/query/library.js +1 -1
  149. package/dist/src/query/queries.d.ts +2 -2
  150. package/dist/src/query/queries.js +1 -1
  151. package/dist/src/query/saved.d.ts +8 -4
  152. package/dist/src/query/saved.d.ts.map +1 -1
  153. package/dist/src/query/saved.js +8 -4
  154. package/dist/src/query/saved.js.map +1 -1
  155. package/dist/src/query/types.d.ts +8 -3
  156. package/dist/src/query/types.d.ts.map +1 -1
  157. package/dist/src/query/types.js +8 -3
  158. package/dist/src/query/types.js.map +1 -1
  159. package/dist/src/roster/index.d.ts +583 -39
  160. package/dist/src/roster/index.d.ts.map +1 -1
  161. package/dist/src/roster/index.js +109 -35
  162. package/dist/src/roster/index.js.map +1 -1
  163. package/dist/src/roster/library.d.ts +12 -2
  164. package/dist/src/roster/library.d.ts.map +1 -1
  165. package/dist/src/roster/library.js +8 -0
  166. package/dist/src/roster/library.js.map +1 -1
  167. package/dist/src/roster/lists.d.ts +59 -12
  168. package/dist/src/roster/lists.d.ts.map +1 -1
  169. package/dist/src/roster/lists.js +51 -58
  170. package/dist/src/roster/lists.js.map +1 -1
  171. package/dist/src/roster/targets.d.ts +8 -4
  172. package/dist/src/roster/targets.d.ts.map +1 -1
  173. package/dist/src/roster/targets.js +9 -5
  174. package/dist/src/roster/targets.js.map +1 -1
  175. package/dist/src/roster/times.d.ts +402 -0
  176. package/dist/src/roster/times.d.ts.map +1 -1
  177. package/dist/src/roster/types.d.ts +913 -1
  178. package/dist/src/roster/types.d.ts.map +1 -1
  179. package/dist/src/roster/types.js +43 -3
  180. package/dist/src/roster/types.js.map +1 -1
  181. package/dist/src/schedule/cell-checks.d.ts +85 -0
  182. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  183. package/dist/src/schedule/cell-checks.js +211 -0
  184. package/dist/src/schedule/cell-checks.js.map +1 -0
  185. package/dist/src/schedule/days.d.ts +1 -1
  186. package/dist/src/schedule/days.js +1 -1
  187. package/dist/src/schedule/events.d.ts +52 -16
  188. package/dist/src/schedule/events.d.ts.map +1 -1
  189. package/dist/src/schedule/events.js +574 -356
  190. package/dist/src/schedule/events.js.map +1 -1
  191. package/dist/src/schedule/fields.d.ts +134 -0
  192. package/dist/src/schedule/fields.d.ts.map +1 -0
  193. package/dist/src/schedule/fields.js +207 -0
  194. package/dist/src/schedule/fields.js.map +1 -0
  195. package/dist/src/schedule/library.d.ts +11 -3
  196. package/dist/src/schedule/library.d.ts.map +1 -1
  197. package/dist/src/schedule/library.js +9 -6
  198. package/dist/src/schedule/library.js.map +1 -1
  199. package/dist/src/schedule/optimise.d.ts +124 -0
  200. package/dist/src/schedule/optimise.d.ts.map +1 -0
  201. package/dist/src/schedule/optimise.js +140 -0
  202. package/dist/src/schedule/optimise.js.map +1 -0
  203. package/dist/src/schedule/pages.d.ts +76 -0
  204. package/dist/src/schedule/pages.d.ts.map +1 -0
  205. package/dist/src/schedule/pages.js +86 -0
  206. package/dist/src/schedule/pages.js.map +1 -0
  207. package/dist/src/schedule/patch.d.ts +1 -1
  208. package/dist/src/schedule/patch.js +1 -1
  209. package/dist/src/schedule/periods.d.ts +8 -4
  210. package/dist/src/schedule/periods.d.ts.map +1 -1
  211. package/dist/src/schedule/periods.js +1 -1
  212. package/dist/src/schedule/periods.js.map +1 -1
  213. package/dist/src/schedule/record-window.d.ts +115 -22
  214. package/dist/src/schedule/record-window.d.ts.map +1 -1
  215. package/dist/src/schedule/record-window.js +140 -62
  216. package/dist/src/schedule/record-window.js.map +1 -1
  217. package/dist/src/schedule/resources.d.ts +9 -5
  218. package/dist/src/schedule/resources.d.ts.map +1 -1
  219. package/dist/src/schedule/resources.js +35 -15
  220. package/dist/src/schedule/resources.js.map +1 -1
  221. package/dist/src/schedule/session.d.ts +15 -1
  222. package/dist/src/schedule/session.d.ts.map +1 -1
  223. package/dist/src/schedule/session.js +30 -18
  224. package/dist/src/schedule/session.js.map +1 -1
  225. package/dist/src/schedule/types.d.ts +455 -37
  226. package/dist/src/schedule/types.d.ts.map +1 -1
  227. package/dist/src/schedule/types.js +79 -18
  228. package/dist/src/schedule/types.js.map +1 -1
  229. package/dist/src/schedule/window.d.ts +30 -9
  230. package/dist/src/schedule/window.d.ts.map +1 -1
  231. package/dist/src/schedule/window.js +101 -49
  232. package/dist/src/schedule/window.js.map +1 -1
  233. package/dist/src/schematic/index.d.ts +287 -0
  234. package/dist/src/schematic/index.d.ts.map +1 -0
  235. package/dist/src/schematic/index.js +216 -0
  236. package/dist/src/schematic/index.js.map +1 -0
  237. package/dist/src/schematic/kinds.d.ts +501 -0
  238. package/dist/src/schematic/kinds.d.ts.map +1 -0
  239. package/dist/src/schematic/kinds.js +1027 -0
  240. package/dist/src/schematic/kinds.js.map +1 -0
  241. package/dist/src/schematic/layers.d.ts +74 -0
  242. package/dist/src/schematic/layers.d.ts.map +1 -0
  243. package/dist/src/schematic/layers.js +99 -0
  244. package/dist/src/schematic/layers.js.map +1 -0
  245. package/dist/src/schematic/library.d.ts +202 -0
  246. package/dist/src/schematic/library.d.ts.map +1 -0
  247. package/dist/src/schematic/library.js +244 -0
  248. package/dist/src/schematic/library.js.map +1 -0
  249. package/dist/src/schematic/payload.d.ts +8310 -0
  250. package/dist/src/schematic/payload.d.ts.map +1 -0
  251. package/dist/src/schematic/payload.js +446 -0
  252. package/dist/src/schematic/payload.js.map +1 -0
  253. package/dist/src/schematic/schematic.d.ts +27 -0
  254. package/dist/src/schematic/schematic.d.ts.map +1 -0
  255. package/dist/src/schematic/schematic.js +17 -0
  256. package/dist/src/schematic/schematic.js.map +1 -0
  257. package/dist/src/schematic/shapes.d.ts +150 -0
  258. package/dist/src/schematic/shapes.d.ts.map +1 -0
  259. package/dist/src/schematic/shapes.js +171 -0
  260. package/dist/src/schematic/shapes.js.map +1 -0
  261. package/dist/src/schematic/templates.d.ts +96 -0
  262. package/dist/src/schematic/templates.d.ts.map +1 -0
  263. package/dist/src/schematic/templates.js +91 -0
  264. package/dist/src/schematic/templates.js.map +1 -0
  265. package/dist/src/schematic/types.d.ts +5766 -0
  266. package/dist/src/schematic/types.d.ts.map +1 -0
  267. package/dist/src/schematic/types.js +688 -0
  268. package/dist/src/schematic/types.js.map +1 -0
  269. package/dist/src/schematic/window.d.ts +213 -0
  270. package/dist/src/schematic/window.d.ts.map +1 -0
  271. package/dist/src/schematic/window.js +340 -0
  272. package/dist/src/schematic/window.js.map +1 -0
  273. package/dist/src/sheet/bridge.d.ts +19 -0
  274. package/dist/src/sheet/bridge.d.ts.map +1 -1
  275. package/dist/src/sheet/bridge.js +28 -21
  276. package/dist/src/sheet/bridge.js.map +1 -1
  277. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  278. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  279. package/dist/src/sheet/editing-bridge.js +8 -2
  280. package/dist/src/sheet/editing-bridge.js.map +1 -1
  281. package/dist/src/sheet/editing-types.d.ts +9 -5
  282. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  283. package/dist/src/sheet/editing-types.js +9 -5
  284. package/dist/src/sheet/editing-types.js.map +1 -1
  285. package/dist/src/sheet/index.d.ts +84 -54
  286. package/dist/src/sheet/index.d.ts.map +1 -1
  287. package/dist/src/sheet/index.js +81 -53
  288. package/dist/src/sheet/index.js.map +1 -1
  289. package/dist/src/sheet/library.d.ts +13 -8
  290. package/dist/src/sheet/library.d.ts.map +1 -1
  291. package/dist/src/sheet/library.js +13 -8
  292. package/dist/src/sheet/library.js.map +1 -1
  293. package/dist/src/sheet/optimise.d.ts +69 -0
  294. package/dist/src/sheet/optimise.d.ts.map +1 -0
  295. package/dist/src/sheet/optimise.js +81 -0
  296. package/dist/src/sheet/optimise.js.map +1 -0
  297. package/dist/src/sheet/record.d.ts +1 -1
  298. package/dist/src/sheet/record.js +2 -2
  299. package/dist/src/sheet/record.js.map +1 -1
  300. package/dist/src/sheet/registers.d.ts +157 -133
  301. package/dist/src/sheet/registers.d.ts.map +1 -1
  302. package/dist/src/sheet/registers.js +157 -133
  303. package/dist/src/sheet/registers.js.map +1 -1
  304. package/dist/src/sheet/root.d.ts +6 -1
  305. package/dist/src/sheet/root.d.ts.map +1 -1
  306. package/dist/src/sheet/root.js +17 -5
  307. package/dist/src/sheet/root.js.map +1 -1
  308. package/dist/src/sheet/sheet.d.ts +696 -590
  309. package/dist/src/sheet/sheet.d.ts.map +1 -1
  310. package/dist/src/sheet/sheet.js +49 -15
  311. package/dist/src/sheet/sheet.js.map +1 -1
  312. package/dist/src/sheet/sub-rows.d.ts +106 -76
  313. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  314. package/dist/src/sheet/sub-rows.js +106 -76
  315. package/dist/src/sheet/sub-rows.js.map +1 -1
  316. package/dist/src/sheet/types.d.ts +57 -20
  317. package/dist/src/sheet/types.d.ts.map +1 -1
  318. package/dist/src/sheet/types.js +4 -8
  319. package/dist/src/sheet/types.js.map +1 -1
  320. package/dist/src/studio/builder.d.ts +3 -153
  321. package/dist/src/studio/builder.d.ts.map +1 -1
  322. package/dist/src/studio/builder.js +1 -1
  323. package/dist/src/studio/canvas.d.ts +5 -4
  324. package/dist/src/studio/canvas.d.ts.map +1 -1
  325. package/dist/src/studio/canvas.js +8 -7
  326. package/dist/src/studio/canvas.js.map +1 -1
  327. package/dist/src/studio/component.d.ts +30 -20
  328. package/dist/src/studio/component.d.ts.map +1 -1
  329. package/dist/src/studio/component.js +26 -61
  330. package/dist/src/studio/component.js.map +1 -1
  331. package/dist/src/studio/index.d.ts +2 -2
  332. package/dist/src/studio/index.d.ts.map +1 -1
  333. package/dist/src/studio/index.js +1 -1
  334. package/dist/src/studio/index.js.map +1 -1
  335. package/dist/src/studio/inspector.d.ts +10 -39
  336. package/dist/src/studio/inspector.d.ts.map +1 -1
  337. package/dist/src/studio/inspector.js +11 -31
  338. package/dist/src/studio/inspector.js.map +1 -1
  339. package/dist/src/studio/library.d.ts +3 -169
  340. package/dist/src/studio/library.d.ts.map +1 -1
  341. package/dist/src/studio/library.js +1 -1
  342. package/dist/src/studio/page.d.ts +0 -8
  343. package/dist/src/studio/page.d.ts.map +1 -1
  344. package/dist/src/studio/pages.d.ts +17 -591
  345. package/dist/src/studio/pages.d.ts.map +1 -1
  346. package/dist/src/studio/pages.js +17 -44
  347. package/dist/src/studio/pages.js.map +1 -1
  348. package/dist/src/studio/palette.d.ts +2 -7
  349. package/dist/src/studio/palette.d.ts.map +1 -1
  350. package/dist/src/studio/palette.js +4 -5
  351. package/dist/src/studio/palette.js.map +1 -1
  352. package/dist/src/studio/publish.d.ts +8 -18
  353. package/dist/src/studio/publish.d.ts.map +1 -1
  354. package/dist/src/studio/publish.js +10 -36
  355. package/dist/src/studio/publish.js.map +1 -1
  356. package/dist/src/utils/derive.d.ts +12 -12
  357. package/dist/src/utils/derive.d.ts.map +1 -1
  358. package/dist/src/utils/derive.js +5 -2
  359. package/dist/src/utils/derive.js.map +1 -1
  360. package/dist/src/utils/keyed-rows.d.ts +41 -0
  361. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  362. package/dist/src/utils/keyed-rows.js +64 -0
  363. package/dist/src/utils/keyed-rows.js.map +1 -0
  364. package/dist/src/utils/optimise.d.ts +79 -0
  365. package/dist/src/utils/optimise.d.ts.map +1 -0
  366. package/dist/src/utils/optimise.js +46 -0
  367. package/dist/src/utils/optimise.js.map +1 -0
  368. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  369. package/dist/src/utils/ordered-source.js +14 -5
  370. package/dist/src/utils/ordered-source.js.map +1 -1
  371. package/dist/test/allocation/allocation.examples.d.ts +1900 -1610
  372. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  373. package/dist/test/allocation/allocation.examples.js +179 -89
  374. package/dist/test/allocation/allocation.examples.js.map +1 -1
  375. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  376. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  377. package/dist/test/allocation/optimise.examples.js +223 -0
  378. package/dist/test/allocation/optimise.examples.js.map +1 -0
  379. package/dist/test/bind/data/data.examples.d.ts +1172 -514
  380. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  381. package/dist/test/bind/data/data.examples.js +284 -164
  382. package/dist/test/bind/data/data.examples.js.map +1 -1
  383. package/dist/test/bind/record/record.examples.d.ts +457 -428
  384. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  385. package/dist/test/bind/record/record.examples.js +41 -21
  386. package/dist/test/bind/record/record.examples.js.map +1 -1
  387. package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
  388. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  389. package/dist/test/calendar/calendar-records.examples.js +20 -12
  390. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  391. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  392. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  393. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  394. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  395. package/dist/test/calendar/calendar.examples.d.ts +1172 -915
  396. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  397. package/dist/test/calendar/calendar.examples.js +211 -124
  398. package/dist/test/calendar/calendar.examples.js.map +1 -1
  399. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  400. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  401. package/dist/test/calendar/optimise.examples.js +75 -0
  402. package/dist/test/calendar/optimise.examples.js.map +1 -0
  403. package/dist/test/examples-package.d.ts +49 -16
  404. package/dist/test/examples-package.d.ts.map +1 -1
  405. package/dist/test/examples-package.js +138 -49
  406. package/dist/test/examples-package.js.map +1 -1
  407. package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2840
  408. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  409. package/dist/test/flowchart/flowchart.examples.js +211 -121
  410. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  411. package/dist/test/plan/optimise.examples.d.ts +207 -0
  412. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  413. package/dist/test/plan/optimise.examples.js +98 -0
  414. package/dist/test/plan/optimise.examples.js.map +1 -0
  415. package/dist/test/plan/plan-events.examples.d.ts +4055 -3279
  416. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  417. package/dist/test/plan/plan-events.examples.js +492 -319
  418. package/dist/test/plan/plan-events.examples.js.map +1 -1
  419. package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
  420. package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
  421. package/dist/test/plan/plan-nested.examples.js +321 -0
  422. package/dist/test/plan/plan-nested.examples.js.map +1 -0
  423. package/dist/test/plan/plan-records.examples.d.ts +391 -244
  424. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  425. package/dist/test/plan/plan-records.examples.js +186 -65
  426. package/dist/test/plan/plan-records.examples.js.map +1 -1
  427. package/dist/test/plan/plan-windows.examples.d.ts +1978 -803
  428. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  429. package/dist/test/plan/plan-windows.examples.js +269 -99
  430. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  431. package/dist/test/plan/plan.examples.d.ts +2238 -5726
  432. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  433. package/dist/test/plan/plan.examples.js +846 -973
  434. package/dist/test/plan/plan.examples.js.map +1 -1
  435. package/dist/test/query/query.examples.d.ts +5221 -3005
  436. package/dist/test/query/query.examples.d.ts.map +1 -1
  437. package/dist/test/query/query.examples.js +169 -118
  438. package/dist/test/query/query.examples.js.map +1 -1
  439. package/dist/test/roster/domain.examples.d.ts +804 -0
  440. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  441. package/dist/test/roster/domain.examples.js +3 -3
  442. package/dist/test/roster/domain.examples.js.map +1 -1
  443. package/dist/test/roster/optimise.examples.d.ts +485 -0
  444. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  445. package/dist/test/roster/optimise.examples.js +155 -0
  446. package/dist/test/roster/optimise.examples.js.map +1 -0
  447. package/dist/test/roster/roster-records.examples.d.ts +364 -404
  448. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  449. package/dist/test/roster/roster-records.examples.js +40 -26
  450. package/dist/test/roster/roster-records.examples.js.map +1 -1
  451. package/dist/test/roster/roster.examples.d.ts +5091 -1424
  452. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  453. package/dist/test/roster/roster.examples.js +255 -109
  454. package/dist/test/roster/roster.examples.js.map +1 -1
  455. package/dist/test/roster/warehouse.d.ts +150 -7
  456. package/dist/test/roster/warehouse.d.ts.map +1 -1
  457. package/dist/test/roster/warehouse.js +36 -11
  458. package/dist/test/roster/warehouse.js.map +1 -1
  459. package/dist/test/schedule/schedule.examples.d.ts +2646 -2473
  460. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  461. package/dist/test/schedule/schedule.examples.js +144 -88
  462. package/dist/test/schedule/schedule.examples.js.map +1 -1
  463. package/dist/test/schematic/schematic-records.examples.d.ts +454 -0
  464. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  465. package/dist/test/schematic/schematic-records.examples.js +219 -0
  466. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  467. package/dist/test/schematic/schematic.examples.d.ts +2640 -0
  468. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  469. package/dist/test/schematic/schematic.examples.js +559 -0
  470. package/dist/test/schematic/schematic.examples.js.map +1 -0
  471. package/dist/test/sheet/optimise.examples.d.ts +184 -0
  472. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  473. package/dist/test/sheet/optimise.examples.js +79 -0
  474. package/dist/test/sheet/optimise.examples.js.map +1 -0
  475. package/dist/test/sheet/sheet-records.examples.d.ts +208 -356
  476. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  477. package/dist/test/sheet/sheet-records.examples.js +66 -29
  478. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  479. package/dist/test/sheet/sheet.examples.d.ts +3650 -3377
  480. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  481. package/dist/test/sheet/sheet.examples.js +406 -296
  482. package/dist/test/sheet/sheet.examples.js.map +1 -1
  483. package/dist/test/studio/component.examples.js +2 -2
  484. package/dist/test/studio/component.examples.js.map +1 -1
  485. package/dist/test/studio/page.examples.js +6 -6
  486. package/dist/test/studio/page.examples.js.map +1 -1
  487. package/dist/test/studio/studio.examples.d.ts +2329 -873
  488. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  489. package/dist/test/studio/studio.examples.js +155 -107
  490. package/dist/test/studio/studio.examples.js.map +1 -1
  491. package/package.json +15 -11
@@ -52,19 +52,21 @@
52
52
  *
53
53
  * @packageDocumentation
54
54
  */
55
- import { PlanAxisType, PlanTimeAxisType, PlanNumberAxisType, PlanOrdinalAxisType, PlanInstantType, PlanGrainType, PlanGutterType, PlanPortType, PlanRollupType, PlanDrawType, PlanCellMarkerType, PlanStretchType, PlanContentType, PlanAnimationType, PlanChartPointType, PlanAxisSideType, PlanBreachType, PlanChartAxisType, PlanChartLayerType, PlanChartHeightType, PlanHeatCellType, PlanWeightCellType, PlanSegmentType, PlanSegmentCellType, PlanHeatCellsType, PlanAggregateType, PlanTableToneType, PlanTableCellType, PlanTableSeriesType, PlanTableSplitType, PlanTableEmphasisType, PlanEventMarkKindType, PlanRowIdType, PlanRunRefType, PlanGroupToggleEventType, PlanFooterItemType, PlanStyleType, PlanLinkType, PlanExpandAxisType, PlanElementRefType, PlanExpandType, PlanRunType, PlanDecisionMarkType, PlanBucketEventType, PlanChipType, PlanEventMarkType, PlanLaneType, PlanRowKindType, PlanRowType, PlanRowsCollectionType, PlanBlockType, PlanBlocksType, PlanFoldType, PlanQuantityType, PlanHeatScaleType, PlanGroupSummaryType, PlanUiStateType, PlanUiBindType, PlanDropType, PlanMoveType, PlanGestureType, PlanMoveEditsType, PlanRowEditsType, PlanPatchEventTypeFor, PlanEditingType, } from "./types.js";
55
+ import { PlanAxisType, PlanTimeAxisType, PlanNumberAxisType, PlanOrdinalAxisType, PlanInstantType, PlanGrainType, PlanGutterType, PlanPortType, PlanRollupType, PlanDrawType, PlanCellMarkerType, PlanStretchType, PlanContentType, PlanAnimationType, PlanChartPointType, PlanAxisSideType, PlanBreachType, PlanChartAxisType, PlanChartLayerType, PlanChartHeightType, PlanHeatCellType, PlanWeightCellType, PlanSegmentType, PlanSegmentCellType, PlanHeatCellsType, PlanAggregateType, PlanTableToneType, PlanTableCellType, PlanTableSeriesType, PlanTableSplitType, PlanTableEmphasisType, PlanEventMarkKindType, PlanRowIdType, PlanRunRefType, PlanGroupToggleEventType, PlanFooterItemType, PlanStyleType, PlanLinkType, PlanExpandAxisType, PlanElementRefType, PlanExpandType, PlanRunType, PlanDecisionMarkType, PlanBucketEventType, PlanChipType, PlanEventMarkType, PlanLaneType, PlanRowKindType, PlanRowType, PlanRowsCollectionType, PlanBlockType, PlanBlocksType, PlanFoldType, PlanQuantityType, PlanHeatScaleType, PlanGroupSummaryType, PlanUiStateType, PlanUiBindType, PlanDropType, PlanMoveType, PlanValueEditType, PlanGestureType, PlanMoveEditsType, PlanTypedPositionType, PlanRowEditsType, PlanPatchEventTypeFor, PlanEditingType, } from "./types.js";
56
56
  import { PlanRootType } from "./ir.js";
57
57
  import { createAxis, at, createQuantity, createUiState, createRun, createDecision, createPort, createBucketEvent, createLane, createCellMarker, createChip, createEventMark, markKind, createHeatCells, createWeightCells, createSegmentCells, createSegment, createTableCells, createTableSeries, createLink, createRef, createSectionRef, } from "./builders.js";
58
- import { createLayer, createFixedHeight, createSpan, createBuckets, createChart, createHeat, createTable, createCards, createEvents, createGroup, } from "./factories.js";
58
+ import { createLayer, createLine, createArea, createColumn, createScatter, createBand, createFixedHeight, createSpan, createBuckets, createChart, createHeat, createTable, createCards, createEvents, createGroup, } from "./factories.js";
59
59
  import { PlanSeriesType, createSeriesSpan, createSeriesBuckets, createSeriesChart, createSeriesHeat, createSeriesTable, createSeriesCards, createSeriesEvents, createSeriesGroup, createSeriesSection, createSeriesViews, createSeriesRows, createChildren, } from "./series.js";
60
60
  import { createPlanRoot } from "./root.js";
61
+ import { createItems, createValues } from "./reads.js";
61
62
  import { createPlanPick, createPlanPickItems } from "./pick.js";
62
63
  import { PlanComponent, PlanTag, createPlanPayload } from "./plan.js";
63
64
  import { createOver } from "./over.js";
64
65
  import { createEventRef } from "./refs.js";
65
66
  import { libraryBacklog, libraryEvents, librarySeries, libraryTab } from "./library.js";
67
+ import { ScheduleOptimiseRequestTypeFor, ScheduleOptimiseResultTypeFor } from "../schedule/optimise.js";
66
68
  // Re-export the UIComp-free types so consumers reach everything via this barrel.
67
- export { PlanAxisType, PlanTimeAxisType, PlanNumberAxisType, PlanOrdinalAxisType, PlanInstantType, PlanAxisKindBrand, PlanGrainType, PlanGutterType, PlanGutterSwatchType, PlanPortType, PlanRollupType, PlanDrawType, PlanCellMarkerType, PlanStretchType, PlanContentAlignType, PlanContentType, PlanAnimationType, PlanChartPointType, PlanAxisSideType, PlanBreachType, PlanChartBandPointType, PlanChartAxisType, PlanChartLayerType, PlanChartHeightType, PlanHeatCellType, PlanWeightCellType, PlanSegmentType, PlanSegmentCellType, PlanHeatCellsType, PlanAggregateType, PlanTableToneType, PlanTableCellType, PlanTableSeriesType, PlanTableSplitType, PlanTableEmphasisType, PlanEventMarkKindType, PlanRowIdType, PlanRunRefType, PlanGroupToggleEventType, PlanFooterItemType, PlanStyleType, PlanLinkType, PlanExpandAxisType, PlanElementRefType, PlanExpandType, PlanRunType, PlanDecisionMarkType, PlanBucketEventType, PlanChipType, PlanEventMarkType, PlanLaneType, PlanRowKindType, PlanRowType, PlanRowsCollectionType, PlanBlockType, PlanBlocksType, PlanFoldType, PlanQuantityType, PlanHeatScaleType, PlanGroupSummaryType, PlanUiStateType, PlanUiBindType, PlanDropType, PlanMoveType, PlanGestureType, PlanMoveEditsType, PlanRowEditsType, PlanPatchEventTypeFor, PlanEditingType, PlanWriteRequestType, PlanReadyEntryType, PLAN_PAGE_SIZE, } from "./types.js";
69
+ export { PlanAxisType, PlanTimeAxisType, PlanNumberAxisType, PlanOrdinalAxisType, PlanInstantType, PlanAxisKindBrand, PlanGrainType, PlanGutterType, PlanGutterSwatchType, PlanPortType, PlanRollupType, PlanDrawType, PlanCellMarkerType, PlanStretchType, PlanContentAlignType, PlanContentType, PlanAnimationType, PlanChartPointType, PlanAxisSideType, PlanBreachType, PlanChartBandPointType, PlanChartAxisType, PlanChartLayerType, PlanChartHeightType, PlanHeatCellType, PlanWeightCellType, PlanSegmentType, PlanSegmentCellType, PlanHeatCellsType, PlanAggregateType, PlanTableToneType, PlanTableCellType, PlanTableSeriesType, PlanTableSplitType, PlanTableEmphasisType, PlanEventMarkKindType, PlanRowIdType, PlanRunRefType, PlanGroupToggleEventType, PlanFooterItemType, PlanStyleType, PlanLinkType, PlanExpandAxisType, PlanElementRefType, PlanExpandType, PlanRunType, PlanDecisionMarkType, PlanBucketEventType, PlanChipType, PlanEventMarkType, PlanLaneType, PlanRowKindType, PlanRowType, PlanRowsCollectionType, PlanBlockType, PlanBlocksType, PlanFoldType, PlanQuantityType, PlanHeatScaleType, PlanGroupSummaryType, PlanUiStateType, PlanUiBindType, PlanDropType, PlanMoveType, PlanValueEditType, PlanGestureType, PlanMoveEditsType, PlanTypedPositionType, PlanRowEditsType, PlanPatchEventTypeFor, PlanEditingType, PlanWriteRequestType, PlanReadyEntryType, PLAN_PAGE_SIZE, } from "./types.js";
68
70
  // ── Public surface — re-exported from the split modules ─────────────────────
69
71
  export { PlanRootType } from "./ir.js";
70
72
  export { PlanTag, PlanComponent, PlanPayloadType, PlanSettingsType, PlanEventBlocksType, PlanEventCanDropType, createPlanPayload, planKeys, } from "./plan.js";
@@ -77,6 +79,8 @@ export {} from "./factories.js";
77
79
  export { createPlanRoot, buildPlanRoot } from "./root.js";
78
80
  export { createPlanPick, createPlanPickItems } from "./pick.js";
79
81
  export { PlanSeriesType, } from "./series.js";
82
+ export { PlanReadsBrand, PlanUseBrand, } from "./reads.js";
83
+ export {} from "./nested.js";
80
84
  /** The namespace's members — everything `Plan` carries beside the tag itself. */
81
85
  const PLAN_MEMBERS = {
82
86
  axis: createAxis,
@@ -105,6 +109,8 @@ const PLAN_MEMBERS = {
105
109
  rows: createSeriesRows,
106
110
  },
107
111
  children: createChildren,
112
+ items: createItems,
113
+ values: createValues,
108
114
  ref: createRef,
109
115
  sectionRef: createSectionRef,
110
116
  eventRef: createEventRef,
@@ -132,6 +138,11 @@ const PLAN_MEMBERS = {
132
138
  tableCells: createTableCells,
133
139
  tableSeries: createTableSeries,
134
140
  layer: createLayer,
141
+ line: createLine,
142
+ area: createArea,
143
+ column: createColumn,
144
+ scatter: createScatter,
145
+ band: createBand,
135
146
  fixed: createFixedHeight,
136
147
  pick: createPlanPick,
137
148
  pickItems: createPlanPickItems,
@@ -187,10 +198,14 @@ const PLAN_MEMBERS = {
187
198
  Gesture: PlanGestureType,
188
199
  Drop: PlanDropType,
189
200
  Move: PlanMoveType,
201
+ ValueEdit: PlanValueEditType,
202
+ TypedPosition: PlanTypedPositionType,
190
203
  RowEdits: PlanRowEditsType,
191
204
  MoveEdits: PlanMoveEditsType,
192
205
  PatchEvent: PlanPatchEventTypeFor,
193
206
  Editing: PlanEditingType,
207
+ OptimiseRequest: ScheduleOptimiseRequestTypeFor,
208
+ OptimiseResult: ScheduleOptimiseResultTypeFor,
194
209
  Series: PlanSeriesType,
195
210
  RunRef: PlanRunRefType,
196
211
  ElementRef: PlanElementRefType,
@@ -256,81 +271,60 @@ const PLAN_MEMBERS = {
256
271
  * @example
257
272
  * ```tsx
258
273
  * // .tsx file with the `@jsxImportSource @elaraai/e3-ui` pragma
259
- * import { ArrayType, BooleanType, DictType, East, FloatType, OptionType, StringType, StructType, none, some, variant } from "@elaraai/east";
260
- * import { Chart, EventStateType, Format, Reactive, UIComponentType } from "@elaraai/east-ui";
274
+ * import { ArrayType, BooleanType, DictType, East, FloatType, OptionType, StringType, StructType, none, some, variant, type option } from "@elaraai/east";
275
+ * import { EventStateType, Format, Reactive, UIComponentType } from "@elaraai/east-ui";
261
276
  * import { Data, Plan } from "@elaraai/e3-ui";
262
277
  * import e3 from "@elaraai/e3";
263
278
  *
264
- * export const OrdinalJob = StructType({ key: StringType, label: StringType, start: StringType, end: StringType, state: EventStateType });
265
- * export const OrdinalAlloc = StructType({ key: StringType, phase: StringType, state: EventStateType });
266
- * export const OrdinalShift = StructType({ key: StringType, from: StringType, to: StringType, label: StringType, state: EventStateType });
267
- * export const OrdinalMark = StructType({ key: StringType, phase: StringType, label: StringType, exception: BooleanType });
268
- * export const OrdinalPoint = StructType({ phase: StringType, n: FloatType });
269
- * export const OrdinalReading = StructType({ at: StringType, value: OptionType(FloatType) });
279
+ * export const OrdinalJob = StructType({ label: StringType, start: StringType, end: StringType, state: EventStateType });
280
+ * export const OrdinalAlloc = StructType({ phase: StringType, state: EventStateType });
281
+ * export const OrdinalShift = StructType({ from: StringType, to: StringType, label: StringType, state: EventStateType });
282
+ * export const OrdinalMark = StructType({ phase: StringType, label: StringType, exception: BooleanType });
270
283
  * export const OrdinalOrderRow = StructType({
271
284
  * series: StringType, label: StringType, value: OptionType(StringType), sub: OptionType(StringType),
272
- * jobs: ArrayType(OrdinalJob), allocations: ArrayType(OrdinalAlloc), shifts: ArrayType(OrdinalShift),
273
- * marks: ArrayType(OrdinalMark), points: ArrayType(OrdinalPoint), counts: ArrayType(OrdinalReading),
274
- * cells: ArrayType(Plan.Types.HeatCell),
285
+ * jobs: DictType(StringType, OrdinalJob), allocations: DictType(StringType, OrdinalAlloc), shifts: DictType(StringType, OrdinalShift),
286
+ * marks: DictType(StringType, OrdinalMark), wip: DictType(StringType, FloatType), counts: DictType(StringType, OptionType(FloatType)),
287
+ * load: DictType(StringType, FloatType),
275
288
  * });
289
+ * const ORDINAL_EMPTY = {
290
+ * jobs: new Map(), allocations: new Map(), shifts: new Map(), marks: new Map(), wip: new Map(), counts: new Map(), load: new Map(),
291
+ * };
276
292
  * export const planOrdinalOrders = e3.input("plan_ordinal_orders", DictType(StringType, OrdinalOrderRow), variant("value", new Map([
277
- * ["j6188", { series: "job", label: "J-6188", value: some("96 k sheets"), sub: none,
278
- * allocations: [], shifts: [], marks: [], points: [], counts: [], cells: [],
279
- * jobs: [
280
- * { key: "plates", label: "PLATES", start: "PREPRESS", end: "PLATES", state: variant("actual", null) },
281
- * { key: "print", label: "PRINT · J-4642", start: "PRINT", end: "FINISH", state: variant("in-progress", null) },
282
- * { key: "deliver", label: "BIND + DELIVER", start: "BIND", end: "DELIVER", state: variant("proposed", variant("recommended", null)) },
283
- * ] }],
284
- * ["j6204", { series: "job", label: "J-6204", value: some("54 k sheets"), sub: none,
285
- * allocations: [], shifts: [], marks: [], points: [], counts: [], cells: [],
286
- * jobs: [
287
- * { key: "prepress", label: "PREPRESS", start: "PREPRESS", end: "PREPRESS", state: variant("actual", null) },
288
- * { key: "print", label: "PRINT · J-4663", start: "PLATES", end: "BIND", state: variant("proposed", variant("recommended", null)) },
289
- * ] }],
290
- * ["bindery", { series: "bindery", label: "Bindery 2", value: none, sub: some("slots"),
291
- * jobs: [], shifts: [], marks: [], points: [], counts: [], cells: [],
292
- * allocations: [
293
- * { key: "a1", phase: "PLATES", state: variant("confirmed", null) }, { key: "a2", phase: "PRINT", state: variant("confirmed", null) },
294
- * { key: "a3", phase: "PRINT", state: variant("proposed", variant("recommended", null)) }, { key: "a4", phase: "BIND", state: variant("proposed", variant("recommended", null)) },
295
- * ] }],
296
- * // Heat cells as STORED records — the phase spelled on the `ordinal` arm.
297
- * ["load", { series: "load", label: "Phase load", value: none, sub: none,
298
- * jobs: [], allocations: [], shifts: [], marks: [], points: [], counts: [],
299
- * cells: [
300
- * { at: variant("ordinal", "PREPRESS"), value: some(35.0), label: some("35") },
301
- * { at: variant("ordinal", "PLATES"), value: some(66.0), label: some("66") },
302
- * { at: variant("ordinal", "PRINT"), value: some(37.0), label: some("37") },
303
- * { at: variant("ordinal", "FINISH"), value: some(68.0), label: some("68") },
304
- * { at: variant("ordinal", "BIND"), value: some(39.0), label: some("39") },
305
- * { at: variant("ordinal", "DELIVER"), value: some(70.0), label: some("70") },
306
- * ] }],
307
- * ["wip", { series: "wip", label: "WIP · jobs", value: some("31"), sub: none,
308
- * jobs: [], allocations: [], shifts: [], marks: [], counts: [], cells: [],
309
- * points: [
310
- * { phase: "PREPRESS", n: 4.0 }, { phase: "PLATES", n: 11.0 }, { phase: "PRINT", n: 18.0 },
311
- * { phase: "FINISH", n: 5.0 }, { phase: "BIND", n: 12.0 }, { phase: "DELIVER", n: 19.0 },
312
- * ] }],
313
- * ["count", { series: "count", label: "Jobs in phase", value: none, sub: none,
314
- * jobs: [], allocations: [], shifts: [], marks: [], points: [], cells: [],
315
- * counts: [
316
- * { at: "PREPRESS", value: some(12.0) }, { at: "PLATES", value: some(23.0) }, { at: "PRINT", value: some(34.0) },
317
- * { at: "FINISH", value: some(15.0) }, { at: "BIND", value: none }, { at: "DELIVER", value: some(37.0) },
318
- * ] }],
319
- * ["crew", { series: "crew", label: "Crew B", value: none, sub: none,
320
- * jobs: [], allocations: [], marks: [], points: [], counts: [], cells: [],
321
- * shifts: [
322
- * { key: "s1", from: "PREPRESS", to: "PLATES", label: "prepress crew", state: variant("confirmed", null) },
323
- * { key: "s2", from: "PRINT", to: "DELIVER", label: "+ bindery crew", state: variant("proposed", variant("recommended", null)) },
324
- * ] }],
325
- * ["gates", { series: "gates", label: "Gates", value: none, sub: none,
326
- * jobs: [], allocations: [], shifts: [], points: [], counts: [], cells: [],
327
- * marks: [
328
- * { key: "g1", phase: "FINISH", label: "HOLD", exception: true },
329
- * { key: "g2", phase: "DELIVER", label: "RELEASE", exception: false },
330
- * ] }],
293
+ * ["j6188", { ...ORDINAL_EMPTY, series: "job", label: "J-6188", value: some("96 k sheets"), sub: none,
294
+ * jobs: new Map([
295
+ * ["plates", { label: "PLATES", start: "PREPRESS", end: "PLATES", state: variant("actual", null) }],
296
+ * ["print", { label: "PRINT · J-4642", start: "PRINT", end: "FINISH", state: variant("in-progress", null) }],
297
+ * ["deliver", { label: "BIND + DELIVER", start: "BIND", end: "DELIVER", state: variant("proposed", variant("recommended", null)) }],
298
+ * ]) }],
299
+ * ["j6204", { ...ORDINAL_EMPTY, series: "job", label: "J-6204", value: some("54 k sheets"), sub: none,
300
+ * jobs: new Map([
301
+ * ["prepress", { label: "PREPRESS", start: "PREPRESS", end: "PREPRESS", state: variant("actual", null) }],
302
+ * ["print", { label: "PRINT · J-4663", start: "PLATES", end: "BIND", state: variant("proposed", variant("recommended", null)) }],
303
+ * ]) }],
304
+ * ["bindery", { ...ORDINAL_EMPTY, series: "bindery", label: "Bindery 2", value: none, sub: some("slots"),
305
+ * allocations: new Map([
306
+ * ["a1", { phase: "PLATES", state: variant("confirmed", null) }], ["a2", { phase: "PRINT", state: variant("confirmed", null) }],
307
+ * ["a3", { phase: "PRINT", state: variant("proposed", variant("recommended", null)) }], ["a4", { phase: "BIND", state: variant("proposed", variant("recommended", null)) }],
308
+ * ]) }],
309
+ * ["load", { ...ORDINAL_EMPTY, series: "load", label: "Phase load", value: none, sub: none,
310
+ * load: new Map([["PREPRESS", 35.0], ["PLATES", 66.0], ["PRINT", 37.0], ["FINISH", 68.0], ["BIND", 39.0], ["DELIVER", 70.0]]) }],
311
+ * ["wip", { ...ORDINAL_EMPTY, series: "wip", label: "WIP · jobs", value: some("31"), sub: none,
312
+ * wip: new Map([["PREPRESS", 4.0], ["PLATES", 11.0], ["PRINT", 18.0], ["FINISH", 5.0], ["BIND", 12.0], ["DELIVER", 19.0]]) }],
313
+ * ["count", { ...ORDINAL_EMPTY, series: "count", label: "Jobs in phase", value: none, sub: none,
314
+ * counts: new Map<string, option<number>>([["PREPRESS", some(12.0)], ["PLATES", some(23.0)], ["PRINT", some(34.0)], ["FINISH", some(15.0)], ["BIND", none], ["DELIVER", some(37.0)]]) }],
315
+ * ["crew", { ...ORDINAL_EMPTY, series: "crew", label: "Crew B", value: none, sub: none,
316
+ * shifts: new Map([
317
+ * ["s1", { from: "PREPRESS", to: "PLATES", label: "prepress crew", state: variant("confirmed", null) }],
318
+ * ["s2", { from: "PRINT", to: "DELIVER", label: "+ bindery crew", state: variant("proposed", variant("recommended", null)) }],
319
+ * ]) }],
320
+ * ["gates", { ...ORDINAL_EMPTY, series: "gates", label: "Gates", value: none, sub: none,
321
+ * marks: new Map([
322
+ * ["g1", { phase: "FINISH", label: "HOLD", exception: true }],
323
+ * ["g2", { phase: "DELIVER", label: "RELEASE", exception: false }],
324
+ * ]) }],
331
325
  * ])));
332
326
  *
333
- * const canvas = East.function([], UIComponentType, (_$) => (
327
+ * const planOrdinalAxis = East.function([], UIComponentType, (_$) => (
334
328
  * <Reactive>{$ => {
335
329
  * const orders = $.let(Data.bind(planOrdinalOrders));
336
330
  * const PHASES = $.const(["PREPRESS", "PLATES", "PRINT", "FINISH", "BIND", "DELIVER"], ArrayType(StringType));
@@ -342,49 +336,48 @@ const PLAN_MEMBERS = {
342
336
  * key: "job", title: "Jobs",
343
337
  * match: r => r.series.equal("job"),
344
338
  * label: r => r.label, id: true, value: r => r.value,
345
- * // `j.start` / `j.end` are StringType fields — the builder wraps them to the ordinal arm.
346
- * runs: r => r.jobs.map((_$, j) => Plan.run({ key: j.key, start: j.start, end: j.end, label: j.label, state: j.state })),
339
+ * // `start` / `end` are String fields of each job — the read places them on the ordinal arm.
340
+ * runs: Plan.items("jobs", { from: "start", to: "end" }, (job) => ({ label: job.label, state: job.state })),
347
341
  * }),
348
342
  * ]),
349
343
  * Plan.series.buckets(OrdinalOrderRow, {
350
344
  * key: "bindery", title: "Bindery",
351
345
  * match: r => r.series.equal("bindery"),
352
346
  * label: r => r.label, sub: r => r.sub,
353
- * events: r => r.allocations.map((_$, a) => Plan.event({ key: a.key, at: a.phase, state: a.state })),
347
+ * events: Plan.items("allocations", { at: "phase" }, (alloc) => ({ state: alloc.state })),
354
348
  * }),
355
349
  * Plan.series.heat(OrdinalOrderRow, {
356
350
  * key: "load", title: "Phase load",
357
351
  * match: r => r.series.equal("load"),
358
352
  * label: r => r.label,
359
- * cells: r => Plan.heatCells(r.cells, { min: 0, max: 100, warnAt: 90 }),
353
+ * // A value a phase, keyed by the phase's name — each cell in its phase.
354
+ * cells: Plan.heatCells(Plan.values("load", (pct) => ({ value: pct, label: some(East.Float.printFixed(pct, 0n)) })), { min: 0, max: 100, warnAt: 90 }),
360
355
  * }),
361
356
  * Plan.series.chart(OrdinalOrderRow, {
362
357
  * key: "wip", title: "WIP",
363
358
  * match: r => r.series.equal("wip"),
364
359
  * label: r => r.label, id: true, value: r => r.value, height: "expanded",
365
- * // A string x accessor lands the columns on the ordinal arm.
366
- * layers: r => [Chart.Column(r.points, { x: p => p.phase, y: p => p.n })],
360
+ * layers: [Plan.column(Plan.values("wip", (n) => ({ y: n })))],
367
361
  * }),
368
362
  * Plan.series.table(OrdinalOrderRow, {
369
363
  * key: "count", title: "Counts",
370
364
  * match: r => r.series.equal("count"),
371
365
  * label: r => r.label,
372
- * cells: r => Plan.tableCells(r.counts),
366
+ * cells: Plan.tableCells(Plan.values("counts", (n) => ({ value: n }))),
373
367
  * format: Format.Number({ maximumFractionDigits: 0n }),
374
368
  * }),
375
369
  * Plan.series.cards(OrdinalOrderRow, {
376
370
  * key: "crew", title: "Crews",
377
371
  * match: r => r.series.equal("crew"),
378
372
  * label: r => r.label,
379
- * chips: r => r.shifts.map((_$, s) => Plan.chip({ key: s.key, from: s.from, to: s.to, label: s.label, state: s.state })),
373
+ * chips: Plan.items("shifts", { from: "from", to: "to" }, (shift) => ({ label: shift.label, state: shift.state })),
380
374
  * }),
381
375
  * Plan.series.events(OrdinalOrderRow, {
382
376
  * key: "gates", title: "Gates",
383
377
  * match: r => r.series.equal("gates"),
384
378
  * label: r => r.label, id: true,
385
- * marks: r => r.marks.map((_$, m) => Plan.mark({
386
- * key: m.key, at: m.phase, label: m.label,
387
- * kind: m.exception.ifElse(() => EXCEPTION, () => MILESTONE),
379
+ * marks: Plan.items("marks", { at: "phase" }, (gate) => ({
380
+ * label: gate.label, kind: gate.exception.ifElse(() => EXCEPTION, () => MILESTONE),
388
381
  * })),
389
382
  * }),
390
383
  * ], ArrayType(Plan.Types.Series(OrdinalOrderRow)));
@@ -423,52 +416,75 @@ const PLAN_MEMBERS = {
423
416
  * due: OptionType(DateTimeType),
424
417
  * });
425
418
  * export const PrintCustomer = StructType({ name: StringType, district: StringType, trade: StringType });
426
- * export const planPrintPresses = e3.record("plan_print_presses", DictType(StringType, PrintPress), new Map([
427
- * ["a1", { name: "Press A1", hall: "Hall A", sheets_per_hour: 12000.0 }],
428
- * ["a2", { name: "Press A2", hall: "Hall A", sheets_per_hour: 10000.0 }],
429
- * ["a3", { name: "Press A3", hall: "Hall A", sheets_per_hour: 8000.0 }],
430
- * ["b1", { name: "Press B1", hall: "Hall B", sheets_per_hour: 15000.0 }],
431
- * ["b2", { name: "Press B2", hall: "Hall B", sheets_per_hour: 12000.0 }],
432
- * ["b3", { name: "Press B3", hall: "Hall B", sheets_per_hour: 6000.0 }],
433
- * ]));
434
- * export const planPrintCustomers = e3.record("plan_print_customers", DictType(StringType, PrintCustomer), new Map([
435
- * ["alder-finch", { name: "Alder & Finch", district: "Old Town", trade: "Retail" }],
436
- * ["bluewater-tours", { name: "Bluewater Tours", district: "North Quay", trade: "Travel" }],
437
- * ["copperleaf-cafe", { name: "Copperleaf Cafe", district: "Old Town", trade: "Hospitality" }],
438
- * ["driftwood-museum", { name: "Driftwood Museum", district: "North Quay", trade: "Arts" }],
439
- * ["elmway-college", { name: "Elmway College", district: "Riverside", trade: "Education" }],
440
- * ["foxglove-gardens", { name: "Foxglove Gardens", district: "Riverside", trade: "Retail" }],
441
- * ["granite-hall", { name: "Granite Hall", district: "Old Town", trade: "Events" }],
442
- * ["harbour-arts", { name: "Harbour Arts Society", district: "North Quay", trade: "Arts" }],
443
- * ["heathfield", { name: "Heathfield Theatre", district: "Old Town", trade: "Arts" }],
444
- * ["ivy-lane", { name: "Ivy Lane Studio", district: "Riverside", trade: "Design" }],
445
- * ["juniper-toys", { name: "Juniper Toys", district: "Riverside", trade: "Retail" }],
446
- * ["kestrel-cycling", { name: "Kestrel Cycling Club", district: "Riverside", trade: "Sport" }],
447
- * ["larkspur-home", { name: "Larkspur Home", district: "Old Town", trade: "Retail" }],
448
- * ["meridian-monthly", { name: "Meridian Monthly", district: "North Quay", trade: "Publishing" }],
449
- * ["northwind", { name: "Northwind Outfitters", district: "North Quay", trade: "Retail" }],
450
- * ["orchard-market", { name: "Orchard Street Market", district: "Old Town", trade: "Markets" }],
451
- * ]));
452
- * export const planEventJobs = e3.record("plan_event_jobs", DictType(StringType, PrintJob), new Map([
453
- * ["J-3001", { title: "Spring catalogue", start: some(new Date("2026-10-06T06:00:00Z")), end: some(new Date("2026-10-06T14:00:00Z")), press: some("a1"), state: variant("actual", null), sheets: 96000.0, customer: "Alder & Finch", stock: variant("coated", null), due: some(new Date("2026-10-08T00:00:00Z")) }],
454
- * ["J-3002", { title: "Course handbook", start: some(new Date("2026-10-19T06:00:00Z")), end: some(new Date("2026-10-19T18:00:00Z")), press: some("a1"), state: variant("confirmed", null), sheets: 144000.0, customer: "Elmway College", stock: variant("uncoated", null), due: some(new Date("2026-10-23T00:00:00Z")) }],
455
- * ["J-3003", { title: "Annual report", start: some(new Date("2026-10-14T06:00:00Z")), end: some(new Date("2026-10-14T12:00:00Z")), press: some("a2"), state: variant("in-progress", null), sheets: 60000.0, customer: "Harbour Arts Society", stock: variant("coated", null), due: some(new Date("2026-10-16T00:00:00Z")) }],
456
- * ["J-3004", { title: "Club newsletter", start: some(new Date("2026-10-08T06:00:00Z")), end: some(new Date("2026-10-08T08:00:00Z")), press: some("a3"), state: variant("actual", null), sheets: 16000.0, customer: "Kestrel Cycling Club", stock: variant("uncoated", null), due: some(new Date("2026-10-09T00:00:00Z")) }],
457
- * ["J-3005", { title: "Store flyers", start: some(new Date("2026-10-15T06:00:00Z")), end: some(new Date("2026-10-15T16:00:00Z")), press: some("b1"), state: variant("confirmed", null), sheets: 150000.0, customer: "Northwind Outfitters", stock: variant("uncoated", null), due: some(new Date("2026-10-16T00:00:00Z")) }],
458
- * ["J-3006", { title: "Market posters", start: some(new Date("2026-10-20T06:00:00Z")), end: some(new Date("2026-10-20T12:00:00Z")), press: some("b2"), state: variant("confirmed", null), sheets: 72000.0, customer: "Orchard Street Market", stock: variant("coated", null), due: some(new Date("2026-10-22T00:00:00Z")) }],
459
- * ["J-3007", { title: "Loyalty cards", start: some(new Date("2026-10-20T10:00:00Z")), end: some(new Date("2026-10-20T13:00:00Z")), press: some("b2"), state: variant("proposed", variant("added", null)), sheets: 36000.0, customer: "Copperleaf Cafe", stock: variant("board", null), due: some(new Date("2026-10-23T00:00:00Z")) }],
460
- * ["J-3008", { title: "Gift boxes", start: some(new Date("2026-10-27T06:00:00Z")), end: some(new Date("2026-10-27T12:00:00Z")), press: some("b3"), state: variant("proposed", variant("recommended", null)), sheets: 48000.0, customer: "Juniper Toys", stock: variant("board", null), due: some(new Date("2026-10-30T00:00:00Z")) }],
461
- * ["J-3009", { title: "Ticket books", start: some(new Date("2026-10-22T06:00:00Z")), end: some(new Date("2026-10-22T09:00:00Z")), press: none, state: variant("proposed", variant("added", null)), sheets: 24000.0, customer: "Heathfield Theatre", stock: variant("uncoated", null), due: some(new Date("2026-10-26T00:00:00Z")) }],
462
- * ["J-3010", { title: "Guide reprint", start: none, end: none, press: none, state: variant("estimated", null), sheets: 24000.0, customer: "Driftwood Museum", stock: variant("coated", null), due: some(new Date("2026-10-16T00:00:00Z")) }],
463
- * ["J-3011", { title: "Wall calendars", start: none, end: none, press: none, state: variant("estimated", null), sheets: 50000.0, customer: "Foxglove Gardens", stock: variant("coated", null), due: some(new Date("2026-10-23T00:00:00Z")) }],
464
- * ["J-3012", { title: "Spare covers", start: none, end: none, press: none, state: variant("estimated", null), sheets: 8000.0, customer: "Meridian Monthly", stock: variant("board", null), due: none }],
465
- * ]));
466
- * export const planEventJobsPatch = e3.mutation.patch(planEventJobs);
419
+ * export const planPrintPresses = e3.record("plan_print_presses", DictType(StringType, PrintPress), {
420
+ * initial: new Map([
421
+ * ["a1", { name: "Press A1", hall: "Hall A", sheets_per_hour: 12000.0 }],
422
+ * ["a2", { name: "Press A2", hall: "Hall A", sheets_per_hour: 10000.0 }],
423
+ * ["a3", { name: "Press A3", hall: "Hall A", sheets_per_hour: 8000.0 }],
424
+ * ["b1", { name: "Press B1", hall: "Hall B", sheets_per_hour: 15000.0 }],
425
+ * ["b2", { name: "Press B2", hall: "Hall B", sheets_per_hour: 12000.0 }],
426
+ * ["b3", { name: "Press B3", hall: "Hall B", sheets_per_hour: 6000.0 }],
427
+ * ]),
428
+ * indexes: (index) => ({
429
+ * plan_print_presses_by_hall: index.on(["hall"]),
430
+ * }),
431
+ * mutations: (mutation) => ({
432
+ * // The presses' patch door: the works edits its presses elsewhere, and a Plan reads them live.
433
+ * patch: mutation.patch(),
434
+ * }),
435
+ * });
436
+ * export const planPrintCustomers = e3.record("plan_print_customers", DictType(StringType, PrintCustomer), {
437
+ * initial: new Map([
438
+ * ["alder-finch", { name: "Alder & Finch", district: "Old Town", trade: "Retail" }],
439
+ * ["bluewater-tours", { name: "Bluewater Tours", district: "North Quay", trade: "Travel" }],
440
+ * ["copperleaf-cafe", { name: "Copperleaf Cafe", district: "Old Town", trade: "Hospitality" }],
441
+ * ["driftwood-museum", { name: "Driftwood Museum", district: "North Quay", trade: "Arts" }],
442
+ * ["elmway-college", { name: "Elmway College", district: "Riverside", trade: "Education" }],
443
+ * ["foxglove-gardens", { name: "Foxglove Gardens", district: "Riverside", trade: "Retail" }],
444
+ * ["granite-hall", { name: "Granite Hall", district: "Old Town", trade: "Events" }],
445
+ * ["harbour-arts", { name: "Harbour Arts Society", district: "North Quay", trade: "Arts" }],
446
+ * ["heathfield", { name: "Heathfield Theatre", district: "Old Town", trade: "Arts" }],
447
+ * ["ivy-lane", { name: "Ivy Lane Studio", district: "Riverside", trade: "Design" }],
448
+ * ["juniper-toys", { name: "Juniper Toys", district: "Riverside", trade: "Retail" }],
449
+ * ["kestrel-cycling", { name: "Kestrel Cycling Club", district: "Riverside", trade: "Sport" }],
450
+ * ["larkspur-home", { name: "Larkspur Home", district: "Old Town", trade: "Retail" }],
451
+ * ["meridian-monthly", { name: "Meridian Monthly", district: "North Quay", trade: "Publishing" }],
452
+ * ["northwind", { name: "Northwind Outfitters", district: "North Quay", trade: "Retail" }],
453
+ * ["orchard-market", { name: "Orchard Street Market", district: "Old Town", trade: "Markets" }],
454
+ * ]),
455
+ * indexes: (index) => ({
456
+ * plan_print_customers_by_district: index.on(["district"]),
457
+ * }),
458
+ * mutations: (mutation) => ({
459
+ * // The customers' patch door: the works edits its customers elsewhere, and a Plan reads them live.
460
+ * patch: mutation.patch(),
461
+ * }),
462
+ * });
463
+ * export const planEventJobs = e3.record("plan_event_jobs", DictType(StringType, PrintJob), {
464
+ * initial: new Map([
465
+ * ["J-3001", { title: "Spring catalogue", start: some(new Date("2026-10-06T06:00:00Z")), end: some(new Date("2026-10-06T14:00:00Z")), press: some("a1"), state: variant("actual", null), sheets: 96000.0, customer: "Alder & Finch", stock: variant("coated", null), due: some(new Date("2026-10-08T00:00:00Z")) }],
466
+ * ["J-3002", { title: "Course handbook", start: some(new Date("2026-10-19T06:00:00Z")), end: some(new Date("2026-10-19T18:00:00Z")), press: some("a1"), state: variant("confirmed", null), sheets: 144000.0, customer: "Elmway College", stock: variant("uncoated", null), due: some(new Date("2026-10-23T00:00:00Z")) }],
467
+ * ["J-3003", { title: "Annual report", start: some(new Date("2026-10-14T06:00:00Z")), end: some(new Date("2026-10-14T12:00:00Z")), press: some("a2"), state: variant("in-progress", null), sheets: 60000.0, customer: "Harbour Arts Society", stock: variant("coated", null), due: some(new Date("2026-10-16T00:00:00Z")) }],
468
+ * ["J-3004", { title: "Club newsletter", start: some(new Date("2026-10-08T06:00:00Z")), end: some(new Date("2026-10-08T08:00:00Z")), press: some("a3"), state: variant("actual", null), sheets: 16000.0, customer: "Kestrel Cycling Club", stock: variant("uncoated", null), due: some(new Date("2026-10-09T00:00:00Z")) }],
469
+ * ["J-3005", { title: "Store flyers", start: some(new Date("2026-10-15T06:00:00Z")), end: some(new Date("2026-10-15T16:00:00Z")), press: some("b1"), state: variant("confirmed", null), sheets: 150000.0, customer: "Northwind Outfitters", stock: variant("uncoated", null), due: some(new Date("2026-10-16T00:00:00Z")) }],
470
+ * ["J-3006", { title: "Market posters", start: some(new Date("2026-10-20T06:00:00Z")), end: some(new Date("2026-10-20T12:00:00Z")), press: some("b2"), state: variant("confirmed", null), sheets: 72000.0, customer: "Orchard Street Market", stock: variant("coated", null), due: some(new Date("2026-10-22T00:00:00Z")) }],
471
+ * ["J-3007", { title: "Loyalty cards", start: some(new Date("2026-10-20T10:00:00Z")), end: some(new Date("2026-10-20T13:00:00Z")), press: some("b2"), state: variant("proposed", variant("added", null)), sheets: 36000.0, customer: "Copperleaf Cafe", stock: variant("board", null), due: some(new Date("2026-10-23T00:00:00Z")) }],
472
+ * ["J-3008", { title: "Gift boxes", start: some(new Date("2026-10-27T06:00:00Z")), end: some(new Date("2026-10-27T12:00:00Z")), press: some("b3"), state: variant("proposed", variant("recommended", null)), sheets: 48000.0, customer: "Juniper Toys", stock: variant("board", null), due: some(new Date("2026-10-30T00:00:00Z")) }],
473
+ * ["J-3009", { title: "Ticket books", start: some(new Date("2026-10-22T06:00:00Z")), end: some(new Date("2026-10-22T09:00:00Z")), press: none, state: variant("proposed", variant("added", null)), sheets: 24000.0, customer: "Heathfield Theatre", stock: variant("uncoated", null), due: some(new Date("2026-10-26T00:00:00Z")) }],
474
+ * ["J-3010", { title: "Guide reprint", start: none, end: none, press: none, state: variant("estimated", null), sheets: 24000.0, customer: "Driftwood Museum", stock: variant("coated", null), due: some(new Date("2026-10-16T00:00:00Z")) }],
475
+ * ["J-3011", { title: "Wall calendars", start: none, end: none, press: none, state: variant("estimated", null), sheets: 50000.0, customer: "Foxglove Gardens", stock: variant("coated", null), due: some(new Date("2026-10-23T00:00:00Z")) }],
476
+ * ["J-3012", { title: "Spare covers", start: none, end: none, press: none, state: variant("estimated", null), sheets: 8000.0, customer: "Meridian Monthly", stock: variant("board", null), due: none }],
477
+ * ]),
478
+ * mutations: (mutation) => ({
479
+ * // The smallest builder's jobs' patch door: its Save commits through it.
480
+ * patch: mutation.patch(),
481
+ * }),
482
+ * });
467
483
  *
468
484
  * const planEvents = East.function([], UIComponentType, (_$) => (
469
485
  * <Reactive>{$ => {
470
486
  * const presses = $.let(Record.bind(planPrintPresses, []));
471
- * const jobs = $.let(Record.bind(planEventJobs, [planEventJobsPatch]));
487
+ * const jobs = $.let(Record.bind(planEventJobs));
472
488
  * const customers = $.let(Record.bind(planPrintCustomers, []));
473
489
  * const axis = $.let(Plan.axis({
474
490
  * window: { min: new Date("2026-10-05T00:00:00Z"), max: new Date("2026-11-02T00:00:00Z") },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plan/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plan/index.ts"],"names":[],"mappings":"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"}