@elaraai/e3-ui 1.0.97 → 1.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/README.md +0 -2
  2. package/dist/src/allocation/adapters.d.ts +1 -1
  3. package/dist/src/allocation/adapters.js +1 -1
  4. package/dist/src/allocation/index.d.ts +232 -25
  5. package/dist/src/allocation/index.d.ts.map +1 -1
  6. package/dist/src/allocation/index.js +35 -6
  7. package/dist/src/allocation/index.js.map +1 -1
  8. package/dist/src/allocation/types.d.ts +41 -0
  9. package/dist/src/allocation/types.d.ts.map +1 -1
  10. package/dist/src/allocation/types.js +35 -0
  11. package/dist/src/allocation/types.js.map +1 -1
  12. package/dist/src/bind/data-indexed.d.ts +286 -37
  13. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  14. package/dist/src/bind/data-indexed.js +259 -38
  15. package/dist/src/bind/data-indexed.js.map +1 -1
  16. package/dist/src/bind/data.d.ts +48 -9
  17. package/dist/src/bind/data.d.ts.map +1 -1
  18. package/dist/src/bind/data.js +48 -3
  19. package/dist/src/bind/data.js.map +1 -1
  20. package/dist/src/bind/record.d.ts +61 -24
  21. package/dist/src/bind/record.d.ts.map +1 -1
  22. package/dist/src/bind/record.js +17 -57
  23. package/dist/src/bind/record.js.map +1 -1
  24. package/dist/src/calendar/index.d.ts +522 -36
  25. package/dist/src/calendar/index.d.ts.map +1 -1
  26. package/dist/src/calendar/index.js +53 -13
  27. package/dist/src/calendar/index.js.map +1 -1
  28. package/dist/src/calendar/paged.d.ts +89 -0
  29. package/dist/src/calendar/paged.d.ts.map +1 -0
  30. package/dist/src/calendar/paged.js +148 -0
  31. package/dist/src/calendar/paged.js.map +1 -0
  32. package/dist/src/flowchart/index.d.ts +35 -31
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +35 -31
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +108 -84
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +108 -84
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/payload.d.ts +105 -17
  41. package/dist/src/flowchart/payload.d.ts.map +1 -1
  42. package/dist/src/flowchart/payload.js +3 -3
  43. package/dist/src/flowchart/payload.js.map +1 -1
  44. package/dist/src/flowchart/values.d.ts +35 -31
  45. package/dist/src/flowchart/values.d.ts.map +1 -1
  46. package/dist/src/flowchart/values.js +35 -31
  47. package/dist/src/flowchart/values.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts.map +1 -1
  49. package/dist/src/flowchart/window.js +3 -2
  50. package/dist/src/flowchart/window.js.map +1 -1
  51. package/dist/src/index.d.ts +13 -4
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +20 -1
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/internal.d.ts +18 -8
  56. package/dist/src/internal.d.ts.map +1 -1
  57. package/dist/src/internal.js +40 -10
  58. package/dist/src/internal.js.map +1 -1
  59. package/dist/src/plan/assemble.d.ts +8 -0
  60. package/dist/src/plan/assemble.d.ts.map +1 -1
  61. package/dist/src/plan/assemble.js +1 -1
  62. package/dist/src/plan/assemble.js.map +1 -1
  63. package/dist/src/plan/builders.d.ts +1530 -10
  64. package/dist/src/plan/builders.d.ts.map +1 -1
  65. package/dist/src/plan/builders.js +260 -122
  66. package/dist/src/plan/builders.js.map +1 -1
  67. package/dist/src/plan/event-rows.d.ts +224 -157
  68. package/dist/src/plan/event-rows.d.ts.map +1 -1
  69. package/dist/src/plan/event-rows.js +201 -56
  70. package/dist/src/plan/event-rows.js.map +1 -1
  71. package/dist/src/plan/factories.d.ts +72 -4
  72. package/dist/src/plan/factories.d.ts.map +1 -1
  73. package/dist/src/plan/factories.js +147 -1
  74. package/dist/src/plan/factories.js.map +1 -1
  75. package/dist/src/plan/index.d.ts +152 -125
  76. package/dist/src/plan/index.d.ts.map +1 -1
  77. package/dist/src/plan/index.js +138 -122
  78. package/dist/src/plan/index.js.map +1 -1
  79. package/dist/src/plan/ir.d.ts +1139 -8
  80. package/dist/src/plan/ir.d.ts.map +1 -1
  81. package/dist/src/plan/ir.js +5 -0
  82. package/dist/src/plan/ir.js.map +1 -1
  83. package/dist/src/plan/library.d.ts +65 -42
  84. package/dist/src/plan/library.d.ts.map +1 -1
  85. package/dist/src/plan/library.js +65 -42
  86. package/dist/src/plan/library.js.map +1 -1
  87. package/dist/src/plan/nested-checks.d.ts +146 -0
  88. package/dist/src/plan/nested-checks.d.ts.map +1 -0
  89. package/dist/src/plan/nested-checks.js +468 -0
  90. package/dist/src/plan/nested-checks.js.map +1 -0
  91. package/dist/src/plan/nested-patch.d.ts +35 -0
  92. package/dist/src/plan/nested-patch.d.ts.map +1 -0
  93. package/dist/src/plan/nested-patch.js +143 -0
  94. package/dist/src/plan/nested-patch.js.map +1 -0
  95. package/dist/src/plan/nested-read.d.ts +3250 -0
  96. package/dist/src/plan/nested-read.d.ts.map +1 -0
  97. package/dist/src/plan/nested-read.js +163 -0
  98. package/dist/src/plan/nested-read.js.map +1 -0
  99. package/dist/src/plan/nested.d.ts +280 -0
  100. package/dist/src/plan/nested.d.ts.map +1 -0
  101. package/dist/src/plan/nested.js +6 -0
  102. package/dist/src/plan/nested.js.map +1 -0
  103. package/dist/src/plan/ordered-source.d.ts +3067 -1
  104. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  105. package/dist/src/plan/ordered-source.js +67 -17
  106. package/dist/src/plan/ordered-source.js.map +1 -1
  107. package/dist/src/plan/over.d.ts +111 -75
  108. package/dist/src/plan/over.d.ts.map +1 -1
  109. package/dist/src/plan/over.js +111 -75
  110. package/dist/src/plan/over.js.map +1 -1
  111. package/dist/src/plan/pick.d.ts +15 -3
  112. package/dist/src/plan/pick.d.ts.map +1 -1
  113. package/dist/src/plan/pick.js +75 -36
  114. package/dist/src/plan/pick.js.map +1 -1
  115. package/dist/src/plan/plan.d.ts +3143 -501
  116. package/dist/src/plan/plan.d.ts.map +1 -1
  117. package/dist/src/plan/plan.js +133 -34
  118. package/dist/src/plan/plan.js.map +1 -1
  119. package/dist/src/plan/reads.d.ts +421 -0
  120. package/dist/src/plan/reads.d.ts.map +1 -0
  121. package/dist/src/plan/reads.js +143 -0
  122. package/dist/src/plan/reads.js.map +1 -0
  123. package/dist/src/plan/refs.d.ts +111 -75
  124. package/dist/src/plan/refs.d.ts.map +1 -1
  125. package/dist/src/plan/refs.js +111 -75
  126. package/dist/src/plan/refs.js.map +1 -1
  127. package/dist/src/plan/root.d.ts +14 -7
  128. package/dist/src/plan/root.d.ts.map +1 -1
  129. package/dist/src/plan/root.js +82 -17
  130. package/dist/src/plan/root.js.map +1 -1
  131. package/dist/src/plan/series.d.ts +5153 -4331
  132. package/dist/src/plan/series.d.ts.map +1 -1
  133. package/dist/src/plan/series.js +1082 -266
  134. package/dist/src/plan/series.js.map +1 -1
  135. package/dist/src/plan/shade.d.ts +981 -0
  136. package/dist/src/plan/shade.d.ts.map +1 -0
  137. package/dist/src/plan/shade.js +60 -0
  138. package/dist/src/plan/shade.js.map +1 -0
  139. package/dist/src/plan/types.d.ts +192 -18
  140. package/dist/src/plan/types.d.ts.map +1 -1
  141. package/dist/src/plan/types.js +77 -19
  142. package/dist/src/plan/types.js.map +1 -1
  143. package/dist/src/query/builder.d.ts +3 -3
  144. package/dist/src/query/builder.d.ts.map +1 -1
  145. package/dist/src/query/builder.js +1 -1
  146. package/dist/src/query/library.d.ts +3 -3
  147. package/dist/src/query/library.d.ts.map +1 -1
  148. package/dist/src/query/library.js +1 -1
  149. package/dist/src/query/queries.d.ts +2 -2
  150. package/dist/src/query/queries.js +1 -1
  151. package/dist/src/query/saved.d.ts +8 -4
  152. package/dist/src/query/saved.d.ts.map +1 -1
  153. package/dist/src/query/saved.js +8 -4
  154. package/dist/src/query/saved.js.map +1 -1
  155. package/dist/src/query/types.d.ts +8 -3
  156. package/dist/src/query/types.d.ts.map +1 -1
  157. package/dist/src/query/types.js +8 -3
  158. package/dist/src/query/types.js.map +1 -1
  159. package/dist/src/roster/index.d.ts +583 -39
  160. package/dist/src/roster/index.d.ts.map +1 -1
  161. package/dist/src/roster/index.js +109 -35
  162. package/dist/src/roster/index.js.map +1 -1
  163. package/dist/src/roster/library.d.ts +12 -2
  164. package/dist/src/roster/library.d.ts.map +1 -1
  165. package/dist/src/roster/library.js +8 -0
  166. package/dist/src/roster/library.js.map +1 -1
  167. package/dist/src/roster/lists.d.ts +59 -12
  168. package/dist/src/roster/lists.d.ts.map +1 -1
  169. package/dist/src/roster/lists.js +51 -58
  170. package/dist/src/roster/lists.js.map +1 -1
  171. package/dist/src/roster/targets.d.ts +8 -4
  172. package/dist/src/roster/targets.d.ts.map +1 -1
  173. package/dist/src/roster/targets.js +9 -5
  174. package/dist/src/roster/targets.js.map +1 -1
  175. package/dist/src/roster/times.d.ts +402 -0
  176. package/dist/src/roster/times.d.ts.map +1 -1
  177. package/dist/src/roster/types.d.ts +913 -1
  178. package/dist/src/roster/types.d.ts.map +1 -1
  179. package/dist/src/roster/types.js +43 -3
  180. package/dist/src/roster/types.js.map +1 -1
  181. package/dist/src/schedule/cell-checks.d.ts +85 -0
  182. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  183. package/dist/src/schedule/cell-checks.js +211 -0
  184. package/dist/src/schedule/cell-checks.js.map +1 -0
  185. package/dist/src/schedule/days.d.ts +1 -1
  186. package/dist/src/schedule/days.js +1 -1
  187. package/dist/src/schedule/events.d.ts +52 -16
  188. package/dist/src/schedule/events.d.ts.map +1 -1
  189. package/dist/src/schedule/events.js +574 -356
  190. package/dist/src/schedule/events.js.map +1 -1
  191. package/dist/src/schedule/fields.d.ts +134 -0
  192. package/dist/src/schedule/fields.d.ts.map +1 -0
  193. package/dist/src/schedule/fields.js +207 -0
  194. package/dist/src/schedule/fields.js.map +1 -0
  195. package/dist/src/schedule/library.d.ts +11 -3
  196. package/dist/src/schedule/library.d.ts.map +1 -1
  197. package/dist/src/schedule/library.js +9 -6
  198. package/dist/src/schedule/library.js.map +1 -1
  199. package/dist/src/schedule/optimise.d.ts +124 -0
  200. package/dist/src/schedule/optimise.d.ts.map +1 -0
  201. package/dist/src/schedule/optimise.js +140 -0
  202. package/dist/src/schedule/optimise.js.map +1 -0
  203. package/dist/src/schedule/pages.d.ts +76 -0
  204. package/dist/src/schedule/pages.d.ts.map +1 -0
  205. package/dist/src/schedule/pages.js +86 -0
  206. package/dist/src/schedule/pages.js.map +1 -0
  207. package/dist/src/schedule/patch.d.ts +1 -1
  208. package/dist/src/schedule/patch.js +1 -1
  209. package/dist/src/schedule/periods.d.ts +8 -4
  210. package/dist/src/schedule/periods.d.ts.map +1 -1
  211. package/dist/src/schedule/periods.js +1 -1
  212. package/dist/src/schedule/periods.js.map +1 -1
  213. package/dist/src/schedule/record-window.d.ts +115 -22
  214. package/dist/src/schedule/record-window.d.ts.map +1 -1
  215. package/dist/src/schedule/record-window.js +140 -62
  216. package/dist/src/schedule/record-window.js.map +1 -1
  217. package/dist/src/schedule/resources.d.ts +9 -5
  218. package/dist/src/schedule/resources.d.ts.map +1 -1
  219. package/dist/src/schedule/resources.js +35 -15
  220. package/dist/src/schedule/resources.js.map +1 -1
  221. package/dist/src/schedule/session.d.ts +15 -1
  222. package/dist/src/schedule/session.d.ts.map +1 -1
  223. package/dist/src/schedule/session.js +30 -18
  224. package/dist/src/schedule/session.js.map +1 -1
  225. package/dist/src/schedule/types.d.ts +455 -37
  226. package/dist/src/schedule/types.d.ts.map +1 -1
  227. package/dist/src/schedule/types.js +79 -18
  228. package/dist/src/schedule/types.js.map +1 -1
  229. package/dist/src/schedule/window.d.ts +30 -9
  230. package/dist/src/schedule/window.d.ts.map +1 -1
  231. package/dist/src/schedule/window.js +101 -49
  232. package/dist/src/schedule/window.js.map +1 -1
  233. package/dist/src/schematic/index.d.ts +287 -0
  234. package/dist/src/schematic/index.d.ts.map +1 -0
  235. package/dist/src/schematic/index.js +216 -0
  236. package/dist/src/schematic/index.js.map +1 -0
  237. package/dist/src/schematic/kinds.d.ts +501 -0
  238. package/dist/src/schematic/kinds.d.ts.map +1 -0
  239. package/dist/src/schematic/kinds.js +1027 -0
  240. package/dist/src/schematic/kinds.js.map +1 -0
  241. package/dist/src/schematic/layers.d.ts +74 -0
  242. package/dist/src/schematic/layers.d.ts.map +1 -0
  243. package/dist/src/schematic/layers.js +99 -0
  244. package/dist/src/schematic/layers.js.map +1 -0
  245. package/dist/src/schematic/library.d.ts +202 -0
  246. package/dist/src/schematic/library.d.ts.map +1 -0
  247. package/dist/src/schematic/library.js +244 -0
  248. package/dist/src/schematic/library.js.map +1 -0
  249. package/dist/src/schematic/payload.d.ts +8310 -0
  250. package/dist/src/schematic/payload.d.ts.map +1 -0
  251. package/dist/src/schematic/payload.js +446 -0
  252. package/dist/src/schematic/payload.js.map +1 -0
  253. package/dist/src/schematic/schematic.d.ts +27 -0
  254. package/dist/src/schematic/schematic.d.ts.map +1 -0
  255. package/dist/src/schematic/schematic.js +17 -0
  256. package/dist/src/schematic/schematic.js.map +1 -0
  257. package/dist/src/schematic/shapes.d.ts +150 -0
  258. package/dist/src/schematic/shapes.d.ts.map +1 -0
  259. package/dist/src/schematic/shapes.js +171 -0
  260. package/dist/src/schematic/shapes.js.map +1 -0
  261. package/dist/src/schematic/templates.d.ts +96 -0
  262. package/dist/src/schematic/templates.d.ts.map +1 -0
  263. package/dist/src/schematic/templates.js +91 -0
  264. package/dist/src/schematic/templates.js.map +1 -0
  265. package/dist/src/schematic/types.d.ts +5766 -0
  266. package/dist/src/schematic/types.d.ts.map +1 -0
  267. package/dist/src/schematic/types.js +688 -0
  268. package/dist/src/schematic/types.js.map +1 -0
  269. package/dist/src/schematic/window.d.ts +213 -0
  270. package/dist/src/schematic/window.d.ts.map +1 -0
  271. package/dist/src/schematic/window.js +340 -0
  272. package/dist/src/schematic/window.js.map +1 -0
  273. package/dist/src/sheet/bridge.d.ts +19 -0
  274. package/dist/src/sheet/bridge.d.ts.map +1 -1
  275. package/dist/src/sheet/bridge.js +28 -21
  276. package/dist/src/sheet/bridge.js.map +1 -1
  277. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  278. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  279. package/dist/src/sheet/editing-bridge.js +8 -2
  280. package/dist/src/sheet/editing-bridge.js.map +1 -1
  281. package/dist/src/sheet/editing-types.d.ts +9 -5
  282. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  283. package/dist/src/sheet/editing-types.js +9 -5
  284. package/dist/src/sheet/editing-types.js.map +1 -1
  285. package/dist/src/sheet/index.d.ts +84 -54
  286. package/dist/src/sheet/index.d.ts.map +1 -1
  287. package/dist/src/sheet/index.js +81 -53
  288. package/dist/src/sheet/index.js.map +1 -1
  289. package/dist/src/sheet/library.d.ts +13 -8
  290. package/dist/src/sheet/library.d.ts.map +1 -1
  291. package/dist/src/sheet/library.js +13 -8
  292. package/dist/src/sheet/library.js.map +1 -1
  293. package/dist/src/sheet/optimise.d.ts +69 -0
  294. package/dist/src/sheet/optimise.d.ts.map +1 -0
  295. package/dist/src/sheet/optimise.js +81 -0
  296. package/dist/src/sheet/optimise.js.map +1 -0
  297. package/dist/src/sheet/record.d.ts +1 -1
  298. package/dist/src/sheet/record.js +2 -2
  299. package/dist/src/sheet/record.js.map +1 -1
  300. package/dist/src/sheet/registers.d.ts +157 -133
  301. package/dist/src/sheet/registers.d.ts.map +1 -1
  302. package/dist/src/sheet/registers.js +157 -133
  303. package/dist/src/sheet/registers.js.map +1 -1
  304. package/dist/src/sheet/root.d.ts +6 -1
  305. package/dist/src/sheet/root.d.ts.map +1 -1
  306. package/dist/src/sheet/root.js +17 -5
  307. package/dist/src/sheet/root.js.map +1 -1
  308. package/dist/src/sheet/sheet.d.ts +696 -590
  309. package/dist/src/sheet/sheet.d.ts.map +1 -1
  310. package/dist/src/sheet/sheet.js +49 -15
  311. package/dist/src/sheet/sheet.js.map +1 -1
  312. package/dist/src/sheet/sub-rows.d.ts +106 -76
  313. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  314. package/dist/src/sheet/sub-rows.js +106 -76
  315. package/dist/src/sheet/sub-rows.js.map +1 -1
  316. package/dist/src/sheet/types.d.ts +57 -20
  317. package/dist/src/sheet/types.d.ts.map +1 -1
  318. package/dist/src/sheet/types.js +4 -8
  319. package/dist/src/sheet/types.js.map +1 -1
  320. package/dist/src/studio/builder.d.ts +3 -153
  321. package/dist/src/studio/builder.d.ts.map +1 -1
  322. package/dist/src/studio/builder.js +1 -1
  323. package/dist/src/studio/canvas.d.ts +5 -4
  324. package/dist/src/studio/canvas.d.ts.map +1 -1
  325. package/dist/src/studio/canvas.js +8 -7
  326. package/dist/src/studio/canvas.js.map +1 -1
  327. package/dist/src/studio/component.d.ts +30 -20
  328. package/dist/src/studio/component.d.ts.map +1 -1
  329. package/dist/src/studio/component.js +26 -61
  330. package/dist/src/studio/component.js.map +1 -1
  331. package/dist/src/studio/index.d.ts +2 -2
  332. package/dist/src/studio/index.d.ts.map +1 -1
  333. package/dist/src/studio/index.js +1 -1
  334. package/dist/src/studio/index.js.map +1 -1
  335. package/dist/src/studio/inspector.d.ts +10 -39
  336. package/dist/src/studio/inspector.d.ts.map +1 -1
  337. package/dist/src/studio/inspector.js +11 -31
  338. package/dist/src/studio/inspector.js.map +1 -1
  339. package/dist/src/studio/library.d.ts +3 -169
  340. package/dist/src/studio/library.d.ts.map +1 -1
  341. package/dist/src/studio/library.js +1 -1
  342. package/dist/src/studio/page.d.ts +0 -8
  343. package/dist/src/studio/page.d.ts.map +1 -1
  344. package/dist/src/studio/pages.d.ts +17 -591
  345. package/dist/src/studio/pages.d.ts.map +1 -1
  346. package/dist/src/studio/pages.js +17 -44
  347. package/dist/src/studio/pages.js.map +1 -1
  348. package/dist/src/studio/palette.d.ts +2 -7
  349. package/dist/src/studio/palette.d.ts.map +1 -1
  350. package/dist/src/studio/palette.js +4 -5
  351. package/dist/src/studio/palette.js.map +1 -1
  352. package/dist/src/studio/publish.d.ts +8 -18
  353. package/dist/src/studio/publish.d.ts.map +1 -1
  354. package/dist/src/studio/publish.js +10 -36
  355. package/dist/src/studio/publish.js.map +1 -1
  356. package/dist/src/utils/derive.d.ts +12 -12
  357. package/dist/src/utils/derive.d.ts.map +1 -1
  358. package/dist/src/utils/derive.js +5 -2
  359. package/dist/src/utils/derive.js.map +1 -1
  360. package/dist/src/utils/keyed-rows.d.ts +41 -0
  361. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  362. package/dist/src/utils/keyed-rows.js +64 -0
  363. package/dist/src/utils/keyed-rows.js.map +1 -0
  364. package/dist/src/utils/optimise.d.ts +79 -0
  365. package/dist/src/utils/optimise.d.ts.map +1 -0
  366. package/dist/src/utils/optimise.js +46 -0
  367. package/dist/src/utils/optimise.js.map +1 -0
  368. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  369. package/dist/src/utils/ordered-source.js +14 -5
  370. package/dist/src/utils/ordered-source.js.map +1 -1
  371. package/dist/test/allocation/allocation.examples.d.ts +1900 -1610
  372. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  373. package/dist/test/allocation/allocation.examples.js +179 -89
  374. package/dist/test/allocation/allocation.examples.js.map +1 -1
  375. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  376. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  377. package/dist/test/allocation/optimise.examples.js +223 -0
  378. package/dist/test/allocation/optimise.examples.js.map +1 -0
  379. package/dist/test/bind/data/data.examples.d.ts +1172 -514
  380. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  381. package/dist/test/bind/data/data.examples.js +284 -164
  382. package/dist/test/bind/data/data.examples.js.map +1 -1
  383. package/dist/test/bind/record/record.examples.d.ts +457 -428
  384. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  385. package/dist/test/bind/record/record.examples.js +41 -21
  386. package/dist/test/bind/record/record.examples.js.map +1 -1
  387. package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
  388. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  389. package/dist/test/calendar/calendar-records.examples.js +20 -12
  390. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  391. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  392. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  393. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  394. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  395. package/dist/test/calendar/calendar.examples.d.ts +1172 -915
  396. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  397. package/dist/test/calendar/calendar.examples.js +211 -124
  398. package/dist/test/calendar/calendar.examples.js.map +1 -1
  399. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  400. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  401. package/dist/test/calendar/optimise.examples.js +75 -0
  402. package/dist/test/calendar/optimise.examples.js.map +1 -0
  403. package/dist/test/examples-package.d.ts +49 -16
  404. package/dist/test/examples-package.d.ts.map +1 -1
  405. package/dist/test/examples-package.js +138 -49
  406. package/dist/test/examples-package.js.map +1 -1
  407. package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2840
  408. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  409. package/dist/test/flowchart/flowchart.examples.js +211 -121
  410. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  411. package/dist/test/plan/optimise.examples.d.ts +207 -0
  412. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  413. package/dist/test/plan/optimise.examples.js +98 -0
  414. package/dist/test/plan/optimise.examples.js.map +1 -0
  415. package/dist/test/plan/plan-events.examples.d.ts +4055 -3279
  416. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  417. package/dist/test/plan/plan-events.examples.js +492 -319
  418. package/dist/test/plan/plan-events.examples.js.map +1 -1
  419. package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
  420. package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
  421. package/dist/test/plan/plan-nested.examples.js +321 -0
  422. package/dist/test/plan/plan-nested.examples.js.map +1 -0
  423. package/dist/test/plan/plan-records.examples.d.ts +391 -244
  424. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  425. package/dist/test/plan/plan-records.examples.js +186 -65
  426. package/dist/test/plan/plan-records.examples.js.map +1 -1
  427. package/dist/test/plan/plan-windows.examples.d.ts +1978 -803
  428. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  429. package/dist/test/plan/plan-windows.examples.js +269 -99
  430. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  431. package/dist/test/plan/plan.examples.d.ts +2238 -5726
  432. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  433. package/dist/test/plan/plan.examples.js +846 -973
  434. package/dist/test/plan/plan.examples.js.map +1 -1
  435. package/dist/test/query/query.examples.d.ts +5221 -3005
  436. package/dist/test/query/query.examples.d.ts.map +1 -1
  437. package/dist/test/query/query.examples.js +169 -118
  438. package/dist/test/query/query.examples.js.map +1 -1
  439. package/dist/test/roster/domain.examples.d.ts +804 -0
  440. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  441. package/dist/test/roster/domain.examples.js +3 -3
  442. package/dist/test/roster/domain.examples.js.map +1 -1
  443. package/dist/test/roster/optimise.examples.d.ts +485 -0
  444. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  445. package/dist/test/roster/optimise.examples.js +155 -0
  446. package/dist/test/roster/optimise.examples.js.map +1 -0
  447. package/dist/test/roster/roster-records.examples.d.ts +364 -404
  448. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  449. package/dist/test/roster/roster-records.examples.js +40 -26
  450. package/dist/test/roster/roster-records.examples.js.map +1 -1
  451. package/dist/test/roster/roster.examples.d.ts +5091 -1424
  452. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  453. package/dist/test/roster/roster.examples.js +255 -109
  454. package/dist/test/roster/roster.examples.js.map +1 -1
  455. package/dist/test/roster/warehouse.d.ts +150 -7
  456. package/dist/test/roster/warehouse.d.ts.map +1 -1
  457. package/dist/test/roster/warehouse.js +36 -11
  458. package/dist/test/roster/warehouse.js.map +1 -1
  459. package/dist/test/schedule/schedule.examples.d.ts +2646 -2473
  460. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  461. package/dist/test/schedule/schedule.examples.js +144 -88
  462. package/dist/test/schedule/schedule.examples.js.map +1 -1
  463. package/dist/test/schematic/schematic-records.examples.d.ts +454 -0
  464. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  465. package/dist/test/schematic/schematic-records.examples.js +219 -0
  466. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  467. package/dist/test/schematic/schematic.examples.d.ts +2640 -0
  468. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  469. package/dist/test/schematic/schematic.examples.js +559 -0
  470. package/dist/test/schematic/schematic.examples.js.map +1 -0
  471. package/dist/test/sheet/optimise.examples.d.ts +184 -0
  472. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  473. package/dist/test/sheet/optimise.examples.js +79 -0
  474. package/dist/test/sheet/optimise.examples.js.map +1 -0
  475. package/dist/test/sheet/sheet-records.examples.d.ts +208 -356
  476. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  477. package/dist/test/sheet/sheet-records.examples.js +66 -29
  478. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  479. package/dist/test/sheet/sheet.examples.d.ts +3650 -3377
  480. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  481. package/dist/test/sheet/sheet.examples.js +406 -296
  482. package/dist/test/sheet/sheet.examples.js.map +1 -1
  483. package/dist/test/studio/component.examples.js +2 -2
  484. package/dist/test/studio/component.examples.js.map +1 -1
  485. package/dist/test/studio/page.examples.js +6 -6
  486. package/dist/test/studio/page.examples.js.map +1 -1
  487. package/dist/test/studio/studio.examples.d.ts +2329 -873
  488. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  489. package/dist/test/studio/studio.examples.js +155 -107
  490. package/dist/test/studio/studio.examples.js.map +1 -1
  491. package/package.json +15 -11
@@ -9,7 +9,8 @@
9
9
  * and agencies (`Schedule.resources`), publishes its weeks
10
10
  * (`Schedule.periods`) and writes its targets (`Roster.targets`), with the
11
11
  * lists it reads over the app's rows (`Roster.shifts`, `groups`, `positions`,
12
- * `activities`, `proposals`). It stores nothing in a shape of its own.
12
+ * `activities`, `proposals`, and the People layout's `patterns`, #1406). It
13
+ * stores nothing in a shape of its own.
13
14
  *
14
15
  * The tag validates, builds the people and agencies from their kinds'
15
16
  * accessors, and assembles the closed payload; it composes no East UI
@@ -32,25 +33,40 @@ import type { ScheduleResourceKind } from "../schedule/resources.js";
32
33
  import { ScheduleClockType } from "../schedule/types.js";
33
34
  import { rosterCoverage, rosterWeekHours } from "./coverage.js";
34
35
  import { rosterAnswer, rosterFit } from "./fit.js";
35
- import { rosterActivitiesTab, rosterLibraryTab, rosterPeopleTab, type RosterLibraryTab } from "./library.js";
36
- import { rosterActivities, rosterGroups, rosterPositions, rosterProposals, rosterShifts, type RosterGroups, type RosterPositions, type RosterProposals, type RosterShifts } from "./lists.js";
36
+ import { rosterActivitiesTab, rosterLibraryTab, rosterPatternsTab, rosterPeopleTab, type RosterLibraryTab } from "./library.js";
37
+ import { rosterActivities, rosterGroups, rosterPatterns, rosterPositions, rosterProposals, rosterShifts, type RosterGroups, type RosterPatterns, type RosterPositions, type RosterProposals, type RosterShifts } from "./lists.js";
37
38
  import { rosterCheck, rosterRest } from "./rules.js";
38
39
  import { rosterTargets, type RosterTargets } from "./targets.js";
39
40
  import * as T from "./types.js";
40
- /** Roster's layout: group shifts, or people across the week. */
41
+ /** Roster's layout: group shifts, or people across the week or the month. */
41
42
  export declare const RosterLayoutType: VariantType<{
42
43
  readonly shifts: NullType;
43
44
  readonly people: NullType;
44
45
  }>;
45
- /** Roster's displayed period. People always shows the whole week. */
46
+ /** Roster's displayed period: Shifts shows a day or a week, People a week or a month (#1406); each layout keeps its own. */
46
47
  export declare const RosterPeriodType: VariantType<{
47
48
  readonly day: NullType;
48
49
  readonly week: NullType;
50
+ readonly month: NullType;
49
51
  }>;
50
- /** A declared library tab: the People tab, the Activities tab, or an app's tab, its cards resolved over the duty kind. */
52
+ /** The periods each layout takes, in the Period segment's order. */
53
+ export declare const ROSTER_LAYOUT_PERIODS: Readonly<Record<"shifts" | "people", readonly ("day" | "week" | "month")[]>>;
54
+ /** Whether a People tile shows the shift's hours always, or only a duty's own times where they differ from the shift's (#1406). */
55
+ export declare const RosterTileTimesType: VariantType<{
56
+ readonly always: NullType;
57
+ readonly different: NullType;
58
+ }>;
59
+ /**
60
+ * A declared library tab: the People tab, the Activities tab, the Patterns tab — the app's week patterns under the name
61
+ * and icon `Roster.patterns` gives (#1406) — or an app's tab, its cards resolved over the duty kind.
62
+ */
51
63
  export declare const RosterLibraryTabType: VariantType<{
52
64
  readonly people: NullType;
53
65
  readonly activities: NullType;
66
+ readonly patterns: StructType<{
67
+ readonly name: StringType;
68
+ readonly icon: StringType;
69
+ }>;
54
70
  readonly tab: StructType<{
55
71
  readonly name: StringType;
56
72
  readonly icon: OptionType<StringType>;
@@ -76,20 +92,22 @@ export declare const RosterLibraryTabType: VariantType<{
76
92
  * @property periods - The app's weeks: their status and dismissals, and Publish; `none`, no Publish
77
93
  * @property targets - The app's targets, a row per slot; `none`, no slot has a target
78
94
  * @property groups - The groups, in their order
79
- * @property shifts - The shifts, in their order
95
+ * @property shifts - The shifts, in their order, each with its colour token, or none (#1406)
80
96
  * @property activities - Every activity: each group's skills and the duties of no group
81
97
  * @property positions - The positions, in their order; none for a duty kind with no `position` role
82
98
  * @property proposals - The app's suggestions, in key order
99
+ * @property patterns - The app's week patterns, in their order (#1406); none without `patterns`
83
100
  * @property rules - The built-in rules
84
101
  * @property pay - The app's pay, from a `PayRequest(R)` as bytes to each duty's cost by code; `none`, no costs show
85
102
  * @property currency - How costs print
86
103
  * @property check - The app's issues, from a `CheckContext(R)` as bytes
87
104
  * @property fit - The app's fit, by its `e3.function`'s name: who fits a Find fix's need; `none`, no Find fix is offered (#1334)
105
+ * @property optimise - The app's optimiser, by its `e3.function`'s name: what the Elara eye calls over the week in view, its result one edit of the session; `none`, no eye (#1409)
88
106
  * @property library - The library's tabs, in order
89
107
  * @property inspector - Whether the inspector pane shows
90
- * @property narrowed - Each narrowed source's keys, paged through its part of `slice`: the people and the activities that show (#1342)
108
+ * @property narrowed - Each narrowed source's keys, paged through its part of `slice`: the people, the activities and the patterns that show (#1342)
91
109
  * @property slice - The narrowing's chrome: a Slice over the duties', the targets', the staff's and the activities' records, one rail
92
- * @property settings - The first view and the view settings
110
+ * @property settings - The first view and the view settings: the layout, its period, the date, the week's start, the density, the chip skills, the requirement rows, read-only, and the People layout's `tileTimes` and `letters` (#1406)
93
111
  * @property id - The viewer's identity
94
112
  */
95
113
  export declare const RosterPayloadType: StructType<{
@@ -215,7 +233,7 @@ export declare const RosterPayloadType: StructType<{
215
233
  readonly readonly: NullType;
216
234
  }>;
217
235
  }>>;
218
- readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
236
+ readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
219
237
  readonly kind: StringType;
220
238
  readonly key: StringType;
221
239
  readonly title: StringType;
@@ -239,7 +257,7 @@ export declare const RosterPayloadType: StructType<{
239
257
  readonly minutes: import("@elaraai/east").IntegerType;
240
258
  readonly due: OptionType<DateTimeType>;
241
259
  }>>>>;
242
- readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
260
+ readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
243
261
  readonly kind: StringType;
244
262
  readonly key: StringType;
245
263
  readonly title: StringType;
@@ -494,7 +512,7 @@ export declare const RosterPayloadType: StructType<{
494
512
  readonly at: DateTimeType;
495
513
  readonly delta: OptionType<StringType>;
496
514
  }>>>>;
497
- readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType], OptionType<StructType<{
515
+ readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType, OptionType<OptionType<BlobType>>], OptionType<StructType<{
498
516
  readonly item: StructType<{
499
517
  readonly kind: StringType;
500
518
  readonly key: StringType;
@@ -527,12 +545,63 @@ export declare const RosterPayloadType: StructType<{
527
545
  readonly end: StringType;
528
546
  readonly resource: OptionType<StringType>;
529
547
  readonly status: OptionType<StringType>;
548
+ readonly quantity: OptionType<StringType>;
549
+ readonly parts: OptionType<StringType>;
550
+ readonly withTimes: ArrayType<StringType>;
530
551
  }>;
531
552
  readonly overlaps: VariantType<{
532
553
  readonly warn: NullType;
533
554
  readonly allow: NullType;
534
555
  }>;
535
556
  readonly inspector: OptionType<FunctionType<[BlobType, FunctionType<[BlobType], NullType>], import("@elaraai/east").RecursiveType<import("@elaraai/east-ui").UIComponentNode>>>;
557
+ readonly seriesKey: FunctionType<[OptionType<StructType<{
558
+ readonly kind: StringType;
559
+ readonly key: StringType;
560
+ }>>], OptionType<StringType>>;
561
+ readonly cellsType: import("@elaraai/east").RecursiveType<VariantType<{
562
+ readonly Never: NullType;
563
+ readonly Null: NullType;
564
+ readonly Boolean: NullType;
565
+ readonly Integer: NullType;
566
+ readonly Float: NullType;
567
+ readonly String: NullType;
568
+ readonly DateTime: NullType;
569
+ readonly Blob: NullType;
570
+ readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
571
+ readonly Array: import("@elaraai/east").RecursiveTypeMarker;
572
+ readonly Set: import("@elaraai/east").RecursiveTypeMarker;
573
+ readonly Dict: StructType<{
574
+ readonly key: import("@elaraai/east").RecursiveTypeMarker;
575
+ readonly value: import("@elaraai/east").RecursiveTypeMarker;
576
+ }>;
577
+ readonly Struct: ArrayType<StructType<{
578
+ readonly name: StringType;
579
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
580
+ }>>;
581
+ readonly Variant: ArrayType<StructType<{
582
+ readonly name: StringType;
583
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
584
+ }>>;
585
+ readonly Recursive: VariantType<{
586
+ readonly ref: import("@elaraai/east").IntegerType;
587
+ readonly wrapper: StructType<{
588
+ readonly id: import("@elaraai/east").IntegerType;
589
+ readonly inner: import("@elaraai/east").RecursiveTypeMarker;
590
+ }>;
591
+ }>;
592
+ readonly Function: StructType<{
593
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
594
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
595
+ }>;
596
+ readonly AsyncFunction: StructType<{
597
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
598
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
599
+ }>;
600
+ readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
601
+ readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
602
+ }>>;
603
+ readonly count: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").IntegerType>>;
604
+ readonly countExact: BooleanType;
536
605
  }>;
537
606
  readonly rows: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").DictType<StringType, StructType<{
538
607
  readonly roles: StructType<{
@@ -1179,6 +1248,140 @@ export declare const RosterPayloadType: StructType<{
1179
1248
  readonly minute: import("@elaraai/east").IntegerType;
1180
1249
  }>;
1181
1250
  readonly hours: import("@elaraai/east").FloatType;
1251
+ readonly color: OptionType<VariantType<{
1252
+ readonly brand: VariantType<{
1253
+ readonly "50": NullType;
1254
+ readonly "100": NullType;
1255
+ readonly "200": NullType;
1256
+ readonly "300": NullType;
1257
+ readonly "400": NullType;
1258
+ readonly "500": NullType;
1259
+ readonly "600": NullType;
1260
+ readonly "700": NullType;
1261
+ readonly "800": NullType;
1262
+ readonly "900": NullType;
1263
+ }>;
1264
+ readonly gray: VariantType<{
1265
+ readonly "50": NullType;
1266
+ readonly "100": NullType;
1267
+ readonly "200": NullType;
1268
+ readonly "300": NullType;
1269
+ readonly "400": NullType;
1270
+ readonly "500": NullType;
1271
+ readonly "600": NullType;
1272
+ readonly "700": NullType;
1273
+ readonly "800": NullType;
1274
+ readonly "900": NullType;
1275
+ }>;
1276
+ readonly red: VariantType<{
1277
+ readonly "50": NullType;
1278
+ readonly "100": NullType;
1279
+ readonly "200": NullType;
1280
+ readonly "300": NullType;
1281
+ readonly "400": NullType;
1282
+ readonly "500": NullType;
1283
+ readonly "600": NullType;
1284
+ readonly "700": NullType;
1285
+ readonly "800": NullType;
1286
+ readonly "900": NullType;
1287
+ }>;
1288
+ readonly orange: VariantType<{
1289
+ readonly "50": NullType;
1290
+ readonly "100": NullType;
1291
+ readonly "200": NullType;
1292
+ readonly "300": NullType;
1293
+ readonly "400": NullType;
1294
+ readonly "500": NullType;
1295
+ readonly "600": NullType;
1296
+ readonly "700": NullType;
1297
+ readonly "800": NullType;
1298
+ readonly "900": NullType;
1299
+ }>;
1300
+ readonly yellow: VariantType<{
1301
+ readonly "50": NullType;
1302
+ readonly "100": NullType;
1303
+ readonly "200": NullType;
1304
+ readonly "300": NullType;
1305
+ readonly "400": NullType;
1306
+ readonly "500": NullType;
1307
+ readonly "600": NullType;
1308
+ readonly "700": NullType;
1309
+ readonly "800": NullType;
1310
+ readonly "900": NullType;
1311
+ }>;
1312
+ readonly green: VariantType<{
1313
+ readonly "50": NullType;
1314
+ readonly "100": NullType;
1315
+ readonly "200": NullType;
1316
+ readonly "300": NullType;
1317
+ readonly "400": NullType;
1318
+ readonly "500": NullType;
1319
+ readonly "600": NullType;
1320
+ readonly "700": NullType;
1321
+ readonly "800": NullType;
1322
+ readonly "900": NullType;
1323
+ }>;
1324
+ readonly teal: VariantType<{
1325
+ readonly "50": NullType;
1326
+ readonly "100": NullType;
1327
+ readonly "200": NullType;
1328
+ readonly "300": NullType;
1329
+ readonly "400": NullType;
1330
+ readonly "500": NullType;
1331
+ readonly "600": NullType;
1332
+ readonly "700": NullType;
1333
+ readonly "800": NullType;
1334
+ readonly "900": NullType;
1335
+ }>;
1336
+ readonly blue: VariantType<{
1337
+ readonly "50": NullType;
1338
+ readonly "100": NullType;
1339
+ readonly "200": NullType;
1340
+ readonly "300": NullType;
1341
+ readonly "400": NullType;
1342
+ readonly "500": NullType;
1343
+ readonly "600": NullType;
1344
+ readonly "700": NullType;
1345
+ readonly "800": NullType;
1346
+ readonly "900": NullType;
1347
+ }>;
1348
+ readonly cyan: VariantType<{
1349
+ readonly "50": NullType;
1350
+ readonly "100": NullType;
1351
+ readonly "200": NullType;
1352
+ readonly "300": NullType;
1353
+ readonly "400": NullType;
1354
+ readonly "500": NullType;
1355
+ readonly "600": NullType;
1356
+ readonly "700": NullType;
1357
+ readonly "800": NullType;
1358
+ readonly "900": NullType;
1359
+ }>;
1360
+ readonly purple: VariantType<{
1361
+ readonly "50": NullType;
1362
+ readonly "100": NullType;
1363
+ readonly "200": NullType;
1364
+ readonly "300": NullType;
1365
+ readonly "400": NullType;
1366
+ readonly "500": NullType;
1367
+ readonly "600": NullType;
1368
+ readonly "700": NullType;
1369
+ readonly "800": NullType;
1370
+ readonly "900": NullType;
1371
+ }>;
1372
+ readonly pink: VariantType<{
1373
+ readonly "50": NullType;
1374
+ readonly "100": NullType;
1375
+ readonly "200": NullType;
1376
+ readonly "300": NullType;
1377
+ readonly "400": NullType;
1378
+ readonly "500": NullType;
1379
+ readonly "600": NullType;
1380
+ readonly "700": NullType;
1381
+ readonly "800": NullType;
1382
+ readonly "900": NullType;
1383
+ }>;
1384
+ }>>;
1182
1385
  }>>;
1183
1386
  readonly activities: ArrayType<StructType<{
1184
1387
  readonly key: StringType;
@@ -1200,6 +1403,11 @@ export declare const RosterPayloadType: StructType<{
1200
1403
  readonly person: StringType;
1201
1404
  readonly reason: StringType;
1202
1405
  }>>;
1406
+ readonly patterns: ArrayType<StructType<{
1407
+ readonly key: StringType;
1408
+ readonly label: StringType;
1409
+ readonly days: ArrayType<OptionType<StringType>>;
1410
+ }>>;
1203
1411
  readonly rules: StructType<{
1204
1412
  readonly rest: import("@elaraai/east").FloatType;
1205
1413
  readonly lead: BooleanType;
@@ -1245,9 +1453,16 @@ export declare const RosterPayloadType: StructType<{
1245
1453
  readonly fit: OptionType<StructType<{
1246
1454
  readonly name: StringType;
1247
1455
  }>>;
1456
+ readonly optimise: OptionType<StructType<{
1457
+ readonly name: StringType;
1458
+ }>>;
1248
1459
  readonly library: ArrayType<VariantType<{
1249
1460
  readonly people: NullType;
1250
1461
  readonly activities: NullType;
1462
+ readonly patterns: StructType<{
1463
+ readonly name: StringType;
1464
+ readonly icon: StringType;
1465
+ }>;
1251
1466
  readonly tab: StructType<{
1252
1467
  readonly name: StringType;
1253
1468
  readonly icon: OptionType<StringType>;
@@ -1269,6 +1484,7 @@ export declare const RosterPayloadType: StructType<{
1269
1484
  readonly narrowed: StructType<{
1270
1485
  readonly people: OptionType<RowSourceType<ArrayType<StringType>>>;
1271
1486
  readonly activities: OptionType<RowSourceType<ArrayType<StringType>>>;
1487
+ readonly patterns: OptionType<RowSourceType<ArrayType<StringType>>>;
1272
1488
  }>;
1273
1489
  readonly slice: OptionType<StructType<{
1274
1490
  readonly slice: StructType<{
@@ -1389,6 +1605,39 @@ export declare const RosterPayloadType: StructType<{
1389
1605
  readonly to: import("@elaraai/east").StringType;
1390
1606
  readonly optional: import("@elaraai/east").BooleanType;
1391
1607
  }>>;
1608
+ readonly area: OptionType<StructType<{
1609
+ readonly x: import("@elaraai/east").StringType;
1610
+ readonly y: import("@elaraai/east").StringType;
1611
+ readonly width: OptionType<import("@elaraai/east").StringType>;
1612
+ readonly height: OptionType<import("@elaraai/east").StringType>;
1613
+ readonly centre: import("@elaraai/east").BooleanType;
1614
+ readonly cell: import("@elaraai/east").FloatType;
1615
+ readonly optional: import("@elaraai/east").BooleanType;
1616
+ }>>;
1617
+ readonly series: OptionType<StructType<{
1618
+ readonly key: import("@elaraai/east").StringType;
1619
+ readonly from: import("@elaraai/east").StringType;
1620
+ readonly to: import("@elaraai/east").StringType;
1621
+ readonly tile: VariantType<{
1622
+ readonly day: NullType;
1623
+ readonly week: NullType;
1624
+ readonly month: NullType;
1625
+ readonly quarter: NullType;
1626
+ readonly year: NullType;
1627
+ }>;
1628
+ }>>;
1629
+ readonly summary: OptionType<StructType<{
1630
+ readonly key: import("@elaraai/east").StringType;
1631
+ readonly from: import("@elaraai/east").StringType;
1632
+ readonly to: import("@elaraai/east").StringType;
1633
+ readonly tile: VariantType<{
1634
+ readonly day: NullType;
1635
+ readonly week: NullType;
1636
+ readonly month: NullType;
1637
+ readonly quarter: NullType;
1638
+ readonly year: NullType;
1639
+ }>;
1640
+ }>>;
1392
1641
  }>>;
1393
1642
  readonly range: OptionType<import("@elaraai/east").StringType>;
1394
1643
  readonly search: ArrayType<import("@elaraai/east").StringType>;
@@ -1451,14 +1700,25 @@ export declare const RosterPayloadType: StructType<{
1451
1700
  readonly clear: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], NullType>;
1452
1701
  readonly clearAll: import("@elaraai/east").FunctionType<[], NullType>;
1453
1702
  readonly count: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
1454
- readonly countWhere: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
1455
- readonly values: ArrayType<import("@elaraai/east").StringType>;
1456
- readonly range: StructType<{
1457
- readonly from: import("@elaraai/east").StringType;
1458
- readonly to: import("@elaraai/east").StringType;
1459
- }>;
1460
- readonly prefix: import("@elaraai/east").StringType;
1461
- }>>], OptionType<import("@elaraai/east").IntegerType>>;
1703
+ readonly countWhere: import("@elaraai/east").FunctionType<[StructType<{
1704
+ readonly where: import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
1705
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
1706
+ readonly range: StructType<{
1707
+ readonly from: import("@elaraai/east").StringType;
1708
+ readonly to: import("@elaraai/east").StringType;
1709
+ }>;
1710
+ readonly prefix: import("@elaraai/east").StringType;
1711
+ }>>;
1712
+ readonly area: OptionType<VariantType<{
1713
+ readonly window: StructType<{
1714
+ readonly minX: import("@elaraai/east").FloatType;
1715
+ readonly minY: import("@elaraai/east").FloatType;
1716
+ readonly maxX: import("@elaraai/east").FloatType;
1717
+ readonly maxY: import("@elaraai/east").FloatType;
1718
+ }>;
1719
+ readonly unplaced: NullType;
1720
+ }>>;
1721
+ }>], OptionType<import("@elaraai/east").IntegerType>>;
1462
1722
  readonly total: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
1463
1723
  readonly domain: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<StructType<{
1464
1724
  readonly from: import("@elaraai/east").StringType;
@@ -1540,6 +1800,7 @@ export declare const RosterPayloadType: StructType<{
1540
1800
  readonly period: VariantType<{
1541
1801
  readonly day: NullType;
1542
1802
  readonly week: NullType;
1803
+ readonly month: NullType;
1543
1804
  }>;
1544
1805
  readonly date: OptionType<DateTimeType>;
1545
1806
  readonly weekStart: VariantType<{
@@ -1553,6 +1814,11 @@ export declare const RosterPayloadType: StructType<{
1553
1814
  readonly chipSkills: BooleanType;
1554
1815
  readonly requirements: BooleanType;
1555
1816
  readonly readOnly: BooleanType;
1817
+ readonly tileTimes: VariantType<{
1818
+ readonly always: NullType;
1819
+ readonly different: NullType;
1820
+ }>;
1821
+ readonly letters: BooleanType;
1556
1822
  }>;
1557
1823
  readonly id: OptionType<StringType>;
1558
1824
  }>;
@@ -1680,7 +1946,7 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
1680
1946
  readonly readonly: NullType;
1681
1947
  }>;
1682
1948
  }>>;
1683
- readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
1949
+ readonly items: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
1684
1950
  readonly kind: StringType;
1685
1951
  readonly key: StringType;
1686
1952
  readonly title: StringType;
@@ -1704,7 +1970,7 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
1704
1970
  readonly minutes: import("@elaraai/east").IntegerType;
1705
1971
  readonly due: OptionType<DateTimeType>;
1706
1972
  }>>>>;
1707
- readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>], OptionType<ArrayType<StructType<{
1973
+ readonly unscheduled: FunctionType<[DateTimeType, DateTimeType, import("@elaraai/east").DictType<StringType, BlobType>, OptionType<BlobType>], OptionType<ArrayType<StructType<{
1708
1974
  readonly kind: StringType;
1709
1975
  readonly key: StringType;
1710
1976
  readonly title: StringType;
@@ -1959,7 +2225,7 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
1959
2225
  readonly at: DateTimeType;
1960
2226
  readonly delta: OptionType<StringType>;
1961
2227
  }>>>>;
1962
- readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType], OptionType<StructType<{
2228
+ readonly event: FunctionType<[StringType, import("@elaraai/east").DictType<StringType, BlobType>, DateTimeType, DateTimeType, OptionType<OptionType<BlobType>>], OptionType<StructType<{
1963
2229
  readonly item: StructType<{
1964
2230
  readonly kind: StringType;
1965
2231
  readonly key: StringType;
@@ -1992,12 +2258,63 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
1992
2258
  readonly end: StringType;
1993
2259
  readonly resource: OptionType<StringType>;
1994
2260
  readonly status: OptionType<StringType>;
2261
+ readonly quantity: OptionType<StringType>;
2262
+ readonly parts: OptionType<StringType>;
2263
+ readonly withTimes: ArrayType<StringType>;
1995
2264
  }>;
1996
2265
  readonly overlaps: VariantType<{
1997
2266
  readonly warn: NullType;
1998
2267
  readonly allow: NullType;
1999
2268
  }>;
2000
2269
  readonly inspector: OptionType<FunctionType<[BlobType, FunctionType<[BlobType], NullType>], import("@elaraai/east").RecursiveType<import("@elaraai/east-ui").UIComponentNode>>>;
2270
+ readonly seriesKey: FunctionType<[OptionType<StructType<{
2271
+ readonly kind: StringType;
2272
+ readonly key: StringType;
2273
+ }>>], OptionType<StringType>>;
2274
+ readonly cellsType: import("@elaraai/east").RecursiveType<VariantType<{
2275
+ readonly Never: NullType;
2276
+ readonly Null: NullType;
2277
+ readonly Boolean: NullType;
2278
+ readonly Integer: NullType;
2279
+ readonly Float: NullType;
2280
+ readonly String: NullType;
2281
+ readonly DateTime: NullType;
2282
+ readonly Blob: NullType;
2283
+ readonly Ref: import("@elaraai/east").RecursiveTypeMarker;
2284
+ readonly Array: import("@elaraai/east").RecursiveTypeMarker;
2285
+ readonly Set: import("@elaraai/east").RecursiveTypeMarker;
2286
+ readonly Dict: StructType<{
2287
+ readonly key: import("@elaraai/east").RecursiveTypeMarker;
2288
+ readonly value: import("@elaraai/east").RecursiveTypeMarker;
2289
+ }>;
2290
+ readonly Struct: ArrayType<StructType<{
2291
+ readonly name: StringType;
2292
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
2293
+ }>>;
2294
+ readonly Variant: ArrayType<StructType<{
2295
+ readonly name: StringType;
2296
+ readonly type: import("@elaraai/east").RecursiveTypeMarker;
2297
+ }>>;
2298
+ readonly Recursive: VariantType<{
2299
+ readonly ref: import("@elaraai/east").IntegerType;
2300
+ readonly wrapper: StructType<{
2301
+ readonly id: import("@elaraai/east").IntegerType;
2302
+ readonly inner: import("@elaraai/east").RecursiveTypeMarker;
2303
+ }>;
2304
+ }>;
2305
+ readonly Function: StructType<{
2306
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
2307
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
2308
+ }>;
2309
+ readonly AsyncFunction: StructType<{
2310
+ readonly inputs: ArrayType<import("@elaraai/east").RecursiveTypeMarker>;
2311
+ readonly output: import("@elaraai/east").RecursiveTypeMarker;
2312
+ }>;
2313
+ readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
2314
+ readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
2315
+ }>>;
2316
+ readonly count: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").IntegerType>>;
2317
+ readonly countExact: BooleanType;
2001
2318
  }>;
2002
2319
  readonly rows: FunctionType<[DateTimeType, DateTimeType], OptionType<import("@elaraai/east").DictType<StringType, StructType<{
2003
2320
  readonly roles: StructType<{
@@ -2644,6 +2961,140 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
2644
2961
  readonly minute: import("@elaraai/east").IntegerType;
2645
2962
  }>;
2646
2963
  readonly hours: import("@elaraai/east").FloatType;
2964
+ readonly color: OptionType<VariantType<{
2965
+ readonly brand: VariantType<{
2966
+ readonly "50": NullType;
2967
+ readonly "100": NullType;
2968
+ readonly "200": NullType;
2969
+ readonly "300": NullType;
2970
+ readonly "400": NullType;
2971
+ readonly "500": NullType;
2972
+ readonly "600": NullType;
2973
+ readonly "700": NullType;
2974
+ readonly "800": NullType;
2975
+ readonly "900": NullType;
2976
+ }>;
2977
+ readonly gray: VariantType<{
2978
+ readonly "50": NullType;
2979
+ readonly "100": NullType;
2980
+ readonly "200": NullType;
2981
+ readonly "300": NullType;
2982
+ readonly "400": NullType;
2983
+ readonly "500": NullType;
2984
+ readonly "600": NullType;
2985
+ readonly "700": NullType;
2986
+ readonly "800": NullType;
2987
+ readonly "900": NullType;
2988
+ }>;
2989
+ readonly red: VariantType<{
2990
+ readonly "50": NullType;
2991
+ readonly "100": NullType;
2992
+ readonly "200": NullType;
2993
+ readonly "300": NullType;
2994
+ readonly "400": NullType;
2995
+ readonly "500": NullType;
2996
+ readonly "600": NullType;
2997
+ readonly "700": NullType;
2998
+ readonly "800": NullType;
2999
+ readonly "900": NullType;
3000
+ }>;
3001
+ readonly orange: VariantType<{
3002
+ readonly "50": NullType;
3003
+ readonly "100": NullType;
3004
+ readonly "200": NullType;
3005
+ readonly "300": NullType;
3006
+ readonly "400": NullType;
3007
+ readonly "500": NullType;
3008
+ readonly "600": NullType;
3009
+ readonly "700": NullType;
3010
+ readonly "800": NullType;
3011
+ readonly "900": NullType;
3012
+ }>;
3013
+ readonly yellow: VariantType<{
3014
+ readonly "50": NullType;
3015
+ readonly "100": NullType;
3016
+ readonly "200": NullType;
3017
+ readonly "300": NullType;
3018
+ readonly "400": NullType;
3019
+ readonly "500": NullType;
3020
+ readonly "600": NullType;
3021
+ readonly "700": NullType;
3022
+ readonly "800": NullType;
3023
+ readonly "900": NullType;
3024
+ }>;
3025
+ readonly green: VariantType<{
3026
+ readonly "50": NullType;
3027
+ readonly "100": NullType;
3028
+ readonly "200": NullType;
3029
+ readonly "300": NullType;
3030
+ readonly "400": NullType;
3031
+ readonly "500": NullType;
3032
+ readonly "600": NullType;
3033
+ readonly "700": NullType;
3034
+ readonly "800": NullType;
3035
+ readonly "900": NullType;
3036
+ }>;
3037
+ readonly teal: VariantType<{
3038
+ readonly "50": NullType;
3039
+ readonly "100": NullType;
3040
+ readonly "200": NullType;
3041
+ readonly "300": NullType;
3042
+ readonly "400": NullType;
3043
+ readonly "500": NullType;
3044
+ readonly "600": NullType;
3045
+ readonly "700": NullType;
3046
+ readonly "800": NullType;
3047
+ readonly "900": NullType;
3048
+ }>;
3049
+ readonly blue: VariantType<{
3050
+ readonly "50": NullType;
3051
+ readonly "100": NullType;
3052
+ readonly "200": NullType;
3053
+ readonly "300": NullType;
3054
+ readonly "400": NullType;
3055
+ readonly "500": NullType;
3056
+ readonly "600": NullType;
3057
+ readonly "700": NullType;
3058
+ readonly "800": NullType;
3059
+ readonly "900": NullType;
3060
+ }>;
3061
+ readonly cyan: VariantType<{
3062
+ readonly "50": NullType;
3063
+ readonly "100": NullType;
3064
+ readonly "200": NullType;
3065
+ readonly "300": NullType;
3066
+ readonly "400": NullType;
3067
+ readonly "500": NullType;
3068
+ readonly "600": NullType;
3069
+ readonly "700": NullType;
3070
+ readonly "800": NullType;
3071
+ readonly "900": NullType;
3072
+ }>;
3073
+ readonly purple: VariantType<{
3074
+ readonly "50": NullType;
3075
+ readonly "100": NullType;
3076
+ readonly "200": NullType;
3077
+ readonly "300": NullType;
3078
+ readonly "400": NullType;
3079
+ readonly "500": NullType;
3080
+ readonly "600": NullType;
3081
+ readonly "700": NullType;
3082
+ readonly "800": NullType;
3083
+ readonly "900": NullType;
3084
+ }>;
3085
+ readonly pink: VariantType<{
3086
+ readonly "50": NullType;
3087
+ readonly "100": NullType;
3088
+ readonly "200": NullType;
3089
+ readonly "300": NullType;
3090
+ readonly "400": NullType;
3091
+ readonly "500": NullType;
3092
+ readonly "600": NullType;
3093
+ readonly "700": NullType;
3094
+ readonly "800": NullType;
3095
+ readonly "900": NullType;
3096
+ }>;
3097
+ }>>;
2647
3098
  }>>;
2648
3099
  readonly activities: ArrayType<StructType<{
2649
3100
  readonly key: StringType;
@@ -2665,6 +3116,11 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
2665
3116
  readonly person: StringType;
2666
3117
  readonly reason: StringType;
2667
3118
  }>>;
3119
+ readonly patterns: ArrayType<StructType<{
3120
+ readonly key: StringType;
3121
+ readonly label: StringType;
3122
+ readonly days: ArrayType<OptionType<StringType>>;
3123
+ }>>;
2668
3124
  readonly rules: StructType<{
2669
3125
  readonly rest: import("@elaraai/east").FloatType;
2670
3126
  readonly lead: BooleanType;
@@ -2710,9 +3166,16 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
2710
3166
  readonly fit: OptionType<StructType<{
2711
3167
  readonly name: StringType;
2712
3168
  }>>;
3169
+ readonly optimise: OptionType<StructType<{
3170
+ readonly name: StringType;
3171
+ }>>;
2713
3172
  readonly library: ArrayType<VariantType<{
2714
3173
  readonly people: NullType;
2715
3174
  readonly activities: NullType;
3175
+ readonly patterns: StructType<{
3176
+ readonly name: StringType;
3177
+ readonly icon: StringType;
3178
+ }>;
2716
3179
  readonly tab: StructType<{
2717
3180
  readonly name: StringType;
2718
3181
  readonly icon: OptionType<StringType>;
@@ -2734,6 +3197,7 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
2734
3197
  readonly narrowed: StructType<{
2735
3198
  readonly people: OptionType<RowSourceType<ArrayType<StringType>>>;
2736
3199
  readonly activities: OptionType<RowSourceType<ArrayType<StringType>>>;
3200
+ readonly patterns: OptionType<RowSourceType<ArrayType<StringType>>>;
2737
3201
  }>;
2738
3202
  readonly slice: OptionType<StructType<{
2739
3203
  readonly slice: StructType<{
@@ -2854,6 +3318,39 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
2854
3318
  readonly to: import("@elaraai/east").StringType;
2855
3319
  readonly optional: import("@elaraai/east").BooleanType;
2856
3320
  }>>;
3321
+ readonly area: OptionType<StructType<{
3322
+ readonly x: import("@elaraai/east").StringType;
3323
+ readonly y: import("@elaraai/east").StringType;
3324
+ readonly width: OptionType<import("@elaraai/east").StringType>;
3325
+ readonly height: OptionType<import("@elaraai/east").StringType>;
3326
+ readonly centre: import("@elaraai/east").BooleanType;
3327
+ readonly cell: import("@elaraai/east").FloatType;
3328
+ readonly optional: import("@elaraai/east").BooleanType;
3329
+ }>>;
3330
+ readonly series: OptionType<StructType<{
3331
+ readonly key: import("@elaraai/east").StringType;
3332
+ readonly from: import("@elaraai/east").StringType;
3333
+ readonly to: import("@elaraai/east").StringType;
3334
+ readonly tile: VariantType<{
3335
+ readonly day: NullType;
3336
+ readonly week: NullType;
3337
+ readonly month: NullType;
3338
+ readonly quarter: NullType;
3339
+ readonly year: NullType;
3340
+ }>;
3341
+ }>>;
3342
+ readonly summary: OptionType<StructType<{
3343
+ readonly key: import("@elaraai/east").StringType;
3344
+ readonly from: import("@elaraai/east").StringType;
3345
+ readonly to: import("@elaraai/east").StringType;
3346
+ readonly tile: VariantType<{
3347
+ readonly day: NullType;
3348
+ readonly week: NullType;
3349
+ readonly month: NullType;
3350
+ readonly quarter: NullType;
3351
+ readonly year: NullType;
3352
+ }>;
3353
+ }>>;
2857
3354
  }>>;
2858
3355
  readonly range: OptionType<import("@elaraai/east").StringType>;
2859
3356
  readonly search: ArrayType<import("@elaraai/east").StringType>;
@@ -2916,14 +3413,25 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
2916
3413
  readonly clear: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], NullType>;
2917
3414
  readonly clearAll: import("@elaraai/east").FunctionType<[], NullType>;
2918
3415
  readonly count: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
2919
- readonly countWhere: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
2920
- readonly values: ArrayType<import("@elaraai/east").StringType>;
2921
- readonly range: StructType<{
2922
- readonly from: import("@elaraai/east").StringType;
2923
- readonly to: import("@elaraai/east").StringType;
2924
- }>;
2925
- readonly prefix: import("@elaraai/east").StringType;
2926
- }>>], OptionType<import("@elaraai/east").IntegerType>>;
3416
+ readonly countWhere: import("@elaraai/east").FunctionType<[StructType<{
3417
+ readonly where: import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
3418
+ readonly values: ArrayType<import("@elaraai/east").StringType>;
3419
+ readonly range: StructType<{
3420
+ readonly from: import("@elaraai/east").StringType;
3421
+ readonly to: import("@elaraai/east").StringType;
3422
+ }>;
3423
+ readonly prefix: import("@elaraai/east").StringType;
3424
+ }>>;
3425
+ readonly area: OptionType<VariantType<{
3426
+ readonly window: StructType<{
3427
+ readonly minX: import("@elaraai/east").FloatType;
3428
+ readonly minY: import("@elaraai/east").FloatType;
3429
+ readonly maxX: import("@elaraai/east").FloatType;
3430
+ readonly maxY: import("@elaraai/east").FloatType;
3431
+ }>;
3432
+ readonly unplaced: NullType;
3433
+ }>>;
3434
+ }>], OptionType<import("@elaraai/east").IntegerType>>;
2927
3435
  readonly total: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
2928
3436
  readonly domain: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<StructType<{
2929
3437
  readonly from: import("@elaraai/east").StringType;
@@ -3005,6 +3513,7 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
3005
3513
  readonly period: VariantType<{
3006
3514
  readonly day: NullType;
3007
3515
  readonly week: NullType;
3516
+ readonly month: NullType;
3008
3517
  }>;
3009
3518
  readonly date: OptionType<DateTimeType>;
3010
3519
  readonly weekStart: VariantType<{
@@ -3018,6 +3527,11 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
3018
3527
  readonly chipSkills: BooleanType;
3019
3528
  readonly requirements: BooleanType;
3020
3529
  readonly readOnly: BooleanType;
3530
+ readonly tileTimes: VariantType<{
3531
+ readonly always: NullType;
3532
+ readonly different: NullType;
3533
+ }>;
3534
+ readonly letters: BooleanType;
3021
3535
  }>;
3022
3536
  readonly id: OptionType<StringType>;
3023
3537
  }>>;
@@ -3027,7 +3541,7 @@ export declare const RosterComponent: import("@elaraai/east-ui").UIComponentDef<
3027
3541
  * @typeParam R - The app's duty row type: the duty kind's row
3028
3542
  */
3029
3543
  export interface RosterProps<R extends EastType = EastType> {
3030
- /** Exactly one event kind, the duties: `{ duty: Schedule.events(Record.bind(duties, [dutiesPatch]), { start, end, resource, shift, group, … }) }`. */
3544
+ /** Exactly one event kind, the duties: `{ duty: Schedule.events(Record.bind(duties), { start, end, resource, shift, group, … }) }`. */
3031
3545
  events: Readonly<Record<string, ScheduleEventKind<EastType, R>>>;
3032
3546
  /**
3033
3547
  * Who is rostered: `people`, the staff — `Schedule.resources(staff.read(), { name, icon, label, group, … })`, every
@@ -3037,11 +3551,11 @@ export interface RosterProps<R extends EastType = EastType> {
3037
3551
  readonly people: ScheduleResourceKind<EastType, EastType>;
3038
3552
  readonly agencies?: ScheduleResourceKind<EastType, EastType>;
3039
3553
  };
3040
- /** What it publishes, the app's weeks: `Schedule.periods(Record.bind(weeks, [weeksPatch]), { every: "week", status, dismissed? })`. Omitted, no Publish. */
3554
+ /** What it publishes, the app's weeks: `Schedule.periods(Record.bind(weeks), { every: "week", status, dismissed? })`. Omitted, no Publish. */
3041
3555
  periods?: SchedulePeriods;
3042
- /** The app's targets, a row per slot: `Roster.targets(Record.bind(cover, [coverPatch]), { day, group, shift, positions, hours })`. */
3556
+ /** The app's targets, a row per slot: `Roster.targets(Record.bind(cover), { day, group, shift, positions, hours })`. */
3043
3557
  targets?: RosterTargets;
3044
- /** The shifts: `Roster.shifts(rows, { label, code, start, hours, order? })`. */
3558
+ /** The shifts: `Roster.shifts(rows, { label, code, start, hours, order?, color? })`; `color` an `Option<ColorToken>`, the People tiles' fill (#1406). */
3045
3559
  shifts: RosterShifts;
3046
3560
  /** The groups: `Roster.groups(rows, { label, order? })`. */
3047
3561
  groups: RosterGroups;
@@ -3054,6 +3568,12 @@ export interface RosterProps<R extends EastType = EastType> {
3054
3568
  activities?: SubtypeExprOrValue<ArrayType<T.RosterSkillType>>;
3055
3569
  /** The app's suggestions: `Roster.proposals(rows, { person, day, group, shift, reason })`. */
3056
3570
  proposals?: RosterProposals;
3571
+ /**
3572
+ * The app's week patterns (#1406): `Roster.patterns(rows, { name, icon?, label, days, order? })` — the cards of the tab `name`
3573
+ * titles (`Roster.library.patterns()`), and what a drop on a person's week applies: seven days from the week's first day,
3574
+ * each a shift's key or none for a day off. Omitted, no patterns and no tab.
3575
+ */
3576
+ patterns?: RosterPatterns;
3057
3577
  /**
3058
3578
  * The app's pay (§5.6): an East function from `Roster.Types.PayRequest(R)` — one person's duties for the week, or one agency's
3059
3579
  * requests — to `Roster.Types.Pay`, each duty's cost by the app's own pay codes. Asked a person at a time; omitted, no costs show.
@@ -3077,6 +3597,13 @@ export interface RosterProps<R extends EastType = EastType> {
3077
3597
  * every person. Omitted, no Find fix is offered; `Roster.check(R)` still reports the issue.
3078
3598
  */
3079
3599
  fit?: BoundFunc<[T.RosterFitRequestTypeFor<R>], T.RosterFitResultType>;
3600
+ /**
3601
+ * The app's optimiser (#1409): `Func.bind` of its `e3.function` from `Roster.Types.OptimiseRequest(R)` — the week in view, the run
3602
+ * number, the week's duties as drafted, its targets by slot and `Roster.Types.Context` — to `Roster.Types.OptimiseResult(R)`, the
3603
+ * week's duties complete. The Elara eye in the toolbar calls it once per run; the result lands in the session as one edit, which
3604
+ * one Undo reverts and Save commits with everything else. Omitted, no eye.
3605
+ */
3606
+ optimise?: BoundFunc<[T.RosterOptimiseRequestTypeFor<R>], T.RosterOptimiseResultTypeFor<R>>;
3080
3607
  /**
3081
3608
  * The narrowing: one `Slice.bindRecords`, a source per record it narrows — the duty kind's slot (its interval index from the
3082
3609
  * start to the end, its `range` the start field, which the Roster's navigation writes), `targets`, `people` and `activities`,
@@ -3087,10 +3614,13 @@ export interface RosterProps<R extends EastType = EastType> {
3087
3614
  library?: readonly RosterLibraryTab[];
3088
3615
  /** Shows the inspector pane: the duty kind's own `inspector` and `Roster.targets`' `inspector` draw in it where given. */
3089
3616
  inspector?: boolean;
3090
- /** Initial view, persisted under id. */
3617
+ /**
3618
+ * Initial view, persisted under id. Shifts takes `"day"` or `"week"` (`"day"` by default); People `"week"` or `"month"`
3619
+ * (`"week"` by default, #1406); a period its layout does not take is refused at build. Each layout keeps its own period per viewer.
3620
+ */
3091
3621
  view?: {
3092
3622
  layout?: "shifts" | "people";
3093
- period?: "day" | "week";
3623
+ period?: "day" | "week" | "month";
3094
3624
  date?: SubtypeExprOrValue<DateTimeType>;
3095
3625
  };
3096
3626
  /** Week boundary; Monday by default. */
@@ -3105,6 +3635,10 @@ export interface RosterProps<R extends EastType = EastType> {
3105
3635
  requirements?: SubtypeExprOrValue<BooleanType>;
3106
3636
  /** Disables edits; published weeks are always read-only. */
3107
3637
  readOnly?: SubtypeExprOrValue<BooleanType>;
3638
+ /** Whether a People tile shows the shift's hours (`06–14`) always, or only a duty's own times where they differ from the shift's (#1406); `"always"` by default. */
3639
+ tileTimes?: "always" | "different";
3640
+ /** Whether a month's marks carry the shift's letter (#1406); `true` by default. */
3641
+ letters?: boolean;
3108
3642
  /** Stable viewer identity when multiple Rosters share a surface. */
3109
3643
  id?: string;
3110
3644
  }
@@ -3137,8 +3671,11 @@ export declare function rosterAgenciesOf(kind: ScheduleResourceKind<EastType, Ea
3137
3671
  * Roster values rather than its declaration; `events` holding other than one kind, or `resources` other than `people`
3138
3672
  * and `agencies`; a duty kind whose resource names no `people`, or a resource kind read a window at a time; a `people`
3139
3673
  * kind with no `group`; `positions` beside a duty kind with no `position` role; `pay` without `currency`; a `pay`, a
3140
- * `check` or a `fit` over another type; a library tab listed twice; and as `Schedule`'s checks, the duty kind's
3141
- * build (`buildRoster`) and the slice's (`recordSources`) do
3674
+ * `check` or a `fit` over another type, or an `optimise` that is not `Func.bind` of a function from `OptimiseRequest(R)` to
3675
+ * `OptimiseResult(R)` (#1409); a library tab listed twice; a `view.period` its layout does not take, naming each
3676
+ * layout's periods; `Roster.library.patterns()` without `patterns`; a `tileTimes` other than `"always"` or
3677
+ * `"different"`, or a `letters` that is no boolean (#1406); and as `Schedule`'s checks, the duty kind's build
3678
+ * (`buildRoster`) and the slice's (`recordSources`) do
3142
3679
  * @internal
3143
3680
  */
3144
3681
  export declare function createRosterPayload<R extends EastType>(props: RosterProps<R>): ExprType<typeof RosterPayloadType>;
@@ -3156,6 +3693,8 @@ export interface RosterNamespace {
3156
3693
  activities: typeof rosterActivities;
3157
3694
  /** Reads the app's suggestion rows as the Roster's proposals. */
3158
3695
  proposals: typeof rosterProposals;
3696
+ /** Reads the app's week pattern rows as the Roster's patterns, with their tab's name and icon (#1406). */
3697
+ patterns: typeof rosterPatterns;
3159
3698
  /** Declares the app's targets, a row per slot, over its own record. */
3160
3699
  targets: typeof rosterTargets;
3161
3700
  /** `coverage(R)`: computes coverage without a browser. */
@@ -3174,6 +3713,7 @@ export interface RosterNamespace {
3174
3713
  library: {
3175
3714
  people: typeof rosterPeopleTab;
3176
3715
  activities: typeof rosterActivitiesTab;
3716
+ patterns: typeof rosterPatternsTab;
3177
3717
  tab: typeof rosterLibraryTab;
3178
3718
  };
3179
3719
  /** @deprecated Removed (#1368): the people are `resources={{ people: Schedule.resources(staff.read(), { name, icon, label, group, … }) }}`. */
@@ -3214,6 +3754,10 @@ export interface RosterNamespace {
3214
3754
  Pay: T.RosterPayType;
3215
3755
  Layout: typeof RosterLayoutType;
3216
3756
  Period: typeof RosterPeriodType;
3757
+ Pattern: T.RosterPatternType;
3758
+ TileTimes: typeof RosterTileTimesType;
3759
+ OptimiseRequest: typeof T.RosterOptimiseRequestTypeFor;
3760
+ OptimiseResult: typeof T.RosterOptimiseResultTypeFor;
3217
3761
  };
3218
3762
  }
3219
3763
  /**