@elaraai/e3-ui 1.0.94 → 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
@@ -12,17 +12,12 @@
12
12
  */
13
13
  import { East, Expr, ArrayType, AsyncFunctionType, BlobType, BooleanType, DictType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, isTypeEqual, ref, toEastTypeValue, variant, some, none, } from "@elaraai/east";
14
14
  import { DensityType, DragEventType, PickBindType, StatusValueType, UIComponentType, } from "@elaraai/east-ui";
15
- import { EditingApplyResultType, EditingChangeSetTypeFor, EditingDraftFieldType, EditingPatchEventTypeWith, EditingReadinessType, EditingWireApplyType, SliceAffordanceType, SliceBindType, SliceChromeType, localSliceHandle, isRecordSlice, recordSliceChrome, buildKeyedInlineApply, buildPagedWindow, buildRowSource, checkedEditingCallback, pickActive, resolveRowSource, resolveTag, } from "@elaraai/east-ui/internal";
15
+ import { EditingApplyResultType, EditingChangeSetTypeFor, EditingDraftFieldType, EditingPatchEventTypeWith, EditingReadinessType, EditingWireApplyType, buildKeyedInlineApply, buildPagedWindow, buildRowSource, checkedEditingCallback, pickActive, resolveRowSource, resolveTag, } from "@elaraai/east-ui/internal";
16
16
  import { PlanAxisType, PlanGrainType, PlanLinkType, PlanRowIdType, PlanGroupToggleEventType, PlanFooterItemType, PlanStyleType, PlanElementRefType, PlanBlocksType, PlanRowsType, PlanUiBindType, PlanEditingType, PlanReadyEntryType, PlanWriteRequestType, PLAN_PAGE_SIZE, } from "./types.js";
17
17
  import { orderedPlanSource } from "./ordered-source.js";
18
18
  import { PlanRootType } from "./ir.js";
19
19
  import { WINDOWLESS_AXES } from "./builders.js";
20
20
  import { applySeries, checkSeries, seriesWriteFn, PlanCarriedType, PlanSeriesType } from "./series.js";
21
- // ============================================================================
22
- // Root
23
- // ============================================================================
24
- /** The default slice affordance list (§1 toolbar). */
25
- const DEFAULT_PLAN_AFFORDANCES = ["cohort", "filter", "search", "range", "resolution", "brush", "summary"];
26
21
  /** The source collection a series list's East type reads — its `derive`'s input, when the list's element is a series variant. */
27
22
  function seriesSourceOf(list) {
28
23
  const element = Expr.type(list).value;
@@ -39,29 +34,33 @@ function seriesSourceOf(list) {
39
34
  * @param config - The canvas's configuration ({@link PlanConfig})
40
35
  * @returns An East expression of {@link PlanRootType}
41
36
  * @throws {Error} When `data` is not a keyed source, `series` / `pick` are both or neither given, two series share a
42
- * key, a bound series list reads another key type than `data`, or the axis states no window and no slice is bound
37
+ * key, a bound series list reads another key type than `data`, or the axis states no window — the canvas alone
38
+ * holds no slice, whose sources' ranges are a Plan's window (`<Plan slice>`, #1344)
43
39
  *
44
40
  * @remarks
45
- * Window and resolution have no callbacks by design: they are slice writes
46
- * (`setRange` / `setResolution`) — hosts observe the slice. A change to the
47
- * data — a dropped card, a moved or resized element — is a draft of the
41
+ * Window and resolution have no callbacks by design: they are writes to the
42
+ * ranges and resolutions of a Plan's slice — hosts observe the slice. A change
43
+ * to the data — a dropped card, a moved or resized element — is a draft of the
48
44
  * `editing` session, saved as one checked batch (#880, #825).
49
45
  */
50
46
  export function createPlanRoot(config) {
51
- return buildPlanRoot(config, undefined);
47
+ return buildPlanRoot(config, undefined, none);
52
48
  }
53
49
  /**
54
50
  * Builds the canvas's root (#1191): its rows over `data`, and then `extra`,
55
51
  * fixed blocks every window serves alike — or, with no `data`, `extra`
56
- * alone.
52
+ * alone — and the chrome of the Plan's narrowing, its sources already
53
+ * checked (`recordSources`, #1344).
57
54
  *
58
55
  * @param config - The canvas's configuration, `data` optional
59
56
  * @param extra - The fixed blocks after `data`'s: a Plan's `rows`
57
+ * @param chrome - The chrome of the Plan's `Slice.bindRecords`; `none` with no slice
60
58
  * @returns An East expression of {@link PlanRootType}
61
- * @throws {Error} As {@link createPlanRoot} does; and with no `data`, a `series`, `pick` or `editing`, each of which reads it
59
+ * @throws {Error} As {@link createPlanRoot} does — an axis stating no window is taken beside a slice, a source of which
60
+ * holds the window in its `range`; and with no `data`, a `series`, `pick` or `editing`, each of which reads it
62
61
  * @internal
63
62
  */
64
- export function buildPlanRoot(config, extra) {
63
+ export function buildPlanRoot(config, extra, chrome) {
65
64
  // A canvas is DEFINED as data + series (+ the root resolvers) — there
66
65
  // is no rows-authoring channel; the IR's inline arm is what inline
67
66
  // application collapses to. A Plan of event kinds or `rows` alone has no data.
@@ -91,17 +90,18 @@ export function buildPlanRoot(config, extra) {
91
90
  "so passing both says it twice and lets the two disagree.");
92
91
  }
93
92
  // There is no fit to the data (#822): every canvas states its window, or
94
- // binds a slice whose range supplies it — inline and paged alike.
95
- if (WINDOWLESS_AXES.has(config.axis) && config.slice === undefined) {
93
+ // its slice holds it, a source's `range` — inline and paged alike.
94
+ if (WINDOWLESS_AXES.has(config.axis) && chrome.type === "none") {
96
95
  throw new Error("Plan: the axis states no `window` and no `slice` is bound — declare the window " +
97
- "(`Plan.axis({ window: { min, max }, … })`), or bind a slice whose range supplies it. " +
96
+ "(`Plan.axis({ window: { min, max }, … })`), or bind a slice a source of which holds it in its `range`: " +
97
+ "slice={{ slice: Slice.bindRecords(key, { rows: { source, range } }) }}. " +
98
98
  "A canvas never fits its axis to the data, so it reads the same inline and paged.");
99
99
  }
100
100
  if (config.series !== undefined)
101
101
  checkSeries(config.series, "Plan");
102
102
  const data = config.data;
103
103
  if (data === undefined)
104
- return rootOf(config, East.value(variant("inline", extra), PlanRowsType), undefined);
104
+ return rootOf(config, East.value(variant("inline", extra), PlanRowsType), undefined, chrome);
105
105
  // A pick feeds the canvas its SURVIVING series; everything downstream sees
106
106
  // one series input either way.
107
107
  const seriesInput = config.pick !== undefined
@@ -143,17 +143,18 @@ export function buildPlanRoot(config, extra) {
143
143
  return extra === undefined ? blocks : blocks.concat(extra);
144
144
  });
145
145
  const editing = config.editing === undefined ? undefined : buildPlanEditing(resolved, seriesInput, config.editing);
146
- return rootOf(config, rowsValue, editing === undefined ? undefined : ordered?.editing(editing) ?? editing);
146
+ return rootOf(config, rowsValue, editing === undefined ? undefined : ordered?.editing(editing) ?? editing, chrome);
147
147
  }
148
148
  /**
149
- * The canvas's root around its rows and its editing session.
149
+ * The canvas's root around its rows, its editing session and its narrowing's chrome.
150
150
  *
151
151
  * @param config - The canvas's configuration
152
152
  * @param rowsValue - Its rows: inline blocks, or a paged source of them
153
153
  * @param editing - Its editing session over `data`, if it has one
154
+ * @param chrome - The chrome of the Plan's `Slice.bindRecords`; `none` with no slice
154
155
  * @returns An East expression of {@link PlanRootType}
155
156
  */
156
- function rootOf(config, rowsValue, editing) {
157
+ function rootOf(config, rowsValue, editing, chrome) {
157
158
  const style = config.style;
158
159
  const styleValue = style !== undefined
159
160
  ? some(East.value({
@@ -163,14 +164,6 @@ function rootOf(config, rowsValue, editing) {
163
164
  gutterWidth: style.gutterWidth !== undefined ? some(style.gutterWidth) : none,
164
165
  }, PlanStyleType))
165
166
  : none;
166
- const record = config.slice !== undefined && isRecordSlice(config.slice.slice);
167
- const recordOptions = record ? config.slice : undefined;
168
- const sliceChrome = config.slice !== undefined && !record
169
- ? some(East.value({
170
- slice: localSliceHandle(config.slice.slice),
171
- affordances: East.value((config.slice.affordances ?? DEFAULT_PLAN_AFFORDANCES).map(a => variant(a, null)), ArrayType(SliceAffordanceType)),
172
- }, SliceChromeType))
173
- : none;
174
167
  return East.value({
175
168
  rows: rowsValue,
176
169
  links: East.value(config.links ?? [], ArrayType(PlanLinkType)),
@@ -196,7 +189,7 @@ function rootOf(config, rowsValue, editing) {
196
189
  pick: config.pick !== undefined
197
190
  ? some(East.value(config.pick.pick, PickBindType))
198
191
  : none,
199
- slice: sliceChrome,
192
+ slice: chrome,
200
193
  footer: (config.footer ?? []).map(f => East.value({
201
194
  text: f.text,
202
195
  tone: f.tone !== undefined ? some(resolveTag(f.tone, StatusValueType)) : none,
@@ -213,9 +206,6 @@ function rootOf(config, rowsValue, editing) {
213
206
  onGrainChange: config.onGrainChange !== undefined ? some(config.onGrainChange) : none,
214
207
  ui: config.ui !== undefined ? some(East.value(config.ui, PlanUiBindType)) : none,
215
208
  style: styleValue,
216
- recordSlice: recordOptions === undefined ? none : some(recordSliceChrome({ ...recordOptions,
217
- affordances: recordOptions.affordances ?? ["fields", "presets", "summary", "brush"],
218
- })),
219
209
  }, PlanRootType);
220
210
  }
221
211
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/plan/root.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/plan/root.ts"],"names":[],"mappings":"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"}
@@ -2,239 +2,25 @@
2
2
  * Copyright (c) 2025 Elara AI Pty Ltd
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
- import { ArrayType, BooleanType, DictType, FloatType, IntegerType, StringType } from "@elaraai/east";
5
+ import { DictType, FloatType, StringType, type EastType, type ExprType, type FunctionType } from "@elaraai/east";
6
+ import { RosterContextType, RosterCoverageType, RosterPayType, RosterSlotType, RosterWeekTypeFor } from "./types.js";
6
7
  /**
7
- * Calculates every configured slot's staffing, activity coverage and cost.
8
- * @param week - The week, with any drafts already applied
9
- * @param context - Complete staff and configuration, independent of visibility filters
10
- * @returns Coverage keyed by day, group and shift
11
- * @remarks Pure East: tasks and the renderer compile this same calculation. Requests fill positions, but never supply skills or a lead.
8
+ * Calculates every configured slot's staffing, activity coverage and pay
9
+ * (`Builder Interfaces Spec.md` §5.4).
10
+ *
11
+ * @typeParam R - The app's duty row type
12
+ * @param row - The app's duty row type
13
+ * @returns An East function `(week, context, pay) → Dict<Slot, Coverage>`: coverage keyed by day, group and shift
14
+ * @remarks Pure East: tasks and the renderer compile this same calculation. Each duty counts its own hours; requests fill positions, but never supply skills or a lead. A slot's cost is its duties' pay, every code summed: zero without `pay`.
12
15
  */
13
- export declare const rosterCoverage: import("@elaraai/east").CallableFunctionExpr<[import("@elaraai/east").StructType<{
14
- readonly status: import("@elaraai/east").VariantType<{
15
- readonly draft: import("@elaraai/east").NullType;
16
- readonly published: import("@elaraai/east").StructType<{
17
- readonly at: import("@elaraai/east").DateTimeType;
18
- }>;
19
- }>;
20
- readonly assignments: DictType<StringType, import("@elaraai/east").StructType<{
21
- readonly slot: import("@elaraai/east").StructType<{
22
- readonly day: IntegerType;
23
- readonly group: StringType;
24
- readonly shift: StringType;
25
- }>;
26
- readonly who: import("@elaraai/east").VariantType<{
27
- readonly person: StringType;
28
- readonly request: StringType;
29
- }>;
30
- readonly position: StringType;
31
- readonly activity: import("@elaraai/east").OptionType<StringType>;
32
- readonly offset: FloatType;
33
- readonly overtime: FloatType;
34
- readonly agreed: import("@elaraai/east").OptionType<BooleanType>;
35
- }>>;
36
- readonly requirements: DictType<import("@elaraai/east").StructType<{
37
- readonly day: IntegerType;
38
- readonly group: StringType;
39
- readonly shift: StringType;
40
- }>, import("@elaraai/east").StructType<{
41
- readonly positions: IntegerType;
42
- readonly hours: DictType<StringType, FloatType>;
43
- }>>;
44
- readonly dismissed: import("@elaraai/east").SetType<StringType>;
45
- }>, import("@elaraai/east").StructType<{
46
- readonly people: DictType<StringType, import("@elaraai/east").StructType<{
47
- readonly key: StringType;
48
- readonly name: StringType;
49
- readonly group: StringType;
50
- readonly position: StringType;
51
- readonly skills: import("@elaraai/east").SetType<StringType>;
52
- readonly contract: FloatType;
53
- readonly agency: BooleanType;
54
- readonly trainer: BooleanType;
55
- readonly trainee: BooleanType;
56
- readonly usual: import("@elaraai/east").OptionType<StringType>;
57
- }>>;
58
- readonly groups: ArrayType<import("@elaraai/east").StructType<{
59
- readonly key: StringType;
60
- readonly label: StringType;
61
- readonly skills: ArrayType<import("@elaraai/east").StructType<{
62
- readonly key: StringType;
63
- readonly label: StringType;
64
- readonly code: StringType;
65
- }>>;
66
- }>>;
67
- readonly duties: ArrayType<import("@elaraai/east").StructType<{
68
- readonly key: StringType;
69
- readonly label: StringType;
70
- readonly code: StringType;
71
- }>>;
72
- readonly shifts: ArrayType<import("@elaraai/east").StructType<{
73
- readonly key: StringType;
74
- readonly label: StringType;
75
- readonly code: StringType;
76
- readonly start: import("@elaraai/east").StructType<{
77
- readonly hour: IntegerType;
78
- readonly minute: IntegerType;
79
- }>;
80
- readonly hours: FloatType;
81
- }>>;
82
- readonly positions: ArrayType<import("@elaraai/east").StructType<{
83
- readonly key: StringType;
84
- readonly label: StringType;
85
- readonly code: StringType;
86
- readonly lead: BooleanType;
87
- }>>;
88
- readonly agencies: ArrayType<import("@elaraai/east").StructType<{
89
- readonly key: StringType;
90
- readonly name: StringType;
91
- }>>;
92
- readonly rules: import("@elaraai/east").StructType<{
93
- readonly rest: FloatType;
94
- readonly lead: BooleanType;
95
- readonly trainer: BooleanType;
96
- readonly skill: BooleanType;
97
- readonly agree: BooleanType;
98
- }>;
99
- readonly costs: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
100
- readonly currency: StringType;
101
- readonly rates: import("@elaraai/east").StructType<{
102
- readonly permanent: FloatType;
103
- readonly overtime: FloatType;
104
- readonly agency: FloatType;
105
- }>;
106
- readonly budget: import("@elaraai/east").OptionType<FloatType>;
107
- }>>;
108
- }>], DictType<import("@elaraai/east").StructType<{
109
- readonly day: IntegerType;
110
- readonly group: StringType;
111
- readonly shift: StringType;
112
- }>, import("@elaraai/east").StructType<{
113
- readonly positions: IntegerType;
114
- readonly filled: IntegerType;
115
- readonly open: IntegerType;
116
- readonly people: IntegerType;
117
- readonly hours: import("@elaraai/east").StructType<{
118
- readonly permanent: FloatType;
119
- readonly agency: FloatType;
120
- readonly overtime: FloatType;
121
- readonly requested: FloatType;
122
- readonly needed: FloatType;
123
- readonly rostered: FloatType;
124
- }>;
125
- readonly lines: ArrayType<import("@elaraai/east").StructType<{
126
- readonly skill: StringType;
127
- readonly needed: FloatType;
128
- readonly holders: import("@elaraai/east").OptionType<IntegerType>;
129
- readonly capacity: import("@elaraai/east").OptionType<FloatType>;
130
- readonly gap: FloatType;
131
- readonly assigned: FloatType;
132
- }>>;
133
- readonly cost: FloatType;
134
- readonly lead: BooleanType;
135
- readonly trainer: BooleanType;
136
- }>>>;
16
+ export declare function rosterCoverage<R extends EastType>(row: R): ExprType<FunctionType<[RosterWeekTypeFor<R>, RosterContextType, RosterPayType], DictType<RosterSlotType, RosterCoverageType>>>;
137
17
  /**
138
- * Calculates each person's nominal shift hours plus overtime for the week.
139
- * @param week - The drafted week
140
- * @param context - Complete reference data
141
- * @returns Weekly hours keyed by the original staff key, including zero for unassigned staff
142
- * @remarks Used by both layouts, library cards and the inspector; start offsets do not shorten a shift.
18
+ * Calculates each person's hours for the week: each of their duties' hours.
19
+ *
20
+ * @typeParam R - The app's duty row type
21
+ * @param row - The app's duty row type
22
+ * @returns An East function `(week, context) → Dict<String, Float>`: weekly hours by the original staff key, zero for unassigned staff
23
+ * @remarks Used by both layouts, library cards and the inspector, and by the ready-made fit.
143
24
  */
144
- export declare const rosterWeekHours: import("@elaraai/east").CallableFunctionExpr<[import("@elaraai/east").StructType<{
145
- readonly status: import("@elaraai/east").VariantType<{
146
- readonly draft: import("@elaraai/east").NullType;
147
- readonly published: import("@elaraai/east").StructType<{
148
- readonly at: import("@elaraai/east").DateTimeType;
149
- }>;
150
- }>;
151
- readonly assignments: DictType<StringType, import("@elaraai/east").StructType<{
152
- readonly slot: import("@elaraai/east").StructType<{
153
- readonly day: IntegerType;
154
- readonly group: StringType;
155
- readonly shift: StringType;
156
- }>;
157
- readonly who: import("@elaraai/east").VariantType<{
158
- readonly person: StringType;
159
- readonly request: StringType;
160
- }>;
161
- readonly position: StringType;
162
- readonly activity: import("@elaraai/east").OptionType<StringType>;
163
- readonly offset: FloatType;
164
- readonly overtime: FloatType;
165
- readonly agreed: import("@elaraai/east").OptionType<BooleanType>;
166
- }>>;
167
- readonly requirements: DictType<import("@elaraai/east").StructType<{
168
- readonly day: IntegerType;
169
- readonly group: StringType;
170
- readonly shift: StringType;
171
- }>, import("@elaraai/east").StructType<{
172
- readonly positions: IntegerType;
173
- readonly hours: DictType<StringType, FloatType>;
174
- }>>;
175
- readonly dismissed: import("@elaraai/east").SetType<StringType>;
176
- }>, import("@elaraai/east").StructType<{
177
- readonly people: DictType<StringType, import("@elaraai/east").StructType<{
178
- readonly key: StringType;
179
- readonly name: StringType;
180
- readonly group: StringType;
181
- readonly position: StringType;
182
- readonly skills: import("@elaraai/east").SetType<StringType>;
183
- readonly contract: FloatType;
184
- readonly agency: BooleanType;
185
- readonly trainer: BooleanType;
186
- readonly trainee: BooleanType;
187
- readonly usual: import("@elaraai/east").OptionType<StringType>;
188
- }>>;
189
- readonly groups: ArrayType<import("@elaraai/east").StructType<{
190
- readonly key: StringType;
191
- readonly label: StringType;
192
- readonly skills: ArrayType<import("@elaraai/east").StructType<{
193
- readonly key: StringType;
194
- readonly label: StringType;
195
- readonly code: StringType;
196
- }>>;
197
- }>>;
198
- readonly duties: ArrayType<import("@elaraai/east").StructType<{
199
- readonly key: StringType;
200
- readonly label: StringType;
201
- readonly code: StringType;
202
- }>>;
203
- readonly shifts: ArrayType<import("@elaraai/east").StructType<{
204
- readonly key: StringType;
205
- readonly label: StringType;
206
- readonly code: StringType;
207
- readonly start: import("@elaraai/east").StructType<{
208
- readonly hour: IntegerType;
209
- readonly minute: IntegerType;
210
- }>;
211
- readonly hours: FloatType;
212
- }>>;
213
- readonly positions: ArrayType<import("@elaraai/east").StructType<{
214
- readonly key: StringType;
215
- readonly label: StringType;
216
- readonly code: StringType;
217
- readonly lead: BooleanType;
218
- }>>;
219
- readonly agencies: ArrayType<import("@elaraai/east").StructType<{
220
- readonly key: StringType;
221
- readonly name: StringType;
222
- }>>;
223
- readonly rules: import("@elaraai/east").StructType<{
224
- readonly rest: FloatType;
225
- readonly lead: BooleanType;
226
- readonly trainer: BooleanType;
227
- readonly skill: BooleanType;
228
- readonly agree: BooleanType;
229
- }>;
230
- readonly costs: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
231
- readonly currency: StringType;
232
- readonly rates: import("@elaraai/east").StructType<{
233
- readonly permanent: FloatType;
234
- readonly overtime: FloatType;
235
- readonly agency: FloatType;
236
- }>;
237
- readonly budget: import("@elaraai/east").OptionType<FloatType>;
238
- }>>;
239
- }>], DictType<StringType, FloatType>>;
25
+ export declare function rosterWeekHours<R extends EastType>(row: R): ExprType<FunctionType<[RosterWeekTypeFor<R>, RosterContextType], DictType<StringType, FloatType>>>;
240
26
  //# sourceMappingURL=coverage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../src/roster/coverage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAQ,SAAS,EAAE,WAAW,EAAE,UAAU,EAAc,MAAM,eAAe,CAAC;AAMvH;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0EzB,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAY1B,CAAC"}
1
+ {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../src/roster/coverage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACqB,QAAQ,EAAQ,SAAS,EAAe,UAAU,EAC1E,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAClD,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,iBAAiB,EAA0B,kBAAkB,EAAE,aAAa,EAC5E,cAAc,EAAE,iBAAiB,EACpC,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,CAAC,GA2EpC,QAAQ,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAClJ;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,CAAC,GAUrC,QAAQ,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CACtH"}