@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,268 +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
- * `Sheet.register` and `Sheet.driver` — registers are the grammar's
7
- * vocabulary, projected from the host's rows through accessors reified once
8
- * (Plan's `derive` move, `Sheet Spec.md` §3.3). There is no attribute bag:
9
- * a value another declaration needs is read off a TYPED row by an accessor.
10
- *
11
- * @packageDocumentation
12
- */
13
- import { East, Expr, ArrayType, DictType, FunctionType, OptionType, SetType, StringType, StructType, none, } from "@elaraai/east";
14
- import { StatusValueType } from "../../feedback/status/types.js";
15
- import { SheetRegisterMemberType } from "./types.js";
16
- import { SheetRegisterMembersType } from "./link.js";
17
- /** Fold duplicate keys, keeping the FIRST occurrence in declaration order. */
18
- const dedupeMembers = East.function([SheetRegisterMembersType], SheetRegisterMembersType, ($, ms) => {
19
- const out = $.let([], SheetRegisterMembersType);
20
- const seen = $.let(new Set(), SetType(StringType));
21
- $.for(ms, ($2, m, _i, _label) => {
22
- $2.if(seen.has(m.key).not(), ($3) => {
23
- $3(seen.insert(m.key));
24
- $3(out.pushLast(m));
25
- });
26
- });
27
- return out;
28
- });
29
- /**
30
- * Projects the host's rows into register members — `Sheet.register.members`.
31
- *
32
- * @remarks
33
- * The accessors are reified ONCE into a describe function which the map
34
- * then CALLS (`shared/reify.ts`, `EAST_UI_PROP_PATTERNS.md`). Duplicate keys
35
- * fold, first occurrence wins — a countable-by-attribute kind (`"CNC lathe"`
36
- * from every machine of that family) declares one member per distinct value.
37
- *
38
- * @typeParam T - The data's element type
39
- * @param data - The rows — an `Array<T>` or a `Dict<String, T>` value or expression
40
- * @param config - The accessors ({@link SheetMembersConfig})
41
- * @returns The members, as an expression
42
- *
43
- * @example
44
- * ```tsx
45
- * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
46
- * import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, none, some, variant } from "@elaraai/east";
47
- * import { Reactive, Sheet, State, UIComponentType } from "@elaraai/east-ui";
48
- *
49
- * const sheet = East.function([], UIComponentType, (_$) => (
50
- * <Reactive>{$ => {
51
- * const JobType = StructType({
52
- * id: StringType, activity: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType),
53
- * qty: OptionType(FloatType), machines: Sheet.Types.Link,
54
- * });
55
- * const ActivityType = StructType({ name: StringType, uom: StringType, days: IntegerType });
56
- * const MachineType = StructType({ code: StringType, family: StringType, line: StringType });
57
- * const LineType = StructType({ name: StringType, aliases: ArrayType(StringType) });
58
- * const activities = $.const([
59
- * { name: "Machining", uom: "pcs", days: 4n },
60
- * { name: "Inspection", uom: "lots", days: 1n },
61
- * ], ArrayType(ActivityType));
62
- * const machines = $.const([
63
- * { code: "M2140", family: "CNC lathe", line: "L2" },
64
- * { code: "M2141", family: "CNC lathe", line: "L2" },
65
- * { code: "M3210", family: "5-axis mill", line: "L3" },
66
- * ], ArrayType(MachineType));
67
- * const lines = $.const(new Map([
68
- * ["L2", { name: "Line 2", aliases: ["l2", "line 2"] }],
69
- * ["L3", { name: "Line 3", aliases: ["l3", "line 3"] }],
70
- * ]), DictType(StringType, LineType));
71
- * const jobs = $.let(State.bind([ArrayType(JobType)], "sheet_registers_jobs", [
72
- * { id: "j1", activity: "Machining", start: some(new Date("2026-02-16T00:00:00Z")), end: none, qty: some(1200.0),
73
- * machines: { from: [], to: [variant("counted", { n: 2n, key: "CNC lathe" })] } },
74
- * ]));
75
- * // The driver's row reaches a fill typed: End = Start + the activity's days.
76
- * const DateFill = OptionType(Sheet.Types.Fill(DateTimeType));
77
- * const endFromStart = $.const(East.function([Sheet.Types.DraftContext(JobType, ActivityType)], DateFill, ($, ctx) => {
78
- * const noFill = $.const(none, DateFill);
79
- * return ctx.row.start.match({
80
- * value: (_$, supplied) => supplied.match({
81
- * none: () => noFill,
82
- * some: (_$, start) => ctx.driver.match({
83
- * none: () => noFill,
84
- * some: (_$, d) => some({ value: start.addDays(d.days), meta: East.str`+${d.days}d · ${d.name}` }),
85
- * }),
86
- * }),
87
- * }, () => noFill);
88
- * }));
89
- * const newJob = $.const(East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, { machines: { from: [], to: [] } })));
90
- * return (
91
- * <Sheet
92
- * data={jobs}
93
- * id="id"
94
- * driver={Sheet.driver("activity", activities, { key: a => a.name, label: a => a.name, meta: a => some(a.uom) })}
95
- * registers={{
96
- * machines: Sheet.register.concat([
97
- * Sheet.register.members(machines, { kind: "machine", key: m => m.code, label: m => m.code,
98
- * meta: m => some(m.family), parent: m => some(m.line) }),
99
- * // A Dict's key rides as the accessors' second argument.
100
- * Sheet.register.members(lines, { kind: "line", key: (_l, code) => code, label: l => l.name, aliases: l => l.aliases }),
101
- * // Both lathes name one family — duplicate keys fold, the first wins.
102
- * Sheet.register.members(machines, { kind: "family", key: m => m.family, label: m => m.family, meta: _m => some("family") }),
103
- * ]),
104
- * }}
105
- * columns={{
106
- * activity: Sheet.column.lookup(JobType, { header: "Activity", width: "140px" }),
107
- * start: Sheet.column.date(JobType, { header: "Start", width: "96px" }),
108
- * end: Sheet.column.date(JobType, { header: "End", sub: "start + days", width: "96px", base: "start", fill: [endFromStart] }),
109
- * qty: Sheet.column.quantity(JobType, ActivityType, { header: "Qty", sub: "uom per activity", width: "112px", uom: d => d.uom }),
110
- * machines: Sheet.column.set(JobType, "machines", { header: "Machines", sub: "M2140 · 2 x lathe · line 2", width: "240px",
111
- * members: [{ kind: "machine", identified: true }, { kind: "line", countable: true, resolvesTo: "machine" },
112
- * { kind: "family", countable: true, resolvesTo: "machine" }] }),
113
- * }}
114
- * newRow={newJob}
115
- * onUpdate={jobs.write}
116
- * />
117
- * );
118
- * }}</Reactive>
119
- * ));
120
- * ```
121
- */
122
- export function createMembers(data, config) {
123
- const expr = East.value(data);
124
- // The data is an Array or a Dict whatever the cast above says: widen to
125
- // read its real East type.
126
- const t = Expr.type(expr);
127
- if (t.type !== "Array" && t.type !== "Dict") {
128
- throw new Error(`Sheet.register.members: data must be an Array or a Dict<String, T> — got a ${t.type}`);
129
- }
130
- if (t.type === "Dict" && t.key.type !== "String") {
131
- throw new Error("Sheet.register.members: a keyed register must be a Dict<String, T> — its keys ride to the accessors as the second argument");
132
- }
133
- const elem = t.value;
134
- const cfg = config;
135
- const describe = East.function([elem, StringType], SheetRegisterMemberType, (_$, v, k) => ({
136
- key: cfg.key(v, k),
137
- label: cfg.label(v, k),
138
- kind: cfg.kind,
139
- aliases: cfg.aliases !== undefined ? cfg.aliases(v, k) : East.value([], ArrayType(StringType)),
140
- meta: cfg.meta !== undefined ? cfg.meta(v, k) : East.value(none, OptionType(StringType)),
141
- parent: cfg.parent !== undefined ? cfg.parent(v, k) : East.value(none, OptionType(StringType)),
142
- tone: cfg.tone !== undefined ? cfg.tone(v, k) : East.value(none, OptionType(StatusValueType)),
143
- }));
144
- const list = t.type === "Dict"
145
- ? expr.toArray((_$, v, k) => describe(v, k))
146
- : expr.map((_$, v, i) => describe(v, East.print(i)));
147
- return dedupeMembers(list);
148
- }
149
- /**
150
- * Joins member sets of different kinds into one register — `Sheet.register.concat`.
151
- *
152
- * @param parts - The member sets, in order
153
- * @returns The concatenated members
154
- */
155
- export function concatMembers(parts) {
156
- if (parts.length === 0)
157
- return East.value([], SheetRegisterMembersType);
158
- return parts.slice(1).reduce((acc, p) => acc.concat(p), parts[0]);
159
- }
160
- /**
161
- * Declares the driver — `Sheet.driver(column, data, { key, label })`: the
162
- * `lookup` column whose member decides what the row does, with its data,
163
- * so `D` reaches every `uom` / `sides` accessor and `ctx.driver` (§3.3).
164
- *
165
- * @typeParam D - The driver's row type (inferred from `data`)
166
- * @param column - The driver column's key
167
- * @param data - The driver rows — an `Array<D>` value or expression
168
- * @param config - The accessors ({@link SheetDriverConfig})
169
- * @returns The driver declaration the `driver` prop takes
170
- *
171
- * @example
172
- * ```tsx
173
- * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
174
- * import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, none, some, variant } from "@elaraai/east";
175
- * import { Reactive, Sheet, State, UIComponentType } from "@elaraai/east-ui";
176
- *
177
- * const sheet = East.function([], UIComponentType, (_$) => (
178
- * <Reactive>{$ => {
179
- * const JobType = StructType({
180
- * id: StringType, activity: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType),
181
- * qty: OptionType(FloatType), machines: Sheet.Types.Link,
182
- * });
183
- * const ActivityType = StructType({ name: StringType, uom: StringType, days: IntegerType });
184
- * const MachineType = StructType({ code: StringType, family: StringType, line: StringType });
185
- * const LineType = StructType({ name: StringType, aliases: ArrayType(StringType) });
186
- * const activities = $.const([
187
- * { name: "Machining", uom: "pcs", days: 4n },
188
- * { name: "Inspection", uom: "lots", days: 1n },
189
- * ], ArrayType(ActivityType));
190
- * const machines = $.const([
191
- * { code: "M2140", family: "CNC lathe", line: "L2" },
192
- * { code: "M2141", family: "CNC lathe", line: "L2" },
193
- * { code: "M3210", family: "5-axis mill", line: "L3" },
194
- * ], ArrayType(MachineType));
195
- * const lines = $.const(new Map([
196
- * ["L2", { name: "Line 2", aliases: ["l2", "line 2"] }],
197
- * ["L3", { name: "Line 3", aliases: ["l3", "line 3"] }],
198
- * ]), DictType(StringType, LineType));
199
- * const jobs = $.let(State.bind([ArrayType(JobType)], "sheet_registers_jobs", [
200
- * { id: "j1", activity: "Machining", start: some(new Date("2026-02-16T00:00:00Z")), end: none, qty: some(1200.0),
201
- * machines: { from: [], to: [variant("counted", { n: 2n, key: "CNC lathe" })] } },
202
- * ]));
203
- * // The driver's row reaches a fill typed: End = Start + the activity's days.
204
- * const DateFill = OptionType(Sheet.Types.Fill(DateTimeType));
205
- * const endFromStart = $.const(East.function([Sheet.Types.DraftContext(JobType, ActivityType)], DateFill, ($, ctx) => {
206
- * const noFill = $.const(none, DateFill);
207
- * return ctx.row.start.match({
208
- * value: (_$, supplied) => supplied.match({
209
- * none: () => noFill,
210
- * some: (_$, start) => ctx.driver.match({
211
- * none: () => noFill,
212
- * some: (_$, d) => some({ value: start.addDays(d.days), meta: East.str`+${d.days}d · ${d.name}` }),
213
- * }),
214
- * }),
215
- * }, () => noFill);
216
- * }));
217
- * const newJob = $.const(East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, { machines: { from: [], to: [] } })));
218
- * return (
219
- * <Sheet
220
- * data={jobs}
221
- * id="id"
222
- * driver={Sheet.driver("activity", activities, { key: a => a.name, label: a => a.name, meta: a => some(a.uom) })}
223
- * registers={{
224
- * machines: Sheet.register.concat([
225
- * Sheet.register.members(machines, { kind: "machine", key: m => m.code, label: m => m.code,
226
- * meta: m => some(m.family), parent: m => some(m.line) }),
227
- * // A Dict's key rides as the accessors' second argument.
228
- * Sheet.register.members(lines, { kind: "line", key: (_l, code) => code, label: l => l.name, aliases: l => l.aliases }),
229
- * // Both lathes name one family — duplicate keys fold, the first wins.
230
- * Sheet.register.members(machines, { kind: "family", key: m => m.family, label: m => m.family, meta: _m => some("family") }),
231
- * ]),
232
- * }}
233
- * columns={{
234
- * activity: Sheet.column.lookup(JobType, { header: "Activity", width: "140px" }),
235
- * start: Sheet.column.date(JobType, { header: "Start", width: "96px" }),
236
- * end: Sheet.column.date(JobType, { header: "End", sub: "start + days", width: "96px", base: "start", fill: [endFromStart] }),
237
- * qty: Sheet.column.quantity(JobType, ActivityType, { header: "Qty", sub: "uom per activity", width: "112px", uom: d => d.uom }),
238
- * machines: Sheet.column.set(JobType, "machines", { header: "Machines", sub: "M2140 · 2 x lathe · line 2", width: "240px",
239
- * members: [{ kind: "machine", identified: true }, { kind: "line", countable: true, resolvesTo: "machine" },
240
- * { kind: "family", countable: true, resolvesTo: "machine" }] }),
241
- * }}
242
- * newRow={newJob}
243
- * onUpdate={jobs.write}
244
- * />
245
- * );
246
- * }}</Reactive>
247
- * ));
248
- * ```
249
- */
250
- export function createDriver(column, data, config) {
251
- const expr = East.value(data);
252
- const t = Expr.type(expr);
253
- if (t.type !== "Array" || t.value.type !== "Struct") {
254
- throw new Error(`Sheet.driver("${column}"): data must be an Array of structs — got a ${t.type}`);
255
- }
256
- const rowType = t.value;
257
- const cfg = config;
258
- const keyFn = East.function([rowType], StringType, (_$, d) => cfg.key(d));
259
- const members = createMembers(expr, {
260
- kind: column,
261
- key: (d) => keyFn(d),
262
- label: (d) => cfg.label(d),
263
- ...(cfg.aliases !== undefined ? { aliases: (d) => cfg.aliases(d) } : {}),
264
- ...(cfg.meta !== undefined ? { meta: (d) => cfg.meta(d) } : {}),
265
- });
266
- return { column, rowType, data: expr, keyFn, members };
267
- }
268
- //# sourceMappingURL=registers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registers.js","sourceRoot":"","sources":["../../../../src/collections/sheet/registers.ts"],"names":[],"mappings":"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"}
@@ -1,328 +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
- * `Sheet.Root` — assembles the whole sheet value against the `Sheet` arm of
7
- * `component.ts` (`Sheet Spec.md` §4.6): resolves the row source (both
8
- * arms), describes every column against the row type, compiles the typed
9
- * bridge (§4.8), builds each column's wire value, compiles `onUpdate` into
10
- * the checked batch adapter (§4.7), and refuses every mistake naming the
11
- * column and the remedy.
12
- *
13
- * @packageDocumentation
14
- */
15
- import { type EastType, type ExprType, type SubtypeExprOrValue, ArrayType, AsyncFunctionType, BooleanType, DictType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType } from "@elaraai/east";
16
- import { UIComponentType } from "../../component.js";
17
- import { SliceBindType } from "../../platform/slice/index.js";
18
- import { type SliceAffordanceLiteral } from "../../contracts/slice-affordances.js";
19
- import { DensityType, type DensityLiteral } from "../../style/interaction.js";
20
- import { StatusValueType, type StatusValueLiteral } from "../../feedback/status/types.js";
21
- import { type PagedSource } from "../../contracts/source.js";
22
- import type { DataRowType } from "../table/index.js";
23
- import { SheetViewType, SheetSelectionType, type SheetAnyContextOf, type SheetProposalOf, type SheetPatchOf, type SheetLinesField, type SheetLineOf, type SheetEntryOf } from "./types.js";
24
- import type { SheetColumnSpec, SheetFieldKey } from "./columns.js";
25
- import type { SheetDriverValue, SheetRegisterValue } from "./registers.js";
26
- import type { SheetGroupValue } from "./group.js";
27
- import type { SheetSubRowsValue } from "./sub-rows.js";
28
- import type { SheetEditsInput } from "./edits.js";
29
- import { SheetApplyResultType, SheetNewRowType, SheetNewGroupType, SheetReadinessType, type SheetDraftOf, type SheetChangeSetTypeFor } from "./transactions.js";
30
- import type { SheetPatchEventTypeFor, SheetDraftEntryOf } from "./drafts.js";
31
- /** The keys of a row struct whose field is a `String` — what `id` may name. */
32
- export type SheetStringField<R extends StructType> = {
33
- [K in SheetFieldKey<R>]: R["fields"][K] extends StringType ? K : never;
34
- }[SheetFieldKey<R>];
35
- /**
36
- * One row proposer — a synchronous or asynchronous East function over
37
- * `Sheet.Types.Context(R, D)` to `Array<Sheet.Types.Proposal(R)>` (§3.6).
38
- * The driver type is checked at build time against the sheet's driver.
39
- *
40
- * @typeParam R - The host's row type (a grouped sheet: the line type)
41
- */
42
- export type SheetProposerInput<R extends StructType> = SubtypeExprOrValue<FunctionType<[SheetAnyContextOf<R>], ArrayType<SheetProposalOf<R>>>> | SubtypeExprOrValue<AsyncFunctionType<[SheetAnyContextOf<R>], ArrayType<SheetProposalOf<R>>>>;
43
- /**
44
- * The copilot's row-proposal declaration (B§5.2).
45
- *
46
- * @typeParam R - The host's row type
47
- * @property ahead - At most this many proposed rows below the anchor (default 2)
48
- * @property triggers - Column keys whose commit re-asks the proposers (default: every editable column)
49
- * @property ghost - Draw proposed rows as hatched ghosts (default `true`)
50
- * @property propose - The proposers; the first that returns rows wins
51
- */
52
- export interface SheetSuggestInput<R extends StructType> {
53
- /** At most this many proposed rows below the anchor. */
54
- ahead?: SubtypeExprOrValue<IntegerType> | number;
55
- /** Column keys whose commit re-asks the proposers. */
56
- triggers?: SheetFieldKey<R>[];
57
- /** Draw proposed rows as hatched ghosts. */
58
- ghost?: boolean;
59
- /** The proposers; the first that returns rows wins. */
60
- propose: SheetProposerInput<R>[];
61
- }
62
- /** Business readiness checks add requirements without bypassing structural validity.
63
- * @typeParam R - The row struct (a grouped sheet's child struct)
64
- * @typeParam G - The group draft schema, when grouping is enabled
65
- */
66
- export interface SheetReadyInput<R extends StructType, G extends EastType = never> {
67
- /**
68
- * Check a row draft and its current draft-aware context. Every check of
69
- * one evaluation runs in one call over the same `rows` (#882): read
70
- * them, never sort or edit them in place, or the checks after it see the
71
- * change. A check that throws marks its own row invalid.
72
- */
73
- row?: SubtypeExprOrValue<FunctionType<[SheetDraftOf<R>, SheetAnyContextOf<R>], typeof SheetReadinessType>>;
74
- /** Check the group's own draft fields; child issues are checked separately. */
75
- group?: [G] extends [never] ? never : SubtypeExprOrValue<FunctionType<[G], typeof SheetReadinessType>>;
76
- }
77
- /**
78
- * The options of `Sheet.Root` / the `<Sheet>` tag's props beside `data` and
79
- * `columns` (§3).
80
- *
81
- * @typeParam R - The host's row type
82
- * @property id - The `String` field that identifies a row (required on a positional source; a keyed paged source's key is its id)
83
- * @property owned - Rows the upstream system owns: no copilot, stamped columns read-only — an accessor
84
- * @property driver - The driver declaration (`Sheet.driver`)
85
- * @property registers - Register name → members (`Sheet.register.*`)
86
- * @property suggest - The row-proposal declaration
87
- * @property slice - The bound slice whose narrowing the lens draws; the rail mounts `affordances`
88
- * @property affordances - Rail affordances when `slice` is set (default `["search"]`; `brush` / `legend` / `breakdown` refused)
89
- * @property views - The saved views
90
- * @property activeView - The active view's id
91
- * @property onViewsChange - Views changed
92
- * @property onUpdate - The whole collection with the edit applied (inline arm only)
93
- * @property onSelect - The ring moved
94
- * @property selection - Controlled selection (§3.14)
95
- * @property newRowId - Overrides the renderer's id minting for inserted rows
96
- * @property group - Never on a flat sheet — grouped rows take {@link SheetGroupedOptions}
97
- * @property subRows - Read-only sub rows under each row, from its array fields (`Sheet.subRows`, #844)
98
- * @property readOnly - The whole sheet is read-only
99
- * @property blanks - Padding rows below the last real one (default 18)
100
- * @property density - Row rhythm
101
- * @property footer - Footer items
102
- * @property style - Sizing and the gutter width
103
- */
104
- export interface SheetOptions<R extends StructType> {
105
- /** Structural capabilities; defaults depend on grouping and source ordering. */
106
- edits?: SheetEditsInput;
107
- /** The `String` field that identifies a row. */
108
- id?: SheetStringField<R>;
109
- /** Rows the upstream system owns — an accessor. */
110
- owned?: (row: ExprType<R>) => SubtypeExprOrValue<BooleanType>;
111
- /** The driver declaration. */
112
- driver?: SheetDriverValue;
113
- /** Register name → members. */
114
- registers?: Record<string, SheetRegisterValue>;
115
- /** The row-proposal declaration. */
116
- suggest?: SheetSuggestInput<R>;
117
- /** The bound slice whose narrowing the lens draws. */
118
- slice?: SubtypeExprOrValue<SliceBindType>;
119
- /** Rail affordances when `slice` is set. */
120
- affordances?: SliceAffordanceLiteral[];
121
- /** The saved views. */
122
- views?: SubtypeExprOrValue<ArrayType<SheetViewType>>;
123
- /** The active view's id. */
124
- activeView?: SubtypeExprOrValue<OptionType<StringType>>;
125
- /** Views changed. */
126
- onViewsChange?: SubtypeExprOrValue<FunctionType<[ArrayType<SheetViewType>], NullType>>;
127
- /** The whole collection with the edit applied (inline arm only). */
128
- onUpdate?: SubtypeExprOrValue<FunctionType<[ArrayType<R>], NullType>>;
129
- /** Observe one gesture's draft and domain patches; this does not authorize writes. */
130
- onPatch?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetPatchEventTypeFor<R>>], NullType>>;
131
- /** Submit one checked, idempotent batch to the authoritative source. */
132
- onApply?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetChangeSetTypeFor<R>>], typeof SheetApplyResultType>> | SubtypeExprOrValue<AsyncFunctionType<[ReturnType<typeof SheetChangeSetTypeFor<R>>], typeof SheetApplyResultType>>;
133
- /** Batch by default; auto submits complete gestures through the same checked protocol. */
134
- applyMode?: "batch" | "auto";
135
- /** The ring moved. */
136
- onSelect?: SubtypeExprOrValue<FunctionType<[SheetSelectionType], NullType>>;
137
- /** Controlled selection. */
138
- selection?: SubtypeExprOrValue<OptionType<SheetSelectionType>>;
139
- /** Additional author requirements; structural completeness always remains mandatory. */
140
- ready?: SheetReadyInput<R>;
141
- /** Explicit defaults for new rows, including required fields without columns. */
142
- newRow?: SubtypeExprOrValue<FunctionType<[typeof SheetNewRowType], SheetPatchOf<R>>>;
143
- /** Overrides the renderer's id minting for inserted rows. */
144
- newRowId?: SubtypeExprOrValue<FunctionType<[], StringType>>;
145
- /** Never on a flat sheet — grouped rows take {@link SheetGroupedOptions}. */
146
- group?: never;
147
- /** Read-only sub rows under each row, from its array fields. */
148
- subRows?: SheetSubRowsValue<R>;
149
- /** The whole sheet is read-only. */
150
- readOnly?: SubtypeExprOrValue<BooleanType> | boolean;
151
- /** Padding rows below the last real one. */
152
- blanks?: SubtypeExprOrValue<IntegerType> | number;
153
- /** Row rhythm. */
154
- density?: DensityLiteral | SubtypeExprOrValue<DensityType>;
155
- /** Footer items. */
156
- footer?: {
157
- /** The footer text. */
158
- text: SubtypeExprOrValue<StringType>;
159
- /** Optional status tint. */
160
- tone?: StatusValueLiteral | SubtypeExprOrValue<StatusValueType>;
161
- }[];
162
- /** Sizing and the gutter width. */
163
- style?: {
164
- /** Definite height (`"fill"` fills the parent). */
165
- height?: SubtypeExprOrValue<StringType>;
166
- /** Max-height cap. */
167
- maxHeight?: SubtypeExprOrValue<StringType>;
168
- /** The gutter width, a CSS px size. */
169
- gutterWidth?: SubtypeExprOrValue<StringType>;
170
- };
171
- }
172
- /**
173
- * The options of a GROUPED sheet (#740) — `Sheet.Root(plans, lineColumns,
174
- * { group: Sheet.group(P, "lines", …), … })`: the group `P` is the row,
175
- * `columns` are declared over the line type its lines field holds, and the
176
- * edit channel addresses lines within their group.
177
- *
178
- * @typeParam P - The group's row type
179
- * @typeParam F - The lines field
180
- * @property group - The group declaration (`Sheet.group`)
181
- * @property suggest - The row-proposal declaration, over the LINE type
182
- * @property onUpdate - The whole collection of groups with the edit applied (inline arm only)
183
- * @property subRows - Read-only sub rows under each LINE, declared over the line type (#844)
184
- */
185
- export interface SheetGroupedOptions<P extends StructType, F extends SheetLinesField<P>> extends Omit<SheetOptions<P>, "group" | "suggest" | "onPatch" | "newRow" | "ready" | "subRows"> {
186
- /** Additional row and group requirements over complete field drafts. */
187
- ready?: SheetReadyInput<SheetLineOf<P, F>, SheetDraftEntryOf<P, F>>;
188
- /** Explicit defaults for each new child row. */
189
- newRow?: SubtypeExprOrValue<FunctionType<[typeof SheetNewRowType], SheetPatchOf<SheetLineOf<P, F>>>>;
190
- /** Explicit defaults for a new group. */
191
- newGroup?: SubtypeExprOrValue<FunctionType<[typeof SheetNewGroupType], SheetPatchOf<P>>>;
192
- /** The group declaration. */
193
- group: SheetGroupValue<P, F>;
194
- /** The row-proposal declaration, over the line type. */
195
- suggest?: SheetSuggestInput<SheetLineOf<P, F>>;
196
- /** Observe a gesture with drafts over this group's child array. */
197
- onPatch?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetPatchEventTypeFor<P, F>>], NullType>>;
198
- /** Read-only sub rows under each line, declared over the line type. */
199
- subRows?: SheetSubRowsValue<SheetLineOf<P, F>>;
200
- }
201
- /**
202
- * The options of a sheet with LOOSE rows between its groups (#846) —
203
- * `Sheet.Root(entries, lineColumns, { group: Sheet.group(P, "lines", …), … })`
204
- * over entries `Sheet.Types.Entry(P, "lines")`: each entry a group, or a row
205
- * of the line type standing between the groups. Everything a grouped sheet
206
- * takes, with `id`, `owned` and the write-back over the entry.
207
- *
208
- * @typeParam P - The group's row type
209
- * @typeParam F - The lines field
210
- * @property id - The `String` field that identifies an entry — a field of both the group type and the line type (a keyed paged source needs none: its key is the id)
211
- * @property owned - Entries the upstream system owns — an accessor over the entry
212
- * @property onUpdate - The whole collection of entries with the batch applied (inline arm only)
213
- * @property onPatch - Observe one gesture's draft and domain patches over the entries
214
- * @property onApply - Submit one checked, idempotent batch of entries
215
- */
216
- export interface SheetEntriesOptions<P extends StructType, F extends SheetLinesField<P>> extends Omit<SheetGroupedOptions<P, F>, "id" | "owned" | "onUpdate" | "onPatch" | "onApply"> {
217
- /** The `String` field that identifies an entry — a field of both the group type and the line type. */
218
- id?: SheetStringField<P> & SheetStringField<SheetLineOf<P, F>>;
219
- /** Entries the upstream system owns — an accessor over the entry. */
220
- owned?: (entry: ExprType<SheetEntryOf<P, F>>) => SubtypeExprOrValue<BooleanType>;
221
- /** The whole collection of entries with the batch applied (inline arm only). */
222
- onUpdate?: SubtypeExprOrValue<FunctionType<[ArrayType<SheetEntryOf<P, F>>], NullType>>;
223
- /** Observe one gesture's draft and domain patches over the entries; this does not authorize writes. */
224
- onPatch?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetPatchEventTypeFor<SheetEntryOf<P, F>>>], NullType>>;
225
- /** Submit one checked, idempotent batch of entries to the authoritative source. */
226
- onApply?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetChangeSetTypeFor<SheetEntryOf<P, F>>>], typeof SheetApplyResultType>> | SubtypeExprOrValue<AsyncFunctionType<[ReturnType<typeof SheetChangeSetTypeFor<SheetEntryOf<P, F>>>], typeof SheetApplyResultType>>;
227
- }
228
- /** A whole-value bind handle (`State.bind` / `Data.bind`) over `Array<R>` — accepted as `data`; `R` a row struct, or an entry `Sheet.Types.Entry(P, "lines")` (#846). */
229
- export interface SheetBindHandle<R extends EastType> {
230
- /** The handle's read. */
231
- read: (...args: never[]) => ExprType<ArrayType<R>>;
232
- }
233
- /**
234
- * Creates the Sheet root — the whole planning spreadsheet.
235
- *
236
- * @typeParam T - The inline data's type (an `Array<R>` value or expression)
237
- * @param data - The rows: an `Array<R>` value or expression, a whole-value bind handle, or a paged source
238
- * @param columns - The columns, keyed by the row's fields ({@link SheetColumnSpec})
239
- * @param options - Everything else ({@link SheetOptions})
240
- * @returns An East expression of `UIComponentType`
241
- *
242
- * @remarks
243
- * `id` is required on a positional source. `onUpdate` is refused on the
244
- * paged arm; edit paged rows with onApply over a pinned source — one that names
245
- * its snapshot (`Data.bindPaged`'s handle). A `Dict` inline is refused: a sorted map would
246
- * sit rows in key order, not the planner's.
247
- *
248
- * With `group` (#740) the rows are GROUPS: `columns` are declared over the
249
- * line type the group's lines field holds, `onUpdate` rebuilds the groups
250
- * with their lines inside. onPatch observes one gesture; onApply confirms
251
- * an atomic checked batch. Rows of the line type may stand between the
252
- * groups (#846): pass entries `Sheet.Types.Entry(GroupType, "lines")` — a
253
- * group, or a LOOSE row, drawn as a plain row numbered in the groups'
254
- * sequence — with an `id` that both types carry.
255
- *
256
- * In a `.tsx` file the `<Sheet>` tag calls this, with `data`, `columns` and
257
- * the options as its props — as the example does for a grouped sheet whose
258
- * rows are work packages.
259
- *
260
- * @example
261
- * ```tsx
262
- * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
263
- * import { ArrayType, East, FloatType, OptionType, StringType, StructType, some, variant } from "@elaraai/east";
264
- * import { Reactive, Sheet, State, Text, UIComponentType, VStack } from "@elaraai/east-ui";
265
- *
266
- * const sheet = East.function([], UIComponentType, (_$) => (
267
- * <Reactive>{$ => {
268
- * const JobType = StructType({ task: StringType, qty: OptionType(FloatType), notes: StringType, createdBy: StringType });
269
- * const PackageType = StructType({ id: StringType, name: StringType, owner: StringType, jobs: ArrayType(JobType) });
270
- * const packages = $.let(State.bind([ArrayType(PackageType)], "sheet_grouped_packages", [
271
- * { id: "roughing", name: "P-40 · Roughing", owner: "planner", jobs: [
272
- * { task: "Machine blanks", qty: some(1200.0), notes: "Four CNC lathes", createdBy: "planner" },
273
- * { task: "Inspect lots", qty: some(4.0), notes: "Check before finishing", createdBy: "planner" },
274
- * ] },
275
- * { id: "finishing", name: "P-40 · Finishing", owner: "planner", jobs: [
276
- * { task: "Finish housings", qty: some(1200.0), notes: "After inspection", createdBy: "planner" },
277
- * { task: "Pack for assembly", qty: some(100.0), notes: "Twelve per carton", createdBy: "planner" },
278
- * ] },
279
- * ]));
280
- * const applied = $.let(packages.read());
281
- * return (
282
- * <VStack gap="3" align="stretch">
283
- * <Text textStyle="caption" color="fg.muted">Edit a package name or task. Use the gutter + to insert a task, or the stacked-rows + button to create a package at a group boundary. Apply changes saves the batch; Undo and Redo retain each gesture.</Text>
284
- * <Sheet
285
- * data={packages}
286
- * id="id"
287
- * group={Sheet.group(PackageType, "jobs", { title: "name" })}
288
- * ready={{ group: East.function([Sheet.Types.DraftGroup(PackageType, "jobs")], Sheet.Types.Readiness, ($, group) => {
289
- * $.if(group.name.hasTag("value").and(() => group.name.unwrap("value").length().equal(0n)), $ => {
290
- * $.return(East.value(variant("incomplete", [{ field: "name", message: "Name the work package" }]), Sheet.Types.Readiness));
291
- * });
292
- * return East.value(variant("ready", null), Sheet.Types.Readiness);
293
- * }) }}
294
- * columns={{
295
- * task: Sheet.column.text(JobType, { header: "Task", width: "240px" }),
296
- * qty: Sheet.column.quantity(JobType, { header: "Qty", width: "112px" }),
297
- * notes: Sheet.column.text(JobType, { header: "Notes", width: "300px" }),
298
- * }}
299
- * newRow={East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, {
300
- * notes: "", createdBy: "planner",
301
- * }))}
302
- * newGroup={East.function([Sheet.Types.NewGroup], Sheet.Types.Patch(PackageType), () => Sheet.patch(PackageType, {
303
- * owner: "planner", jobs: [],
304
- * }))}
305
- * onUpdate={packages.write}
306
- * style={{ height: "440px" }}
307
- * />
308
- * <Text.MonoLabel>{East.str`SAVED · ${applied.length()} packages · ${applied.map((_$, p) => p.jobs.length()).sum()} tasks`}</Text.MonoLabel>
309
- * </VStack>
310
- * );
311
- * }}</Reactive>
312
- * ));
313
- * ```
314
- */
315
- export declare function createSheet<P extends StructType, F extends SheetLinesField<P>>(data: NoInfer<SubtypeExprOrValue<ArrayType<SheetEntryOf<P, F>>> | SheetBindHandle<SheetEntryOf<P, F>> | PagedSource<ArrayType<SheetEntryOf<P, F>>> | PagedSource<DictType<StringType, SheetEntryOf<P, F>>>>, columns: SheetColumnSpec<SheetLineOf<P, F>>, options: SheetEntriesOptions<P, F>): ExprType<UIComponentType>;
316
- /** GROUPED rows — an `Array<P>` value or expression of groups. */
317
- export declare function createSheet<T extends SubtypeExprOrValue<ArrayType<StructType>>, F extends SheetLinesField<DataRowType<T>>>(data: T, columns: SheetColumnSpec<SheetLineOf<DataRowType<T>, F>>, options: SheetGroupedOptions<DataRowType<T>, F>): ExprType<UIComponentType>;
318
- /** GROUPED rows over a whole-value bind handle of groups. */
319
- export declare function createSheet<P extends StructType, F extends SheetLinesField<P>>(data: SheetBindHandle<P>, columns: SheetColumnSpec<SheetLineOf<P, F>>, options: SheetGroupedOptions<P, F>): ExprType<UIComponentType>;
320
- /** GROUPED rows over a paged source of groups. */
321
- export declare function createSheet<P extends StructType, F extends SheetLinesField<P>>(data: PagedSource<ArrayType<P>> | PagedSource<DictType<StringType, P>>, columns: SheetColumnSpec<SheetLineOf<P, F>>, options: SheetGroupedOptions<P, F>): ExprType<UIComponentType>;
322
- /** The inline arm — an `Array<R>` value or expression. */
323
- export declare function createSheet<T extends SubtypeExprOrValue<ArrayType<StructType>>>(data: T, columns: SheetColumnSpec<DataRowType<T>>, options: SheetOptions<DataRowType<T>>): ExprType<UIComponentType>;
324
- /** A whole-value bind handle retains its live reader for atomic onUpdate. */
325
- export declare function createSheet<R extends StructType>(data: SheetBindHandle<R>, columns: SheetColumnSpec<R>, options: SheetOptions<R>): ExprType<UIComponentType>;
326
- /** The PAGED arm — positional (`Array<R>` windows) or keyed (`Dict<String, R>` windows, the key is the id). */
327
- export declare function createSheet<R extends StructType>(data: PagedSource<ArrayType<R>> | PagedSource<DictType<StringType, R>>, columns: SheetColumnSpec<R>, options?: SheetOptions<R>): ExprType<UIComponentType>;
328
- //# sourceMappingURL=root.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../src/collections/sheet/root.ts"],"names":[],"mappings":"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"}