@elaraai/east-ui 1.0.86 → 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,228 +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.link` — the link value's helpers: the grammar's parse / print pair
7
- * as exported East functions (B§4.1, `Sheet Spec.md` §3.4), and the
8
- * `arity` / `check` declarations a link column takes.
9
- *
10
- * The grammar here is the SYNTACTIC half the renderer and a task share —
11
- * splitting halves on `>`, members on `,`, the counted form, ranges, the
12
- * placeholder — resolved against a register's members so a code is
13
- * `identified` and anything else is kept as `text`. Candidate scoring,
14
- * prefix completion and the countable-by-attribute forms are the renderer's
15
- * (`link/grammar.ts`, P3): they need the editor, not a value.
16
- *
17
- * @packageDocumentation
18
- */
19
- import { East, ArrayType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, SetType, variant, some, none, } from "@elaraai/east";
20
- import { SheetMemberType, SheetLinkType, SheetRegisterMemberType, SheetCountedType, } from "./types.js";
21
- /** A list of link members. */
22
- export const SheetMembersType = ArrayType(SheetMemberType);
23
- /** A list of register members — what `parse` resolves against. */
24
- export const SheetRegisterMembersType = ArrayType(SheetRegisterMemberType);
25
- // ============================================================================
26
- // Print — the grammar's display form
27
- // ============================================================================
28
- /**
29
- * Print one member in the grammar's display form.
30
- *
31
- * @remarks
32
- * A module-scope East function (the Plan's `REBASE_ROWS` precedent): built
33
- * once, called by `print` and by the factory's `String`-field projection.
34
- */
35
- export const printMember = East.function([SheetMemberType], StringType, (_$, m) => m.match({
36
- identified: (_$2, v) => v.key,
37
- range: (_$2, v) => East.str `${v.from}-${v.to}`,
38
- counted: (_$2, v) => East.str `${v.n} x ${v.key}`,
39
- placeholder: (_$2) => East.value("TBC", StringType),
40
- text: (_$2, t) => t,
41
- }));
42
- /**
43
- * `Sheet.link.print` — a link value as the planner would type it (B§4.2):
44
- * `a > b`, `b` for a destination-only link, `a >` for a source-only one.
45
- *
46
- * @example
47
- * ```ts
48
- * import { East, StringType, variant } from "@elaraai/east";
49
- * import { Sheet } from "@elaraai/east-ui";
50
- *
51
- * const printed = East.function([], StringType, ($) => {
52
- * const link = $.const({
53
- * from: [variant("identified", { key: "M2140" }), variant("range", { from: "M2141", to: "M2145" })],
54
- * to: [variant("counted", { n: 4n, key: "CNC lathe" }), variant("placeholder", null)],
55
- * }, Sheet.Types.Link);
56
- * return Sheet.link.print(link);
57
- * });
58
- * ```
59
- */
60
- export const printLink = East.function([SheetLinkType], StringType, ($, link) => {
61
- const pm = $.const(printMember);
62
- const from = $.let(link.from.map((_$, m) => pm(m)).stringJoin(", "), StringType);
63
- const to = $.let(link.to.map((_$, m) => pm(m)).stringJoin(", "), StringType);
64
- return link.from.length().equal(0n).ifElse((_$) => to, (_$) => link.to.length().equal(0n).ifElse((_$2) => East.str `${from} >`, (_$2) => East.str `${from} > ${to}`));
65
- });
66
- /**
67
- * Print one member with the register's LABELS — the `store: "canonical"`
68
- * form (B§4.2): an identified member prints its member's label when the
69
- * register has it, its key otherwise; every other member prints as
70
- * {@link printMember}.
71
- */
72
- export const printMemberWith = East.function([SheetMemberType, SheetRegisterMembersType], StringType, ($, m, members) => {
73
- const pm = $.const(printMember);
74
- return m.match({
75
- identified: (_$2, v) => members.firstMap((_$3, r) => r.key.equal(v.key).ifElse((_$4) => East.value(some(r.label), OptionType(StringType)), (_$4) => East.value(none, OptionType(StringType)))).match({
76
- some: (_$3, label) => label,
77
- none: (_$3) => v.key,
78
- }),
79
- }, (_$2) => pm(m));
80
- });
81
- /**
82
- * `Sheet.link.print` with the register's labels — what a `String` field
83
- * stores under `store: "canonical"` (B§4.2).
84
- */
85
- export const printLinkWith = East.function([SheetLinkType, SheetRegisterMembersType], StringType, ($, link, members) => {
86
- const pm = $.const(printMemberWith);
87
- const from = $.let(link.from.map((_$, m) => pm(m, members)).stringJoin(", "), StringType);
88
- const to = $.let(link.to.map((_$, m) => pm(m, members)).stringJoin(", "), StringType);
89
- return link.from.length().equal(0n).ifElse((_$) => to, (_$) => link.to.length().equal(0n).ifElse((_$2) => East.str `${from} >`, (_$2) => East.str `${from} > ${to}`));
90
- });
91
- // ============================================================================
92
- // Parse — text to a link value, against a register
93
- // ============================================================================
94
- /** The key of the register member a token names (by key or alias, case-insensitive). */
95
- const resolveKey = East.function([StringType, SheetRegisterMembersType], OptionType(StringType), ($, token, members) => {
96
- const t = $.let(token.trim().lowerCase(), StringType);
97
- return members.firstMap((_$, m) => m.key.lowerCase().equal(t)
98
- .or(() => m.aliases.map((_$2, a) => a.lowerCase()).toSet().has(t))
99
- .ifElse((_$2) => East.value(some(m.key), OptionType(StringType)), (_$2) => East.value(none, OptionType(StringType))));
100
- });
101
- /** The counted form `N x key` / `key x N` (B§4.1) — `none` when the token is not one. */
102
- const parseCounted = East.function([StringType, SheetRegisterMembersType], OptionType(SheetCountedType), ($, token, members) => {
103
- // `×` folds into the ASCII operator so one regex covers every declared op.
104
- const tok = $.let(token.replace("×", " x "), StringType);
105
- const noCount = $.const(none, OptionType(SheetCountedType));
106
- const resolve = $.const(resolveKey);
107
- const keyOf = $.const(East.function([StringType], StringType, ($2, rest) => resolve(rest, members).match({
108
- some: (_$3, k) => k,
109
- none: (_$3) => rest.trim(),
110
- })));
111
- return tok.contains(new RegExp("^\\d+\\s*[xX*]\\s*\\S")).ifElse(($2) => {
112
- // Leading count: `4 x lathe`.
113
- const at = $2.let(tok.indexOf(new RegExp("[xX*]")), IntegerType);
114
- const digits = $2.let(tok.substring(0n, at).trim(), StringType);
115
- const n = $2.let(digits.parse(IntegerType), IntegerType);
116
- const rest = $2.let(tok.substring(at.add(1n), tok.length()).trim(), StringType);
117
- return East.value(some({ n, key: keyOf(rest) }), OptionType(SheetCountedType));
118
- }, (_$2) => tok.contains(new RegExp("\\S\\s+[xX*]\\s*\\d+$")).ifElse(($3) => {
119
- // Trailing count: `lathe x 4`.
120
- const at = $3.let(tok.indexOf(new RegExp("\\s+[xX*]\\s*\\d+$")), IntegerType);
121
- const rest = $3.let(tok.substring(0n, at).trim(), StringType);
122
- const tail = $3.let(tok.substring(at, tok.length()), StringType);
123
- const digits = $3.let(tail.substring(tail.indexOf(new RegExp("\\d")), tail.length()).trim(), StringType);
124
- const n = $3.let(digits.parse(IntegerType), IntegerType);
125
- return East.value(some({ n, key: keyOf(rest) }), OptionType(SheetCountedType));
126
- }, (_$3) => noCount));
127
- });
128
- /**
129
- * One token to a member (B§4.1): the placeholder, a register code, the
130
- * counted form, a range, else text — never blocked.
131
- */
132
- const parseMember = East.function([StringType, SheetRegisterMembersType], SheetMemberType, ($, raw, members) => {
133
- const tok = $.let(raw.trim(), StringType);
134
- const resolve = $.const(resolveKey);
135
- const counted = $.const(parseCounted);
136
- return tok.upperCase().equal("TBC").ifElse((_$) => East.value(variant("placeholder", null), SheetMemberType), (_$2) => resolve(tok, members).match({
137
- some: (_$3, key) => East.value(variant("identified", { key }), SheetMemberType),
138
- none: (_$3) => counted(tok, members).match({
139
- some: (_$4, c) => East.value(variant("counted", { n: c.n, key: c.key }), SheetMemberType),
140
- none: (_$4) => tok.contains(new RegExp("^[A-Za-z]*\\d+-\\d+$")).ifElse(($5) => {
141
- // A range; a short upper bound completes from the lower (`M2140-45` ⇒ `M2145`).
142
- const parts = $5.let(tok.split("-"), ArrayType(StringType));
143
- const from = $5.let(parts.get(0n), StringType);
144
- const upper = $5.let(parts.get(1n), StringType);
145
- const to = $5.let(upper.length().less(from.length()).ifElse((_$6) => from.substring(0n, from.length().subtract(upper.length())).concat(upper), (_$6) => upper), StringType);
146
- return East.value(variant("range", { from, to }), SheetMemberType);
147
- }, (_$5) => East.value(variant("text", tok), SheetMemberType)),
148
- }),
149
- }));
150
- });
151
- /** The members of one half — comma-separated tokens, blanks dropped. */
152
- const parseHalf = East.function([StringType, SheetRegisterMembersType], SheetMembersType, ($, text, members) => {
153
- const member = $.const(parseMember);
154
- return text.split(",").filterMap((_$2, tok) => tok.trim().length().equal(0n).ifElse((_$3) => East.value(none, OptionType(SheetMemberType)), (_$3) => East.value(some(member(tok, members)), OptionType(SheetMemberType))));
155
- });
156
- /**
157
- * `Sheet.link.parse` — the planner's text to a typed link, resolved against
158
- * a register's members (B§4.1 / B§4.2): `a > b` fills both halves, `b`
159
- * alone is a destination-only link, `a >` a source-only one.
160
- *
161
- * @example
162
- * ```ts
163
- * import { East, none, some } from "@elaraai/east";
164
- * import { Sheet } from "@elaraai/east-ui";
165
- *
166
- * const parsed = East.function([], Sheet.Types.Link, ($) => {
167
- * const members = $.const([
168
- * { key: "M2140", label: "M2140", kind: "machine", aliases: [], meta: some("CNC lathe"), parent: some("Line 2"), tone: none },
169
- * { key: "CNC lathe", label: "CNC lathe", kind: "family", aliases: ["lathe", "lathes"], meta: some("family"), parent: none, tone: none },
170
- * ], Sheet.Types.RegisterMembers);
171
- * return Sheet.link.parse("m2140 > 4 x lathe, M2141-45, TBC, paint shop", members);
172
- * });
173
- * ```
174
- */
175
- export const parseLink = East.function([StringType, SheetRegisterMembersType], SheetLinkType, ($, text, members) => {
176
- const emptyMembers = $.const([], SheetMembersType);
177
- const half = $.const(parseHalf);
178
- return text.contains(">").ifElse(($2) => {
179
- const at = $2.let(text.indexOf(">"), IntegerType);
180
- const from = $2.let(half(text.substring(0n, at), members), SheetMembersType);
181
- const to = $2.let(half(text.substring(at.add(1n), text.length()), members), SheetMembersType);
182
- return $2.let({ from, to }, SheetLinkType);
183
- }, ($2) => {
184
- const to = $2.let(half(text, members), SheetMembersType);
185
- return $2.let({ from: emptyMembers, to }, SheetLinkType);
186
- });
187
- });
188
- /** The register keys a link's identified and counted members name — the `exists` check's vocabulary. */
189
- export const linkKeys = East.function([SheetLinkType], SetType(StringType), (_$, link) => link.from.concat(link.to).filterMap((_$2, m) => m.match({
190
- identified: (_$3, v) => East.value(some(v.key), OptionType(StringType)),
191
- counted: (_$3, v) => East.value(some(v.key), OptionType(StringType)),
192
- range: (_$3, v) => East.value(some(v.from), OptionType(StringType)),
193
- }, (_$3) => East.value(none, OptionType(StringType)))).toSet());
194
- /**
195
- * Declares a link column's arity rule.
196
- *
197
- * @typeParam R - The host's row type (inferred from `implied`)
198
- * @typeParam D - The driver's row type (inferred from `implied`)
199
- * @param half - The half the rule counts
200
- * @param implied - The rule — an `East.function` over `Sheet.Types.Context(R, D)` returning `Option<Sheet.Types.Counted>`
201
- * @returns The declaration a `Sheet.column.link` config takes as `arity`
202
- */
203
- export function createArity(half, implied) {
204
- return { half, implied };
205
- }
206
- /** `Sheet.link.check` — the built-in checks. */
207
- export const check = {
208
- /**
209
- * The grammar's own check: an identified, counted or range member must
210
- * name a register key; a placeholder or text passes.
211
- *
212
- * @returns The `exists` check
213
- */
214
- exists: () => ({ exists: true }),
215
- };
216
- /** Whether a check input is the `exists` marker. */
217
- export function isExistsCheck(c) {
218
- return typeof c === "object" && c !== null && c.exists === true;
219
- }
220
- /** A `none` of the given type, as an expression — the shared fallback spelling. */
221
- export function noneOf(type) {
222
- return East.value(none, OptionType(type));
223
- }
224
- /** The empty link value. */
225
- export const EMPTY_LINK = East.value({ from: [], to: [] }, SheetLinkType);
226
- /** Re-exported so the builders type their `NullType` driver default without a second import. */
227
- export { NullType };
228
- //# sourceMappingURL=link.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../../src/collections/sheet/link.ts"],"names":[],"mappings":"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"}
@@ -1,278 +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 { type EastType, type ExprType, type SubtypeExprOrValue, ArrayType, DictType, FunctionType, OptionType, StringType, StructType } from "@elaraai/east";
14
- import { StatusValueType } from "../../feedback/status/types.js";
15
- import { SheetRegisterMemberType } from "./types.js";
16
- /** A built register — its members, as an expression. What `Sheet.register.*` returns and `registers={…}` takes. */
17
- export type SheetRegisterValue = ExprType<ArrayType<SheetRegisterMemberType>>;
18
- /**
19
- * The accessors `Sheet.register.members` reifies over one data ENTRY — its
20
- * value and its key (`(_v, k) => k` is the normal spelling over a `Dict`;
21
- * over an `Array` the key is the index, printed).
22
- *
23
- * @typeParam T - The data's element type
24
- * @property kind - The member kind (`"machine"`, `"line"`, `"family"`)
25
- * @property key - What the grammar resolves — accessor
26
- * @property label - What a chip prints — accessor
27
- * @property aliases - Alternative spellings — accessor returning the field's array
28
- * @property meta - Chip meta — accessor returning the field's `Option`
29
- * @property parent - The parent key — accessor returning the field's `Option`
30
- * @property tone - An `enum` member's valence — accessor returning the field's `Option`
31
- */
32
- export interface SheetMembersConfig<T extends EastType> {
33
- /** The member kind. */
34
- kind: string;
35
- /** What the grammar resolves. */
36
- key: (value: ExprType<T>, key: ExprType<StringType>) => SubtypeExprOrValue<StringType>;
37
- /** What a chip prints. */
38
- label: (value: ExprType<T>, key: ExprType<StringType>) => SubtypeExprOrValue<StringType>;
39
- /** Alternative spellings the grammar also resolves. */
40
- aliases?: (value: ExprType<T>, key: ExprType<StringType>) => SubtypeExprOrValue<ArrayType<StringType>>;
41
- /** Chip meta — return the field's `Option`. */
42
- meta?: (value: ExprType<T>, key: ExprType<StringType>) => SubtypeExprOrValue<OptionType<StringType>>;
43
- /** The parent key — return the field's `Option`. */
44
- parent?: (value: ExprType<T>, key: ExprType<StringType>) => SubtypeExprOrValue<OptionType<StringType>>;
45
- /** The valence dot — return the field's `Option`. */
46
- tone?: (value: ExprType<T>, key: ExprType<StringType>) => SubtypeExprOrValue<OptionType<StatusValueType>>;
47
- }
48
- /**
49
- * Projects the host's rows into register members — `Sheet.register.members`.
50
- *
51
- * @remarks
52
- * The accessors are reified ONCE into a describe function which the map
53
- * then CALLS (`shared/reify.ts`, `EAST_UI_PROP_PATTERNS.md`). Duplicate keys
54
- * fold, first occurrence wins — a countable-by-attribute kind (`"CNC lathe"`
55
- * from every machine of that family) declares one member per distinct value.
56
- *
57
- * @typeParam T - The data's element type
58
- * @param data - The rows — an `Array<T>` or a `Dict<String, T>` value or expression
59
- * @param config - The accessors ({@link SheetMembersConfig})
60
- * @returns The members, as an expression
61
- *
62
- * @example
63
- * ```tsx
64
- * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
65
- * import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, none, some, variant } from "@elaraai/east";
66
- * import { Reactive, Sheet, State, UIComponentType } from "@elaraai/east-ui";
67
- *
68
- * const sheet = East.function([], UIComponentType, (_$) => (
69
- * <Reactive>{$ => {
70
- * const JobType = StructType({
71
- * id: StringType, activity: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType),
72
- * qty: OptionType(FloatType), machines: Sheet.Types.Link,
73
- * });
74
- * const ActivityType = StructType({ name: StringType, uom: StringType, days: IntegerType });
75
- * const MachineType = StructType({ code: StringType, family: StringType, line: StringType });
76
- * const LineType = StructType({ name: StringType, aliases: ArrayType(StringType) });
77
- * const activities = $.const([
78
- * { name: "Machining", uom: "pcs", days: 4n },
79
- * { name: "Inspection", uom: "lots", days: 1n },
80
- * ], ArrayType(ActivityType));
81
- * const machines = $.const([
82
- * { code: "M2140", family: "CNC lathe", line: "L2" },
83
- * { code: "M2141", family: "CNC lathe", line: "L2" },
84
- * { code: "M3210", family: "5-axis mill", line: "L3" },
85
- * ], ArrayType(MachineType));
86
- * const lines = $.const(new Map([
87
- * ["L2", { name: "Line 2", aliases: ["l2", "line 2"] }],
88
- * ["L3", { name: "Line 3", aliases: ["l3", "line 3"] }],
89
- * ]), DictType(StringType, LineType));
90
- * const jobs = $.let(State.bind([ArrayType(JobType)], "sheet_registers_jobs", [
91
- * { id: "j1", activity: "Machining", start: some(new Date("2026-02-16T00:00:00Z")), end: none, qty: some(1200.0),
92
- * machines: { from: [], to: [variant("counted", { n: 2n, key: "CNC lathe" })] } },
93
- * ]));
94
- * // The driver's row reaches a fill typed: End = Start + the activity's days.
95
- * const DateFill = OptionType(Sheet.Types.Fill(DateTimeType));
96
- * const endFromStart = $.const(East.function([Sheet.Types.DraftContext(JobType, ActivityType)], DateFill, ($, ctx) => {
97
- * const noFill = $.const(none, DateFill);
98
- * return ctx.row.start.match({
99
- * value: (_$, supplied) => supplied.match({
100
- * none: () => noFill,
101
- * some: (_$, start) => ctx.driver.match({
102
- * none: () => noFill,
103
- * some: (_$, d) => some({ value: start.addDays(d.days), meta: East.str`+${d.days}d · ${d.name}` }),
104
- * }),
105
- * }),
106
- * }, () => noFill);
107
- * }));
108
- * const newJob = $.const(East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, { machines: { from: [], to: [] } })));
109
- * return (
110
- * <Sheet
111
- * data={jobs}
112
- * id="id"
113
- * driver={Sheet.driver("activity", activities, { key: a => a.name, label: a => a.name, meta: a => some(a.uom) })}
114
- * registers={{
115
- * machines: Sheet.register.concat([
116
- * Sheet.register.members(machines, { kind: "machine", key: m => m.code, label: m => m.code,
117
- * meta: m => some(m.family), parent: m => some(m.line) }),
118
- * // A Dict's key rides as the accessors' second argument.
119
- * Sheet.register.members(lines, { kind: "line", key: (_l, code) => code, label: l => l.name, aliases: l => l.aliases }),
120
- * // Both lathes name one family — duplicate keys fold, the first wins.
121
- * Sheet.register.members(machines, { kind: "family", key: m => m.family, label: m => m.family, meta: _m => some("family") }),
122
- * ]),
123
- * }}
124
- * columns={{
125
- * activity: Sheet.column.lookup(JobType, { header: "Activity", width: "140px" }),
126
- * start: Sheet.column.date(JobType, { header: "Start", width: "96px" }),
127
- * end: Sheet.column.date(JobType, { header: "End", sub: "start + days", width: "96px", base: "start", fill: [endFromStart] }),
128
- * qty: Sheet.column.quantity(JobType, ActivityType, { header: "Qty", sub: "uom per activity", width: "112px", uom: d => d.uom }),
129
- * machines: Sheet.column.set(JobType, "machines", { header: "Machines", sub: "M2140 · 2 x lathe · line 2", width: "240px",
130
- * members: [{ kind: "machine", identified: true }, { kind: "line", countable: true, resolvesTo: "machine" },
131
- * { kind: "family", countable: true, resolvesTo: "machine" }] }),
132
- * }}
133
- * newRow={newJob}
134
- * onUpdate={jobs.write}
135
- * />
136
- * );
137
- * }}</Reactive>
138
- * ));
139
- * ```
140
- */
141
- export declare function createMembers<T extends EastType>(data: SubtypeExprOrValue<ArrayType<T>> | SubtypeExprOrValue<DictType<StringType, T>>, config: SheetMembersConfig<T>): SheetRegisterValue;
142
- /**
143
- * Joins member sets of different kinds into one register — `Sheet.register.concat`.
144
- *
145
- * @param parts - The member sets, in order
146
- * @returns The concatenated members
147
- */
148
- export declare function concatMembers(parts: SheetRegisterValue[]): SheetRegisterValue;
149
- /**
150
- * The accessors `Sheet.driver` reifies over one driver row.
151
- *
152
- * @typeParam D - The driver's row type
153
- */
154
- export interface SheetDriverConfig<D extends StructType> {
155
- /** The member key — what the driver column's cell stores. */
156
- key: (row: ExprType<D>) => SubtypeExprOrValue<StringType>;
157
- /** What a chip / candidate prints. */
158
- label: (row: ExprType<D>) => SubtypeExprOrValue<StringType>;
159
- /** Alternative spellings. */
160
- aliases?: (row: ExprType<D>) => SubtypeExprOrValue<ArrayType<StringType>>;
161
- /** Chip meta — return the field's `Option`. */
162
- meta?: (row: ExprType<D>) => SubtypeExprOrValue<OptionType<StringType>>;
163
- }
164
- /**
165
- * The driver declaration — the column, its data, the row type `D` every
166
- * driver-reading accessor is typed by, and the reified key lookup.
167
- *
168
- * @remarks
169
- * The typed parts (`rowType`, `data`, `keyFn`) never reach the IR: the root
170
- * applies a column's `uom` / `sides` accessors over `data` and the bridge
171
- * folds `data` into the `ctx.driver` lookup. Only `column` and `members`
172
- * ride ({@link SheetDriverType}).
173
- *
174
- */
175
- export interface SheetDriverValue {
176
- /** The driver column's key — must be a `lookup` column on a `String` field. */
177
- readonly column: string;
178
- /** The driver's row type (erased here; the builders that read the driver's row take it explicitly). */
179
- readonly rowType: StructType;
180
- /** The driver rows. */
181
- readonly data: ExprType<ArrayType<StructType>>;
182
- /** The reified key accessor. */
183
- readonly keyFn: ExprType<FunctionType<[StructType], StringType>>;
184
- /** The driver's register members. */
185
- readonly members: SheetRegisterValue;
186
- }
187
- /**
188
- * Declares the driver — `Sheet.driver(column, data, { key, label })`: the
189
- * `lookup` column whose member decides what the row does, with its data,
190
- * so `D` reaches every `uom` / `sides` accessor and `ctx.driver` (§3.3).
191
- *
192
- * @typeParam D - The driver's row type (inferred from `data`)
193
- * @param column - The driver column's key
194
- * @param data - The driver rows — an `Array<D>` value or expression
195
- * @param config - The accessors ({@link SheetDriverConfig})
196
- * @returns The driver declaration the `driver` prop takes
197
- *
198
- * @example
199
- * ```tsx
200
- * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
201
- * import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, none, some, variant } from "@elaraai/east";
202
- * import { Reactive, Sheet, State, UIComponentType } from "@elaraai/east-ui";
203
- *
204
- * const sheet = East.function([], UIComponentType, (_$) => (
205
- * <Reactive>{$ => {
206
- * const JobType = StructType({
207
- * id: StringType, activity: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType),
208
- * qty: OptionType(FloatType), machines: Sheet.Types.Link,
209
- * });
210
- * const ActivityType = StructType({ name: StringType, uom: StringType, days: IntegerType });
211
- * const MachineType = StructType({ code: StringType, family: StringType, line: StringType });
212
- * const LineType = StructType({ name: StringType, aliases: ArrayType(StringType) });
213
- * const activities = $.const([
214
- * { name: "Machining", uom: "pcs", days: 4n },
215
- * { name: "Inspection", uom: "lots", days: 1n },
216
- * ], ArrayType(ActivityType));
217
- * const machines = $.const([
218
- * { code: "M2140", family: "CNC lathe", line: "L2" },
219
- * { code: "M2141", family: "CNC lathe", line: "L2" },
220
- * { code: "M3210", family: "5-axis mill", line: "L3" },
221
- * ], ArrayType(MachineType));
222
- * const lines = $.const(new Map([
223
- * ["L2", { name: "Line 2", aliases: ["l2", "line 2"] }],
224
- * ["L3", { name: "Line 3", aliases: ["l3", "line 3"] }],
225
- * ]), DictType(StringType, LineType));
226
- * const jobs = $.let(State.bind([ArrayType(JobType)], "sheet_registers_jobs", [
227
- * { id: "j1", activity: "Machining", start: some(new Date("2026-02-16T00:00:00Z")), end: none, qty: some(1200.0),
228
- * machines: { from: [], to: [variant("counted", { n: 2n, key: "CNC lathe" })] } },
229
- * ]));
230
- * // The driver's row reaches a fill typed: End = Start + the activity's days.
231
- * const DateFill = OptionType(Sheet.Types.Fill(DateTimeType));
232
- * const endFromStart = $.const(East.function([Sheet.Types.DraftContext(JobType, ActivityType)], DateFill, ($, ctx) => {
233
- * const noFill = $.const(none, DateFill);
234
- * return ctx.row.start.match({
235
- * value: (_$, supplied) => supplied.match({
236
- * none: () => noFill,
237
- * some: (_$, start) => ctx.driver.match({
238
- * none: () => noFill,
239
- * some: (_$, d) => some({ value: start.addDays(d.days), meta: East.str`+${d.days}d · ${d.name}` }),
240
- * }),
241
- * }),
242
- * }, () => noFill);
243
- * }));
244
- * const newJob = $.const(East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, { machines: { from: [], to: [] } })));
245
- * return (
246
- * <Sheet
247
- * data={jobs}
248
- * id="id"
249
- * driver={Sheet.driver("activity", activities, { key: a => a.name, label: a => a.name, meta: a => some(a.uom) })}
250
- * registers={{
251
- * machines: Sheet.register.concat([
252
- * Sheet.register.members(machines, { kind: "machine", key: m => m.code, label: m => m.code,
253
- * meta: m => some(m.family), parent: m => some(m.line) }),
254
- * // A Dict's key rides as the accessors' second argument.
255
- * Sheet.register.members(lines, { kind: "line", key: (_l, code) => code, label: l => l.name, aliases: l => l.aliases }),
256
- * // Both lathes name one family — duplicate keys fold, the first wins.
257
- * Sheet.register.members(machines, { kind: "family", key: m => m.family, label: m => m.family, meta: _m => some("family") }),
258
- * ]),
259
- * }}
260
- * columns={{
261
- * activity: Sheet.column.lookup(JobType, { header: "Activity", width: "140px" }),
262
- * start: Sheet.column.date(JobType, { header: "Start", width: "96px" }),
263
- * end: Sheet.column.date(JobType, { header: "End", sub: "start + days", width: "96px", base: "start", fill: [endFromStart] }),
264
- * qty: Sheet.column.quantity(JobType, ActivityType, { header: "Qty", sub: "uom per activity", width: "112px", uom: d => d.uom }),
265
- * machines: Sheet.column.set(JobType, "machines", { header: "Machines", sub: "M2140 · 2 x lathe · line 2", width: "240px",
266
- * members: [{ kind: "machine", identified: true }, { kind: "line", countable: true, resolvesTo: "machine" },
267
- * { kind: "family", countable: true, resolvesTo: "machine" }] }),
268
- * }}
269
- * newRow={newJob}
270
- * onUpdate={jobs.write}
271
- * />
272
- * );
273
- * }}</Reactive>
274
- * ));
275
- * ```
276
- */
277
- export declare function createDriver<D extends StructType>(column: string, data: SubtypeExprOrValue<ArrayType<D>>, config: SheetDriverConfig<D>): SheetDriverValue;
278
- //# sourceMappingURL=registers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registers.d.ts","sourceRoot":"","sources":["../../../../src/collections/sheet/registers.ts"],"names":[],"mappings":"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"}