@elaraai/east-ui 1.0.85 → 1.0.87

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 (561) hide show
  1. package/dist/src/buttons/button/index.d.ts +4 -0
  2. package/dist/src/buttons/button/index.d.ts.map +1 -1
  3. package/dist/src/buttons/button/index.js +8 -1
  4. package/dist/src/buttons/button/index.js.map +1 -1
  5. package/dist/src/buttons/button/types.d.ts +6 -5
  6. package/dist/src/buttons/button/types.d.ts.map +1 -1
  7. package/dist/src/buttons/button/types.js.map +1 -1
  8. package/dist/src/buttons/icon-button/index.d.ts +5 -5
  9. package/dist/src/buttons/icon-button/index.d.ts.map +1 -1
  10. package/dist/src/buttons/icon-button/index.js +8 -2
  11. package/dist/src/buttons/icon-button/index.js.map +1 -1
  12. package/dist/src/buttons/icon-button/types.d.ts +8 -12
  13. package/dist/src/buttons/icon-button/types.d.ts.map +1 -1
  14. package/dist/src/buttons/icon-button/types.js +2 -2
  15. package/dist/src/buttons/icon-button/types.js.map +1 -1
  16. package/dist/src/buttons/toggle/index.d.ts +4 -0
  17. package/dist/src/buttons/toggle/index.d.ts.map +1 -1
  18. package/dist/src/buttons/toggle/index.js +6 -1
  19. package/dist/src/buttons/toggle/index.js.map +1 -1
  20. package/dist/src/buttons/toggle/types.d.ts +3 -2
  21. package/dist/src/buttons/toggle/types.d.ts.map +1 -1
  22. package/dist/src/buttons/toggle/types.js.map +1 -1
  23. package/dist/src/charts/chart/index.d.ts.map +1 -1
  24. package/dist/src/charts/chart/index.js +3 -3
  25. package/dist/src/charts/chart/index.js.map +1 -1
  26. package/dist/src/charts/spec/index.d.ts.map +1 -1
  27. package/dist/src/charts/spec/index.js +5 -2
  28. package/dist/src/charts/spec/index.js.map +1 -1
  29. package/dist/src/collections/deck/index.d.ts.map +1 -1
  30. package/dist/src/collections/deck/index.js +2 -2
  31. package/dist/src/collections/deck/index.js.map +1 -1
  32. package/dist/src/collections/index.d.ts +0 -6
  33. package/dist/src/collections/index.d.ts.map +1 -1
  34. package/dist/src/collections/index.js +0 -6
  35. package/dist/src/collections/index.js.map +1 -1
  36. package/dist/src/collections/library/index.d.ts +1 -1
  37. package/dist/src/collections/library/index.d.ts.map +1 -1
  38. package/dist/src/collections/library/index.js +2 -2
  39. package/dist/src/collections/library/index.js.map +1 -1
  40. package/dist/src/collections/schematic/index.d.ts.map +1 -1
  41. package/dist/src/collections/schematic/index.js +2 -2
  42. package/dist/src/collections/schematic/index.js.map +1 -1
  43. package/dist/src/collections/table/index.d.ts +1 -1
  44. package/dist/src/collections/table/index.d.ts.map +1 -1
  45. package/dist/src/collections/table/index.js +2 -2
  46. package/dist/src/collections/table/index.js.map +1 -1
  47. package/dist/src/collections/tree-view/index.d.ts +11 -32
  48. package/dist/src/collections/tree-view/index.d.ts.map +1 -1
  49. package/dist/src/collections/tree-view/index.js +15 -10
  50. package/dist/src/collections/tree-view/index.js.map +1 -1
  51. package/dist/src/component.d.ts +673 -9344
  52. package/dist/src/component.d.ts.map +1 -1
  53. package/dist/src/component.js +5 -259
  54. package/dist/src/component.js.map +1 -1
  55. package/dist/src/contracts/approval.d.ts +6 -8
  56. package/dist/src/contracts/approval.d.ts.map +1 -1
  57. package/dist/src/contracts/approval.js +6 -8
  58. package/dist/src/contracts/approval.js.map +1 -1
  59. package/dist/src/contracts/drag.d.ts +1 -1
  60. package/dist/src/contracts/drag.d.ts.map +1 -1
  61. package/dist/src/contracts/drag.js +4 -5
  62. package/dist/src/contracts/drag.js.map +1 -1
  63. package/dist/src/contracts/editing.d.ts +19 -19
  64. package/dist/src/contracts/editing.js +14 -14
  65. package/dist/src/contracts/fields.d.ts +471 -0
  66. package/dist/src/contracts/fields.d.ts.map +1 -0
  67. package/dist/src/contracts/fields.js +492 -0
  68. package/dist/src/contracts/fields.js.map +1 -0
  69. package/dist/src/contracts/index.d.ts +1 -0
  70. package/dist/src/contracts/index.d.ts.map +1 -1
  71. package/dist/src/contracts/index.js +1 -0
  72. package/dist/src/contracts/index.js.map +1 -1
  73. package/dist/src/contracts/indexed-source.d.ts +118 -0
  74. package/dist/src/contracts/indexed-source.d.ts.map +1 -0
  75. package/dist/src/contracts/indexed-source.js +89 -0
  76. package/dist/src/contracts/indexed-source.js.map +1 -0
  77. package/dist/src/contracts/pick.d.ts +0 -16
  78. package/dist/src/contracts/pick.d.ts.map +1 -1
  79. package/dist/src/contracts/review.d.ts +4 -6
  80. package/dist/src/contracts/review.d.ts.map +1 -1
  81. package/dist/src/contracts/review.js +4 -6
  82. package/dist/src/contracts/review.js.map +1 -1
  83. package/dist/src/contracts/source.d.ts +2 -2
  84. package/dist/src/contracts/source.d.ts.map +1 -1
  85. package/dist/src/contracts/source.js.map +1 -1
  86. package/dist/src/contracts/states.d.ts +1 -3
  87. package/dist/src/contracts/states.d.ts.map +1 -1
  88. package/dist/src/contracts/states.js +1 -3
  89. package/dist/src/contracts/states.js.map +1 -1
  90. package/dist/src/display/editable-chip/index.d.ts +2 -0
  91. package/dist/src/display/editable-chip/index.d.ts.map +1 -1
  92. package/dist/src/display/editable-chip/index.js +4 -1
  93. package/dist/src/display/editable-chip/index.js.map +1 -1
  94. package/dist/src/display/icon/index.d.ts +14 -31
  95. package/dist/src/display/icon/index.d.ts.map +1 -1
  96. package/dist/src/display/icon/index.js +15 -19
  97. package/dist/src/display/icon/index.js.map +1 -1
  98. package/dist/src/display/icon/solid.d.ts +24 -0
  99. package/dist/src/display/icon/solid.d.ts.map +1 -0
  100. package/dist/src/display/icon/solid.js +39 -0
  101. package/dist/src/display/icon/solid.js.map +1 -0
  102. package/dist/src/display/icon/types.d.ts +14 -38
  103. package/dist/src/display/icon/types.d.ts.map +1 -1
  104. package/dist/src/display/icon/types.js +6 -15
  105. package/dist/src/display/icon/types.js.map +1 -1
  106. package/dist/src/display/metric-chip/index.d.ts +2 -0
  107. package/dist/src/display/metric-chip/index.d.ts.map +1 -1
  108. package/dist/src/display/metric-chip/index.js +4 -1
  109. package/dist/src/display/metric-chip/index.js.map +1 -1
  110. package/dist/src/display/stat/index.d.ts +2 -0
  111. package/dist/src/display/stat/index.d.ts.map +1 -1
  112. package/dist/src/display/stat/index.js +4 -1
  113. package/dist/src/display/stat/index.js.map +1 -1
  114. package/dist/src/display/stat/types.d.ts +3 -5
  115. package/dist/src/display/stat/types.d.ts.map +1 -1
  116. package/dist/src/display/stat/types.js +5 -2
  117. package/dist/src/display/stat/types.js.map +1 -1
  118. package/dist/src/feedback/banner/index.d.ts +5 -3
  119. package/dist/src/feedback/banner/index.d.ts.map +1 -1
  120. package/dist/src/feedback/banner/index.js +4 -1
  121. package/dist/src/feedback/banner/index.js.map +1 -1
  122. package/dist/src/feedback/empty-state/index.d.ts +16 -19
  123. package/dist/src/feedback/empty-state/index.d.ts.map +1 -1
  124. package/dist/src/feedback/empty-state/index.js +17 -10
  125. package/dist/src/feedback/empty-state/index.js.map +1 -1
  126. package/dist/src/feedback/status/index.d.ts +5 -3
  127. package/dist/src/feedback/status/index.d.ts.map +1 -1
  128. package/dist/src/feedback/status/index.js +4 -1
  129. package/dist/src/feedback/status/index.js.map +1 -1
  130. package/dist/src/index.d.ts +5 -6
  131. package/dist/src/index.d.ts.map +1 -1
  132. package/dist/src/index.js +12 -11
  133. package/dist/src/index.js.map +1 -1
  134. package/dist/src/internal.d.ts +23 -16
  135. package/dist/src/internal.d.ts.map +1 -1
  136. package/dist/src/internal.js +29 -13
  137. package/dist/src/internal.js.map +1 -1
  138. package/dist/src/navigation/index.d.ts +0 -2
  139. package/dist/src/navigation/index.d.ts.map +1 -1
  140. package/dist/src/navigation/index.js +0 -2
  141. package/dist/src/navigation/index.js.map +1 -1
  142. package/dist/src/navigation/nav-list/index.d.ts +2 -0
  143. package/dist/src/navigation/nav-list/index.d.ts.map +1 -1
  144. package/dist/src/navigation/nav-list/index.js +4 -1
  145. package/dist/src/navigation/nav-list/index.js.map +1 -1
  146. package/dist/src/navigation/nav-list/types.d.ts +3 -14
  147. package/dist/src/navigation/nav-list/types.d.ts.map +1 -1
  148. package/dist/src/navigation/nav-list/types.js.map +1 -1
  149. package/dist/src/overlays/command-palette/index.d.ts +2 -0
  150. package/dist/src/overlays/command-palette/index.d.ts.map +1 -1
  151. package/dist/src/overlays/command-palette/index.js +5 -0
  152. package/dist/src/overlays/command-palette/index.js.map +1 -1
  153. package/dist/src/overlays/command-palette/types.d.ts +0 -8
  154. package/dist/src/overlays/command-palette/types.d.ts.map +1 -1
  155. package/dist/src/pick/index.d.ts +1 -17
  156. package/dist/src/pick/index.d.ts.map +1 -1
  157. package/dist/src/pick/index.js +1 -1
  158. package/dist/src/platform/slice/index.d.ts +1324 -2039
  159. package/dist/src/platform/slice/index.d.ts.map +1 -1
  160. package/dist/src/platform/slice/index.js +55 -74
  161. package/dist/src/platform/slice/index.js.map +1 -1
  162. package/dist/src/platform/slice/local.d.ts +743 -0
  163. package/dist/src/platform/slice/local.d.ts.map +1 -0
  164. package/dist/src/platform/slice/local.js +133 -0
  165. package/dist/src/platform/slice/local.js.map +1 -0
  166. package/dist/src/platform/slice/record-chrome.d.ts +211 -0
  167. package/dist/src/platform/slice/record-chrome.d.ts.map +1 -0
  168. package/dist/src/platform/slice/record-chrome.js +52 -0
  169. package/dist/src/platform/slice/record-chrome.js.map +1 -0
  170. package/dist/src/platform/slice/record-interval.d.ts +24 -0
  171. package/dist/src/platform/slice/record-interval.d.ts.map +1 -0
  172. package/dist/src/platform/slice/record-interval.js +61 -0
  173. package/dist/src/platform/slice/record-interval.js.map +1 -0
  174. package/dist/src/platform/slice/record-plan.d.ts +54 -0
  175. package/dist/src/platform/slice/record-plan.d.ts.map +1 -0
  176. package/dist/src/platform/slice/record-plan.js +139 -0
  177. package/dist/src/platform/slice/record-plan.js.map +1 -0
  178. package/dist/src/platform/slice/record-types.d.ts +2739 -0
  179. package/dist/src/platform/slice/record-types.d.ts.map +1 -0
  180. package/dist/src/platform/slice/record-types.js +209 -0
  181. package/dist/src/platform/slice/record-types.js.map +1 -0
  182. package/dist/src/platform/slice/record.d.ts +109 -0
  183. package/dist/src/platform/slice/record.d.ts.map +1 -0
  184. package/dist/src/platform/slice/record.js +210 -0
  185. package/dist/src/platform/slice/record.js.map +1 -0
  186. package/dist/src/reactive/match.d.ts +4 -6
  187. package/dist/src/reactive/match.d.ts.map +1 -1
  188. package/dist/src/reactive/match.js +4 -6
  189. package/dist/src/reactive/match.js.map +1 -1
  190. package/dist/src/runtime/collections/deck.d.ts.map +1 -1
  191. package/dist/src/runtime/collections/index.d.ts +0 -6
  192. package/dist/src/runtime/collections/index.d.ts.map +1 -1
  193. package/dist/src/runtime/collections/index.js +0 -6
  194. package/dist/src/runtime/collections/index.js.map +1 -1
  195. package/dist/src/runtime/display/icon.d.ts +6 -5
  196. package/dist/src/runtime/display/icon.d.ts.map +1 -1
  197. package/dist/src/runtime/display/icon.js +6 -5
  198. package/dist/src/runtime/display/icon.js.map +1 -1
  199. package/dist/src/runtime/feedback/empty-state.d.ts +5 -5
  200. package/dist/src/runtime/feedback/empty-state.js +5 -5
  201. package/dist/src/runtime/layout/dock.d.ts +2 -1
  202. package/dist/src/runtime/layout/dock.d.ts.map +1 -1
  203. package/dist/src/runtime/layout/dock.js +2 -1
  204. package/dist/src/runtime/layout/dock.js.map +1 -1
  205. package/dist/src/runtime/navigation/index.d.ts +0 -3
  206. package/dist/src/runtime/navigation/index.d.ts.map +1 -1
  207. package/dist/src/runtime/navigation/index.js +0 -3
  208. package/dist/src/runtime/navigation/index.js.map +1 -1
  209. package/dist/src/runtime/reactive/match.d.ts +2 -3
  210. package/dist/src/runtime/reactive/match.d.ts.map +1 -1
  211. package/dist/src/runtime/reactive/match.js +2 -3
  212. package/dist/src/runtime/reactive/match.js.map +1 -1
  213. package/dist/src/runtime/record-slice-source.d.ts +78 -0
  214. package/dist/src/runtime/record-slice-source.d.ts.map +1 -0
  215. package/dist/src/runtime/record-slice-source.js +201 -0
  216. package/dist/src/runtime/record-slice-source.js.map +1 -0
  217. package/dist/src/runtime/record-slice.d.ts +110 -0
  218. package/dist/src/runtime/record-slice.d.ts.map +1 -0
  219. package/dist/src/runtime/record-slice.js +374 -0
  220. package/dist/src/runtime/record-slice.js.map +1 -0
  221. package/dist/src/runtime/slice.d.ts +11 -13
  222. package/dist/src/runtime/slice.d.ts.map +1 -1
  223. package/dist/src/runtime/slice.js +41 -93
  224. package/dist/src/runtime/slice.js.map +1 -1
  225. package/dist/src/shared/plot-gutter.d.ts +1 -1
  226. package/dist/src/shared/plot-gutter.js +1 -1
  227. package/dist/src/shared/resolve-tag.d.ts +23 -0
  228. package/dist/src/shared/resolve-tag.d.ts.map +1 -0
  229. package/dist/src/shared/resolve-tag.js +26 -0
  230. package/dist/src/shared/resolve-tag.js.map +1 -0
  231. package/dist/src/shared/tree.d.ts +1 -1
  232. package/dist/src/shared/tree.js +1 -1
  233. package/dist/src/slice/breakdown/index.d.ts +1 -1
  234. package/dist/src/slice/breakdown/index.d.ts.map +1 -1
  235. package/dist/src/slice/breakdown/index.js +3 -3
  236. package/dist/src/slice/breakdown/index.js.map +1 -1
  237. package/dist/src/slice/cohort/index.d.ts +4 -5
  238. package/dist/src/slice/cohort/index.d.ts.map +1 -1
  239. package/dist/src/slice/cohort/index.js +6 -7
  240. package/dist/src/slice/cohort/index.js.map +1 -1
  241. package/dist/src/slice/filter/index.d.ts +1 -1
  242. package/dist/src/slice/filter/index.d.ts.map +1 -1
  243. package/dist/src/slice/filter/index.js +3 -3
  244. package/dist/src/slice/filter/index.js.map +1 -1
  245. package/dist/src/slice/index.d.ts +20 -2230
  246. package/dist/src/slice/index.d.ts.map +1 -1
  247. package/dist/src/slice/legend/index.d.ts +2 -2
  248. package/dist/src/slice/legend/index.d.ts.map +1 -1
  249. package/dist/src/slice/legend/index.js +4 -4
  250. package/dist/src/slice/legend/index.js.map +1 -1
  251. package/dist/src/slice/rail/index.d.ts +7 -4
  252. package/dist/src/slice/rail/index.d.ts.map +1 -1
  253. package/dist/src/slice/rail/index.js +10 -5
  254. package/dist/src/slice/rail/index.js.map +1 -1
  255. package/dist/src/slice/range/index.d.ts +1 -1
  256. package/dist/src/slice/range/index.d.ts.map +1 -1
  257. package/dist/src/slice/range/index.js +3 -3
  258. package/dist/src/slice/range/index.js.map +1 -1
  259. package/dist/src/slice/record/index.d.ts +171 -0
  260. package/dist/src/slice/record/index.d.ts.map +1 -0
  261. package/dist/src/slice/record/index.js +10 -0
  262. package/dist/src/slice/record/index.js.map +1 -0
  263. package/dist/src/slice/search/index.d.ts +6 -6
  264. package/dist/src/slice/search/index.d.ts.map +1 -1
  265. package/dist/src/slice/search/index.js +7 -7
  266. package/dist/src/slice/search/index.js.map +1 -1
  267. package/dist/src/slice/summary/index.d.ts +1 -1
  268. package/dist/src/slice/summary/index.d.ts.map +1 -1
  269. package/dist/src/slice/summary/index.js +3 -3
  270. package/dist/src/slice/summary/index.js.map +1 -1
  271. package/dist/src/typography/list/index.d.ts +2 -8
  272. package/dist/src/typography/list/index.d.ts.map +1 -1
  273. package/dist/src/typography/list/index.js +4 -1
  274. package/dist/src/typography/list/index.js.map +1 -1
  275. package/dist/src/typography/list/types.d.ts +0 -8
  276. package/dist/src/typography/list/types.d.ts.map +1 -1
  277. package/dist/test/collections/deck.examples.d.ts.map +1 -1
  278. package/dist/test/collections/deck.examples.js +6 -7
  279. package/dist/test/collections/deck.examples.js.map +1 -1
  280. package/dist/test/collections/index.d.ts +0 -1
  281. package/dist/test/collections/index.d.ts.map +1 -1
  282. package/dist/test/collections/index.js +0 -1
  283. package/dist/test/collections/index.js.map +1 -1
  284. package/dist/test/collections/library.examples.d.ts.map +1 -1
  285. package/dist/test/collections/library.examples.js +6 -7
  286. package/dist/test/collections/library.examples.js.map +1 -1
  287. package/dist/test/collections/schematic.examples.d.ts.map +1 -1
  288. package/dist/test/collections/schematic.examples.js +11 -19
  289. package/dist/test/collections/schematic.examples.js.map +1 -1
  290. package/dist/test/collections/tree-view.examples.js +2 -2
  291. package/dist/test/contracts/editing.examples.d.ts +1 -0
  292. package/dist/test/contracts/editing.examples.d.ts.map +1 -1
  293. package/dist/test/contracts/editing.examples.js +37 -6
  294. package/dist/test/contracts/editing.examples.js.map +1 -1
  295. package/dist/test/contracts/fields.examples.d.ts +7 -0
  296. package/dist/test/contracts/fields.examples.d.ts.map +1 -0
  297. package/dist/test/contracts/fields.examples.js +42 -0
  298. package/dist/test/contracts/fields.examples.js.map +1 -0
  299. package/dist/test/display/avatar.examples.d.ts.map +1 -1
  300. package/dist/test/display/avatar.examples.js +3 -3
  301. package/dist/test/display/avatar.examples.js.map +1 -1
  302. package/dist/test/display/icon.examples.d.ts.map +1 -1
  303. package/dist/test/display/icon.examples.js +12 -11
  304. package/dist/test/display/icon.examples.js.map +1 -1
  305. package/dist/test/feedback/empty-state.examples.js +9 -9
  306. package/dist/test/feedback/empty-state.examples.js.map +1 -1
  307. package/dist/test/layout/dock.examples.d.ts +0 -8
  308. package/dist/test/layout/dock.examples.d.ts.map +1 -1
  309. package/dist/test/layout/dock.examples.js +2 -42
  310. package/dist/test/layout/dock.examples.js.map +1 -1
  311. package/dist/test/layout/snap-grid.examples.d.ts.map +1 -1
  312. package/dist/test/layout/snap-grid.examples.js +18 -28
  313. package/dist/test/layout/snap-grid.examples.js.map +1 -1
  314. package/dist/test/navigation/index.d.ts +0 -2
  315. package/dist/test/navigation/index.d.ts.map +1 -1
  316. package/dist/test/navigation/index.js +0 -2
  317. package/dist/test/navigation/index.js.map +1 -1
  318. package/dist/test/navigation/nav-list.examples.js.map +1 -1
  319. package/dist/test/platform/index.d.ts +1 -0
  320. package/dist/test/platform/index.d.ts.map +1 -1
  321. package/dist/test/platform/index.js +1 -0
  322. package/dist/test/platform/index.js.map +1 -1
  323. package/dist/test/platform/slice-local.examples.d.ts +2 -0
  324. package/dist/test/platform/slice-local.examples.d.ts.map +1 -0
  325. package/dist/test/platform/slice-local.examples.js +31 -0
  326. package/dist/test/platform/slice-local.examples.js.map +1 -0
  327. package/dist/test/platform/slice.examples.js +61 -61
  328. package/dist/test/platform/slice.examples.js.map +1 -1
  329. package/dist/test/slice/slice.examples.d.ts +0 -1
  330. package/dist/test/slice/slice.examples.d.ts.map +1 -1
  331. package/dist/test/slice/slice.examples.js +67 -181
  332. package/dist/test/slice/slice.examples.js.map +1 -1
  333. package/package.json +4 -4
  334. package/dist/src/collections/board/index.d.ts +0 -855
  335. package/dist/src/collections/board/index.d.ts.map +0 -1
  336. package/dist/src/collections/board/index.js +0 -416
  337. package/dist/src/collections/board/index.js.map +0 -1
  338. package/dist/src/collections/board/types.d.ts +0 -111
  339. package/dist/src/collections/board/types.d.ts.map +0 -1
  340. package/dist/src/collections/board/types.js +0 -89
  341. package/dist/src/collections/board/types.js.map +0 -1
  342. package/dist/src/collections/calendar/index.d.ts +0 -446
  343. package/dist/src/collections/calendar/index.d.ts.map +0 -1
  344. package/dist/src/collections/calendar/index.js +0 -287
  345. package/dist/src/collections/calendar/index.js.map +0 -1
  346. package/dist/src/collections/calendar/types.d.ts +0 -338
  347. package/dist/src/collections/calendar/types.d.ts.map +0 -1
  348. package/dist/src/collections/calendar/types.js +0 -206
  349. package/dist/src/collections/calendar/types.js.map +0 -1
  350. package/dist/src/collections/flowchart/index.d.ts +0 -430
  351. package/dist/src/collections/flowchart/index.d.ts.map +0 -1
  352. package/dist/src/collections/flowchart/index.js +0 -292
  353. package/dist/src/collections/flowchart/index.js.map +0 -1
  354. package/dist/src/collections/flowchart/types.d.ts +0 -333
  355. package/dist/src/collections/flowchart/types.d.ts.map +0 -1
  356. package/dist/src/collections/flowchart/types.js +0 -263
  357. package/dist/src/collections/flowchart/types.js.map +0 -1
  358. package/dist/src/collections/plan/assemble.d.ts +0 -2274
  359. package/dist/src/collections/plan/assemble.d.ts.map +0 -1
  360. package/dist/src/collections/plan/assemble.js +0 -210
  361. package/dist/src/collections/plan/assemble.js.map +0 -1
  362. package/dist/src/collections/plan/builders.d.ts +0 -765
  363. package/dist/src/collections/plan/builders.d.ts.map +0 -1
  364. package/dist/src/collections/plan/builders.js +0 -673
  365. package/dist/src/collections/plan/builders.js.map +0 -1
  366. package/dist/src/collections/plan/factories.d.ts +0 -512
  367. package/dist/src/collections/plan/factories.d.ts.map +0 -1
  368. package/dist/src/collections/plan/factories.js +0 -539
  369. package/dist/src/collections/plan/factories.js.map +0 -1
  370. package/dist/src/collections/plan/index.d.ts +0 -324
  371. package/dist/src/collections/plan/index.d.ts.map +0 -1
  372. package/dist/src/collections/plan/index.js +0 -193
  373. package/dist/src/collections/plan/index.js.map +0 -1
  374. package/dist/src/collections/plan/ir.d.ts +0 -2490
  375. package/dist/src/collections/plan/ir.d.ts.map +0 -1
  376. package/dist/src/collections/plan/ir.js +0 -107
  377. package/dist/src/collections/plan/ir.js.map +0 -1
  378. package/dist/src/collections/plan/pick.d.ts +0 -133
  379. package/dist/src/collections/plan/pick.d.ts.map +0 -1
  380. package/dist/src/collections/plan/pick.js +0 -208
  381. package/dist/src/collections/plan/pick.js.map +0 -1
  382. package/dist/src/collections/plan/root.d.ts +0 -297
  383. package/dist/src/collections/plan/root.d.ts.map +0 -1
  384. package/dist/src/collections/plan/root.js +0 -427
  385. package/dist/src/collections/plan/root.js.map +0 -1
  386. package/dist/src/collections/plan/series.d.ts +0 -13887
  387. package/dist/src/collections/plan/series.d.ts.map +0 -1
  388. package/dist/src/collections/plan/series.js +0 -1710
  389. package/dist/src/collections/plan/series.js.map +0 -1
  390. package/dist/src/collections/plan/types.d.ts +0 -12612
  391. package/dist/src/collections/plan/types.d.ts.map +0 -1
  392. package/dist/src/collections/plan/types.js +0 -1345
  393. package/dist/src/collections/plan/types.js.map +0 -1
  394. package/dist/src/collections/roster/index.d.ts +0 -787
  395. package/dist/src/collections/roster/index.d.ts.map +0 -1
  396. package/dist/src/collections/roster/index.js +0 -325
  397. package/dist/src/collections/roster/index.js.map +0 -1
  398. package/dist/src/collections/roster/types.d.ts +0 -97
  399. package/dist/src/collections/roster/types.d.ts.map +0 -1
  400. package/dist/src/collections/roster/types.js +0 -72
  401. package/dist/src/collections/roster/types.js.map +0 -1
  402. package/dist/src/collections/sheet/bridge.d.ts +0 -376
  403. package/dist/src/collections/sheet/bridge.d.ts.map +0 -1
  404. package/dist/src/collections/sheet/bridge.js +0 -773
  405. package/dist/src/collections/sheet/bridge.js.map +0 -1
  406. package/dist/src/collections/sheet/columns.d.ts +0 -410
  407. package/dist/src/collections/sheet/columns.d.ts.map +0 -1
  408. package/dist/src/collections/sheet/columns.js +0 -99
  409. package/dist/src/collections/sheet/columns.js.map +0 -1
  410. package/dist/src/collections/sheet/context-bridge.d.ts +0 -48
  411. package/dist/src/collections/sheet/context-bridge.d.ts.map +0 -1
  412. package/dist/src/collections/sheet/context-bridge.js +0 -216
  413. package/dist/src/collections/sheet/context-bridge.js.map +0 -1
  414. package/dist/src/collections/sheet/draft-bridge.d.ts +0 -37
  415. package/dist/src/collections/sheet/draft-bridge.d.ts.map +0 -1
  416. package/dist/src/collections/sheet/draft-bridge.js +0 -153
  417. package/dist/src/collections/sheet/draft-bridge.js.map +0 -1
  418. package/dist/src/collections/sheet/drafts.d.ts +0 -14
  419. package/dist/src/collections/sheet/drafts.d.ts.map +0 -1
  420. package/dist/src/collections/sheet/drafts.js +0 -14
  421. package/dist/src/collections/sheet/drafts.js.map +0 -1
  422. package/dist/src/collections/sheet/editing-bridge.d.ts +0 -36
  423. package/dist/src/collections/sheet/editing-bridge.d.ts.map +0 -1
  424. package/dist/src/collections/sheet/editing-bridge.js +0 -196
  425. package/dist/src/collections/sheet/editing-bridge.js.map +0 -1
  426. package/dist/src/collections/sheet/editing-types.d.ts +0 -268
  427. package/dist/src/collections/sheet/editing-types.d.ts.map +0 -1
  428. package/dist/src/collections/sheet/editing-types.js +0 -34
  429. package/dist/src/collections/sheet/editing-types.js.map +0 -1
  430. package/dist/src/collections/sheet/edits.d.ts +0 -37
  431. package/dist/src/collections/sheet/edits.d.ts.map +0 -1
  432. package/dist/src/collections/sheet/edits.js +0 -31
  433. package/dist/src/collections/sheet/edits.js.map +0 -1
  434. package/dist/src/collections/sheet/group.d.ts +0 -165
  435. package/dist/src/collections/sheet/group.d.ts.map +0 -1
  436. package/dist/src/collections/sheet/group.js +0 -52
  437. package/dist/src/collections/sheet/group.js.map +0 -1
  438. package/dist/src/collections/sheet/index.d.ts +0 -351
  439. package/dist/src/collections/sheet/index.d.ts.map +0 -1
  440. package/dist/src/collections/sheet/index.js +0 -208
  441. package/dist/src/collections/sheet/index.js.map +0 -1
  442. package/dist/src/collections/sheet/link.d.ts +0 -398
  443. package/dist/src/collections/sheet/link.d.ts.map +0 -1
  444. package/dist/src/collections/sheet/link.js +0 -228
  445. package/dist/src/collections/sheet/link.js.map +0 -1
  446. package/dist/src/collections/sheet/registers.d.ts +0 -278
  447. package/dist/src/collections/sheet/registers.d.ts.map +0 -1
  448. package/dist/src/collections/sheet/registers.js +0 -268
  449. package/dist/src/collections/sheet/registers.js.map +0 -1
  450. package/dist/src/collections/sheet/root.d.ts +0 -328
  451. package/dist/src/collections/sheet/root.d.ts.map +0 -1
  452. package/dist/src/collections/sheet/root.js +0 -432
  453. package/dist/src/collections/sheet/root.js.map +0 -1
  454. package/dist/src/collections/sheet/seed-bridge.d.ts +0 -14
  455. package/dist/src/collections/sheet/seed-bridge.d.ts.map +0 -1
  456. package/dist/src/collections/sheet/seed-bridge.js +0 -51
  457. package/dist/src/collections/sheet/seed-bridge.js.map +0 -1
  458. package/dist/src/collections/sheet/sub-rows.d.ts +0 -249
  459. package/dist/src/collections/sheet/sub-rows.d.ts.map +0 -1
  460. package/dist/src/collections/sheet/sub-rows.js +0 -222
  461. package/dist/src/collections/sheet/sub-rows.js.map +0 -1
  462. package/dist/src/collections/sheet/transactions.d.ts +0 -76
  463. package/dist/src/collections/sheet/transactions.d.ts.map +0 -1
  464. package/dist/src/collections/sheet/transactions.js +0 -40
  465. package/dist/src/collections/sheet/transactions.js.map +0 -1
  466. package/dist/src/collections/sheet/types.d.ts +0 -14992
  467. package/dist/src/collections/sheet/types.d.ts.map +0 -1
  468. package/dist/src/collections/sheet/types.js +0 -1061
  469. package/dist/src/collections/sheet/types.js.map +0 -1
  470. package/dist/src/navigation/app/index.d.ts +0 -150
  471. package/dist/src/navigation/app/index.d.ts.map +0 -1
  472. package/dist/src/navigation/app/index.js +0 -191
  473. package/dist/src/navigation/app/index.js.map +0 -1
  474. package/dist/src/navigation/pages/index.d.ts +0 -165
  475. package/dist/src/navigation/pages/index.d.ts.map +0 -1
  476. package/dist/src/navigation/pages/index.js +0 -152
  477. package/dist/src/navigation/pages/index.js.map +0 -1
  478. package/dist/src/navigation/pages/types.d.ts +0 -111
  479. package/dist/src/navigation/pages/types.d.ts.map +0 -1
  480. package/dist/src/navigation/pages/types.js +0 -101
  481. package/dist/src/navigation/pages/types.js.map +0 -1
  482. package/dist/src/runtime/collections/board.d.ts +0 -73
  483. package/dist/src/runtime/collections/board.d.ts.map +0 -1
  484. package/dist/src/runtime/collections/board.js +0 -68
  485. package/dist/src/runtime/collections/board.js.map +0 -1
  486. package/dist/src/runtime/collections/calendar.d.ts +0 -54
  487. package/dist/src/runtime/collections/calendar.d.ts.map +0 -1
  488. package/dist/src/runtime/collections/calendar.js +0 -54
  489. package/dist/src/runtime/collections/calendar.js.map +0 -1
  490. package/dist/src/runtime/collections/flowchart.d.ts +0 -58
  491. package/dist/src/runtime/collections/flowchart.d.ts.map +0 -1
  492. package/dist/src/runtime/collections/flowchart.js +0 -54
  493. package/dist/src/runtime/collections/flowchart.js.map +0 -1
  494. package/dist/src/runtime/collections/plan.d.ts +0 -181
  495. package/dist/src/runtime/collections/plan.d.ts.map +0 -1
  496. package/dist/src/runtime/collections/plan.js +0 -186
  497. package/dist/src/runtime/collections/plan.js.map +0 -1
  498. package/dist/src/runtime/collections/roster.d.ts +0 -60
  499. package/dist/src/runtime/collections/roster.d.ts.map +0 -1
  500. package/dist/src/runtime/collections/roster.js +0 -59
  501. package/dist/src/runtime/collections/roster.js.map +0 -1
  502. package/dist/src/runtime/collections/sheet.d.ts +0 -122
  503. package/dist/src/runtime/collections/sheet.d.ts.map +0 -1
  504. package/dist/src/runtime/collections/sheet.js +0 -73
  505. package/dist/src/runtime/collections/sheet.js.map +0 -1
  506. package/dist/src/runtime/navigation/app.d.ts +0 -52
  507. package/dist/src/runtime/navigation/app.d.ts.map +0 -1
  508. package/dist/src/runtime/navigation/app.js +0 -53
  509. package/dist/src/runtime/navigation/app.js.map +0 -1
  510. package/dist/src/runtime/navigation/pages.d.ts +0 -50
  511. package/dist/src/runtime/navigation/pages.d.ts.map +0 -1
  512. package/dist/src/runtime/navigation/pages.js +0 -52
  513. package/dist/src/runtime/navigation/pages.js.map +0 -1
  514. package/dist/src/runtime/navigation/route.d.ts +0 -46
  515. package/dist/src/runtime/navigation/route.d.ts.map +0 -1
  516. package/dist/src/runtime/navigation/route.js +0 -47
  517. package/dist/src/runtime/navigation/route.js.map +0 -1
  518. package/dist/test/collections/board.examples.d.ts +0 -18
  519. package/dist/test/collections/board.examples.d.ts.map +0 -1
  520. package/dist/test/collections/board.examples.js +0 -297
  521. package/dist/test/collections/board.examples.js.map +0 -1
  522. package/dist/test/collections/calendar.examples.d.ts +0 -5
  523. package/dist/test/collections/calendar.examples.d.ts.map +0 -1
  524. package/dist/test/collections/calendar.examples.js +0 -147
  525. package/dist/test/collections/calendar.examples.js.map +0 -1
  526. package/dist/test/collections/flowchart.examples.d.ts +0 -17
  527. package/dist/test/collections/flowchart.examples.d.ts.map +0 -1
  528. package/dist/test/collections/flowchart.examples.js +0 -243
  529. package/dist/test/collections/flowchart.examples.js.map +0 -1
  530. package/dist/test/collections/plan.examples.d.ts +0 -200
  531. package/dist/test/collections/plan.examples.d.ts.map +0 -1
  532. package/dist/test/collections/plan.examples.js +0 -3665
  533. package/dist/test/collections/plan.examples.js.map +0 -1
  534. package/dist/test/collections/roster.examples.d.ts +0 -26
  535. package/dist/test/collections/roster.examples.d.ts.map +0 -1
  536. package/dist/test/collections/roster.examples.js +0 -237
  537. package/dist/test/collections/roster.examples.js.map +0 -1
  538. package/dist/test/collections/sheet-link.examples.d.ts +0 -7
  539. package/dist/test/collections/sheet-link.examples.d.ts.map +0 -1
  540. package/dist/test/collections/sheet-link.examples.js +0 -41
  541. package/dist/test/collections/sheet-link.examples.js.map +0 -1
  542. package/dist/test/collections/sheet-transactions.examples.d.ts +0 -7
  543. package/dist/test/collections/sheet-transactions.examples.d.ts.map +0 -1
  544. package/dist/test/collections/sheet-transactions.examples.js +0 -58
  545. package/dist/test/collections/sheet-transactions.examples.js.map +0 -1
  546. package/dist/test/collections/sheet.examples.d.ts +0 -96
  547. package/dist/test/collections/sheet.examples.d.ts.map +0 -1
  548. package/dist/test/collections/sheet.examples.js +0 -1040
  549. package/dist/test/collections/sheet.examples.js.map +0 -1
  550. package/dist/test/navigation/app.examples.d.ts +0 -22
  551. package/dist/test/navigation/app.examples.d.ts.map +0 -1
  552. package/dist/test/navigation/app.examples.js +0 -136
  553. package/dist/test/navigation/app.examples.js.map +0 -1
  554. package/dist/test/navigation/pages.examples.d.ts +0 -13
  555. package/dist/test/navigation/pages.examples.d.ts.map +0 -1
  556. package/dist/test/navigation/pages.examples.js +0 -113
  557. package/dist/test/navigation/pages.examples.js.map +0 -1
  558. package/dist/test/navigation/route.examples.d.ts +0 -13
  559. package/dist/test/navigation/route.examples.d.ts.map +0 -1
  560. package/dist/test/navigation/route.examples.js +0 -69
  561. package/dist/test/navigation/route.examples.js.map +0 -1
@@ -1,855 +0,0 @@
1
- /**
2
- * Copyright (c) 2025 Elara AI Pty Ltd
3
- * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
- */
5
- /**
6
- * `Board` — the single-day assignment board: an areas × shifts grid where
7
- * each cell holds multiple people as chips under the shared event-state
8
- * grammar (committed / proposed / rejected, with the `model` flavour
9
- * rendering as a dashed ghost). Takes the flat tables a dataset naturally
10
- * provides — areas, shifts, people, and assignments — each with a
11
- * chart-style field encoding; the factory joins assignments to people by
12
- * person key and groups them into cells by `area × shift`. Optional
13
- * `requirements` add per-cell coverage (`n/required` numerals, open-slot
14
- * placeholders, under / over tones).
15
- *
16
- * Declares the drag & drop **target** role: `id` + `sources` connect it to
17
- * sibling Libraries, and every completed drag (add / move / remove) funnels
18
- * through one `onDrag` callback as a `DragEventType` value. The component
19
- * renders no built-in user-facing copy — every string it shows arrives as
20
- * data or a prop.
21
- *
22
- * @packageDocumentation
23
- */
24
- import { type ExprType, type SubtypeExprOrValue, type TypeOf, ArrayType, BooleanType, FunctionType, IntegerType, OptionType, StringType, StructType, NullType } from "@elaraai/east";
25
- import { UIComponentType } from "../../component.js";
26
- import { DensityType, type DensityLiteral } from "../../style/interaction.js";
27
- import { CellRefType, DragEventType } from "../../contracts/drag.js";
28
- import { PlannerStateType } from "../../contracts/states.js";
29
- import { BoardModeType, type BoardModeLiteral } from "./types.js";
30
- import { RowRefType, type ReviewConfig } from "../../contracts/review.js";
31
- export { BoardModeType, type BoardModeLiteral, BoardEntityType, BoardAssignmentType, BoardRequirementType, } from "./types.js";
32
- /**
33
- * East StructType for the Board component.
34
- *
35
- * @remarks
36
- * Flat resolved tables — the renderer groups assignments into cells by
37
- * `area × shift` and joins each to `people` by person key for the chip face.
38
- * Assignment states reuse the Planner event-state grammar
39
- * ({@link PlannerStateType}); the `model` flavour renders as the dashed
40
- * ghost with the acceptance affordance. The component renders no built-in
41
- * user-facing copy. Defined here (not `types.ts`) since #265: the root
42
- * carries the shared review config, whose `summary` is a `UIComponentType` —
43
- * `component.ts` mirrors this arm inline with the recursion `node`.
44
- *
45
- * @property id - DnD target identity
46
- * @property sources - Library ids accepted for `add` drags
47
- * @property mode - `published` (committed-only, immutable) or `edit`
48
- * @property areaHeader - Optional frozen area column header (none = blank)
49
- * @property areaWidth - Optional CSS width for the frozen area column
50
- * @property areas - The grid rows
51
- * @property shifts - The grid columns (this day's shift types, in order)
52
- * @property people - The chip directory (faces), joined by person key
53
- * @property assignments - The person chips (grouped into cells by area × shift)
54
- * @property requirements - Optional per-cell coverage (none = no coverage chrome)
55
- * @property density - Optional density
56
- * @property maxVisible - Optional per-cell chip cap before the `+N` overflow
57
- * @property summary - Optional status-strip text (open / proposed counts)
58
- * @property canDrop - Optional IR-level drop veto over synthesized candidate events
59
- * @property onDrag - Drag funnel — add / move / remove events
60
- * @property onSelect - Assignment / cell click callback
61
- * @property onAccept - Ghost-assignment acceptance callback (ONE proposed assignment)
62
- * @property onAddAt - Open-slot / empty-cell click callback (edit mode)
63
- * @property review - Optional batch review foot (shared contract, #265)
64
- */
65
- export declare const BoardRootType: StructType<{
66
- /** DnD target identity */
67
- readonly id: StringType;
68
- /** Library ids accepted for `add` drags */
69
- readonly sources: ArrayType<StringType>;
70
- /** `published` (committed-only, immutable) or `edit` */
71
- readonly mode: import("@elaraai/east").VariantType<{
72
- readonly published: NullType;
73
- readonly edit: NullType;
74
- }>;
75
- /** Optional frozen area column header (none = blank) */
76
- readonly areaHeader: OptionType<StringType>;
77
- /** Optional CSS width for the frozen area column (none = the Planner-consistent 150px) */
78
- readonly areaWidth: OptionType<StringType>;
79
- /** The grid rows */
80
- readonly areas: ArrayType<StructType<{
81
- readonly key: StringType;
82
- readonly label: StringType;
83
- readonly sublabel: OptionType<StringType>;
84
- }>>;
85
- /** The grid columns (this day's shift types, in order) */
86
- readonly shifts: ArrayType<StructType<{
87
- readonly key: StringType;
88
- readonly label: StringType;
89
- readonly sublabel: OptionType<StringType>;
90
- }>>;
91
- /** The chip directory (faces), joined by person key */
92
- readonly people: ArrayType<StructType<{
93
- readonly key: StringType;
94
- readonly label: StringType;
95
- readonly sublabel: OptionType<StringType>;
96
- }>>;
97
- /** The person chips (grouped into cells by area × shift) */
98
- readonly assignments: ArrayType<StructType<{
99
- readonly key: StringType;
100
- readonly person: StringType;
101
- readonly area: StringType;
102
- readonly shift: StringType;
103
- readonly state: import("@elaraai/east").VariantType<{
104
- readonly committed: NullType;
105
- readonly proposed: import("@elaraai/east").VariantType<{
106
- readonly added: NullType;
107
- readonly model: NullType;
108
- readonly removed: NullType;
109
- }>;
110
- readonly rejected: NullType;
111
- }>;
112
- }>>;
113
- /** Optional per-cell coverage (none = no coverage chrome) */
114
- readonly requirements: OptionType<ArrayType<StructType<{
115
- readonly area: StringType;
116
- readonly shift: StringType;
117
- readonly required: IntegerType;
118
- }>>>;
119
- /** Optional density */
120
- readonly density: OptionType<import("@elaraai/east").VariantType<{
121
- readonly comfortable: NullType;
122
- readonly compact: NullType;
123
- readonly condensed: NullType;
124
- }>>;
125
- /** Optional per-cell chip cap before the `+N` overflow */
126
- readonly maxVisible: OptionType<IntegerType>;
127
- /** Uniform sizing (#320): bound the board; it scrolls within. `"fill"` fills the parent box. */
128
- readonly height: OptionType<StringType>;
129
- /** Uniform sizing (#320): max-height cap; content-sized up to it. */
130
- readonly maxHeight: OptionType<StringType>;
131
- /** Optional status-strip text (open / proposed counts) */
132
- readonly summary: OptionType<StringType>;
133
- /** Optional IR-level drop veto — consulted per hovered cell with the
134
- * synthesized candidate event ({@link CanDropFnType} semantics); `false`
135
- * ⇒ the ⊘ invalid stage and the drop is a no-op. Absent ⇒ accept. The
136
- * factory's deprecated `canAssign` sugar compiles into this predicate. */
137
- readonly canDrop: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
138
- readonly add: StructType<{
139
- readonly from: StructType<{
140
- readonly library: StringType;
141
- readonly key: StringType;
142
- }>;
143
- readonly into: StructType<{
144
- readonly surface: StringType;
145
- readonly row: StringType;
146
- readonly slot: StringType;
147
- readonly event: OptionType<StringType>;
148
- }>;
149
- readonly duplicate: BooleanType;
150
- }>;
151
- readonly move: StructType<{
152
- readonly from: StructType<{
153
- readonly surface: StringType;
154
- readonly row: StringType;
155
- readonly slot: StringType;
156
- readonly event: OptionType<StringType>;
157
- }>;
158
- readonly to: StructType<{
159
- readonly surface: StringType;
160
- readonly row: StringType;
161
- readonly slot: StringType;
162
- readonly event: OptionType<StringType>;
163
- }>;
164
- }>;
165
- readonly remove: StructType<{
166
- readonly from: StructType<{
167
- readonly surface: StringType;
168
- readonly row: StringType;
169
- readonly slot: StringType;
170
- readonly event: OptionType<StringType>;
171
- }>;
172
- readonly to: import("@elaraai/east").VariantType<{
173
- readonly trash: NullType;
174
- readonly source: NullType;
175
- }>;
176
- }>;
177
- readonly resize: StructType<{
178
- readonly event: StructType<{
179
- readonly surface: StringType;
180
- readonly row: StringType;
181
- readonly slot: StringType;
182
- readonly event: OptionType<StringType>;
183
- }>;
184
- readonly edge: import("@elaraai/east").VariantType<{
185
- readonly start: NullType;
186
- readonly end: NullType;
187
- }>;
188
- }>;
189
- }>], BooleanType>>;
190
- /** Drag funnel — add / move / remove events */
191
- readonly onDrag: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
192
- readonly add: StructType<{
193
- readonly from: StructType<{
194
- readonly library: StringType;
195
- readonly key: StringType;
196
- }>;
197
- readonly into: StructType<{
198
- readonly surface: StringType;
199
- readonly row: StringType;
200
- readonly slot: StringType;
201
- readonly event: OptionType<StringType>;
202
- }>;
203
- readonly duplicate: BooleanType;
204
- }>;
205
- readonly move: StructType<{
206
- readonly from: StructType<{
207
- readonly surface: StringType;
208
- readonly row: StringType;
209
- readonly slot: StringType;
210
- readonly event: OptionType<StringType>;
211
- }>;
212
- readonly to: StructType<{
213
- readonly surface: StringType;
214
- readonly row: StringType;
215
- readonly slot: StringType;
216
- readonly event: OptionType<StringType>;
217
- }>;
218
- }>;
219
- readonly remove: StructType<{
220
- readonly from: StructType<{
221
- readonly surface: StringType;
222
- readonly row: StringType;
223
- readonly slot: StringType;
224
- readonly event: OptionType<StringType>;
225
- }>;
226
- readonly to: import("@elaraai/east").VariantType<{
227
- readonly trash: NullType;
228
- readonly source: NullType;
229
- }>;
230
- }>;
231
- readonly resize: StructType<{
232
- readonly event: StructType<{
233
- readonly surface: StringType;
234
- readonly row: StringType;
235
- readonly slot: StringType;
236
- readonly event: OptionType<StringType>;
237
- }>;
238
- readonly edge: import("@elaraai/east").VariantType<{
239
- readonly start: NullType;
240
- readonly end: NullType;
241
- }>;
242
- }>;
243
- }>], NullType>>;
244
- /** Assignment / cell click callback */
245
- readonly onSelect: OptionType<FunctionType<[StructType<{
246
- readonly surface: StringType;
247
- readonly row: StringType;
248
- readonly slot: StringType;
249
- readonly event: OptionType<StringType>;
250
- }>], NullType>>;
251
- /** Ghost-assignment acceptance callback — resolves ONE proposed
252
- * assignment; `review`'s batch verbs sign off the whole board. The
253
- * interplay is host-owned (no implicit cascading in the component). */
254
- readonly onAccept: OptionType<FunctionType<[StructType<{
255
- readonly surface: StringType;
256
- readonly row: StringType;
257
- readonly slot: StringType;
258
- readonly event: OptionType<StringType>;
259
- }>], NullType>>;
260
- /** Open-slot / empty-cell click callback (edit mode) */
261
- readonly onAddAt: OptionType<FunctionType<[StructType<{
262
- readonly surface: StringType;
263
- readonly row: StringType;
264
- readonly slot: StringType;
265
- readonly event: OptionType<StringType>;
266
- }>], NullType>>;
267
- /** Optional batch review foot (#265) — the shared contract's commitBar
268
- * verbs (`onApproveAll` / `onRejectAll` / `onRerun` + `summary`). Board
269
- * is single-day areas × shifts, so v1 renders the FOOT only: the
270
- * per-row fields (`columnLabel`, `onApprove`, `onReject`) are unused
271
- * (a per-area decision column is an epic candidate); the factory warns
272
- * when they are set. */
273
- readonly review: OptionType<import("../../contracts/approval.js").ReviewStructType<StructType<{
274
- readonly rowIndex: IntegerType;
275
- }>, import("@elaraai/east").RecursiveType<import("../../component.js").UIComponentNode>>>;
276
- }>;
277
- /**
278
- * Type representing the Board component.
279
- */
280
- export type BoardRootType = typeof BoardRootType;
281
- /**
282
- * The struct element type of a `SubtypeExprOrValue<ArrayType<StructType>>`.
283
- */
284
- export type BoardRowElement<T extends SubtypeExprOrValue<ArrayType<StructType>>> = TypeOf<T> extends ArrayType<infer S> ? (S extends StructType ? S : never) : never;
285
- /**
286
- * Fields the `area` / `shift` / `person` mappers return — one board entity,
287
- * before defaults.
288
- *
289
- * @remarks
290
- * The mapper returns this plain object or a full
291
- * `ExprType<BoardEntityType>` when the row is already resolved.
292
- *
293
- * @property key - Entity identity — the key assignments reference
294
- * @property label - Display name
295
- * @property sublabel - Optional muted second line (e.g. wing, time window, role)
296
- */
297
- export interface BoardEntityFields {
298
- /** Entity identity — the key assignments reference. */
299
- key: SubtypeExprOrValue<StringType>;
300
- /** Display name. */
301
- label: SubtypeExprOrValue<StringType>;
302
- /** Optional muted second line (e.g. wing, time window, role). */
303
- sublabel?: SubtypeExprOrValue<StringType>;
304
- }
305
- /**
306
- * Fields the `assignment` mapper returns — one person chip, before defaults.
307
- *
308
- * @remarks
309
- * Carries no display label — the chip face comes from joining `person` to
310
- * the board's `people` table by key.
311
- *
312
- * @property key - Stable assignment identity
313
- * @property person - The person key (join key into `people`)
314
- * @property area - The area key — must name one of `areas`
315
- * @property shift - The shift key — must name one of `shifts`
316
- * @property state - The audit state (a `PlannerStateType` value)
317
- */
318
- export interface BoardAssignmentFields {
319
- /** Stable assignment identity. */
320
- key: SubtypeExprOrValue<StringType>;
321
- /** The person key (join key into `people`). */
322
- person: SubtypeExprOrValue<StringType>;
323
- /** The area key — must name one of `areas`. */
324
- area: SubtypeExprOrValue<StringType>;
325
- /** The shift key — must name one of `shifts`. */
326
- shift: SubtypeExprOrValue<StringType>;
327
- /** The audit state (a `PlannerStateType` value). */
328
- state: SubtypeExprOrValue<PlannerStateType>;
329
- }
330
- /**
331
- * Fields the `requirement` mapper returns — one cell's coverage, before
332
- * defaults.
333
- *
334
- * @property area - The area key
335
- * @property shift - The shift key
336
- * @property required - Required headcount for the cell
337
- */
338
- export interface BoardRequirementFields {
339
- /** The area key. */
340
- area: SubtypeExprOrValue<StringType>;
341
- /** The shift key. */
342
- shift: SubtypeExprOrValue<StringType>;
343
- /** Required headcount for the cell. */
344
- required: SubtypeExprOrValue<IntegerType>;
345
- }
346
- /**
347
- * Configuration for {@link createBoard}.
348
- *
349
- * @typeParam A - The areas row struct
350
- * @typeParam S - The shifts row struct
351
- * @typeParam P - The people row struct
352
- * @typeParam X - The assignments row struct
353
- * @property id - DnD target identity
354
- * @property sources - Library ids accepted for `add` drags (omit = no adds)
355
- * @property mode - `published` (default) or `edit`
356
- * @property area - Areas row mapper (omit when rows are already resolved)
357
- * @property areaHeader - Optional frozen area column header (omit = blank)
358
- * @property areaWidth - Optional CSS width for the frozen area column
359
- * @property shift - Shifts row mapper (omit when rows are already resolved)
360
- * @property person - People row mapper (omit when rows are already resolved)
361
- * @property assignment - Assignments row mapper (omit when rows are already resolved)
362
- * @property requirements - Optional coverage table (omit = no coverage chrome)
363
- * @property requirement - Requirements row mapper (omit when rows are already resolved)
364
- * @property density - Optional density
365
- * @property maxVisible - Optional per-cell chip cap before the `+N` overflow
366
- * @property summary - Optional status-strip text (open / proposed counts)
367
- * @property canDrop - Optional IR-level drop veto over synthesized candidate events
368
- * @property canAssign - Deprecated assignability sugar — compiled into `canDrop`
369
- * @property onDrag - Drag funnel — add / move / remove events
370
- * @property onSelect - Assignment / cell click callback (a drag-grammar cell ref)
371
- * @property onAccept - Ghost-assignment acceptance callback
372
- * @property onAddAt - Open-slot / empty-cell click callback (edit mode)
373
- */
374
- export interface BoardConfig<A extends StructType, S extends StructType, P extends StructType, X extends StructType, R extends StructType = StructType> {
375
- /** DnD target identity. */
376
- id: string;
377
- /** Library ids accepted for `add` drags (omit = no adds). */
378
- sources?: string[];
379
- /** `published` (default) or `edit`. */
380
- mode?: SubtypeExprOrValue<BoardModeType> | BoardModeLiteral;
381
- /** Areas row mapper; omit when `areas` is already `ArrayType(Board.Types.Entity)`. */
382
- area?: (area: ExprType<A>) => BoardEntityFields;
383
- /** Optional frozen area column header (omit = blank — the component bakes in no copy). */
384
- areaHeader?: string;
385
- /** Optional CSS width for the frozen area column (omit = the Planner-consistent `150px`). */
386
- areaWidth?: string;
387
- /** Shifts row mapper; omit when `shifts` is already `ArrayType(Board.Types.Entity)`. */
388
- shift?: (shift: ExprType<S>) => BoardEntityFields;
389
- /** People row mapper; omit when `people` is already `ArrayType(Board.Types.Entity)`. */
390
- person?: (person: ExprType<P>) => BoardEntityFields;
391
- /** Assignments row mapper; omit when `assignments` is already `ArrayType(Board.Types.Assignment)`. */
392
- assignment?: (assignment: ExprType<X>) => BoardAssignmentFields;
393
- /** Requirements row mapper; omit when `requirements` is already `ArrayType(Board.Types.Requirement)`. */
394
- requirement?: (requirement: ExprType<R>) => BoardRequirementFields;
395
- /** Optional density. */
396
- density?: SubtypeExprOrValue<DensityType> | DensityLiteral;
397
- /** Uniform sizing (#320): bound the component — a pixel number, `"fill"` (fill the parent box), or a CSS length; the whole component takes this height and scrolls within. */
398
- height?: SubtypeExprOrValue<StringType>;
399
- /** Uniform sizing (#320): max-height cap — a pixel number or CSS length; content-sized up to it. */
400
- maxHeight?: SubtypeExprOrValue<StringType>;
401
- /** Optional per-cell chip cap before the `+N` overflow. */
402
- maxVisible?: SubtypeExprOrValue<IntegerType> | number;
403
- /** Optional status-strip text (open / proposed counts). */
404
- summary?: SubtypeExprOrValue<StringType>;
405
- /** Optional IR-level drop veto — consulted per hovered cell with the
406
- * synthesized candidate event (`CanDropFnType` semantics, see
407
- * `contracts/drag.ts`); `false` ⇒ the ⊘ invalid stage and the drop is a
408
- * no-op. Absent ⇒ accept. When `canAssign` is also given, both must
409
- * allow. */
410
- canDrop?: SubtypeExprOrValue<FunctionType<[DragEventType], BooleanType>>;
411
- /** Optional assignability predicate `(person, area, shift) => Boolean` — a
412
- * `false` verdict renders the invalid-drop treatment (red outline + ⊘)
413
- * while dragging and vetoes the drop. Fail-open: a throwing predicate
414
- * logs and allows.
415
- *
416
- * @deprecated Use {@link BoardConfig.canDrop} — `canAssign` is compiled
417
- * into a `canDrop` predicate by the factory (an `add`'s person is the
418
- * dragged card's key; a `move`'s person is resolved from the authored
419
- * assignments by event key, allowing when unresolvable). It will be
420
- * removed once hosts migrate. */
421
- canAssign?: SubtypeExprOrValue<FunctionType<[StringType, StringType, StringType], BooleanType>>;
422
- /** Drag funnel — add / move / remove events. */
423
- onDrag?: SubtypeExprOrValue<FunctionType<[DragEventType], NullType>>;
424
- /** Assignment / cell click callback (a drag-grammar cell ref). */
425
- onSelect?: SubtypeExprOrValue<FunctionType<[CellRefType], NullType>>;
426
- /** Ghost-assignment acceptance callback. */
427
- onAccept?: SubtypeExprOrValue<FunctionType<[CellRefType], NullType>>;
428
- /** Open-slot / empty-cell click callback (edit mode). */
429
- onAddAt?: SubtypeExprOrValue<FunctionType<[CellRefType], NullType>>;
430
- /** Optional batch review foot (#265) — the shared contract's commitBar
431
- * verbs (`onApproveAll` / `onRejectAll` / `onRerun` + `summary`). Board
432
- * v1 renders the foot only: `columnLabel` / `onApprove` / `onReject`
433
- * are unused (per-area decisions are an epic candidate) and the factory
434
- * warns when set. Ghost `onAccept` is unchanged and complementary. */
435
- review?: ReviewConfig<RowRefType>;
436
- }
437
- /**
438
- * Creates a Board — single-day areas × shifts assignment scheduling.
439
- *
440
- * @typeParam A - The areas-table input
441
- * @typeParam S - The shifts-table input
442
- * @typeParam P - The people-table input
443
- * @typeParam X - The assignments-table input
444
- * @param areas - The area rows (one grid row each)
445
- * @param shifts - The shift rows (one grid column each, in order)
446
- * @param people - The people rows (chip faces, joined by the encoded person key)
447
- * @param assignments - The assignment rows (grouped into cells by area × shift)
448
- * @param config - The Board configuration ({@link BoardConfig})
449
- * @returns An East expression of `UIComponentType`
450
- *
451
- * @example
452
- * ```ts
453
- * import { East, variant } from "@elaraai/east";
454
- * import { Board, UIComponentType } from "@elaraai/east-ui";
455
- *
456
- * const example = East.function([], UIComponentType, _$ =>
457
- * Board.Root(
458
- * [{ id: "icu", name: "ICU" }],
459
- * [{ id: "am", name: "AM" }],
460
- * [{ id: "patel", name: "Patel, R." }],
461
- * [{ id: "x1", personId: "patel", areaId: "icu", shiftId: "am", state: variant("committed", null) }],
462
- * {
463
- * id: "board-tue",
464
- * sources: ["people"],
465
- * mode: "edit",
466
- * area: a => ({ key: a.id, label: a.name }),
467
- * shift: s => ({ key: s.id, label: s.name }),
468
- * person: p => ({ key: p.id, label: p.name }),
469
- * assignment: x => ({ key: x.id, person: x.personId, area: x.areaId,
470
- * shift: x.shiftId, state: x.state }),
471
- * },
472
- * ),
473
- * );
474
- * ```
475
- */
476
- declare function createBoard<A extends SubtypeExprOrValue<ArrayType<StructType>>, S extends SubtypeExprOrValue<ArrayType<StructType>>, P extends SubtypeExprOrValue<ArrayType<StructType>>, X extends SubtypeExprOrValue<ArrayType<StructType>>, R extends SubtypeExprOrValue<ArrayType<StructType>> = []>(areas: A, shifts: S, people: P, assignments: X, config: BoardConfig<BoardRowElement<A>, BoardRowElement<S>, BoardRowElement<P>, BoardRowElement<X>, BoardRowElement<R>> & {
477
- requirements?: R;
478
- }): ExprType<UIComponentType>;
479
- /**
480
- * Board component namespace.
481
- *
482
- * @remarks
483
- * `Board.Root(areas, shifts, people, assignments, config)` builds the
484
- * single-day grid from the flat tables; assignment states reuse the Planner
485
- * event-state grammar (`Board.Types.State`), so data carries typed
486
- * `variant(...)` values.
487
- */
488
- export declare const Board: {
489
- /**
490
- * Creates a Board — single-day areas × shifts assignment scheduling with
491
- * the drag & drop target role.
492
- *
493
- * @typeParam A - The areas-table input
494
- * @typeParam S - The shifts-table input
495
- * @typeParam P - The people-table input
496
- * @typeParam X - The assignments-table input
497
- * @param areas - The area rows (one grid row each)
498
- * @param shifts - The shift rows (one grid column each, in order)
499
- * @param people - The people rows (chip faces, joined by the encoded person key)
500
- * @param assignments - The assignment rows (grouped into cells by area × shift)
501
- * @param config - The Board configuration ({@link BoardConfig})
502
- * @returns An East expression of `UIComponentType`
503
- *
504
- * @remarks
505
- * Published mode renders committed assignments only, pointer-immutable;
506
- * edit mode enables drag handles on proposed assignments, open-slot /
507
- * empty-cell add, and ghost acceptance. Dropping a person onto a cell
508
- * that already holds them is a no-op (the duplicate-person guard); the
509
- * same person in different cells is legal — host policy. Cross-area
510
- * moves arrive as plain `move` events — the host derives any swap
511
- * representation from `from.row ≠ to.row`.
512
- *
513
- * @example
514
- * ```ts
515
- * import { East, variant } from "@elaraai/east";
516
- * import { Board, UIComponentType } from "@elaraai/east-ui";
517
- *
518
- * const example = East.function([], UIComponentType, _$ =>
519
- * Board.Root(
520
- * [{ id: "icu", name: "ICU" }],
521
- * [{ id: "am", name: "AM" }],
522
- * [{ id: "patel", name: "Patel, R." }],
523
- * [{ id: "x1", personId: "patel", areaId: "icu", shiftId: "am", state: variant("committed", null) }],
524
- * {
525
- * id: "board-tue",
526
- * area: a => ({ key: a.id, label: a.name }),
527
- * shift: s => ({ key: s.id, label: s.name }),
528
- * person: p => ({ key: p.id, label: p.name }),
529
- * assignment: x => ({ key: x.id, person: x.personId, area: x.areaId,
530
- * shift: x.shiftId, state: x.state }),
531
- * },
532
- * ),
533
- * );
534
- * ```
535
- */
536
- readonly Root: typeof createBoard;
537
- readonly Types: {
538
- /**
539
- * East StructType for the Board component.
540
- *
541
- * @remarks
542
- * Flat resolved tables; the renderer groups assignments into cells
543
- * by `area × shift` and joins each to `people` by person key. See
544
- * {@link BoardRootType} for per-field docs.
545
- *
546
- * @property id - DnD target identity
547
- * @property sources - Library ids accepted for `add` drags
548
- * @property mode - `published` or `edit`
549
- * @property areaHeader - Optional frozen area column header
550
- * @property areas - The grid rows
551
- * @property shifts - The grid columns, in order
552
- * @property people - The chip directory (faces)
553
- * @property assignments - The person chips
554
- * @property requirements - Optional per-cell coverage
555
- * @property density - Optional density
556
- * @property maxVisible - Optional per-cell chip cap
557
- * @property summary - Optional status-strip text
558
- * @property onDrag - Drag funnel
559
- * @property onSelect - Assignment / cell click callback
560
- * @property onAccept - Ghost acceptance callback
561
- * @property onAddAt - Open-slot / empty-cell click callback
562
- */
563
- readonly Board: StructType<{
564
- /** DnD target identity */
565
- readonly id: StringType;
566
- /** Library ids accepted for `add` drags */
567
- readonly sources: ArrayType<StringType>;
568
- /** `published` (committed-only, immutable) or `edit` */
569
- readonly mode: import("@elaraai/east").VariantType<{
570
- readonly published: NullType;
571
- readonly edit: NullType;
572
- }>;
573
- /** Optional frozen area column header (none = blank) */
574
- readonly areaHeader: OptionType<StringType>;
575
- /** Optional CSS width for the frozen area column (none = the Planner-consistent 150px) */
576
- readonly areaWidth: OptionType<StringType>;
577
- /** The grid rows */
578
- readonly areas: ArrayType<StructType<{
579
- readonly key: StringType;
580
- readonly label: StringType;
581
- readonly sublabel: OptionType<StringType>;
582
- }>>;
583
- /** The grid columns (this day's shift types, in order) */
584
- readonly shifts: ArrayType<StructType<{
585
- readonly key: StringType;
586
- readonly label: StringType;
587
- readonly sublabel: OptionType<StringType>;
588
- }>>;
589
- /** The chip directory (faces), joined by person key */
590
- readonly people: ArrayType<StructType<{
591
- readonly key: StringType;
592
- readonly label: StringType;
593
- readonly sublabel: OptionType<StringType>;
594
- }>>;
595
- /** The person chips (grouped into cells by area × shift) */
596
- readonly assignments: ArrayType<StructType<{
597
- readonly key: StringType;
598
- readonly person: StringType;
599
- readonly area: StringType;
600
- readonly shift: StringType;
601
- readonly state: import("@elaraai/east").VariantType<{
602
- readonly committed: NullType;
603
- readonly proposed: import("@elaraai/east").VariantType<{
604
- readonly added: NullType;
605
- readonly model: NullType;
606
- readonly removed: NullType;
607
- }>;
608
- readonly rejected: NullType;
609
- }>;
610
- }>>;
611
- /** Optional per-cell coverage (none = no coverage chrome) */
612
- readonly requirements: OptionType<ArrayType<StructType<{
613
- readonly area: StringType;
614
- readonly shift: StringType;
615
- readonly required: IntegerType;
616
- }>>>;
617
- /** Optional density */
618
- readonly density: OptionType<import("@elaraai/east").VariantType<{
619
- readonly comfortable: NullType;
620
- readonly compact: NullType;
621
- readonly condensed: NullType;
622
- }>>;
623
- /** Optional per-cell chip cap before the `+N` overflow */
624
- readonly maxVisible: OptionType<IntegerType>;
625
- /** Uniform sizing (#320): bound the board; it scrolls within. `"fill"` fills the parent box. */
626
- readonly height: OptionType<StringType>;
627
- /** Uniform sizing (#320): max-height cap; content-sized up to it. */
628
- readonly maxHeight: OptionType<StringType>;
629
- /** Optional status-strip text (open / proposed counts) */
630
- readonly summary: OptionType<StringType>;
631
- /** Optional IR-level drop veto — consulted per hovered cell with the
632
- * synthesized candidate event ({@link CanDropFnType} semantics); `false`
633
- * ⇒ the ⊘ invalid stage and the drop is a no-op. Absent ⇒ accept. The
634
- * factory's deprecated `canAssign` sugar compiles into this predicate. */
635
- readonly canDrop: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
636
- readonly add: StructType<{
637
- readonly from: StructType<{
638
- readonly library: StringType;
639
- readonly key: StringType;
640
- }>;
641
- readonly into: StructType<{
642
- readonly surface: StringType;
643
- readonly row: StringType;
644
- readonly slot: StringType;
645
- readonly event: OptionType<StringType>;
646
- }>;
647
- readonly duplicate: BooleanType;
648
- }>;
649
- readonly move: StructType<{
650
- readonly from: StructType<{
651
- readonly surface: StringType;
652
- readonly row: StringType;
653
- readonly slot: StringType;
654
- readonly event: OptionType<StringType>;
655
- }>;
656
- readonly to: StructType<{
657
- readonly surface: StringType;
658
- readonly row: StringType;
659
- readonly slot: StringType;
660
- readonly event: OptionType<StringType>;
661
- }>;
662
- }>;
663
- readonly remove: StructType<{
664
- readonly from: StructType<{
665
- readonly surface: StringType;
666
- readonly row: StringType;
667
- readonly slot: StringType;
668
- readonly event: OptionType<StringType>;
669
- }>;
670
- readonly to: import("@elaraai/east").VariantType<{
671
- readonly trash: NullType;
672
- readonly source: NullType;
673
- }>;
674
- }>;
675
- readonly resize: StructType<{
676
- readonly event: StructType<{
677
- readonly surface: StringType;
678
- readonly row: StringType;
679
- readonly slot: StringType;
680
- readonly event: OptionType<StringType>;
681
- }>;
682
- readonly edge: import("@elaraai/east").VariantType<{
683
- readonly start: NullType;
684
- readonly end: NullType;
685
- }>;
686
- }>;
687
- }>], BooleanType>>;
688
- /** Drag funnel — add / move / remove events */
689
- readonly onDrag: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
690
- readonly add: StructType<{
691
- readonly from: StructType<{
692
- readonly library: StringType;
693
- readonly key: StringType;
694
- }>;
695
- readonly into: StructType<{
696
- readonly surface: StringType;
697
- readonly row: StringType;
698
- readonly slot: StringType;
699
- readonly event: OptionType<StringType>;
700
- }>;
701
- readonly duplicate: BooleanType;
702
- }>;
703
- readonly move: StructType<{
704
- readonly from: StructType<{
705
- readonly surface: StringType;
706
- readonly row: StringType;
707
- readonly slot: StringType;
708
- readonly event: OptionType<StringType>;
709
- }>;
710
- readonly to: StructType<{
711
- readonly surface: StringType;
712
- readonly row: StringType;
713
- readonly slot: StringType;
714
- readonly event: OptionType<StringType>;
715
- }>;
716
- }>;
717
- readonly remove: StructType<{
718
- readonly from: StructType<{
719
- readonly surface: StringType;
720
- readonly row: StringType;
721
- readonly slot: StringType;
722
- readonly event: OptionType<StringType>;
723
- }>;
724
- readonly to: import("@elaraai/east").VariantType<{
725
- readonly trash: NullType;
726
- readonly source: NullType;
727
- }>;
728
- }>;
729
- readonly resize: StructType<{
730
- readonly event: StructType<{
731
- readonly surface: StringType;
732
- readonly row: StringType;
733
- readonly slot: StringType;
734
- readonly event: OptionType<StringType>;
735
- }>;
736
- readonly edge: import("@elaraai/east").VariantType<{
737
- readonly start: NullType;
738
- readonly end: NullType;
739
- }>;
740
- }>;
741
- }>], NullType>>;
742
- /** Assignment / cell click callback */
743
- readonly onSelect: OptionType<FunctionType<[StructType<{
744
- readonly surface: StringType;
745
- readonly row: StringType;
746
- readonly slot: StringType;
747
- readonly event: OptionType<StringType>;
748
- }>], NullType>>;
749
- /** Ghost-assignment acceptance callback — resolves ONE proposed
750
- * assignment; `review`'s batch verbs sign off the whole board. The
751
- * interplay is host-owned (no implicit cascading in the component). */
752
- readonly onAccept: OptionType<FunctionType<[StructType<{
753
- readonly surface: StringType;
754
- readonly row: StringType;
755
- readonly slot: StringType;
756
- readonly event: OptionType<StringType>;
757
- }>], NullType>>;
758
- /** Open-slot / empty-cell click callback (edit mode) */
759
- readonly onAddAt: OptionType<FunctionType<[StructType<{
760
- readonly surface: StringType;
761
- readonly row: StringType;
762
- readonly slot: StringType;
763
- readonly event: OptionType<StringType>;
764
- }>], NullType>>;
765
- /** Optional batch review foot (#265) — the shared contract's commitBar
766
- * verbs (`onApproveAll` / `onRejectAll` / `onRerun` + `summary`). Board
767
- * is single-day areas × shifts, so v1 renders the FOOT only: the
768
- * per-row fields (`columnLabel`, `onApprove`, `onReject`) are unused
769
- * (a per-area decision column is an epic candidate); the factory warns
770
- * when they are set. */
771
- readonly review: OptionType<import("../../contracts/approval.js").ReviewStructType<StructType<{
772
- readonly rowIndex: IntegerType;
773
- }>, import("@elaraai/east").RecursiveType<import("../../component.js").UIComponentNode>>>;
774
- }>;
775
- /** The review configuration — the shared `RowReviewType`; Board v1 renders the batch foot only (#265). */
776
- readonly Review: import("../../contracts/approval.js").ReviewStructType<StructType<{
777
- readonly rowIndex: IntegerType;
778
- }>, import("@elaraai/east").RecursiveType<import("../../component.js").UIComponentNode>>;
779
- /**
780
- * Board render mode (`published` / `edit`).
781
- *
782
- * @property published - Committed-only, pointer-immutable
783
- * @property edit - Operator + model proposals are interactive
784
- */
785
- readonly Mode: import("@elaraai/east").VariantType<{
786
- readonly published: NullType;
787
- readonly edit: NullType;
788
- }>;
789
- /**
790
- * A resolved board entity — area row, shift column, or person face.
791
- *
792
- * @property key - Entity identity — the key assignments reference
793
- * @property label - Display name
794
- * @property sublabel - Optional muted second line
795
- */
796
- readonly Entity: StructType<{
797
- readonly key: StringType;
798
- readonly label: StringType;
799
- readonly sublabel: OptionType<StringType>;
800
- }>;
801
- /**
802
- * A resolved assignment — one person chip in one (area, shift) cell.
803
- *
804
- * @property key - Stable assignment identity
805
- * @property person - The person key (joined for the chip face)
806
- * @property area - The area key (the grid row)
807
- * @property shift - The shift key (the grid column)
808
- * @property state - The audit state
809
- */
810
- readonly Assignment: StructType<{
811
- readonly key: StringType;
812
- readonly person: StringType;
813
- readonly area: StringType;
814
- readonly shift: StringType;
815
- readonly state: import("@elaraai/east").VariantType<{
816
- readonly committed: NullType;
817
- readonly proposed: import("@elaraai/east").VariantType<{
818
- readonly added: NullType;
819
- readonly model: NullType;
820
- readonly removed: NullType;
821
- }>;
822
- readonly rejected: NullType;
823
- }>;
824
- }>;
825
- /**
826
- * A resolved coverage requirement for one (area, shift) cell.
827
- *
828
- * @property area - The area key
829
- * @property shift - The shift key
830
- * @property required - Required headcount for the cell
831
- */
832
- readonly Requirement: StructType<{
833
- readonly area: StringType;
834
- readonly shift: StringType;
835
- readonly required: IntegerType;
836
- }>;
837
- /**
838
- * The shared event-state grammar (committed / proposed / rejected).
839
- *
840
- * @property committed - A published assignment
841
- * @property proposed - A proposal (`added` / `model` / `removed`)
842
- * @property rejected - A rejected proposal
843
- */
844
- readonly State: import("@elaraai/east").VariantType<{
845
- readonly committed: NullType;
846
- readonly proposed: import("@elaraai/east").VariantType<{
847
- readonly added: NullType;
848
- readonly model: NullType;
849
- readonly removed: NullType;
850
- }>;
851
- readonly rejected: NullType;
852
- }>;
853
- };
854
- };
855
- //# sourceMappingURL=index.d.ts.map