@elaraai/e3-ui 1.0.93 → 1.0.95

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 (303) hide show
  1. package/dist/src/allocation/adapters.d.ts +159 -0
  2. package/dist/src/allocation/adapters.d.ts.map +1 -0
  3. package/dist/src/allocation/adapters.js +241 -0
  4. package/dist/src/allocation/adapters.js.map +1 -0
  5. package/dist/src/allocation/functions.d.ts +664 -0
  6. package/dist/src/allocation/functions.d.ts.map +1 -0
  7. package/dist/src/allocation/functions.js +782 -0
  8. package/dist/src/allocation/functions.js.map +1 -0
  9. package/dist/src/allocation/index.d.ts +2985 -0
  10. package/dist/src/allocation/index.d.ts.map +1 -0
  11. package/dist/src/allocation/index.js +499 -0
  12. package/dist/src/allocation/index.js.map +1 -0
  13. package/dist/src/allocation/types.d.ts +832 -0
  14. package/dist/src/allocation/types.d.ts.map +1 -0
  15. package/dist/src/allocation/types.js +360 -0
  16. package/dist/src/allocation/types.js.map +1 -0
  17. package/dist/src/bind/func.d.ts +14 -0
  18. package/dist/src/bind/func.d.ts.map +1 -1
  19. package/dist/src/bind/func.js +22 -1
  20. package/dist/src/bind/func.js.map +1 -1
  21. package/dist/src/calendar/index.d.ts +510 -1639
  22. package/dist/src/calendar/index.d.ts.map +1 -1
  23. package/dist/src/calendar/index.js +56 -29
  24. package/dist/src/calendar/index.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +9 -21
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -1
  27. package/dist/src/flowchart/canvas.js +10 -22
  28. package/dist/src/flowchart/canvas.js.map +1 -1
  29. package/dist/src/flowchart/flowchart.d.ts +19 -13
  30. package/dist/src/flowchart/flowchart.d.ts.map +1 -1
  31. package/dist/src/flowchart/flowchart.js.map +1 -1
  32. package/dist/src/flowchart/index.d.ts +44 -21
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +43 -20
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +166 -81
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +232 -105
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/over.d.ts +9 -16
  41. package/dist/src/flowchart/over.d.ts.map +1 -1
  42. package/dist/src/flowchart/over.js +9 -16
  43. package/dist/src/flowchart/over.js.map +1 -1
  44. package/dist/src/flowchart/payload.d.ts +710 -508
  45. package/dist/src/flowchart/payload.d.ts.map +1 -1
  46. package/dist/src/flowchart/payload.js +128 -74
  47. package/dist/src/flowchart/payload.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts +132 -347
  49. package/dist/src/flowchart/window.d.ts.map +1 -1
  50. package/dist/src/flowchart/window.js +48 -55
  51. package/dist/src/flowchart/window.js.map +1 -1
  52. package/dist/src/index.d.ts +11 -7
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +14 -6
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/internal.d.ts +18 -7
  57. package/dist/src/internal.d.ts.map +1 -1
  58. package/dist/src/internal.js +28 -9
  59. package/dist/src/internal.js.map +1 -1
  60. package/dist/src/plan/event-rows.d.ts +26 -10
  61. package/dist/src/plan/event-rows.d.ts.map +1 -1
  62. package/dist/src/plan/event-rows.js +39 -13
  63. package/dist/src/plan/event-rows.js.map +1 -1
  64. package/dist/src/plan/ir.d.ts +244 -815
  65. package/dist/src/plan/ir.d.ts.map +1 -1
  66. package/dist/src/plan/ir.js +8 -6
  67. package/dist/src/plan/ir.js.map +1 -1
  68. package/dist/src/plan/library.d.ts +3 -0
  69. package/dist/src/plan/library.d.ts.map +1 -1
  70. package/dist/src/plan/library.js +1 -1
  71. package/dist/src/plan/library.js.map +1 -1
  72. package/dist/src/plan/ordered-source.d.ts +1 -0
  73. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  74. package/dist/src/plan/plan.d.ts +559 -1667
  75. package/dist/src/plan/plan.d.ts.map +1 -1
  76. package/dist/src/plan/plan.js +123 -45
  77. package/dist/src/plan/plan.js.map +1 -1
  78. package/dist/src/plan/root.d.ts +16 -20
  79. package/dist/src/plan/root.d.ts.map +1 -1
  80. package/dist/src/plan/root.js +23 -33
  81. package/dist/src/plan/root.js.map +1 -1
  82. package/dist/src/roster/coverage.d.ts +17 -231
  83. package/dist/src/roster/coverage.d.ts.map +1 -1
  84. package/dist/src/roster/coverage.js +94 -90
  85. package/dist/src/roster/coverage.js.map +1 -1
  86. package/dist/src/roster/fit.d.ts +59 -0
  87. package/dist/src/roster/fit.d.ts.map +1 -0
  88. package/dist/src/roster/fit.js +155 -0
  89. package/dist/src/roster/fit.js.map +1 -0
  90. package/dist/src/roster/index.d.ts +2862 -3662
  91. package/dist/src/roster/index.d.ts.map +1 -1
  92. package/dist/src/roster/index.js +383 -81
  93. package/dist/src/roster/index.js.map +1 -1
  94. package/dist/src/roster/library.d.ts +37 -92
  95. package/dist/src/roster/library.d.ts.map +1 -1
  96. package/dist/src/roster/library.js +25 -64
  97. package/dist/src/roster/library.js.map +1 -1
  98. package/dist/src/roster/lists.d.ts +195 -0
  99. package/dist/src/roster/lists.d.ts.map +1 -0
  100. package/dist/src/roster/lists.js +233 -0
  101. package/dist/src/roster/lists.js.map +1 -0
  102. package/dist/src/roster/rules.d.ts +17 -260
  103. package/dist/src/roster/rules.d.ts.map +1 -1
  104. package/dist/src/roster/rules.js +135 -132
  105. package/dist/src/roster/rules.js.map +1 -1
  106. package/dist/src/roster/targets.d.ts +115 -0
  107. package/dist/src/roster/targets.d.ts.map +1 -0
  108. package/dist/src/roster/targets.js +213 -0
  109. package/dist/src/roster/targets.js.map +1 -0
  110. package/dist/src/roster/times.d.ts +251 -0
  111. package/dist/src/roster/times.d.ts.map +1 -0
  112. package/dist/src/roster/times.js +174 -0
  113. package/dist/src/roster/times.js.map +1 -0
  114. package/dist/src/roster/types.d.ts +828 -183
  115. package/dist/src/roster/types.d.ts.map +1 -1
  116. package/dist/src/roster/types.js +224 -97
  117. package/dist/src/roster/types.js.map +1 -1
  118. package/dist/src/schedule/accessor.d.ts +28 -0
  119. package/dist/src/schedule/accessor.d.ts.map +1 -0
  120. package/dist/src/schedule/accessor.js +39 -0
  121. package/dist/src/schedule/accessor.js.map +1 -0
  122. package/dist/src/schedule/events.d.ts +170 -42
  123. package/dist/src/schedule/events.d.ts.map +1 -1
  124. package/dist/src/schedule/events.js +431 -171
  125. package/dist/src/schedule/events.js.map +1 -1
  126. package/dist/src/schedule/index.d.ts +41 -4
  127. package/dist/src/schedule/index.d.ts.map +1 -1
  128. package/dist/src/schedule/index.js +35 -3
  129. package/dist/src/schedule/index.js.map +1 -1
  130. package/dist/src/schedule/library.d.ts +13 -3
  131. package/dist/src/schedule/library.d.ts.map +1 -1
  132. package/dist/src/schedule/library.js +11 -4
  133. package/dist/src/schedule/library.js.map +1 -1
  134. package/dist/src/schedule/periods.d.ts +115 -0
  135. package/dist/src/schedule/periods.d.ts.map +1 -0
  136. package/dist/src/schedule/periods.js +215 -0
  137. package/dist/src/schedule/periods.js.map +1 -0
  138. package/dist/src/schedule/record-window.d.ts +25 -3
  139. package/dist/src/schedule/record-window.d.ts.map +1 -1
  140. package/dist/src/schedule/record-window.js +31 -18
  141. package/dist/src/schedule/record-window.js.map +1 -1
  142. package/dist/src/schedule/resources.d.ts +82 -4
  143. package/dist/src/schedule/resources.d.ts.map +1 -1
  144. package/dist/src/schedule/resources.js +44 -14
  145. package/dist/src/schedule/resources.js.map +1 -1
  146. package/dist/src/schedule/session.d.ts +69 -0
  147. package/dist/src/schedule/session.d.ts.map +1 -0
  148. package/dist/src/schedule/session.js +121 -0
  149. package/dist/src/schedule/session.js.map +1 -0
  150. package/dist/src/schedule/templates.d.ts +14 -2
  151. package/dist/src/schedule/templates.d.ts.map +1 -1
  152. package/dist/src/schedule/templates.js +5 -3
  153. package/dist/src/schedule/templates.js.map +1 -1
  154. package/dist/src/schedule/types.d.ts +1671 -37
  155. package/dist/src/schedule/types.d.ts.map +1 -1
  156. package/dist/src/schedule/types.js +196 -5
  157. package/dist/src/schedule/types.js.map +1 -1
  158. package/dist/src/schedule/window.d.ts +14 -0
  159. package/dist/src/schedule/window.d.ts.map +1 -1
  160. package/dist/src/schedule/window.js +14 -4
  161. package/dist/src/schedule/window.js.map +1 -1
  162. package/dist/src/schedule/words.d.ts +22 -0
  163. package/dist/src/schedule/words.d.ts.map +1 -0
  164. package/dist/src/schedule/words.js +25 -0
  165. package/dist/src/schedule/words.js.map +1 -0
  166. package/dist/src/sheet/index.d.ts +61 -27
  167. package/dist/src/sheet/index.d.ts.map +1 -1
  168. package/dist/src/sheet/index.js +59 -25
  169. package/dist/src/sheet/index.js.map +1 -1
  170. package/dist/src/sheet/library.d.ts +21 -3
  171. package/dist/src/sheet/library.d.ts.map +1 -1
  172. package/dist/src/sheet/library.js +23 -6
  173. package/dist/src/sheet/library.js.map +1 -1
  174. package/dist/src/sheet/registers.d.ts +100 -85
  175. package/dist/src/sheet/registers.d.ts.map +1 -1
  176. package/dist/src/sheet/registers.js +100 -85
  177. package/dist/src/sheet/registers.js.map +1 -1
  178. package/dist/src/sheet/root.d.ts +8 -12
  179. package/dist/src/sheet/root.d.ts.map +1 -1
  180. package/dist/src/sheet/root.js +6 -40
  181. package/dist/src/sheet/root.js.map +1 -1
  182. package/dist/src/sheet/sheet.d.ts +598 -2349
  183. package/dist/src/sheet/sheet.d.ts.map +1 -1
  184. package/dist/src/sheet/sheet.js +124 -37
  185. package/dist/src/sheet/sheet.js.map +1 -1
  186. package/dist/src/sheet/sub-rows.d.ts +74 -28
  187. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  188. package/dist/src/sheet/sub-rows.js +74 -28
  189. package/dist/src/sheet/sub-rows.js.map +1 -1
  190. package/dist/src/sheet/templates.d.ts +98 -34
  191. package/dist/src/sheet/templates.d.ts.map +1 -1
  192. package/dist/src/sheet/templates.js +102 -58
  193. package/dist/src/sheet/templates.js.map +1 -1
  194. package/dist/src/sheet/types.d.ts +289 -1359
  195. package/dist/src/sheet/types.d.ts.map +1 -1
  196. package/dist/src/sheet/types.js +20 -26
  197. package/dist/src/sheet/types.js.map +1 -1
  198. package/dist/src/sheet/views.d.ts +10 -11
  199. package/dist/src/sheet/views.d.ts.map +1 -1
  200. package/dist/src/sheet/views.js +15 -20
  201. package/dist/src/sheet/views.js.map +1 -1
  202. package/dist/src/{roster/visibility.d.ts → utils/key-visibility.d.ts} +42 -7
  203. package/dist/src/utils/key-visibility.d.ts.map +1 -0
  204. package/dist/src/utils/key-visibility.js +36 -0
  205. package/dist/src/utils/key-visibility.js.map +1 -0
  206. package/dist/src/utils/ordered-source.d.ts +1 -0
  207. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  208. package/dist/src/utils/ordered-source.js +8 -3
  209. package/dist/src/utils/ordered-source.js.map +1 -1
  210. package/dist/src/utils/record-sources.d.ts +107 -0
  211. package/dist/src/utils/record-sources.d.ts.map +1 -0
  212. package/dist/src/utils/record-sources.js +132 -0
  213. package/dist/src/utils/record-sources.js.map +1 -0
  214. package/dist/test/allocation/allocation.examples.d.ts +2902 -0
  215. package/dist/test/allocation/allocation.examples.d.ts.map +1 -0
  216. package/dist/test/allocation/allocation.examples.js +643 -0
  217. package/dist/test/allocation/allocation.examples.js.map +1 -0
  218. package/dist/test/allocation/fit.examples.d.ts +546 -0
  219. package/dist/test/allocation/fit.examples.d.ts.map +1 -0
  220. package/dist/test/allocation/fit.examples.js +171 -0
  221. package/dist/test/allocation/fit.examples.js.map +1 -0
  222. package/dist/test/allocation/kiln-yard.d.ts +181 -0
  223. package/dist/test/allocation/kiln-yard.d.ts.map +1 -0
  224. package/dist/test/allocation/kiln-yard.js +228 -0
  225. package/dist/test/allocation/kiln-yard.js.map +1 -0
  226. package/dist/test/bind/data/data.examples.d.ts +651 -1
  227. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  228. package/dist/test/bind/data/data.examples.js +140 -2
  229. package/dist/test/bind/data/data.examples.js.map +1 -1
  230. package/dist/test/bind/func/func.examples.d.ts +10 -1
  231. package/dist/test/bind/func/func.examples.d.ts.map +1 -1
  232. package/dist/test/bind/func/func.examples.js +8 -1
  233. package/dist/test/bind/func/func.examples.js.map +1 -1
  234. package/dist/test/bind/record/record.examples.d.ts +633 -1
  235. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  236. package/dist/test/bind/record/record.examples.js +26 -2
  237. package/dist/test/bind/record/record.examples.js.map +1 -1
  238. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  239. package/dist/test/calendar/calendar-records.examples.js +18 -14
  240. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  241. package/dist/test/calendar/calendar.examples.d.ts +521 -16
  242. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  243. package/dist/test/calendar/calendar.examples.js +182 -135
  244. package/dist/test/calendar/calendar.examples.js.map +1 -1
  245. package/dist/test/examples-package.d.ts +75 -0
  246. package/dist/test/examples-package.d.ts.map +1 -0
  247. package/dist/test/examples-package.js +263 -0
  248. package/dist/test/examples-package.js.map +1 -0
  249. package/dist/test/flowchart/flowchart.examples.d.ts +211 -19
  250. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  251. package/dist/test/flowchart/flowchart.examples.js +102 -75
  252. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  253. package/dist/test/plan/plan-events.examples.d.ts +1439 -209
  254. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  255. package/dist/test/plan/plan-events.examples.js +199 -59
  256. package/dist/test/plan/plan-events.examples.js.map +1 -1
  257. package/dist/test/plan/plan-records.examples.d.ts +420 -0
  258. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  259. package/dist/test/plan/plan-records.examples.js +70 -19
  260. package/dist/test/plan/plan-records.examples.js.map +1 -1
  261. package/dist/test/plan/plan-windows.examples.d.ts +636 -55
  262. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  263. package/dist/test/plan/plan-windows.examples.js +69 -33
  264. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  265. package/dist/test/plan/plan.examples.d.ts +153 -31
  266. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  267. package/dist/test/plan/plan.examples.js +178 -101
  268. package/dist/test/plan/plan.examples.js.map +1 -1
  269. package/dist/test/roster/domain.examples.d.ts +467 -250
  270. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  271. package/dist/test/roster/domain.examples.js +92 -29
  272. package/dist/test/roster/domain.examples.js.map +1 -1
  273. package/dist/test/roster/roster-records.examples.d.ts +430 -586
  274. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  275. package/dist/test/roster/roster-records.examples.js +102 -43
  276. package/dist/test/roster/roster-records.examples.js.map +1 -1
  277. package/dist/test/roster/roster.examples.d.ts +2319 -606
  278. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  279. package/dist/test/roster/roster.examples.js +456 -148
  280. package/dist/test/roster/roster.examples.js.map +1 -1
  281. package/dist/test/roster/warehouse.d.ts +172 -63
  282. package/dist/test/roster/warehouse.d.ts.map +1 -1
  283. package/dist/test/roster/warehouse.js +172 -39
  284. package/dist/test/roster/warehouse.js.map +1 -1
  285. package/dist/test/schedule/schedule.examples.d.ts +3499 -0
  286. package/dist/test/schedule/schedule.examples.d.ts.map +1 -0
  287. package/dist/test/schedule/schedule.examples.js +192 -0
  288. package/dist/test/schedule/schedule.examples.js.map +1 -0
  289. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  290. package/dist/test/sheet/sheet-records.examples.js +22 -18
  291. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  292. package/dist/test/sheet/sheet.examples.d.ts +715 -26
  293. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  294. package/dist/test/sheet/sheet.examples.js +204 -130
  295. package/dist/test/sheet/sheet.examples.js.map +1 -1
  296. package/package.json +17 -10
  297. package/dist/src/roster/people.d.ts +0 -50
  298. package/dist/src/roster/people.d.ts.map +0 -1
  299. package/dist/src/roster/people.js +0 -32
  300. package/dist/src/roster/people.js.map +0 -1
  301. package/dist/src/roster/visibility.d.ts.map +0 -1
  302. package/dist/src/roster/visibility.js +0 -25
  303. package/dist/src/roster/visibility.js.map +0 -1
@@ -1,3 +1,423 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /** @jsxImportSource @elaraai/e3-ui */
6
+ import { ArrayType, DateTimeType, DictType, FloatType, IntegerType, OptionType, StringType, StructType } from "@elaraai/east";
7
+ /** A job dropped on a press: a decision at the bucket it landed in. */
8
+ export declare const PlanPressJob: StructType<{
9
+ readonly key: StringType;
10
+ readonly at: import("@elaraai/east").VariantType<{
11
+ readonly time: DateTimeType;
12
+ readonly number: FloatType;
13
+ readonly ordinal: StringType;
14
+ }>;
15
+ }>;
16
+ /** A press: its name, the crew that runs it (none yet), and the jobs dropped on it. */
17
+ export declare const PlanPress: StructType<{
18
+ readonly label: StringType;
19
+ readonly crew: OptionType<StringType>;
20
+ readonly jobs: ArrayType<StructType<{
21
+ readonly key: StringType;
22
+ readonly at: import("@elaraai/east").VariantType<{
23
+ readonly time: DateTimeType;
24
+ readonly number: FloatType;
25
+ readonly ordinal: StringType;
26
+ }>;
27
+ }>>;
28
+ }>;
29
+ /** Three presses a Plan canvas takes dropped jobs on, a row each, read a window at a time: Press 2 has no crew yet. */
30
+ export declare const planPresses: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
31
+ readonly label: StringType;
32
+ readonly crew: OptionType<StringType>;
33
+ readonly jobs: ArrayType<StructType<{
34
+ readonly key: StringType;
35
+ readonly at: import("@elaraai/east").VariantType<{
36
+ readonly time: DateTimeType;
37
+ readonly number: FloatType;
38
+ readonly ordinal: StringType;
39
+ }>;
40
+ }>>;
41
+ }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "plan_presses">]>;
42
+ /** The presses' patch door: a canvas's Save commits through it. */
43
+ export declare const planPressesPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
44
+ readonly label: StringType;
45
+ readonly crew: OptionType<StringType>;
46
+ readonly jobs: ArrayType<StructType<{
47
+ readonly key: StringType;
48
+ readonly at: import("@elaraai/east").VariantType<{
49
+ readonly time: DateTimeType;
50
+ readonly number: FloatType;
51
+ readonly ordinal: StringType;
52
+ }>;
53
+ }>>;
54
+ }>>, [import("@elaraai/east").VariantType<{
55
+ unchanged: import("@elaraai/east").NullType;
56
+ replace: StructType<{
57
+ before: DictType<StringType, StructType<{
58
+ readonly label: StringType;
59
+ readonly crew: OptionType<StringType>;
60
+ readonly jobs: ArrayType<StructType<{
61
+ readonly key: StringType;
62
+ readonly at: import("@elaraai/east").VariantType<{
63
+ readonly time: DateTimeType;
64
+ readonly number: FloatType;
65
+ readonly ordinal: StringType;
66
+ }>;
67
+ }>>;
68
+ }>>;
69
+ after: DictType<StringType, StructType<{
70
+ readonly label: StringType;
71
+ readonly crew: OptionType<StringType>;
72
+ readonly jobs: ArrayType<StructType<{
73
+ readonly key: StringType;
74
+ readonly at: import("@elaraai/east").VariantType<{
75
+ readonly time: DateTimeType;
76
+ readonly number: FloatType;
77
+ readonly ordinal: StringType;
78
+ }>;
79
+ }>>;
80
+ }>>;
81
+ }>;
82
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
83
+ delete: StructType<{
84
+ readonly label: StringType;
85
+ readonly crew: OptionType<StringType>;
86
+ readonly jobs: ArrayType<StructType<{
87
+ readonly key: StringType;
88
+ readonly at: import("@elaraai/east").VariantType<{
89
+ readonly time: DateTimeType;
90
+ readonly number: FloatType;
91
+ readonly ordinal: StringType;
92
+ }>;
93
+ }>>;
94
+ }>;
95
+ insert: StructType<{
96
+ readonly label: StringType;
97
+ readonly crew: OptionType<StringType>;
98
+ readonly jobs: ArrayType<StructType<{
99
+ readonly key: StringType;
100
+ readonly at: import("@elaraai/east").VariantType<{
101
+ readonly time: DateTimeType;
102
+ readonly number: FloatType;
103
+ readonly ordinal: StringType;
104
+ }>;
105
+ }>>;
106
+ }>;
107
+ update: import("@elaraai/east").VariantType<{
108
+ unchanged: import("@elaraai/east").NullType;
109
+ replace: StructType<{
110
+ before: StructType<{
111
+ readonly label: StringType;
112
+ readonly crew: OptionType<StringType>;
113
+ readonly jobs: ArrayType<StructType<{
114
+ readonly key: StringType;
115
+ readonly at: import("@elaraai/east").VariantType<{
116
+ readonly time: DateTimeType;
117
+ readonly number: FloatType;
118
+ readonly ordinal: StringType;
119
+ }>;
120
+ }>>;
121
+ }>;
122
+ after: StructType<{
123
+ readonly label: StringType;
124
+ readonly crew: OptionType<StringType>;
125
+ readonly jobs: ArrayType<StructType<{
126
+ readonly key: StringType;
127
+ readonly at: import("@elaraai/east").VariantType<{
128
+ readonly time: DateTimeType;
129
+ readonly number: FloatType;
130
+ readonly ordinal: StringType;
131
+ }>;
132
+ }>>;
133
+ }>;
134
+ }>;
135
+ patch: StructType<{
136
+ readonly label: import("@elaraai/east").VariantType<{
137
+ unchanged: import("@elaraai/east").NullType;
138
+ replace: StructType<{
139
+ before: StringType;
140
+ after: StringType;
141
+ }>;
142
+ }>;
143
+ readonly crew: import("@elaraai/east").VariantType<{
144
+ unchanged: import("@elaraai/east").NullType;
145
+ replace: StructType<{
146
+ before: OptionType<StringType>;
147
+ after: OptionType<StringType>;
148
+ }>;
149
+ patch: import("@elaraai/east").VariantType<{
150
+ none: import("@elaraai/east").VariantType<{
151
+ unchanged: import("@elaraai/east").NullType;
152
+ replace: StructType<{
153
+ before: import("@elaraai/east").NullType;
154
+ after: import("@elaraai/east").NullType;
155
+ }>;
156
+ }>;
157
+ some: import("@elaraai/east").VariantType<{
158
+ unchanged: import("@elaraai/east").NullType;
159
+ replace: StructType<{
160
+ before: StringType;
161
+ after: StringType;
162
+ }>;
163
+ }>;
164
+ }>;
165
+ }>;
166
+ readonly jobs: import("@elaraai/east").VariantType<{
167
+ unchanged: import("@elaraai/east").NullType;
168
+ replace: StructType<{
169
+ before: ArrayType<StructType<{
170
+ readonly key: StringType;
171
+ readonly at: import("@elaraai/east").VariantType<{
172
+ readonly time: DateTimeType;
173
+ readonly number: FloatType;
174
+ readonly ordinal: StringType;
175
+ }>;
176
+ }>>;
177
+ after: ArrayType<StructType<{
178
+ readonly key: StringType;
179
+ readonly at: import("@elaraai/east").VariantType<{
180
+ readonly time: DateTimeType;
181
+ readonly number: FloatType;
182
+ readonly ordinal: StringType;
183
+ }>;
184
+ }>>;
185
+ }>;
186
+ patch: ArrayType<StructType<{
187
+ key: IntegerType;
188
+ offset: IntegerType;
189
+ operation: import("@elaraai/east").VariantType<{
190
+ delete: StructType<{
191
+ readonly key: StringType;
192
+ readonly at: import("@elaraai/east").VariantType<{
193
+ readonly time: DateTimeType;
194
+ readonly number: FloatType;
195
+ readonly ordinal: StringType;
196
+ }>;
197
+ }>;
198
+ insert: StructType<{
199
+ readonly key: StringType;
200
+ readonly at: import("@elaraai/east").VariantType<{
201
+ readonly time: DateTimeType;
202
+ readonly number: FloatType;
203
+ readonly ordinal: StringType;
204
+ }>;
205
+ }>;
206
+ update: import("@elaraai/east").VariantType<{
207
+ unchanged: import("@elaraai/east").NullType;
208
+ replace: StructType<{
209
+ before: StructType<{
210
+ readonly key: StringType;
211
+ readonly at: import("@elaraai/east").VariantType<{
212
+ readonly time: DateTimeType;
213
+ readonly number: FloatType;
214
+ readonly ordinal: StringType;
215
+ }>;
216
+ }>;
217
+ after: StructType<{
218
+ readonly key: StringType;
219
+ readonly at: import("@elaraai/east").VariantType<{
220
+ readonly time: DateTimeType;
221
+ readonly number: FloatType;
222
+ readonly ordinal: StringType;
223
+ }>;
224
+ }>;
225
+ }>;
226
+ patch: StructType<{
227
+ readonly key: import("@elaraai/east").VariantType<{
228
+ unchanged: import("@elaraai/east").NullType;
229
+ replace: StructType<{
230
+ before: StringType;
231
+ after: StringType;
232
+ }>;
233
+ }>;
234
+ readonly at: import("@elaraai/east").VariantType<{
235
+ unchanged: import("@elaraai/east").NullType;
236
+ replace: StructType<{
237
+ before: import("@elaraai/east").VariantType<{
238
+ readonly time: DateTimeType;
239
+ readonly number: FloatType;
240
+ readonly ordinal: StringType;
241
+ }>;
242
+ after: import("@elaraai/east").VariantType<{
243
+ readonly time: DateTimeType;
244
+ readonly number: FloatType;
245
+ readonly ordinal: StringType;
246
+ }>;
247
+ }>;
248
+ patch: import("@elaraai/east").VariantType<{
249
+ readonly time: import("@elaraai/east").VariantType<{
250
+ unchanged: import("@elaraai/east").NullType;
251
+ replace: StructType<{
252
+ before: DateTimeType;
253
+ after: DateTimeType;
254
+ }>;
255
+ }>;
256
+ readonly number: import("@elaraai/east").VariantType<{
257
+ unchanged: import("@elaraai/east").NullType;
258
+ replace: StructType<{
259
+ before: FloatType;
260
+ after: FloatType;
261
+ }>;
262
+ }>;
263
+ readonly ordinal: import("@elaraai/east").VariantType<{
264
+ unchanged: import("@elaraai/east").NullType;
265
+ replace: StructType<{
266
+ before: StringType;
267
+ after: StringType;
268
+ }>;
269
+ }>;
270
+ }>;
271
+ }>;
272
+ }>;
273
+ }>;
274
+ }>;
275
+ }>>;
276
+ }>;
277
+ }>;
278
+ }>;
279
+ }>>;
280
+ }>]>;
281
+ /** A row a canvas narrows through its rail: when it falls, its owner and its hall. */
282
+ export declare const PlanDatedRow: StructType<{
283
+ readonly at: DateTimeType;
284
+ readonly owner: StringType;
285
+ readonly hall: StringType;
286
+ }>;
287
+ /** Rows a canvas's rail narrows, a quarter apart — Team A's in week 27, Team B's in week 39 — by owner and by hall, their dates the window's range: read through the indexes below, never whole. */
288
+ export declare const planDatedRows: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
289
+ readonly at: DateTimeType;
290
+ readonly owner: StringType;
291
+ readonly hall: StringType;
292
+ }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "plan_dated_rows">]>;
293
+ /** The rows' patch door: another session's rows go in through it. */
294
+ export declare const planDatedRowsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
295
+ readonly at: DateTimeType;
296
+ readonly owner: StringType;
297
+ readonly hall: StringType;
298
+ }>>, [import("@elaraai/east").VariantType<{
299
+ unchanged: import("@elaraai/east").NullType;
300
+ replace: StructType<{
301
+ before: DictType<StringType, StructType<{
302
+ readonly at: DateTimeType;
303
+ readonly owner: StringType;
304
+ readonly hall: StringType;
305
+ }>>;
306
+ after: DictType<StringType, StructType<{
307
+ readonly at: DateTimeType;
308
+ readonly owner: StringType;
309
+ readonly hall: StringType;
310
+ }>>;
311
+ }>;
312
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
313
+ delete: StructType<{
314
+ readonly at: DateTimeType;
315
+ readonly owner: StringType;
316
+ readonly hall: StringType;
317
+ }>;
318
+ insert: StructType<{
319
+ readonly at: DateTimeType;
320
+ readonly owner: StringType;
321
+ readonly hall: StringType;
322
+ }>;
323
+ update: import("@elaraai/east").VariantType<{
324
+ unchanged: import("@elaraai/east").NullType;
325
+ replace: StructType<{
326
+ before: StructType<{
327
+ readonly at: DateTimeType;
328
+ readonly owner: StringType;
329
+ readonly hall: StringType;
330
+ }>;
331
+ after: StructType<{
332
+ readonly at: DateTimeType;
333
+ readonly owner: StringType;
334
+ readonly hall: StringType;
335
+ }>;
336
+ }>;
337
+ patch: StructType<{
338
+ readonly at: import("@elaraai/east").VariantType<{
339
+ unchanged: import("@elaraai/east").NullType;
340
+ replace: StructType<{
341
+ before: DateTimeType;
342
+ after: DateTimeType;
343
+ }>;
344
+ }>;
345
+ readonly owner: import("@elaraai/east").VariantType<{
346
+ unchanged: import("@elaraai/east").NullType;
347
+ replace: StructType<{
348
+ before: StringType;
349
+ after: StringType;
350
+ }>;
351
+ }>;
352
+ readonly hall: import("@elaraai/east").VariantType<{
353
+ unchanged: import("@elaraai/east").NullType;
354
+ replace: StructType<{
355
+ before: StringType;
356
+ after: StringType;
357
+ }>;
358
+ }>;
359
+ }>;
360
+ }>;
361
+ }>>;
362
+ }>]>;
363
+ /** The rows by date: the window's index. */
364
+ export declare const planDatedRowsByAt: import("@elaraai/e3").RecordIndexDef<"plan_dated_rows_by_at", DictType<StringType, StructType<{
365
+ readonly at: DateTimeType;
366
+ readonly owner: StringType;
367
+ readonly hall: StringType;
368
+ }>>, DateTimeType, import("@elaraai/east").NullType, readonly ["at"]> & {
369
+ interval: undefined;
370
+ };
371
+ /** The rows by owner, then date: an owner chosen beside the window. */
372
+ export declare const planDatedRowsByOwnerAt: import("@elaraai/e3").RecordIndexDef<"plan_dated_rows_by_owner_at", DictType<StringType, StructType<{
373
+ readonly at: DateTimeType;
374
+ readonly owner: StringType;
375
+ readonly hall: StringType;
376
+ }>>, StructType<{
377
+ at: DateTimeType;
378
+ owner: StringType;
379
+ }>, import("@elaraai/east").NullType, readonly ["owner", "at"]> & {
380
+ interval: undefined;
381
+ };
382
+ /** The rows by hall, then date: a hall chosen beside the window. */
383
+ export declare const planDatedRowsByHallAt: import("@elaraai/e3").RecordIndexDef<"plan_dated_rows_by_hall_at", DictType<StringType, StructType<{
384
+ readonly at: DateTimeType;
385
+ readonly owner: StringType;
386
+ readonly hall: StringType;
387
+ }>>, StructType<{
388
+ at: DateTimeType;
389
+ hall: StringType;
390
+ }>, import("@elaraai/east").NullType, readonly ["hall", "at"]> & {
391
+ interval: undefined;
392
+ };
393
+ /** An order on a number axis: the day it is due. */
394
+ export declare const PlanDayOrder: StructType<{
395
+ readonly day: IntegerType;
396
+ }>;
397
+ /** Twelve orders, one a day from day 1 to day 12: a number axis's window is a range of their days. */
398
+ export declare const planDayOrders: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
399
+ readonly day: IntegerType;
400
+ }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "plan_day_orders">]>;
401
+ /** The orders by day. */
402
+ export declare const planDayOrdersByDay: import("@elaraai/e3").RecordIndexDef<"plan_day_orders_by_day", DictType<StringType, StructType<{
403
+ readonly day: IntegerType;
404
+ }>>, IntegerType, import("@elaraai/east").NullType, readonly ["day"]> & {
405
+ interval: undefined;
406
+ };
407
+ /** A van's run on a number axis: the day it leaves, which may fall part way through one. */
408
+ export declare const PlanDayVan: StructType<{
409
+ readonly day: FloatType;
410
+ }>;
411
+ /** Two vans, leaving on day 1 and on day 12: a number axis's window is a range of their days. */
412
+ export declare const planDayVans: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
413
+ readonly day: FloatType;
414
+ }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "plan_day_vans">]>;
415
+ /** The vans by day. */
416
+ export declare const planDayVansByDay: import("@elaraai/e3").RecordIndexDef<"plan_day_vans_by_day", DictType<StringType, StructType<{
417
+ readonly day: FloatType;
418
+ }>>, FloatType, import("@elaraai/east").NullType, readonly ["day"]> & {
419
+ interval: undefined;
420
+ };
1
421
  export declare const planRecordIndexes: import("@elaraai/east").ExampleDef<[], any>;
2
422
  export declare const planRecordIndexesMobile: import("@elaraai/east").ExampleDef<[], any>;
3
423
  //# sourceMappingURL=plan-records.examples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-records.examples.d.ts","sourceRoot":"","sources":["../../../test/plan/plan-records.examples.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB,6CAsB5B,CAAC;AAEH,eAAO,MAAM,uBAAuB,6CAsBlC,CAAC"}
1
+ {"version":3,"file":"plan-records.examples.d.ts","sourceRoot":"","sources":["../../../test/plan/plan-records.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAQ,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAuB,MAAM,eAAe,CAAC;AAMzJ,uEAAuE;AACvE,eAAO,MAAM,YAAY;;;;;;;EAA0D,CAAC;AACpF,uFAAuF;AACvF,eAAO,MAAM,SAAS;;;;;;;;;;;EAAiG,CAAC;AACxH,uHAAuH;AACvH,eAAO,MAAM,WAAW;;;;;;;;;;;qHAIrB,CAAC;AACJ,mEAAmE;AACnE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAiC,CAAC;AAE/D,sFAAsF;AACtF,eAAO,MAAM,YAAY;;;;EAAwE,CAAC;AAClG,oMAAoM;AACpM,eAAO,MAAM,aAAa;;;;wHAGvB,CAAC;AACJ,qEAAqE;AACrE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAmC,CAAC;AACnE,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB;;;;;;CAAyE,CAAC;AACxG,uEAAuE;AACvE,eAAO,MAAM,sBAAsB;;;;;;;;;CAAwF,CAAC;AAC5H,oEAAoE;AACpE,eAAO,MAAM,qBAAqB;;;;;;;;;CAAsF,CAAC;AAEzH,oDAAoD;AACpD,eAAO,MAAM,YAAY;;EAAmC,CAAC;AAC7D,sGAAsG;AACtG,eAAO,MAAM,aAAa;;wHAIvB,CAAC;AACJ,yBAAyB;AACzB,eAAO,MAAM,kBAAkB;;;;CAA2E,CAAC;AAC3G,4FAA4F;AAC5F,eAAO,MAAM,UAAU;;EAAiC,CAAC;AACzD,iGAAiG;AACjG,eAAO,MAAM,WAAW;;sHAErB,CAAC;AACJ,uBAAuB;AACvB,eAAO,MAAM,gBAAgB;;;;CAAuE,CAAC;AAErG,eAAO,MAAM,iBAAiB,6CAyB5B,CAAC;AAEH,eAAO,MAAM,uBAAuB,6CAwBlC,CAAC"}
@@ -4,39 +4,90 @@ import { jsx as _jsx } from "@elaraai/e3-ui/jsx-runtime";
4
4
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
5
5
  */
6
6
  /** @jsxImportSource @elaraai/e3-ui */
7
- import { East, example, some } from "@elaraai/east";
7
+ import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, example, none, some } from "@elaraai/east";
8
8
  import { Box, Reactive, Slice, UIComponentType } from "@elaraai/east-ui";
9
9
  import { Data, Plan, Record } from "@elaraai/e3-ui";
10
+ import e3 from "@elaraai/e3";
10
11
  import { IndexedWork, indexedWorkOrders, indexedWorkPatch, indexedWorkByStatusDue, indexedWorkByDue, indexedWorkByJob, indexedWorkByQuantity, indexedWorkByUrgent, indexedWorkByTag } from "../sheet/sheet-records.examples.js";
12
+ /** A job dropped on a press: a decision at the bucket it landed in. */
13
+ export const PlanPressJob = StructType({ key: StringType, at: Plan.Types.Instant });
14
+ /** A press: its name, the crew that runs it (none yet), and the jobs dropped on it. */
15
+ export const PlanPress = StructType({ label: StringType, crew: OptionType(StringType), jobs: ArrayType(PlanPressJob) });
16
+ /** Three presses a Plan canvas takes dropped jobs on, a row each, read a window at a time: Press 2 has no crew yet. */
17
+ export const planPresses = e3.record("plan_presses", DictType(StringType, PlanPress), new Map([
18
+ ["p1", { label: "Press 1", crew: some("Crew A"), jobs: [] }],
19
+ ["p2", { label: "Press 2", crew: none, jobs: [] }],
20
+ ["p3", { label: "Press 3", crew: some("Crew C"), jobs: [] }],
21
+ ]));
22
+ /** The presses' patch door: a canvas's Save commits through it. */
23
+ export const planPressesPatch = e3.mutation.patch(planPresses);
24
+ /** A row a canvas narrows through its rail: when it falls, its owner and its hall. */
25
+ export const PlanDatedRow = StructType({ at: DateTimeType, owner: StringType, hall: StringType });
26
+ /** Rows a canvas's rail narrows, a quarter apart — Team A's in week 27, Team B's in week 39 — by owner and by hall, their dates the window's range: read through the indexes below, never whole. */
27
+ export const planDatedRows = e3.record("plan_dated_rows", DictType(StringType, PlanDatedRow), new Map([
28
+ ["r1", { at: new Date("2026-06-29T00:00:00Z"), owner: "Team A", hall: "Hall 1" }],
29
+ ["r2", { at: new Date("2026-09-21T00:00:00Z"), owner: "Team B", hall: "Hall 1" }],
30
+ ]));
31
+ /** The rows' patch door: another session's rows go in through it. */
32
+ export const planDatedRowsPatch = e3.mutation.patch(planDatedRows);
33
+ /** The rows by date: the window's index. */
34
+ export const planDatedRowsByAt = e3.recordIndex("plan_dated_rows_by_at", planDatedRows, { on: ["at"] });
35
+ /** The rows by owner, then date: an owner chosen beside the window. */
36
+ export const planDatedRowsByOwnerAt = e3.recordIndex("plan_dated_rows_by_owner_at", planDatedRows, { on: ["owner", "at"] });
37
+ /** The rows by hall, then date: a hall chosen beside the window. */
38
+ export const planDatedRowsByHallAt = e3.recordIndex("plan_dated_rows_by_hall_at", planDatedRows, { on: ["hall", "at"] });
39
+ /** An order on a number axis: the day it is due. */
40
+ export const PlanDayOrder = StructType({ day: IntegerType });
41
+ /** Twelve orders, one a day from day 1 to day 12: a number axis's window is a range of their days. */
42
+ export const planDayOrders = e3.record("plan_day_orders", DictType(StringType, PlanDayOrder), new Map([
43
+ ["o01", { day: 1n }], ["o02", { day: 2n }], ["o03", { day: 3n }], ["o04", { day: 4n }],
44
+ ["o05", { day: 5n }], ["o06", { day: 6n }], ["o07", { day: 7n }], ["o08", { day: 8n }],
45
+ ["o09", { day: 9n }], ["o10", { day: 10n }], ["o11", { day: 11n }], ["o12", { day: 12n }],
46
+ ]));
47
+ /** The orders by day. */
48
+ export const planDayOrdersByDay = e3.recordIndex("plan_day_orders_by_day", planDayOrders, { on: ["day"] });
49
+ /** A van's run on a number axis: the day it leaves, which may fall part way through one. */
50
+ export const PlanDayVan = StructType({ day: FloatType });
51
+ /** Two vans, leaving on day 1 and on day 12: a number axis's window is a range of their days. */
52
+ export const planDayVans = e3.record("plan_day_vans", DictType(StringType, PlanDayVan), new Map([
53
+ ["v1", { day: 1.0 }], ["v2", { day: 12.0 }],
54
+ ]));
55
+ /** The vans by day. */
56
+ export const planDayVansByDay = e3.recordIndex("plan_day_vans_by_day", planDayVans, { on: ["day"] });
11
57
  export const planRecordIndexes = example({
12
- description: "The Sheet's 50,000 bound work orders on a Plan. Multiple statuses combine with the Due range through the status/due index; the canvas pages their union. Operations remain nested under their original work-order keys when moved and saved.",
13
- keywords: ["Plan", "Slice", "bindRecord", "indexes", "paging", "Record", "editing", "range", "brush"], inputs: [],
58
+ description: "The Sheet's 50,000 bound work orders on a Plan, narrowed through one rail: the slice's `rows` source (`Slice.bindRecords`) gives the canvas its rows, paged from it. Multiple statuses combine with the Due range through the status/due index, and the Due range is the canvas's window — the toolbar's dates, its range and the horizon brush write it. Operations remain nested under their original work-order keys when moved and saved.",
59
+ keywords: ["Plan", "Slice", "bindRecords", "rows", "indexes", "paging", "Record", "editing", "range", "brush", "window"], inputs: [],
14
60
  fn: East.function([], UIComponentType, _$ => (_jsx(Reactive, { children: $ => {
15
61
  const record = $.let(Record.bind(indexedWorkOrders, [indexedWorkPatch]));
16
- const source = $.let(Data.bindPaged(indexedWorkOrders, { indexes: [indexedWorkByStatusDue, indexedWorkByDue, indexedWorkByJob, indexedWorkByQuantity, indexedWorkByUrgent, indexedWorkByTag] }));
17
- const slice = $.let(Slice.bindRecord("ex.planRecordIndexes.scope", source, {
18
- fields: { status: { label: "Status", hints: ["Ready", "Scheduled", "Done"] }, due: { label: "Due" }, job: { label: "Job" }, quantity: { label: "Quantity" }, urgent: { label: "Urgent" }, tags: { label: "Tag", hints: ["Production", "Dispatch"] } },
19
- range: "due", search: ["job"], initial: { status: ["Ready"], due: { from: new Date("2026-10-01T00:00:00Z"), to: new Date("2026-10-15T00:00:00Z") } },
20
- presets: [{ id: "ready", name: "Ready", where: { status: ["Ready"] } }, { id: "urgent", name: "Urgent", where: { urgent: [true] } }],
21
- }));
22
- return _jsx(Box, { width: "100%", height: "760px", children: _jsx(Plan, { id: "planRecordIndexes", data: Slice.rows(slice), slice: { slice }, axis: Plan.axis({ window: { min: new Date("2026-10-01T00:00:00Z"), max: new Date("2026-12-30T00:00:00Z") }, resolution: "day", resolutions: ["month", "week", "day"] }), series: [Plan.series.span(IndexedWork, { key: "work", title: "Work orders", label: row => row.reference, id: true, sub: row => some(row.status),
62
+ // One rail, its `rows` source the canvas's rows: the orders it narrows to, paged in its index's order.
63
+ const slice = $.let(Slice.bindRecords("ex.planRecordIndexes", {
64
+ rows: {
65
+ source: Data.bindPaged(indexedWorkOrders, { indexes: [indexedWorkByStatusDue, indexedWorkByDue, indexedWorkByJob, indexedWorkByQuantity, indexedWorkByUrgent, indexedWorkByTag] }),
66
+ label: "Work orders",
67
+ fields: { status: { label: "Status", hints: ["Ready", "Scheduled", "Done"] }, due: { label: "Due" }, job: { label: "Job" }, quantity: { label: "Quantity" }, urgent: { label: "Urgent" }, tags: { label: "Tag", hints: ["Production", "Dispatch"] } },
68
+ range: "due", search: ["job"], initial: { status: ["Ready"], due: { from: new Date("2026-10-01T00:00:00Z"), to: new Date("2026-10-15T00:00:00Z") } },
69
+ },
70
+ }, { presets: [{ id: "ready", name: "Ready", where: { rows: { status: ["Ready"] } } }, { id: "urgent", name: "Urgent", where: { rows: { urgent: [true] } } }] }));
71
+ return _jsx(Box, { width: "100%", height: "760px", children: _jsx(Plan, { id: "planRecordIndexes", slice: { slice }, axis: Plan.axis({ window: { min: new Date("2026-10-01T00:00:00Z"), max: new Date("2026-12-30T00:00:00Z") }, resolution: "day", resolutions: ["month", "week", "day"] }), series: [Plan.series.span(IndexedWork, { key: "work", title: "Work orders", label: row => row.reference, id: true, sub: row => some(row.status),
23
72
  runs: row => row.operations.map((_$2, operation) => Plan.run({ key: operation.key, label: operation.label, start: operation.start, end: operation.end, state: "confirmed" })),
24
73
  edit: { items: "operations", key: "key", start: "start", end: "end" },
25
74
  })], editing: { onApply: Record.onApply(record, { keyed: true }) }, style: { height: "fill" } }) });
26
75
  } }))),
27
76
  });
28
77
  export const planRecordIndexesMobile = example({
29
- description: "A phone-width Plan over the same indexed work orders, sharing the responsive Slice controls and date window.",
30
- keywords: ["Plan", "Slice", "bindRecord", "mobile", "indexes", "paging"], inputs: [],
78
+ description: "A phone-width Plan over the same indexed work orders, narrowed through the same one rail — its `rows` source the canvas's rows — sharing the responsive Slice controls and date window.",
79
+ keywords: ["Plan", "Slice", "bindRecords", "rows", "mobile", "indexes", "paging"], inputs: [],
31
80
  fn: East.function([], UIComponentType, _$ => (_jsx(Reactive, { children: $ => {
32
81
  const record = $.let(Record.bind(indexedWorkOrders, [indexedWorkPatch]));
33
- const source = $.let(Data.bindPaged(indexedWorkOrders, { indexes: [indexedWorkByStatusDue, indexedWorkByDue, indexedWorkByJob, indexedWorkByQuantity, indexedWorkByUrgent, indexedWorkByTag] }));
34
- const slice = $.let(Slice.bindRecord("ex.planRecordIndexesMobile.scope", source, {
35
- fields: { status: { label: "Status", hints: ["Ready", "Scheduled", "Done"] }, due: { label: "Due" }, job: { label: "Job" }, quantity: { label: "Quantity" }, urgent: { label: "Urgent" }, tags: { label: "Tag", hints: ["Production", "Dispatch"] } },
36
- range: "due", search: ["job"], initial: { status: ["Ready"], due: { from: new Date("2026-10-01T00:00:00Z"), to: new Date("2026-10-15T00:00:00Z") } },
37
- presets: [{ id: "ready", name: "Ready", where: { status: ["Ready"] } }, { id: "urgent", name: "Urgent", where: { urgent: [true] } }],
38
- }));
39
- return _jsx(Box, { width: "100%", maxWidth: "390px", height: "760px", children: _jsx(Plan, { id: "planRecordIndexesMobile", data: Slice.rows(slice), slice: { slice }, axis: Plan.axis({ window: { min: new Date("2026-10-01T00:00:00Z"), max: new Date("2026-12-30T00:00:00Z") }, resolution: "day", resolutions: ["month", "week", "day"] }), series: [Plan.series.span(IndexedWork, { key: "work", title: "Work orders", label: row => row.reference, id: true, sub: row => some(row.status),
82
+ const slice = $.let(Slice.bindRecords("ex.planRecordIndexesMobile", {
83
+ rows: {
84
+ source: Data.bindPaged(indexedWorkOrders, { indexes: [indexedWorkByStatusDue, indexedWorkByDue, indexedWorkByJob, indexedWorkByQuantity, indexedWorkByUrgent, indexedWorkByTag] }),
85
+ label: "Work orders",
86
+ fields: { status: { label: "Status", hints: ["Ready", "Scheduled", "Done"] }, due: { label: "Due" }, job: { label: "Job" }, quantity: { label: "Quantity" }, urgent: { label: "Urgent" }, tags: { label: "Tag", hints: ["Production", "Dispatch"] } },
87
+ range: "due", search: ["job"], initial: { status: ["Ready"], due: { from: new Date("2026-10-01T00:00:00Z"), to: new Date("2026-10-15T00:00:00Z") } },
88
+ },
89
+ }, { presets: [{ id: "ready", name: "Ready", where: { rows: { status: ["Ready"] } } }, { id: "urgent", name: "Urgent", where: { rows: { urgent: [true] } } }] }));
90
+ return _jsx(Box, { width: "100%", maxWidth: "390px", height: "760px", children: _jsx(Plan, { id: "planRecordIndexesMobile", slice: { slice }, axis: Plan.axis({ window: { min: new Date("2026-10-01T00:00:00Z"), max: new Date("2026-12-30T00:00:00Z") }, resolution: "day", resolutions: ["month", "week", "day"] }), series: [Plan.series.span(IndexedWork, { key: "work", title: "Work orders", label: row => row.reference, id: true, sub: row => some(row.status),
40
91
  runs: row => row.operations.map((_$2, operation) => Plan.run({ key: operation.key, label: operation.label, start: operation.start, end: operation.end, state: "confirmed" })),
41
92
  edit: { items: "operations", key: "key", start: "start", end: "end" },
42
93
  })], editing: { onApply: Record.onApply(record, { keyed: true }) }, style: { height: "fill" } }) });
@@ -1 +1 @@
1
- {"version":3,"file":"plan-records.examples.js","sourceRoot":"","sources":["../../../test/plan/plan-records.examples.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-records.examples.js","sourceRoot":"","sources":["../../../test/plan/plan-records.examples.tsx"],"names":[],"mappings":"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"}