@elaraai/e3-ui 1.0.96 → 1.0.98

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 (304) hide show
  1. package/dist/src/allocation/index.d.ts +258 -7
  2. package/dist/src/allocation/index.d.ts.map +1 -1
  3. package/dist/src/allocation/index.js +30 -1
  4. package/dist/src/allocation/index.js.map +1 -1
  5. package/dist/src/allocation/types.d.ts +41 -0
  6. package/dist/src/allocation/types.d.ts.map +1 -1
  7. package/dist/src/allocation/types.js +35 -0
  8. package/dist/src/allocation/types.js.map +1 -1
  9. package/dist/src/bind/data-indexed.d.ts +31 -4
  10. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  11. package/dist/src/bind/data-indexed.js +54 -10
  12. package/dist/src/bind/data-indexed.js.map +1 -1
  13. package/dist/src/calendar/index.d.ts +540 -14
  14. package/dist/src/calendar/index.d.ts.map +1 -1
  15. package/dist/src/calendar/index.js +43 -7
  16. package/dist/src/calendar/index.js.map +1 -1
  17. package/dist/src/calendar/paged.d.ts +89 -0
  18. package/dist/src/calendar/paged.d.ts.map +1 -0
  19. package/dist/src/calendar/paged.js +148 -0
  20. package/dist/src/calendar/paged.js.map +1 -0
  21. package/dist/src/flowchart/payload.d.ts +156 -0
  22. package/dist/src/flowchart/payload.d.ts.map +1 -1
  23. package/dist/src/flowchart/window.d.ts +12 -0
  24. package/dist/src/flowchart/window.d.ts.map +1 -1
  25. package/dist/src/index.d.ts +11 -2
  26. package/dist/src/index.d.ts.map +1 -1
  27. package/dist/src/index.js +19 -0
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/internal.d.ts +11 -5
  30. package/dist/src/internal.d.ts.map +1 -1
  31. package/dist/src/internal.js +28 -7
  32. package/dist/src/internal.js.map +1 -1
  33. package/dist/src/plan/builders.d.ts +12 -8
  34. package/dist/src/plan/builders.d.ts.map +1 -1
  35. package/dist/src/plan/builders.js +12 -8
  36. package/dist/src/plan/builders.js.map +1 -1
  37. package/dist/src/plan/event-rows.d.ts +228 -156
  38. package/dist/src/plan/event-rows.d.ts.map +1 -1
  39. package/dist/src/plan/event-rows.js +239 -54
  40. package/dist/src/plan/event-rows.js.map +1 -1
  41. package/dist/src/plan/index.d.ts +5 -0
  42. package/dist/src/plan/index.d.ts.map +1 -1
  43. package/dist/src/plan/index.js +3 -0
  44. package/dist/src/plan/index.js.map +1 -1
  45. package/dist/src/plan/ir.d.ts +70 -0
  46. package/dist/src/plan/ir.d.ts.map +1 -1
  47. package/dist/src/plan/ordered-source.d.ts +2038 -1
  48. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  49. package/dist/src/plan/ordered-source.js +19 -11
  50. package/dist/src/plan/ordered-source.js.map +1 -1
  51. package/dist/src/plan/plan.d.ts +513 -32
  52. package/dist/src/plan/plan.d.ts.map +1 -1
  53. package/dist/src/plan/plan.js +119 -32
  54. package/dist/src/plan/plan.js.map +1 -1
  55. package/dist/src/plan/root.d.ts +4 -2
  56. package/dist/src/plan/root.d.ts.map +1 -1
  57. package/dist/src/plan/root.js +6 -4
  58. package/dist/src/plan/root.js.map +1 -1
  59. package/dist/src/plan/series.d.ts +13 -0
  60. package/dist/src/plan/series.d.ts.map +1 -1
  61. package/dist/src/plan/series.js +61 -7
  62. package/dist/src/plan/series.js.map +1 -1
  63. package/dist/src/plan/types.d.ts +14 -0
  64. package/dist/src/plan/types.d.ts.map +1 -1
  65. package/dist/src/plan/types.js +8 -0
  66. package/dist/src/plan/types.js.map +1 -1
  67. package/dist/src/roster/index.d.ts +608 -20
  68. package/dist/src/roster/index.d.ts.map +1 -1
  69. package/dist/src/roster/index.js +103 -29
  70. package/dist/src/roster/index.js.map +1 -1
  71. package/dist/src/roster/library.d.ts +12 -2
  72. package/dist/src/roster/library.d.ts.map +1 -1
  73. package/dist/src/roster/library.js +8 -0
  74. package/dist/src/roster/library.js.map +1 -1
  75. package/dist/src/roster/lists.d.ts +59 -12
  76. package/dist/src/roster/lists.d.ts.map +1 -1
  77. package/dist/src/roster/lists.js +51 -58
  78. package/dist/src/roster/lists.js.map +1 -1
  79. package/dist/src/roster/times.d.ts +402 -0
  80. package/dist/src/roster/times.d.ts.map +1 -1
  81. package/dist/src/roster/types.d.ts +913 -1
  82. package/dist/src/roster/types.d.ts.map +1 -1
  83. package/dist/src/roster/types.js +43 -3
  84. package/dist/src/roster/types.js.map +1 -1
  85. package/dist/src/schedule/cell-checks.d.ts +85 -0
  86. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  87. package/dist/src/schedule/cell-checks.js +211 -0
  88. package/dist/src/schedule/cell-checks.js.map +1 -0
  89. package/dist/src/schedule/events.d.ts +42 -10
  90. package/dist/src/schedule/events.d.ts.map +1 -1
  91. package/dist/src/schedule/events.js +349 -155
  92. package/dist/src/schedule/events.js.map +1 -1
  93. package/dist/src/schedule/fields.d.ts +134 -0
  94. package/dist/src/schedule/fields.d.ts.map +1 -0
  95. package/dist/src/schedule/fields.js +207 -0
  96. package/dist/src/schedule/fields.js.map +1 -0
  97. package/dist/src/schedule/library.d.ts +11 -3
  98. package/dist/src/schedule/library.d.ts.map +1 -1
  99. package/dist/src/schedule/library.js +9 -6
  100. package/dist/src/schedule/library.js.map +1 -1
  101. package/dist/src/schedule/optimise.d.ts +124 -0
  102. package/dist/src/schedule/optimise.d.ts.map +1 -0
  103. package/dist/src/schedule/optimise.js +140 -0
  104. package/dist/src/schedule/optimise.js.map +1 -0
  105. package/dist/src/schedule/pages.d.ts +76 -0
  106. package/dist/src/schedule/pages.d.ts.map +1 -0
  107. package/dist/src/schedule/pages.js +86 -0
  108. package/dist/src/schedule/pages.js.map +1 -0
  109. package/dist/src/schedule/record-window.d.ts +119 -6
  110. package/dist/src/schedule/record-window.d.ts.map +1 -1
  111. package/dist/src/schedule/record-window.js +139 -60
  112. package/dist/src/schedule/record-window.js.map +1 -1
  113. package/dist/src/schedule/resources.d.ts +8 -4
  114. package/dist/src/schedule/resources.d.ts.map +1 -1
  115. package/dist/src/schedule/resources.js +35 -15
  116. package/dist/src/schedule/resources.js.map +1 -1
  117. package/dist/src/schedule/session.d.ts +14 -0
  118. package/dist/src/schedule/session.d.ts.map +1 -1
  119. package/dist/src/schedule/session.js +29 -17
  120. package/dist/src/schedule/session.js.map +1 -1
  121. package/dist/src/schedule/types.d.ts +426 -36
  122. package/dist/src/schedule/types.d.ts.map +1 -1
  123. package/dist/src/schedule/types.js +63 -17
  124. package/dist/src/schedule/types.js.map +1 -1
  125. package/dist/src/schedule/window.d.ts +30 -9
  126. package/dist/src/schedule/window.d.ts.map +1 -1
  127. package/dist/src/schedule/window.js +101 -49
  128. package/dist/src/schedule/window.js.map +1 -1
  129. package/dist/src/schematic/index.d.ts +277 -0
  130. package/dist/src/schematic/index.d.ts.map +1 -0
  131. package/dist/src/schematic/index.js +206 -0
  132. package/dist/src/schematic/index.js.map +1 -0
  133. package/dist/src/schematic/kinds.d.ts +501 -0
  134. package/dist/src/schematic/kinds.d.ts.map +1 -0
  135. package/dist/src/schematic/kinds.js +1027 -0
  136. package/dist/src/schematic/kinds.js.map +1 -0
  137. package/dist/src/schematic/layers.d.ts +74 -0
  138. package/dist/src/schematic/layers.d.ts.map +1 -0
  139. package/dist/src/schematic/layers.js +99 -0
  140. package/dist/src/schematic/layers.js.map +1 -0
  141. package/dist/src/schematic/library.d.ts +202 -0
  142. package/dist/src/schematic/library.d.ts.map +1 -0
  143. package/dist/src/schematic/library.js +244 -0
  144. package/dist/src/schematic/library.js.map +1 -0
  145. package/dist/src/schematic/payload.d.ts +8360 -0
  146. package/dist/src/schematic/payload.d.ts.map +1 -0
  147. package/dist/src/schematic/payload.js +446 -0
  148. package/dist/src/schematic/payload.js.map +1 -0
  149. package/dist/src/schematic/schematic.d.ts +27 -0
  150. package/dist/src/schematic/schematic.d.ts.map +1 -0
  151. package/dist/src/schematic/schematic.js +17 -0
  152. package/dist/src/schematic/schematic.js.map +1 -0
  153. package/dist/src/schematic/shapes.d.ts +150 -0
  154. package/dist/src/schematic/shapes.d.ts.map +1 -0
  155. package/dist/src/schematic/shapes.js +171 -0
  156. package/dist/src/schematic/shapes.js.map +1 -0
  157. package/dist/src/schematic/templates.d.ts +96 -0
  158. package/dist/src/schematic/templates.d.ts.map +1 -0
  159. package/dist/src/schematic/templates.js +91 -0
  160. package/dist/src/schematic/templates.js.map +1 -0
  161. package/dist/src/schematic/types.d.ts +5766 -0
  162. package/dist/src/schematic/types.d.ts.map +1 -0
  163. package/dist/src/schematic/types.js +688 -0
  164. package/dist/src/schematic/types.js.map +1 -0
  165. package/dist/src/schematic/window.d.ts +212 -0
  166. package/dist/src/schematic/window.d.ts.map +1 -0
  167. package/dist/src/schematic/window.js +337 -0
  168. package/dist/src/schematic/window.js.map +1 -0
  169. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  170. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  171. package/dist/src/sheet/editing-bridge.js +8 -2
  172. package/dist/src/sheet/editing-bridge.js.map +1 -1
  173. package/dist/src/sheet/editing-types.d.ts +9 -5
  174. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  175. package/dist/src/sheet/editing-types.js +9 -5
  176. package/dist/src/sheet/editing-types.js.map +1 -1
  177. package/dist/src/sheet/index.d.ts +18 -8
  178. package/dist/src/sheet/index.d.ts.map +1 -1
  179. package/dist/src/sheet/index.js +15 -7
  180. package/dist/src/sheet/index.js.map +1 -1
  181. package/dist/src/sheet/optimise.d.ts +69 -0
  182. package/dist/src/sheet/optimise.d.ts.map +1 -0
  183. package/dist/src/sheet/optimise.js +81 -0
  184. package/dist/src/sheet/optimise.js.map +1 -0
  185. package/dist/src/sheet/registers.d.ts +5 -5
  186. package/dist/src/sheet/registers.js +5 -5
  187. package/dist/src/sheet/root.d.ts +2 -0
  188. package/dist/src/sheet/root.d.ts.map +1 -1
  189. package/dist/src/sheet/root.js +2 -2
  190. package/dist/src/sheet/root.js.map +1 -1
  191. package/dist/src/sheet/sheet.d.ts +753 -573
  192. package/dist/src/sheet/sheet.d.ts.map +1 -1
  193. package/dist/src/sheet/sheet.js +45 -13
  194. package/dist/src/sheet/sheet.js.map +1 -1
  195. package/dist/src/sheet/types.d.ts +92 -12
  196. package/dist/src/sheet/types.d.ts.map +1 -1
  197. package/dist/src/sheet/types.js +4 -8
  198. package/dist/src/sheet/types.js.map +1 -1
  199. package/dist/src/utils/keyed-rows.d.ts +41 -0
  200. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  201. package/dist/src/utils/keyed-rows.js +64 -0
  202. package/dist/src/utils/keyed-rows.js.map +1 -0
  203. package/dist/src/utils/optimise.d.ts +79 -0
  204. package/dist/src/utils/optimise.d.ts.map +1 -0
  205. package/dist/src/utils/optimise.js +46 -0
  206. package/dist/src/utils/optimise.js.map +1 -0
  207. package/dist/test/allocation/allocation.examples.d.ts +6 -18
  208. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  209. package/dist/test/allocation/allocation.examples.js +3 -3
  210. package/dist/test/allocation/allocation.examples.js.map +1 -1
  211. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  212. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  213. package/dist/test/allocation/optimise.examples.js +223 -0
  214. package/dist/test/allocation/optimise.examples.js.map +1 -0
  215. package/dist/test/bind/data/data.examples.d.ts +540 -36
  216. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  217. package/dist/test/bind/data/data.examples.js +66 -2
  218. package/dist/test/bind/data/data.examples.js.map +1 -1
  219. package/dist/test/bind/record/record.examples.d.ts +1 -3
  220. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  221. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  222. package/dist/test/calendar/calendar-records.examples.js +3 -3
  223. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  224. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  225. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  226. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  227. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  228. package/dist/test/calendar/calendar.examples.d.ts +7 -21
  229. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  230. package/dist/test/calendar/calendar.examples.js +7 -7
  231. package/dist/test/calendar/calendar.examples.js.map +1 -1
  232. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  233. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  234. package/dist/test/calendar/optimise.examples.js +75 -0
  235. package/dist/test/calendar/optimise.examples.js.map +1 -0
  236. package/dist/test/examples-package.d.ts +46 -10
  237. package/dist/test/examples-package.d.ts.map +1 -1
  238. package/dist/test/examples-package.js +142 -32
  239. package/dist/test/examples-package.js.map +1 -1
  240. package/dist/test/flowchart/flowchart.examples.d.ts +10 -30
  241. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  242. package/dist/test/plan/optimise.examples.d.ts +207 -0
  243. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  244. package/dist/test/plan/optimise.examples.js +98 -0
  245. package/dist/test/plan/optimise.examples.js.map +1 -0
  246. package/dist/test/plan/plan-events.examples.d.ts +8 -24
  247. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  248. package/dist/test/plan/plan-events.examples.js +3 -3
  249. package/dist/test/plan/plan-events.examples.js.map +1 -1
  250. package/dist/test/plan/plan-records.examples.d.ts +200 -19
  251. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  252. package/dist/test/plan/plan-records.examples.js +125 -28
  253. package/dist/test/plan/plan-records.examples.js.map +1 -1
  254. package/dist/test/plan/plan-windows.examples.d.ts +853 -36
  255. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  256. package/dist/test/plan/plan-windows.examples.js +166 -29
  257. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  258. package/dist/test/plan/plan.examples.d.ts +7 -21
  259. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  260. package/dist/test/plan/plan.examples.js +11 -9
  261. package/dist/test/plan/plan.examples.js.map +1 -1
  262. package/dist/test/roster/domain.examples.d.ts +804 -0
  263. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  264. package/dist/test/roster/domain.examples.js +3 -3
  265. package/dist/test/roster/domain.examples.js.map +1 -1
  266. package/dist/test/roster/optimise.examples.d.ts +485 -0
  267. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  268. package/dist/test/roster/optimise.examples.js +155 -0
  269. package/dist/test/roster/optimise.examples.js.map +1 -0
  270. package/dist/test/roster/roster-records.examples.d.ts +6 -18
  271. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  272. package/dist/test/roster/roster-records.examples.js +1 -1
  273. package/dist/test/roster/roster-records.examples.js.map +1 -1
  274. package/dist/test/roster/roster.examples.d.ts +3391 -21
  275. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  276. package/dist/test/roster/roster.examples.js +54 -7
  277. package/dist/test/roster/roster.examples.js.map +1 -1
  278. package/dist/test/roster/warehouse.d.ts +150 -7
  279. package/dist/test/roster/warehouse.d.ts.map +1 -1
  280. package/dist/test/roster/warehouse.js +36 -11
  281. package/dist/test/roster/warehouse.js.map +1 -1
  282. package/dist/test/schedule/schedule.examples.d.ts +1 -3
  283. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  284. package/dist/test/schematic/schematic-records.examples.d.ts +444 -0
  285. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  286. package/dist/test/schematic/schematic-records.examples.js +205 -0
  287. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  288. package/dist/test/schematic/schematic.examples.d.ts +2289 -0
  289. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  290. package/dist/test/schematic/schematic.examples.js +453 -0
  291. package/dist/test/schematic/schematic.examples.js.map +1 -0
  292. package/dist/test/sheet/optimise.examples.d.ts +177 -0
  293. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  294. package/dist/test/sheet/optimise.examples.js +75 -0
  295. package/dist/test/sheet/optimise.examples.js.map +1 -0
  296. package/dist/test/sheet/sheet-records.examples.d.ts +95 -204
  297. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  298. package/dist/test/sheet/sheet-records.examples.js +42 -17
  299. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  300. package/dist/test/sheet/sheet.examples.d.ts +17 -33
  301. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  302. package/dist/test/sheet/sheet.examples.js +18 -15
  303. package/dist/test/sheet/sheet.examples.js.map +1 -1
  304. package/package.json +11 -11
@@ -6,12 +6,13 @@
6
6
  * The warehouse, transcribed from docs/proposals/Roster Spec.html into records
7
7
  * of its own (#1368, `Builder Interfaces Spec.md` §5.7): its duties, the weeks
8
8
  * of its rota, its cover targets and suggestions, its pay rates, its staff and
9
- * agencies, and its shift times, teams, positions and activities. Every name
10
- * and figure is generated. Beside them, the Roster's reading of the two seeded
11
- * weeks (`Roster.Types.Week(WarehouseDuty)`), which the Roster's own reading
12
- * of the duties is held to on e3 (e3-ui-components' `test/roster-payload.spec.ts`).
9
+ * agencies, its shift times, teams, positions and activities, and its week
10
+ * patterns (#1406). Every name and figure is generated. Beside them, the
11
+ * Roster's reading of the two seeded weeks (`Roster.Types.Week(WarehouseDuty)`),
12
+ * which the Roster's own reading of the duties is held to on e3
13
+ * (e3-ui-components' `test/roster-payload.spec.ts`).
13
14
  */
14
- import { BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, SetType, SortedMap, StringType, StructType, VariantType, type ValueTypeOf } from "@elaraai/east";
15
+ import { ArrayType, BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, SetType, SortedMap, StringType, StructType, VariantType, type ValueTypeOf } from "@elaraai/east";
15
16
  /** One of the warehouse's staff. */
16
17
  export declare const WarehousePerson: StructType<{
17
18
  readonly name: StringType;
@@ -85,7 +86,7 @@ export declare const WarehouseSuggestion: StructType<{
85
86
  export declare const WarehouseAgency: StructType<{
86
87
  readonly name: StringType;
87
88
  }>;
88
- /** A shift: its name, its code, when it starts and its hours, and where it shows. */
89
+ /** A shift: its name, its code, when it starts and its hours, where it shows, and its colour — a typed colour token, the warehouse's choice (#1406). */
89
90
  export declare const WarehouseShift: StructType<{
90
91
  readonly label: StringType;
91
92
  readonly code: StringType;
@@ -95,6 +96,146 @@ export declare const WarehouseShift: StructType<{
95
96
  }>;
96
97
  readonly hours: FloatType;
97
98
  readonly order: IntegerType;
99
+ readonly colour: OptionType<VariantType<{
100
+ readonly brand: VariantType<{
101
+ readonly "50": NullType;
102
+ readonly "100": NullType;
103
+ readonly "200": NullType;
104
+ readonly "300": NullType;
105
+ readonly "400": NullType;
106
+ readonly "500": NullType;
107
+ readonly "600": NullType;
108
+ readonly "700": NullType;
109
+ readonly "800": NullType;
110
+ readonly "900": NullType;
111
+ }>;
112
+ readonly gray: VariantType<{
113
+ readonly "50": NullType;
114
+ readonly "100": NullType;
115
+ readonly "200": NullType;
116
+ readonly "300": NullType;
117
+ readonly "400": NullType;
118
+ readonly "500": NullType;
119
+ readonly "600": NullType;
120
+ readonly "700": NullType;
121
+ readonly "800": NullType;
122
+ readonly "900": NullType;
123
+ }>;
124
+ readonly red: VariantType<{
125
+ readonly "50": NullType;
126
+ readonly "100": NullType;
127
+ readonly "200": NullType;
128
+ readonly "300": NullType;
129
+ readonly "400": NullType;
130
+ readonly "500": NullType;
131
+ readonly "600": NullType;
132
+ readonly "700": NullType;
133
+ readonly "800": NullType;
134
+ readonly "900": NullType;
135
+ }>;
136
+ readonly orange: VariantType<{
137
+ readonly "50": NullType;
138
+ readonly "100": NullType;
139
+ readonly "200": NullType;
140
+ readonly "300": NullType;
141
+ readonly "400": NullType;
142
+ readonly "500": NullType;
143
+ readonly "600": NullType;
144
+ readonly "700": NullType;
145
+ readonly "800": NullType;
146
+ readonly "900": NullType;
147
+ }>;
148
+ readonly yellow: VariantType<{
149
+ readonly "50": NullType;
150
+ readonly "100": NullType;
151
+ readonly "200": NullType;
152
+ readonly "300": NullType;
153
+ readonly "400": NullType;
154
+ readonly "500": NullType;
155
+ readonly "600": NullType;
156
+ readonly "700": NullType;
157
+ readonly "800": NullType;
158
+ readonly "900": NullType;
159
+ }>;
160
+ readonly green: VariantType<{
161
+ readonly "50": NullType;
162
+ readonly "100": NullType;
163
+ readonly "200": NullType;
164
+ readonly "300": NullType;
165
+ readonly "400": NullType;
166
+ readonly "500": NullType;
167
+ readonly "600": NullType;
168
+ readonly "700": NullType;
169
+ readonly "800": NullType;
170
+ readonly "900": NullType;
171
+ }>;
172
+ readonly teal: VariantType<{
173
+ readonly "50": NullType;
174
+ readonly "100": NullType;
175
+ readonly "200": NullType;
176
+ readonly "300": NullType;
177
+ readonly "400": NullType;
178
+ readonly "500": NullType;
179
+ readonly "600": NullType;
180
+ readonly "700": NullType;
181
+ readonly "800": NullType;
182
+ readonly "900": NullType;
183
+ }>;
184
+ readonly blue: VariantType<{
185
+ readonly "50": NullType;
186
+ readonly "100": NullType;
187
+ readonly "200": NullType;
188
+ readonly "300": NullType;
189
+ readonly "400": NullType;
190
+ readonly "500": NullType;
191
+ readonly "600": NullType;
192
+ readonly "700": NullType;
193
+ readonly "800": NullType;
194
+ readonly "900": NullType;
195
+ }>;
196
+ readonly cyan: VariantType<{
197
+ readonly "50": NullType;
198
+ readonly "100": NullType;
199
+ readonly "200": NullType;
200
+ readonly "300": NullType;
201
+ readonly "400": NullType;
202
+ readonly "500": NullType;
203
+ readonly "600": NullType;
204
+ readonly "700": NullType;
205
+ readonly "800": NullType;
206
+ readonly "900": NullType;
207
+ }>;
208
+ readonly purple: VariantType<{
209
+ readonly "50": NullType;
210
+ readonly "100": NullType;
211
+ readonly "200": NullType;
212
+ readonly "300": NullType;
213
+ readonly "400": NullType;
214
+ readonly "500": NullType;
215
+ readonly "600": NullType;
216
+ readonly "700": NullType;
217
+ readonly "800": NullType;
218
+ readonly "900": NullType;
219
+ }>;
220
+ readonly pink: VariantType<{
221
+ readonly "50": NullType;
222
+ readonly "100": NullType;
223
+ readonly "200": NullType;
224
+ readonly "300": NullType;
225
+ readonly "400": NullType;
226
+ readonly "500": NullType;
227
+ readonly "600": NullType;
228
+ readonly "700": NullType;
229
+ readonly "800": NullType;
230
+ readonly "900": NullType;
231
+ }>;
232
+ }>>;
233
+ }>;
234
+ /** A week pattern (#1406): its name, its seven days from the week's first day — a shift's key, or none for a day off — and where it shows. */
235
+ export declare const WarehousePattern: StructType<{
236
+ readonly label: StringType;
237
+ readonly days: ArrayType<OptionType<StringType>>;
238
+ readonly order: IntegerType;
98
239
  }>;
99
240
  /** A team, and where it shows. */
100
241
  export declare const WarehouseTeam: StructType<{
@@ -167,8 +308,10 @@ export declare const warehousePreviousStart: Date;
167
308
  export declare const warehouseNextStart: Date;
168
309
  /** When the week before was issued. */
169
310
  export declare const warehouseIssuedAt: Date;
170
- /** The shifts: early, late and night, eight hours each. */
311
+ /** The shifts: early, late and night, eight hours each, each its own hue — a light teal, a light orange and a deep purple. */
171
312
  export declare const warehouseShifts: SortedMap<string, ValueTypeOf<typeof WarehouseShift>>;
313
+ /** The thirteen week patterns of the mock (#1406), from the week's first day, Sunday. */
314
+ export declare const warehousePatterns: SortedMap<string, ValueTypeOf<typeof WarehousePattern>>;
172
315
  /** The teams, each a group of the roster. */
173
316
  export declare const warehouseTeams: SortedMap<string, ValueTypeOf<typeof WarehouseTeam>>;
174
317
  /** The positions, in the mock's order; the supervisors lead. */
@@ -1 +1 @@
1
- {"version":3,"file":"warehouse.d.ts","sourceRoot":"","sources":["../../../test/roster/warehouse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warehouse.d.ts","sourceRoot":"","sources":["../../../test/roster/warehouse.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,14 @@
6
6
  * The warehouse, transcribed from docs/proposals/Roster Spec.html into records
7
7
  * of its own (#1368, `Builder Interfaces Spec.md` §5.7): its duties, the weeks
8
8
  * of its rota, its cover targets and suggestions, its pay rates, its staff and
9
- * agencies, and its shift times, teams, positions and activities. Every name
10
- * and figure is generated. Beside them, the Roster's reading of the two seeded
11
- * weeks (`Roster.Types.Week(WarehouseDuty)`), which the Roster's own reading
12
- * of the duties is held to on e3 (e3-ui-components' `test/roster-payload.spec.ts`).
9
+ * agencies, its shift times, teams, positions and activities, and its week
10
+ * patterns (#1406). Every name and figure is generated. Beside them, the
11
+ * Roster's reading of the two seeded weeks (`Roster.Types.Week(WarehouseDuty)`),
12
+ * which the Roster's own reading of the duties is held to on e3
13
+ * (e3-ui-components' `test/roster-payload.spec.ts`).
13
14
  */
14
- import { BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, SetType, SortedMap, SortedSet, StringType, StructType, VariantType, compareFor, none, some, variant, } from "@elaraai/east";
15
+ import { ArrayType, BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, SetType, SortedMap, SortedSet, StringType, StructType, VariantType, compareFor, none, some, variant, } from "@elaraai/east";
16
+ import { ColorTokenType } from "@elaraai/east-ui";
15
17
  import { Roster, Schedule } from "@elaraai/e3-ui";
16
18
  /** One of the warehouse's staff. */
17
19
  export const WarehousePerson = StructType({ name: StringType, team: StringType, position: StringType, skills: SetType(StringType), contract: FloatType, agency: BooleanType, trainer: BooleanType, trainee: BooleanType, usual: OptionType(StringType) });
@@ -41,8 +43,10 @@ export const WarehouseCover = StructType({ day: DateTimeType, team: StringType,
41
43
  export const WarehouseSuggestion = StructType({ person: StringType, day: DateTimeType, team: StringType, shift: StringType, why: StringType });
42
44
  /** An agency the warehouse asks for staff. */
43
45
  export const WarehouseAgency = StructType({ name: StringType });
44
- /** A shift: its name, its code, when it starts and its hours, and where it shows. */
45
- export const WarehouseShift = StructType({ label: StringType, code: StringType, start: Schedule.Types.Clock, hours: FloatType, order: IntegerType });
46
+ /** A shift: its name, its code, when it starts and its hours, where it shows, and its colour — a typed colour token, the warehouse's choice (#1406). */
47
+ export const WarehouseShift = StructType({ label: StringType, code: StringType, start: Schedule.Types.Clock, hours: FloatType, order: IntegerType, colour: OptionType(ColorTokenType) });
48
+ /** A week pattern (#1406): its name, its seven days from the week's first day — a shift's key, or none for a day off — and where it shows. */
49
+ export const WarehousePattern = StructType({ label: StringType, days: ArrayType(OptionType(StringType)), order: IntegerType });
46
50
  /** A team, and where it shows. */
47
51
  export const WarehouseTeam = StructType({ label: StringType, order: IntegerType });
48
52
  /** A position: its name, its badge, whether it leads, and where it shows. */
@@ -58,11 +62,32 @@ export const warehouseNextStart = new Date("2028-03-12T00:00:00Z");
58
62
  /** When the week before was issued. */
59
63
  export const warehouseIssuedAt = new Date("2028-03-04T12:00:00Z");
60
64
  const stringOrder = compareFor(StringType);
61
- /** The shifts: early, late and night, eight hours each. */
65
+ /** The shifts: early, late and night, eight hours each, each its own hue — a light teal, a light orange and a deep purple. */
62
66
  export const warehouseShifts = new SortedMap([
63
- ["early", { label: "Early", code: "E", start: { hour: 6n, minute: 0n }, hours: 8, order: 1n }],
64
- ["late", { label: "Late", code: "L", start: { hour: 14n, minute: 0n }, hours: 8, order: 2n }],
65
- ["night", { label: "Night", code: "N", start: { hour: 22n, minute: 0n }, hours: 8, order: 3n }],
67
+ ["early", { label: "Early", code: "E", start: { hour: 6n, minute: 0n }, hours: 8, order: 1n, colour: some(variant("teal", variant("300", null))) }],
68
+ ["late", { label: "Late", code: "L", start: { hour: 14n, minute: 0n }, hours: 8, order: 2n, colour: some(variant("orange", variant("300", null))) }],
69
+ ["night", { label: "Night", code: "N", start: { hour: 22n, minute: 0n }, hours: 8, order: 3n, colour: some(variant("purple", variant("700", null))) }],
70
+ ], stringOrder);
71
+ /** A seeded pattern: its name, its seven days from Sunday as letters — `E` early, `L` late, `N` night, `.` off — and where it shows. */
72
+ function patternOf(label, days, order) {
73
+ const shifts = { E: "early", L: "late", N: "night" };
74
+ return { label, days: [...days].map((letter) => letter === "." ? none : some(shifts[letter])), order: BigInt(order) };
75
+ }
76
+ /** The thirteen week patterns of the mock (#1406), from the week's first day, Sunday. */
77
+ export const warehousePatterns = new SortedMap([
78
+ ["e5s", patternOf("Early · Sun–Thu", "EEEEE..", 1)],
79
+ ["e5m", patternOf("Early · Mon–Fri", ".EEEEE.", 2)],
80
+ ["l5s", patternOf("Late · Sun–Thu", "LLLLL..", 3)],
81
+ ["l5m", patternOf("Late · Mon–Fri", ".LLLLL.", 4)],
82
+ ["n4s", patternOf("Night · Sun–Wed", "NNNN...", 5)],
83
+ ["n4w", patternOf("Night · Wed–Sat", "...NNNN", 6)],
84
+ ["fwd", patternOf("Forward rotation", "EELLN..", 7)],
85
+ ["e2l", patternOf("Early to late", ".EEELL.", 8)],
86
+ ["wke", patternOf("Weekend earlies", "E....EE", 9)],
87
+ ["wkn", patternOf("Weekend nights", "N....NN", 10)],
88
+ ["pte", patternOf("Part time · earlies", ".E.E.E.", 11)],
89
+ ["ptl", patternOf("Part time · lates", "..L.L.L", 12)],
90
+ ["off", patternOf("Off", ".......", 13)],
66
91
  ], stringOrder);
67
92
  /** The teams, each a group of the roster. */
68
93
  export const warehouseTeams = new SortedMap([