@elaraai/e3-ui 1.0.94 → 1.0.96

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 (303) hide show
  1. package/dist/src/allocation/adapters.d.ts +159 -0
  2. package/dist/src/allocation/adapters.d.ts.map +1 -0
  3. package/dist/src/allocation/adapters.js +241 -0
  4. package/dist/src/allocation/adapters.js.map +1 -0
  5. package/dist/src/allocation/functions.d.ts +664 -0
  6. package/dist/src/allocation/functions.d.ts.map +1 -0
  7. package/dist/src/allocation/functions.js +782 -0
  8. package/dist/src/allocation/functions.js.map +1 -0
  9. package/dist/src/allocation/index.d.ts +2985 -0
  10. package/dist/src/allocation/index.d.ts.map +1 -0
  11. package/dist/src/allocation/index.js +499 -0
  12. package/dist/src/allocation/index.js.map +1 -0
  13. package/dist/src/allocation/types.d.ts +832 -0
  14. package/dist/src/allocation/types.d.ts.map +1 -0
  15. package/dist/src/allocation/types.js +360 -0
  16. package/dist/src/allocation/types.js.map +1 -0
  17. package/dist/src/bind/func.d.ts +14 -0
  18. package/dist/src/bind/func.d.ts.map +1 -1
  19. package/dist/src/bind/func.js +22 -1
  20. package/dist/src/bind/func.js.map +1 -1
  21. package/dist/src/calendar/index.d.ts +510 -1639
  22. package/dist/src/calendar/index.d.ts.map +1 -1
  23. package/dist/src/calendar/index.js +56 -29
  24. package/dist/src/calendar/index.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +9 -21
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -1
  27. package/dist/src/flowchart/canvas.js +10 -22
  28. package/dist/src/flowchart/canvas.js.map +1 -1
  29. package/dist/src/flowchart/flowchart.d.ts +19 -13
  30. package/dist/src/flowchart/flowchart.d.ts.map +1 -1
  31. package/dist/src/flowchart/flowchart.js.map +1 -1
  32. package/dist/src/flowchart/index.d.ts +44 -21
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +43 -20
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +166 -81
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +232 -105
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/over.d.ts +9 -16
  41. package/dist/src/flowchart/over.d.ts.map +1 -1
  42. package/dist/src/flowchart/over.js +9 -16
  43. package/dist/src/flowchart/over.js.map +1 -1
  44. package/dist/src/flowchart/payload.d.ts +710 -508
  45. package/dist/src/flowchart/payload.d.ts.map +1 -1
  46. package/dist/src/flowchart/payload.js +128 -74
  47. package/dist/src/flowchart/payload.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts +132 -347
  49. package/dist/src/flowchart/window.d.ts.map +1 -1
  50. package/dist/src/flowchart/window.js +48 -55
  51. package/dist/src/flowchart/window.js.map +1 -1
  52. package/dist/src/index.d.ts +11 -7
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +14 -6
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/internal.d.ts +18 -7
  57. package/dist/src/internal.d.ts.map +1 -1
  58. package/dist/src/internal.js +28 -9
  59. package/dist/src/internal.js.map +1 -1
  60. package/dist/src/plan/event-rows.d.ts +26 -10
  61. package/dist/src/plan/event-rows.d.ts.map +1 -1
  62. package/dist/src/plan/event-rows.js +39 -13
  63. package/dist/src/plan/event-rows.js.map +1 -1
  64. package/dist/src/plan/ir.d.ts +244 -815
  65. package/dist/src/plan/ir.d.ts.map +1 -1
  66. package/dist/src/plan/ir.js +8 -6
  67. package/dist/src/plan/ir.js.map +1 -1
  68. package/dist/src/plan/library.d.ts +3 -0
  69. package/dist/src/plan/library.d.ts.map +1 -1
  70. package/dist/src/plan/library.js +1 -1
  71. package/dist/src/plan/library.js.map +1 -1
  72. package/dist/src/plan/ordered-source.d.ts +1 -0
  73. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  74. package/dist/src/plan/plan.d.ts +559 -1667
  75. package/dist/src/plan/plan.d.ts.map +1 -1
  76. package/dist/src/plan/plan.js +123 -45
  77. package/dist/src/plan/plan.js.map +1 -1
  78. package/dist/src/plan/root.d.ts +16 -20
  79. package/dist/src/plan/root.d.ts.map +1 -1
  80. package/dist/src/plan/root.js +23 -33
  81. package/dist/src/plan/root.js.map +1 -1
  82. package/dist/src/roster/coverage.d.ts +17 -231
  83. package/dist/src/roster/coverage.d.ts.map +1 -1
  84. package/dist/src/roster/coverage.js +94 -90
  85. package/dist/src/roster/coverage.js.map +1 -1
  86. package/dist/src/roster/fit.d.ts +59 -0
  87. package/dist/src/roster/fit.d.ts.map +1 -0
  88. package/dist/src/roster/fit.js +155 -0
  89. package/dist/src/roster/fit.js.map +1 -0
  90. package/dist/src/roster/index.d.ts +2862 -3662
  91. package/dist/src/roster/index.d.ts.map +1 -1
  92. package/dist/src/roster/index.js +383 -81
  93. package/dist/src/roster/index.js.map +1 -1
  94. package/dist/src/roster/library.d.ts +37 -92
  95. package/dist/src/roster/library.d.ts.map +1 -1
  96. package/dist/src/roster/library.js +25 -64
  97. package/dist/src/roster/library.js.map +1 -1
  98. package/dist/src/roster/lists.d.ts +195 -0
  99. package/dist/src/roster/lists.d.ts.map +1 -0
  100. package/dist/src/roster/lists.js +233 -0
  101. package/dist/src/roster/lists.js.map +1 -0
  102. package/dist/src/roster/rules.d.ts +17 -260
  103. package/dist/src/roster/rules.d.ts.map +1 -1
  104. package/dist/src/roster/rules.js +135 -132
  105. package/dist/src/roster/rules.js.map +1 -1
  106. package/dist/src/roster/targets.d.ts +115 -0
  107. package/dist/src/roster/targets.d.ts.map +1 -0
  108. package/dist/src/roster/targets.js +213 -0
  109. package/dist/src/roster/targets.js.map +1 -0
  110. package/dist/src/roster/times.d.ts +251 -0
  111. package/dist/src/roster/times.d.ts.map +1 -0
  112. package/dist/src/roster/times.js +174 -0
  113. package/dist/src/roster/times.js.map +1 -0
  114. package/dist/src/roster/types.d.ts +828 -183
  115. package/dist/src/roster/types.d.ts.map +1 -1
  116. package/dist/src/roster/types.js +224 -97
  117. package/dist/src/roster/types.js.map +1 -1
  118. package/dist/src/schedule/accessor.d.ts +28 -0
  119. package/dist/src/schedule/accessor.d.ts.map +1 -0
  120. package/dist/src/schedule/accessor.js +39 -0
  121. package/dist/src/schedule/accessor.js.map +1 -0
  122. package/dist/src/schedule/events.d.ts +170 -42
  123. package/dist/src/schedule/events.d.ts.map +1 -1
  124. package/dist/src/schedule/events.js +431 -171
  125. package/dist/src/schedule/events.js.map +1 -1
  126. package/dist/src/schedule/index.d.ts +41 -4
  127. package/dist/src/schedule/index.d.ts.map +1 -1
  128. package/dist/src/schedule/index.js +35 -3
  129. package/dist/src/schedule/index.js.map +1 -1
  130. package/dist/src/schedule/library.d.ts +13 -3
  131. package/dist/src/schedule/library.d.ts.map +1 -1
  132. package/dist/src/schedule/library.js +11 -4
  133. package/dist/src/schedule/library.js.map +1 -1
  134. package/dist/src/schedule/periods.d.ts +115 -0
  135. package/dist/src/schedule/periods.d.ts.map +1 -0
  136. package/dist/src/schedule/periods.js +215 -0
  137. package/dist/src/schedule/periods.js.map +1 -0
  138. package/dist/src/schedule/record-window.d.ts +25 -3
  139. package/dist/src/schedule/record-window.d.ts.map +1 -1
  140. package/dist/src/schedule/record-window.js +31 -18
  141. package/dist/src/schedule/record-window.js.map +1 -1
  142. package/dist/src/schedule/resources.d.ts +82 -4
  143. package/dist/src/schedule/resources.d.ts.map +1 -1
  144. package/dist/src/schedule/resources.js +44 -14
  145. package/dist/src/schedule/resources.js.map +1 -1
  146. package/dist/src/schedule/session.d.ts +69 -0
  147. package/dist/src/schedule/session.d.ts.map +1 -0
  148. package/dist/src/schedule/session.js +121 -0
  149. package/dist/src/schedule/session.js.map +1 -0
  150. package/dist/src/schedule/templates.d.ts +14 -2
  151. package/dist/src/schedule/templates.d.ts.map +1 -1
  152. package/dist/src/schedule/templates.js +5 -3
  153. package/dist/src/schedule/templates.js.map +1 -1
  154. package/dist/src/schedule/types.d.ts +1671 -37
  155. package/dist/src/schedule/types.d.ts.map +1 -1
  156. package/dist/src/schedule/types.js +196 -5
  157. package/dist/src/schedule/types.js.map +1 -1
  158. package/dist/src/schedule/window.d.ts +14 -0
  159. package/dist/src/schedule/window.d.ts.map +1 -1
  160. package/dist/src/schedule/window.js +14 -4
  161. package/dist/src/schedule/window.js.map +1 -1
  162. package/dist/src/schedule/words.d.ts +22 -0
  163. package/dist/src/schedule/words.d.ts.map +1 -0
  164. package/dist/src/schedule/words.js +25 -0
  165. package/dist/src/schedule/words.js.map +1 -0
  166. package/dist/src/sheet/index.d.ts +61 -27
  167. package/dist/src/sheet/index.d.ts.map +1 -1
  168. package/dist/src/sheet/index.js +59 -25
  169. package/dist/src/sheet/index.js.map +1 -1
  170. package/dist/src/sheet/library.d.ts +21 -3
  171. package/dist/src/sheet/library.d.ts.map +1 -1
  172. package/dist/src/sheet/library.js +23 -6
  173. package/dist/src/sheet/library.js.map +1 -1
  174. package/dist/src/sheet/registers.d.ts +100 -85
  175. package/dist/src/sheet/registers.d.ts.map +1 -1
  176. package/dist/src/sheet/registers.js +100 -85
  177. package/dist/src/sheet/registers.js.map +1 -1
  178. package/dist/src/sheet/root.d.ts +8 -12
  179. package/dist/src/sheet/root.d.ts.map +1 -1
  180. package/dist/src/sheet/root.js +6 -40
  181. package/dist/src/sheet/root.js.map +1 -1
  182. package/dist/src/sheet/sheet.d.ts +598 -2349
  183. package/dist/src/sheet/sheet.d.ts.map +1 -1
  184. package/dist/src/sheet/sheet.js +124 -37
  185. package/dist/src/sheet/sheet.js.map +1 -1
  186. package/dist/src/sheet/sub-rows.d.ts +74 -28
  187. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  188. package/dist/src/sheet/sub-rows.js +74 -28
  189. package/dist/src/sheet/sub-rows.js.map +1 -1
  190. package/dist/src/sheet/templates.d.ts +98 -34
  191. package/dist/src/sheet/templates.d.ts.map +1 -1
  192. package/dist/src/sheet/templates.js +102 -58
  193. package/dist/src/sheet/templates.js.map +1 -1
  194. package/dist/src/sheet/types.d.ts +289 -1359
  195. package/dist/src/sheet/types.d.ts.map +1 -1
  196. package/dist/src/sheet/types.js +20 -26
  197. package/dist/src/sheet/types.js.map +1 -1
  198. package/dist/src/sheet/views.d.ts +10 -11
  199. package/dist/src/sheet/views.d.ts.map +1 -1
  200. package/dist/src/sheet/views.js +15 -20
  201. package/dist/src/sheet/views.js.map +1 -1
  202. package/dist/src/{roster/visibility.d.ts → utils/key-visibility.d.ts} +42 -7
  203. package/dist/src/utils/key-visibility.d.ts.map +1 -0
  204. package/dist/src/utils/key-visibility.js +36 -0
  205. package/dist/src/utils/key-visibility.js.map +1 -0
  206. package/dist/src/utils/ordered-source.d.ts +1 -0
  207. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  208. package/dist/src/utils/ordered-source.js +8 -3
  209. package/dist/src/utils/ordered-source.js.map +1 -1
  210. package/dist/src/utils/record-sources.d.ts +107 -0
  211. package/dist/src/utils/record-sources.d.ts.map +1 -0
  212. package/dist/src/utils/record-sources.js +132 -0
  213. package/dist/src/utils/record-sources.js.map +1 -0
  214. package/dist/test/allocation/allocation.examples.d.ts +2902 -0
  215. package/dist/test/allocation/allocation.examples.d.ts.map +1 -0
  216. package/dist/test/allocation/allocation.examples.js +643 -0
  217. package/dist/test/allocation/allocation.examples.js.map +1 -0
  218. package/dist/test/allocation/fit.examples.d.ts +546 -0
  219. package/dist/test/allocation/fit.examples.d.ts.map +1 -0
  220. package/dist/test/allocation/fit.examples.js +171 -0
  221. package/dist/test/allocation/fit.examples.js.map +1 -0
  222. package/dist/test/allocation/kiln-yard.d.ts +181 -0
  223. package/dist/test/allocation/kiln-yard.d.ts.map +1 -0
  224. package/dist/test/allocation/kiln-yard.js +228 -0
  225. package/dist/test/allocation/kiln-yard.js.map +1 -0
  226. package/dist/test/bind/data/data.examples.d.ts +651 -1
  227. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  228. package/dist/test/bind/data/data.examples.js +140 -2
  229. package/dist/test/bind/data/data.examples.js.map +1 -1
  230. package/dist/test/bind/func/func.examples.d.ts +10 -1
  231. package/dist/test/bind/func/func.examples.d.ts.map +1 -1
  232. package/dist/test/bind/func/func.examples.js +8 -1
  233. package/dist/test/bind/func/func.examples.js.map +1 -1
  234. package/dist/test/bind/record/record.examples.d.ts +633 -1
  235. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  236. package/dist/test/bind/record/record.examples.js +26 -2
  237. package/dist/test/bind/record/record.examples.js.map +1 -1
  238. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  239. package/dist/test/calendar/calendar-records.examples.js +18 -14
  240. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  241. package/dist/test/calendar/calendar.examples.d.ts +521 -16
  242. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  243. package/dist/test/calendar/calendar.examples.js +182 -135
  244. package/dist/test/calendar/calendar.examples.js.map +1 -1
  245. package/dist/test/examples-package.d.ts +75 -0
  246. package/dist/test/examples-package.d.ts.map +1 -0
  247. package/dist/test/examples-package.js +263 -0
  248. package/dist/test/examples-package.js.map +1 -0
  249. package/dist/test/flowchart/flowchart.examples.d.ts +211 -19
  250. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  251. package/dist/test/flowchart/flowchart.examples.js +102 -75
  252. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  253. package/dist/test/plan/plan-events.examples.d.ts +1439 -209
  254. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  255. package/dist/test/plan/plan-events.examples.js +199 -59
  256. package/dist/test/plan/plan-events.examples.js.map +1 -1
  257. package/dist/test/plan/plan-records.examples.d.ts +420 -0
  258. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  259. package/dist/test/plan/plan-records.examples.js +70 -19
  260. package/dist/test/plan/plan-records.examples.js.map +1 -1
  261. package/dist/test/plan/plan-windows.examples.d.ts +636 -55
  262. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  263. package/dist/test/plan/plan-windows.examples.js +69 -33
  264. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  265. package/dist/test/plan/plan.examples.d.ts +153 -31
  266. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  267. package/dist/test/plan/plan.examples.js +178 -101
  268. package/dist/test/plan/plan.examples.js.map +1 -1
  269. package/dist/test/roster/domain.examples.d.ts +467 -250
  270. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  271. package/dist/test/roster/domain.examples.js +92 -29
  272. package/dist/test/roster/domain.examples.js.map +1 -1
  273. package/dist/test/roster/roster-records.examples.d.ts +430 -586
  274. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  275. package/dist/test/roster/roster-records.examples.js +102 -43
  276. package/dist/test/roster/roster-records.examples.js.map +1 -1
  277. package/dist/test/roster/roster.examples.d.ts +2319 -606
  278. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  279. package/dist/test/roster/roster.examples.js +456 -148
  280. package/dist/test/roster/roster.examples.js.map +1 -1
  281. package/dist/test/roster/warehouse.d.ts +172 -63
  282. package/dist/test/roster/warehouse.d.ts.map +1 -1
  283. package/dist/test/roster/warehouse.js +172 -39
  284. package/dist/test/roster/warehouse.js.map +1 -1
  285. package/dist/test/schedule/schedule.examples.d.ts +3499 -0
  286. package/dist/test/schedule/schedule.examples.d.ts.map +1 -0
  287. package/dist/test/schedule/schedule.examples.js +192 -0
  288. package/dist/test/schedule/schedule.examples.js.map +1 -0
  289. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  290. package/dist/test/sheet/sheet-records.examples.js +22 -18
  291. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  292. package/dist/test/sheet/sheet.examples.d.ts +715 -26
  293. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  294. package/dist/test/sheet/sheet.examples.js +204 -130
  295. package/dist/test/sheet/sheet.examples.js.map +1 -1
  296. package/package.json +17 -10
  297. package/dist/src/roster/people.d.ts +0 -50
  298. package/dist/src/roster/people.d.ts.map +0 -1
  299. package/dist/src/roster/people.js +0 -32
  300. package/dist/src/roster/people.js.map +0 -1
  301. package/dist/src/roster/visibility.d.ts.map +0 -1
  302. package/dist/src/roster/visibility.js +0 -25
  303. package/dist/src/roster/visibility.js.map +0 -1
@@ -25,8 +25,9 @@
25
25
  * editing session's callbacks and their closed transport, the inline
26
26
  * `onUpdate` adapter among them) · `root.ts` (the grid's root) · `sheet.ts`
27
27
  * (`<Sheet>` itself, its payload and its `Sheet` carrier, #1216) with
28
- * `record.ts` (a record's rows, #1182), `templates.ts` (the Rows tab's
29
- * cards), `library.ts` (`Sheet.library.*`, the library pane's tabs, #1186),
28
+ * `record.ts` (a record's rows, #1182), `templates.ts` (`Sheet.templates`,
29
+ * the Rows tab's cards from templates records, #1345), `library.ts`
30
+ * (`Sheet.library.*`, the library pane's tabs, #1186),
30
31
  * `fields.ts` (`Sheet.field`, the inspector pane's forms, #1188) and
31
32
  * `views.ts` (the views' bind handle).
32
33
  *
@@ -37,13 +38,14 @@
37
38
  * @packageDocumentation
38
39
  */
39
40
  import { type ExprType, type StructType } from "@elaraai/east";
40
- import { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, SheetSidesValueType, SheetStoreType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, SheetColumnType, SheetViewType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetFacetType, SheetSubRowType, SheetDateLevelType, SheetOptionsRuleType, SheetNounType, sheetContextType, sheetCheckContextType, type SheetPatchInput, type SheetPatchOf } from "./types.js";
41
+ import { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, SheetSidesValueType, SheetStoreType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, SheetColumnType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetFacetType, SheetSubRowType, SheetDateLevelType, SheetOptionsRuleType, SheetNounType, sheetContextType, sheetCheckContextType, type SheetPatchInput, type SheetPatchOf } from "./types.js";
41
42
  import { text, date, quantity, integer, lookup, reference, enumColumn, set, link, stamped, custom } from "./columns.js";
42
43
  import { createMembers, concatMembers, createDriver } from "./registers.js";
43
44
  import { createArity, check, parseLink, printLink, SheetMembersType, SheetRegisterMembersType } from "./link.js";
44
45
  import { createSheetRoot } from "./root.js";
45
46
  import { SheetComponent, createSheetPayload, type SheetTagType } from "./sheet.js";
46
47
  import { libraryColumns, libraryRows, libraryTab } from "./library.js";
48
+ import { sheetTemplates } from "./templates.js";
47
49
  import { SheetField } from "./fields.js";
48
50
  import { createSubRows, createSubRow } from "./sub-rows.js";
49
51
  import { createGroup, text as groupText, date as groupDate, quantity as groupQuantity, integer as groupInteger, reference as groupReference, enumCell as groupEnum, stamped as groupStamped } from "./group.js";
@@ -52,13 +54,13 @@ export * from "./transactions.js";
52
54
  import { SheetEntryTypeFor, SheetDraftGroupTypeFor, SheetDraftEntryTypeFor, SheetDraftChangeTypeFor, SheetPatchEventTypeFor } from "./drafts.js";
53
55
  export * from "./drafts.js";
54
56
  export * from "./editing-types.js";
55
- export { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetFacetType, SheetSubRowType, SheetDateLevelType, type SheetDateLevelLiteral, SheetOptionsRuleType, SheetNounType, SHEET_TITLE_CELL, sheetRuleCell, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, type SheetHalfLiteral, SheetSidesValueType, type SheetSidesLiteral, SheetStoreType, type SheetStoreLiteral, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, type SheetColumnKindLiteral, SheetColumnType, SheetViewType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetContextTypeFor, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetCheckContextTypeFor, SheetGroupContextTypeFor, SheetGroupCheckContextTypeFor, sheetContextType, sheetCheckContextType, sheetLinesOf, type SheetContextOf, type SheetFillOf, type SheetPatchOf, type SheetProposalOf, type SheetCheckContextOf, type SheetGroupContextOf, type SheetGroupCheckContextOf, type SheetAnyContextOf, type SheetAnyCheckContextOf, type SheetLinesField, type SheetLineOf, type SheetEntryOf, type SheetPatchInput, type SheetFieldsOf, } from "./types.js";
57
+ export { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetFacetType, SheetSubRowType, SheetDateLevelType, type SheetDateLevelLiteral, SheetOptionsRuleType, SheetNounType, SHEET_TITLE_CELL, sheetRuleCell, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, type SheetHalfLiteral, SheetSidesValueType, type SheetSidesLiteral, SheetStoreType, type SheetStoreLiteral, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, type SheetColumnKindLiteral, SheetColumnType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetContextTypeFor, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetCheckContextTypeFor, SheetGroupContextTypeFor, SheetGroupCheckContextTypeFor, sheetContextType, sheetCheckContextType, sheetLinesOf, type SheetContextOf, type SheetFillOf, type SheetPatchOf, type SheetProposalOf, type SheetCheckContextOf, type SheetGroupContextOf, type SheetGroupCheckContextOf, type SheetAnyContextOf, type SheetAnyCheckContextOf, type SheetLinesField, type SheetLineOf, type SheetEntryOf, type SheetPatchInput, type SheetFieldsOf, } from "./types.js";
56
58
  export { type SheetColumn, type SheetColumnSpec, type SheetFieldKey, type SheetMemberArrayField, type SheetFillInput, type SheetOptionsInput, type SheetColumnBaseConfig, type SheetValueConfig, type SheetTextConfig, type SheetDateConfig, type SheetQuantityConfig, type SheetIntegerConfig, type SheetLookupConfig, type SheetReferenceConfig, type SheetEnumConfig, type SheetMemberKindInput, type SheetMultipleInput, type SheetSetConfig, type SheetSidesInput, type SheetLinkConfig, type SheetStampedConfig, type SheetCustomConfig, } from "./columns.js";
57
59
  export { type SheetRegisterValue, type SheetMembersConfig, type SheetDriverConfig, type SheetDriverValue, } from "./registers.js";
58
60
  export { type SheetArityInput, type SheetCheckInput, type SheetExistsCheck, type SheetLocksInput, SheetMembersType, SheetRegisterMembersType, printMember, linkKeys, } from "./link.js";
59
61
  export { type SheetOptions, type SheetReadyInput, type SheetGroupedOptions, type SheetEntriesOptions, type SheetSuggestInput, type SheetProposerInput, type SheetStringField, type SheetBindHandle, createSheetRoot, } from "./root.js";
60
62
  export { SheetTag, SheetComponent, SheetPayloadType, SheetInspectorType, SheetInspectorPaneType, SheetHistoryType, createSheetPayload, buildInspector, buildInspectorPane, sheetKeys, type SheetTagType, type SheetRecordHandle, type SheetEntryRows, type SheetLooseEntryRows, type SheetEntriesField, type SheetCommon, } from "./sheet.js";
61
- export { SheetTemplateWireType, type SheetTemplate, type SheetTemplatesInput } from "./templates.js";
63
+ export { SheetTemplateWireType, sheetTemplates, type SheetTemplates, type SheetTemplatesConfig, type SheetTemplatesProp } from "./templates.js";
62
64
  export { SheetLibraryCardType, SheetLibraryDropType, SheetLibraryTabType, type SheetLibraryTab, type SheetLibraryTabConfig, } from "./library.js";
63
65
  export { SheetFieldType, SheetFormType, SheetFormsType } from "./fields.js";
64
66
  export { type SheetGroupCell, type SheetGroupConfig, type SheetGroupValue, type SheetGroupCellBaseConfig, type SheetGroupValueConfig, type SheetGroupDateConfig, type SheetGroupQuantityConfig, type SheetGroupStampedConfig, type SheetFieldOf, createGroup, } from "./group.js";
@@ -81,8 +83,8 @@ export { type SheetColumnMeta, type SheetRuleCellMeta, describeColumn, describeG
81
83
  * ```tsx
82
84
  * // .tsx file with the `@jsxImportSource @elaraai/e3-ui` pragma
83
85
  * import { ArrayType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, VariantType, none, some, variant } from "@elaraai/east";
84
- * import { Box, Reactive, UIComponentType } from "@elaraai/east-ui";
85
- * import { Record, Sheet } from "@elaraai/e3-ui";
86
+ * import { Box, Reactive, Slice, UIComponentType } from "@elaraai/east-ui";
87
+ * import { Data, Record, Sheet } from "@elaraai/e3-ui";
86
88
  * import e3 from "@elaraai/e3";
87
89
  *
88
90
  * export const BatchPart = StructType({ id: StringType, code: StringType, name: StringType, materials: ArrayType(StringType), station: OptionType(StringType) });
@@ -115,16 +117,38 @@ export { type SheetColumnMeta, type SheetRuleCellMeta, describeColumn, describeG
115
117
  * ] }],
116
118
  * ]));
117
119
  * export const sheetBatchDaysPatch = e3.mutation.patch(sheetBatchDays);
120
+ * export const BatchStepTemplate = StructType({ name: StringType, group: StringType, task: StringType });
121
+ * export const sheetBatchStepTemplates = e3.record("sheet_batch_step_templates", DictType(StringType, BatchStepTemplate), new Map([
122
+ * ["sand", { name: "Sand", group: "Steps", task: "Sand" }],
123
+ * ["seal", { name: "Seal", group: "Steps", task: "Seal" }],
124
+ * ]));
125
+ * export const sheetBatchStepTemplatesByGroup = e3.recordIndex("sheet_batch_step_templates_by_group", sheetBatchStepTemplates, { on: ["group"] });
126
+ * export const BatchTemplate = StructType({ name: StringType, group: StringType, batch: StringType, steps: ArrayType(BatchStep) });
127
+ * export const sheetBatchTemplates = e3.record("sheet_batch_templates", DictType(StringType, BatchTemplate), new Map([
128
+ * ["finishing", { name: "Finishing batch", group: "Batches", batch: "Finishing", steps: [
129
+ * { task: "Sand", qty: none, parts: [], bookings: [] },
130
+ * { task: "Seal", qty: none, parts: [], bookings: [] },
131
+ * { task: "Spray", qty: none, parts: [], bookings: [] },
132
+ * ] }],
133
+ * ]));
134
+ * export const sheetBatchTemplatesByGroup = e3.recordIndex("sheet_batch_templates_by_group", sheetBatchTemplates, { on: ["group"] });
118
135
  *
119
136
  * const sheet = East.function([], UIComponentType, (_$) => (
120
137
  * <Reactive>{$ => {
121
138
  * const days = $.let(Record.bind(sheetBatchDays, [sheetBatchDaysPatch]));
122
- * // The steps a finishing batch starts with: the batch template's lines.
123
- * const finishing = $.let([
124
- * { task: "Sand", qty: none, parts: [], bookings: [] },
125
- * { task: "Seal", qty: none, parts: [], bookings: [] },
126
- * { task: "Spray", qty: none, parts: [], bookings: [] },
127
- * ], ArrayType(BatchStep));
139
+ * const stepTemplates = $.let(Data.bind(sheetBatchStepTemplates));
140
+ * const batchTemplates = $.let(Data.bind(sheetBatchTemplates));
141
+ * // One rail over the templates records, each its own source: they narrow the Rows tab's cards.
142
+ * const slice = $.let(Slice.bindRecords("sheet.batches", {
143
+ * rowTemplates: {
144
+ * source: Data.bindPaged(sheetBatchStepTemplates, { indexes: [sheetBatchStepTemplatesByGroup] }),
145
+ * label: "Step templates", fields: { group: { label: "Group", hints: ["Steps"] } },
146
+ * },
147
+ * groupTemplates: {
148
+ * source: Data.bindPaged(sheetBatchTemplates, { indexes: [sheetBatchTemplatesByGroup] }),
149
+ * label: "Batch templates", fields: { group: { label: "Group", hints: ["Batches"] } },
150
+ * },
151
+ * }));
128
152
  * // A batch needs a name before Save.
129
153
  * const readyBatch = $.const(East.function([Sheet.Types.DraftGroup(Batch, "steps")], Sheet.Types.Readiness, ($, batch) => {
130
154
  * $.if(batch.name.hasTag("value").and(() => batch.name.unwrap("value").length().equal(0n)), $ => {
@@ -161,12 +185,13 @@ export { type SheetColumnMeta, type SheetRuleCellMeta, describeColumn, describeG
161
185
  * // The sub rows show a step's parts and bookings; the inspector's form leaves them out.
162
186
  * inspector
163
187
  * fields={{ parts: Sheet.field.hidden(), bookings: Sheet.field.hidden() }}
164
- * templates={{
165
- * groups: [{ key: "finishing", name: "Finishing batch", group: "Batches",
166
- * values: Sheet.patch(Batch, { name: "Finishing", steps: finishing }) }],
167
- * rows: [{ key: "sand", name: "Sand", group: "Steps", values: Sheet.patch(BatchStep, { task: "Sand", qty: none }) },
168
- * { key: "seal", name: "Seal", group: "Steps", values: Sheet.patch(BatchStep, { task: "Seal", qty: none }) }],
169
- * }}
188
+ * slice={{ slice }}
189
+ * templates={[
190
+ * Sheet.templates(stepTemplates.read(), { name: t => t.name, group: t => some(t.group),
191
+ * values: t => Sheet.patch(BatchStep, { task: t.task, qty: none }), source: "rowTemplates" }),
192
+ * Sheet.templates(batchTemplates.read(), { name: t => t.name, group: t => some(t.group),
193
+ * values: t => Sheet.patch(Batch, { name: t.batch, steps: t.steps }), source: "groupTemplates" }),
194
+ * ]}
170
195
  * library={[Sheet.library.rows(), Sheet.library.columns()]}
171
196
  * ready={{ group: readyBatch }}
172
197
  * newRow={newStep}
@@ -232,6 +257,8 @@ export interface SheetNamespace extends SheetTagType {
232
257
  };
233
258
  /** A row patch — the fields a proposal or a new row's defaults set (§3.6). */
234
259
  patch: typeof createPatch;
260
+ /** A templates record's rows as the Rows tab's cards, each list naming its source of `slice` (#1345) — `Sheet.templates(rows, { name, group?, values, source })`. */
261
+ templates: typeof sheetTemplates;
235
262
  /** The library pane's tabs, listed in order by `<Sheet library={[…]}>` (#1186). */
236
263
  library: {
237
264
  /** The Rows tab: the templates, by their group. */
@@ -406,9 +433,7 @@ export interface SheetNamespace extends SheetTagType {
406
433
  Check: typeof SheetCheckType;
407
434
  /** A link column's arity rule on the wire ({@link SheetArityType}). */
408
435
  Arity: typeof SheetArityType;
409
- /** One saved view ({@link SheetViewType}). */
410
- View: typeof SheetViewType;
411
- /** One saved indexed-record view. */
436
+ /** One saved view: every source's narrowing, by name, the lens's context and reveals, and a grouped sheet's folds ({@link SheetRecordViewType}, #1345). */
412
437
  RecordView: typeof SheetRecordViewType;
413
438
  /** The WIRE edit event ({@link SheetEditType}); internal gesture transport. */
414
439
  WireEdit: typeof SheetEditType;
@@ -444,7 +469,12 @@ export interface SheetNamespace extends SheetTagType {
444
469
  * `entry`, one entry's Array field, in its own order, identified by
445
470
  * `entry.id` — its rows, its groups, or its groups with loose rows between
446
471
  * them (`Sheet.Types.Entry(P, "lines")`, #846). Or they are `data`'s: an
447
- * `Array<R>`, a bind handle or a paged source, identified by `id`.
472
+ * `Array<R>`, a bind handle or a paged source, identified by `id`. Or they
473
+ * are the `rows` source's of `slice` (#1345): the rows it narrows to,
474
+ * paged from it, Save committing through `onApply`.
475
+ * - **The narrowing** (`slice={{ slice: Slice.bindRecords(key, { rows, … }) }}`)
476
+ * is one rail on the toolbar: its `rows` source narrows the rows, and each
477
+ * other source the templates list or the library tab that names it.
448
478
  * - **Every gesture is a draft** of the shared editing session, which the
449
479
  * history item in the one toolbar undoes, redoes and discards. Over a
450
480
  * record, Save commits the drafts as one patch through the record's patch
@@ -461,10 +491,14 @@ export interface SheetNamespace extends SheetTagType {
461
491
  * `groupFields` for a group's own) — and the batch's Issues; given a
462
492
  * function `(row, update) => UIComponentType`, Details for a complete row
463
493
  * are the author's own.
464
- * - **Templates** (`templates={{ rows, groups }}`) are the Rows tab's cards,
465
- * each `{ key, name, group?, values: Sheet.patch(…) }`: a dropped card is
466
- * `newRow`'s (or `newGroup`'s) defaults with the template's fields over them.
467
- * - **Views** (`views`) are a bind handle: `State.bind` keeps them per viewer,
494
+ * - **Templates** are records (#1340): each list `Sheet.templates(rows, { name,
495
+ * group?, values: Sheet.patch(…), source })` over its record, naming its
496
+ * source of `slice`, whose rail narrows its cards on the Rows tab — a
497
+ * grouped sheet's row templates and group templates two records, two
498
+ * sources: a dropped card is `newRow`'s (or `newGroup`'s) defaults with the
499
+ * template's fields over them.
500
+ * - **Views** (`views`) are a bind handle of `Array<Sheet.Types.RecordView>`,
501
+ * each every source's narrowing: `State.bind` keeps them per viewer,
468
502
  * `Data.bind` shares them.
469
503
  * - **The namespace**: the columns (`Sheet.column.*`, row type first),
470
504
  * registers (`Sheet.register.members` / `.concat`) and the driver
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sheet/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sheet/index.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,9 @@
25
25
  * editing session's callbacks and their closed transport, the inline
26
26
  * `onUpdate` adapter among them) · `root.ts` (the grid's root) · `sheet.ts`
27
27
  * (`<Sheet>` itself, its payload and its `Sheet` carrier, #1216) with
28
- * `record.ts` (a record's rows, #1182), `templates.ts` (the Rows tab's
29
- * cards), `library.ts` (`Sheet.library.*`, the library pane's tabs, #1186),
28
+ * `record.ts` (a record's rows, #1182), `templates.ts` (`Sheet.templates`,
29
+ * the Rows tab's cards from templates records, #1345), `library.ts`
30
+ * (`Sheet.library.*`, the library pane's tabs, #1186),
30
31
  * `fields.ts` (`Sheet.field`, the inspector pane's forms, #1188) and
31
32
  * `views.ts` (the views' bind handle).
32
33
  *
@@ -37,13 +38,14 @@
37
38
  * @packageDocumentation
38
39
  */
39
40
  import { East, some, none, } from "@elaraai/east";
40
- import { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, SheetSidesValueType, SheetStoreType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, SheetColumnType, SheetViewType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetFacetType, SheetSubRowType, SheetDateLevelType, SheetOptionsRuleType, SheetNounType, sheetContextType, sheetCheckContextType, } from "./types.js";
41
+ import { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, SheetSidesValueType, SheetStoreType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, SheetColumnType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetFacetType, SheetSubRowType, SheetDateLevelType, SheetOptionsRuleType, SheetNounType, sheetContextType, sheetCheckContextType, } from "./types.js";
41
42
  import { text, date, quantity, integer, lookup, reference, enumColumn, set, link, stamped, custom } from "./columns.js";
42
43
  import { createMembers, concatMembers, createDriver } from "./registers.js";
43
44
  import { createArity, check, parseLink, printLink, SheetMembersType, SheetRegisterMembersType } from "./link.js";
44
45
  import { createSheetRoot } from "./root.js";
45
46
  import { SheetComponent, SheetTag, createSheetPayload } from "./sheet.js";
46
47
  import { libraryColumns, libraryRows, libraryTab } from "./library.js";
48
+ import { sheetTemplates } from "./templates.js";
47
49
  import { SheetField } from "./fields.js";
48
50
  import { createSubRows, createSubRow } from "./sub-rows.js";
49
51
  import { createGroup, text as groupText, date as groupDate, quantity as groupQuantity, integer as groupInteger, reference as groupReference, enumCell as groupEnum, stamped as groupStamped, } from "./group.js";
@@ -53,13 +55,13 @@ import { SheetEntryTypeFor, SheetDraftGroupTypeFor, SheetDraftEntryTypeFor, Shee
53
55
  export * from "./drafts.js";
54
56
  export * from "./editing-types.js";
55
57
  // Re-export the UIComp-free types so consumers reach everything via this barrel.
56
- export { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetFacetType, SheetSubRowType, SheetDateLevelType, SheetOptionsRuleType, SheetNounType, SHEET_TITLE_CELL, sheetRuleCell, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, SheetSidesValueType, SheetStoreType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, SheetColumnType, SheetViewType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetContextTypeFor, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetCheckContextTypeFor, SheetGroupContextTypeFor, SheetGroupCheckContextTypeFor, sheetContextType, sheetCheckContextType, sheetLinesOf, } from "./types.js";
58
+ export { SheetMemberType, SheetLinkType, SheetCellType, SheetRowType, SheetLineType, SheetBandType, SheetFacetType, SheetSubRowType, SheetDateLevelType, SheetOptionsRuleType, SheetNounType, SHEET_TITLE_CELL, sheetRuleCell, SheetGroupCellType, SheetGroupType, SheetRowsCollectionType, SheetRowsType, SheetRegisterMemberType, SheetRegisterType, SheetDriverType, SheetHalfType, SheetSidesValueType, SheetStoreType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetCountedType, SheetContextType, SheetFillType, SheetProposalType, SheetProviderType, SheetProposerType, SheetSuggestType, SheetCheckContextType, SheetCheckType, SheetArityType, SheetColumnKindType, SheetColumnType, SheetRecordViewType, SheetEditType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetRootType, SheetContextTypeFor, SheetFillTypeFor, SheetPatchTypeFor, SheetProposalTypeFor, SheetCheckContextTypeFor, SheetGroupContextTypeFor, SheetGroupCheckContextTypeFor, sheetContextType, sheetCheckContextType, sheetLinesOf, } from "./types.js";
57
59
  export {} from "./columns.js";
58
60
  export {} from "./registers.js";
59
61
  export { SheetMembersType, SheetRegisterMembersType, printMember, linkKeys, } from "./link.js";
60
62
  export { createSheetRoot, } from "./root.js";
61
63
  export { SheetTag, SheetComponent, SheetPayloadType, SheetInspectorType, SheetInspectorPaneType, SheetHistoryType, createSheetPayload, buildInspector, buildInspectorPane, sheetKeys, } from "./sheet.js";
62
- export { SheetTemplateWireType } from "./templates.js";
64
+ export { SheetTemplateWireType, sheetTemplates } from "./templates.js";
63
65
  export { SheetLibraryCardType, SheetLibraryDropType, SheetLibraryTabType, } from "./library.js";
64
66
  export { SheetFieldType, SheetFormType, SheetFormsType } from "./fields.js";
65
67
  export { createGroup, } from "./group.js";
@@ -85,8 +87,8 @@ export { describeColumn, describeGroupCell, optionPayload, cellTagOf } from "./b
85
87
  * ```tsx
86
88
  * // .tsx file with the `@jsxImportSource @elaraai/e3-ui` pragma
87
89
  * import { ArrayType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, VariantType, none, some, variant } from "@elaraai/east";
88
- * import { Box, Reactive, UIComponentType } from "@elaraai/east-ui";
89
- * import { Record, Sheet } from "@elaraai/e3-ui";
90
+ * import { Box, Reactive, Slice, UIComponentType } from "@elaraai/east-ui";
91
+ * import { Data, Record, Sheet } from "@elaraai/e3-ui";
90
92
  * import e3 from "@elaraai/e3";
91
93
  *
92
94
  * export const BatchPart = StructType({ id: StringType, code: StringType, name: StringType, materials: ArrayType(StringType), station: OptionType(StringType) });
@@ -119,16 +121,38 @@ export { describeColumn, describeGroupCell, optionPayload, cellTagOf } from "./b
119
121
  * ] }],
120
122
  * ]));
121
123
  * export const sheetBatchDaysPatch = e3.mutation.patch(sheetBatchDays);
124
+ * export const BatchStepTemplate = StructType({ name: StringType, group: StringType, task: StringType });
125
+ * export const sheetBatchStepTemplates = e3.record("sheet_batch_step_templates", DictType(StringType, BatchStepTemplate), new Map([
126
+ * ["sand", { name: "Sand", group: "Steps", task: "Sand" }],
127
+ * ["seal", { name: "Seal", group: "Steps", task: "Seal" }],
128
+ * ]));
129
+ * export const sheetBatchStepTemplatesByGroup = e3.recordIndex("sheet_batch_step_templates_by_group", sheetBatchStepTemplates, { on: ["group"] });
130
+ * export const BatchTemplate = StructType({ name: StringType, group: StringType, batch: StringType, steps: ArrayType(BatchStep) });
131
+ * export const sheetBatchTemplates = e3.record("sheet_batch_templates", DictType(StringType, BatchTemplate), new Map([
132
+ * ["finishing", { name: "Finishing batch", group: "Batches", batch: "Finishing", steps: [
133
+ * { task: "Sand", qty: none, parts: [], bookings: [] },
134
+ * { task: "Seal", qty: none, parts: [], bookings: [] },
135
+ * { task: "Spray", qty: none, parts: [], bookings: [] },
136
+ * ] }],
137
+ * ]));
138
+ * export const sheetBatchTemplatesByGroup = e3.recordIndex("sheet_batch_templates_by_group", sheetBatchTemplates, { on: ["group"] });
122
139
  *
123
140
  * const sheet = East.function([], UIComponentType, (_$) => (
124
141
  * <Reactive>{$ => {
125
142
  * const days = $.let(Record.bind(sheetBatchDays, [sheetBatchDaysPatch]));
126
- * // The steps a finishing batch starts with: the batch template's lines.
127
- * const finishing = $.let([
128
- * { task: "Sand", qty: none, parts: [], bookings: [] },
129
- * { task: "Seal", qty: none, parts: [], bookings: [] },
130
- * { task: "Spray", qty: none, parts: [], bookings: [] },
131
- * ], ArrayType(BatchStep));
143
+ * const stepTemplates = $.let(Data.bind(sheetBatchStepTemplates));
144
+ * const batchTemplates = $.let(Data.bind(sheetBatchTemplates));
145
+ * // One rail over the templates records, each its own source: they narrow the Rows tab's cards.
146
+ * const slice = $.let(Slice.bindRecords("sheet.batches", {
147
+ * rowTemplates: {
148
+ * source: Data.bindPaged(sheetBatchStepTemplates, { indexes: [sheetBatchStepTemplatesByGroup] }),
149
+ * label: "Step templates", fields: { group: { label: "Group", hints: ["Steps"] } },
150
+ * },
151
+ * groupTemplates: {
152
+ * source: Data.bindPaged(sheetBatchTemplates, { indexes: [sheetBatchTemplatesByGroup] }),
153
+ * label: "Batch templates", fields: { group: { label: "Group", hints: ["Batches"] } },
154
+ * },
155
+ * }));
132
156
  * // A batch needs a name before Save.
133
157
  * const readyBatch = $.const(East.function([Sheet.Types.DraftGroup(Batch, "steps")], Sheet.Types.Readiness, ($, batch) => {
134
158
  * $.if(batch.name.hasTag("value").and(() => batch.name.unwrap("value").length().equal(0n)), $ => {
@@ -165,12 +189,13 @@ export { describeColumn, describeGroupCell, optionPayload, cellTagOf } from "./b
165
189
  * // The sub rows show a step's parts and bookings; the inspector's form leaves them out.
166
190
  * inspector
167
191
  * fields={{ parts: Sheet.field.hidden(), bookings: Sheet.field.hidden() }}
168
- * templates={{
169
- * groups: [{ key: "finishing", name: "Finishing batch", group: "Batches",
170
- * values: Sheet.patch(Batch, { name: "Finishing", steps: finishing }) }],
171
- * rows: [{ key: "sand", name: "Sand", group: "Steps", values: Sheet.patch(BatchStep, { task: "Sand", qty: none }) },
172
- * { key: "seal", name: "Seal", group: "Steps", values: Sheet.patch(BatchStep, { task: "Seal", qty: none }) }],
173
- * }}
192
+ * slice={{ slice }}
193
+ * templates={[
194
+ * Sheet.templates(stepTemplates.read(), { name: t => t.name, group: t => some(t.group),
195
+ * values: t => Sheet.patch(BatchStep, { task: t.task, qty: none }), source: "rowTemplates" }),
196
+ * Sheet.templates(batchTemplates.read(), { name: t => t.name, group: t => some(t.group),
197
+ * values: t => Sheet.patch(Batch, { name: t.batch, steps: t.steps }), source: "groupTemplates" }),
198
+ * ]}
174
199
  * library={[Sheet.library.rows(), Sheet.library.columns()]}
175
200
  * ready={{ group: readyBatch }}
176
201
  * newRow={newStep}
@@ -198,6 +223,7 @@ const SHEET_MEMBERS = {
198
223
  driver: createDriver,
199
224
  link: { arity: createArity, check, parse: parseLink, print: printLink },
200
225
  patch: createPatch,
226
+ templates: sheetTemplates,
201
227
  library: { rows: libraryRows, columns: libraryColumns, tab: libraryTab },
202
228
  field: SheetField,
203
229
  subRows: createSubRows,
@@ -268,7 +294,6 @@ const SHEET_MEMBERS = {
268
294
  WireCheckContext: SheetCheckContextType,
269
295
  Check: SheetCheckType,
270
296
  Arity: SheetArityType,
271
- View: SheetViewType,
272
297
  RecordView: SheetRecordViewType,
273
298
  WireEdit: SheetEditType,
274
299
  Selection: SheetSelectionType,
@@ -294,7 +319,12 @@ const SHEET_MEMBERS = {
294
319
  * `entry`, one entry's Array field, in its own order, identified by
295
320
  * `entry.id` — its rows, its groups, or its groups with loose rows between
296
321
  * them (`Sheet.Types.Entry(P, "lines")`, #846). Or they are `data`'s: an
297
- * `Array<R>`, a bind handle or a paged source, identified by `id`.
322
+ * `Array<R>`, a bind handle or a paged source, identified by `id`. Or they
323
+ * are the `rows` source's of `slice` (#1345): the rows it narrows to,
324
+ * paged from it, Save committing through `onApply`.
325
+ * - **The narrowing** (`slice={{ slice: Slice.bindRecords(key, { rows, … }) }}`)
326
+ * is one rail on the toolbar: its `rows` source narrows the rows, and each
327
+ * other source the templates list or the library tab that names it.
298
328
  * - **Every gesture is a draft** of the shared editing session, which the
299
329
  * history item in the one toolbar undoes, redoes and discards. Over a
300
330
  * record, Save commits the drafts as one patch through the record's patch
@@ -311,10 +341,14 @@ const SHEET_MEMBERS = {
311
341
  * `groupFields` for a group's own) — and the batch's Issues; given a
312
342
  * function `(row, update) => UIComponentType`, Details for a complete row
313
343
  * are the author's own.
314
- * - **Templates** (`templates={{ rows, groups }}`) are the Rows tab's cards,
315
- * each `{ key, name, group?, values: Sheet.patch(…) }`: a dropped card is
316
- * `newRow`'s (or `newGroup`'s) defaults with the template's fields over them.
317
- * - **Views** (`views`) are a bind handle: `State.bind` keeps them per viewer,
344
+ * - **Templates** are records (#1340): each list `Sheet.templates(rows, { name,
345
+ * group?, values: Sheet.patch(…), source })` over its record, naming its
346
+ * source of `slice`, whose rail narrows its cards on the Rows tab — a
347
+ * grouped sheet's row templates and group templates two records, two
348
+ * sources: a dropped card is `newRow`'s (or `newGroup`'s) defaults with the
349
+ * template's fields over them.
350
+ * - **Views** (`views`) are a bind handle of `Array<Sheet.Types.RecordView>`,
351
+ * each every source's narrowing: `State.bind` keeps them per viewer,
318
352
  * `Data.bind` shares them.
319
353
  * - **The namespace**: the columns (`Sheet.column.*`, row type first),
320
354
  * registers (`Sheet.register.members` / `.concat`) and the driver
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sheet/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sheet/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAIH,IAAI,EAEJ,IAAI,EACJ,IAAI,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EACH,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GAGxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACxH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAqB,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,WAAW,EACX,IAAI,IAAI,SAAS,EACjB,IAAI,IAAI,SAAS,EACjB,QAAQ,IAAI,aAAa,EACzB,OAAO,IAAI,YAAY,EACvB,SAAS,IAAI,cAAc,EAC3B,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,YAAY,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,uBAAuB,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtX,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACjJ,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AAEnC,iFAAiF;AACjF,OAAO,EACH,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,EAElB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,aAAa,EAEb,mBAAmB,EAEnB,cAAc,EAEd,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,mBAAmB,EAEnB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GAef,MAAM,YAAY,CAAC;AACpB,OAAO,EAuBN,MAAM,cAAc,CAAC;AACtB,OAAO,EAKN,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAKH,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,QAAQ,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EASH,eAAe,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,SAAS,GAOZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAA2E,MAAM,gBAAgB,CAAC;AAChJ,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GAGtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAUH,WAAW,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAMH,aAAa,EACb,YAAY,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgD,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExI,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwIG;AACH,MAAM,UAAU,WAAW,CAAuB,OAAU,EAAE,MAA0B;IACpF,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAkC,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAe,EAAE,SAAS,CAA8B,CAAC;AAC/E,CAAC;AAoQD,kFAAkF;AAClF,MAAM,aAAa,GAAG;IAClB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;IAC1G,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE;IAC3D,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACvE,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,cAAc;IACzB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE;IACxE,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;QAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;KAChK,CAAC;IACF,KAAK,EAAE;QACH,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE,sBAAsB;QAClC,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,sBAAsB;QAClC,QAAQ,EAAE,iBAAiB;QAC3B,cAAc,EAAE,uBAAuB;QACvC,cAAc,EAAE,uBAAuB;QACvC,UAAU,EAAE,mBAAmB;QAC/B,SAAS,EAAE,kBAAkB;QAC7B,KAAK,EAAE,cAAc;QACrB,cAAc,EAAE,uBAAuB;QACvC,MAAM,EAAE,eAAe;QACvB,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,iBAAiB;QAC3B,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,kBAAkB;QAC7B,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,kBAAkB;QAC7B,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,aAAa;QACxB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,cAAc;QACrB,cAAc,EAAE,uBAAuB;QACvC,eAAe,EAAE,wBAAwB;QACzC,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,iBAAiB;QAC3B,gBAAgB,EAAE,cAAc;QAChC,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,gBAAgB;QACzB,gBAAgB,EAAE,qBAAqB;QACvC,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,gBAAgB;QACzB,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,oBAAoB;QAC9B,YAAY,EAAE,qBAAqB;KACtC;CACJ,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,MAAM,CAAC,MAAM,KAAK,GAAmB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAgB5E,2IAA2I;AAC3I,SAAS,gBAAgB,CAAC,KAA2B;IACjD,OAAQ,QAAkE,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAA2B,MAAM,CAAC,MAAM,CAAC,gBAAgC,EAAE,aAAa,EAAE;IAChH,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,cAAc;CAC5B,CAAC,CAAC"}
@@ -90,9 +90,9 @@ export type SheetLibraryDropType = typeof SheetLibraryDropType;
90
90
  /**
91
91
  * One tab of the library pane on the wire, in the order `library` lists them.
92
92
  *
93
- * - `rows` — the templates (`templates`), by their group;
93
+ * - `rows` — the templates (`templates`), by their group, each list's cards narrowed by the source it names;
94
94
  * - `columns` — the declared columns, each with an eye;
95
- * - `tab` — the author's own: its name, its icon, where its cards land, and its cards.
95
+ * - `tab` — the author's own: its name, its icon, where its cards land, its cards, and the source of the sheet's slice whose shown keys filter them (#1345; none, its cards whole).
96
96
  */
97
97
  export declare const SheetLibraryTabType: VariantType<{
98
98
  readonly rows: NullType;
@@ -151,6 +151,7 @@ export declare const SheetLibraryTabType: VariantType<{
151
151
  }>;
152
152
  }>>;
153
153
  }>>;
154
+ readonly source: OptionType<StringType>;
154
155
  }>;
155
156
  }>;
156
157
  /** Type representing {@link SheetLibraryTabType}. */
@@ -179,6 +180,13 @@ export interface SheetLibraryTabConfig<T extends EastType, P extends EastType =
179
180
  group?: (value: ExprType<T>, key: ExprType<StringType>) => SubtypeExprOrValue<StringType>;
180
181
  /** What a dropped card sets: `Sheet.patch(RowType, …)` lands on a row, `Sheet.patch(GroupType, …)` on a grouped sheet's band. */
181
182
  drop?: (value: ExprType<T>, key: ExprType<StringType>) => ExprType<P>;
183
+ /**
184
+ * The source of the sheet's `Slice.bindRecords` whose shown keys filter
185
+ * this tab's cards (#1345), its cards' keys that record's keys; omitted,
186
+ * the tab lists its cards whole. It counts what it shows, and says so when
187
+ * the rail leaves it none.
188
+ */
189
+ source?: string;
182
190
  }
183
191
  /** One tab of the library pane — what each `Sheet.library.*` call returns, and `library` lists. */
184
192
  export type SheetLibraryTab = {
@@ -270,15 +278,25 @@ export declare function libraryColumns(): SheetLibraryTab;
270
278
  * ```
271
279
  */
272
280
  export declare function libraryTab<T extends EastType, P extends EastType = EastType>(data: SubtypeExprOrValue<ArrayType<T>> | SubtypeExprOrValue<DictType<StringType, T>>, config: SheetLibraryTabConfig<T, P>): SheetLibraryTab;
281
+ /**
282
+ * The sources the library's own tabs name (#1345): what the sheet's slice may
283
+ * hold for them.
284
+ *
285
+ * @param tabs - The tabs, each a `Sheet.library.*` call
286
+ * @returns Each author's tab's `source`, where it names one
287
+ * @internal
288
+ */
289
+ export declare function librarySources(tabs: readonly SheetLibraryTab[] | undefined): string[];
273
290
  /**
274
291
  * Builds the library pane on the wire (SB59, SB60): its tabs in the
275
292
  * order `library` lists them; none when it is left out.
276
293
  *
277
294
  * @param tabs - The tabs, each a `Sheet.library.*` call
278
295
  * @param bridge - The sheet's bridge, as its root compiled it
296
+ * @param sources - The sources of the sheet's slice, which an author's tab's `source` must be one of
279
297
  * @returns The tabs on the wire
280
298
  * @throws Error naming the tab: a tab listed twice (an author's tab by its name), and each of an author's tab's refusals
281
299
  * @internal
282
300
  */
283
- export declare function buildLibrary(tabs: readonly SheetLibraryTab[] | undefined, bridge: SheetBridge): ExprType<ArrayType<SheetLibraryTabType>>;
301
+ export declare function buildLibrary(tabs: readonly SheetLibraryTab[] | undefined, bridge: SheetBridge, sources?: readonly string[]): ExprType<ArrayType<SheetLibraryTabType>>;
284
302
  //# sourceMappingURL=library.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/sheet/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/sheet/library.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@
23
23
  import { ArrayType, DictType, East, Expr, NullType, OptionType, SetType, StringType, StructType, VariantType, isTypeEqual, none, some, variant, } from "@elaraai/east";
24
24
  import { SheetCellType, SheetPatchTypeFor } from "./types.js";
25
25
  import { SheetCellsType, buildPatchCells } from "./bridge.js";
26
+ import { tabSource } from "../utils/record-sources.js";
26
27
  // ============================================================================
27
28
  // The wire
28
29
  // ============================================================================
@@ -47,9 +48,9 @@ export const SheetLibraryDropType = VariantType({ row: NullType, group: NullType
47
48
  /**
48
49
  * One tab of the library pane on the wire, in the order `library` lists them.
49
50
  *
50
- * - `rows` — the templates (`templates`), by their group;
51
+ * - `rows` — the templates (`templates`), by their group, each list's cards narrowed by the source it names;
51
52
  * - `columns` — the declared columns, each with an eye;
52
- * - `tab` — the author's own: its name, its icon, where its cards land, and its cards.
53
+ * - `tab` — the author's own: its name, its icon, where its cards land, its cards, and the source of the sheet's slice whose shown keys filter them (#1345; none, its cards whole).
53
54
  */
54
55
  export const SheetLibraryTabType = VariantType({
55
56
  rows: NullType,
@@ -59,6 +60,7 @@ export const SheetLibraryTabType = VariantType({
59
60
  icon: OptionType(StringType),
60
61
  drop: OptionType(SheetLibraryDropType),
61
62
  cards: ArrayType(SheetLibraryCardType),
63
+ source: OptionType(StringType),
62
64
  }),
63
65
  });
64
66
  /**
@@ -172,11 +174,13 @@ function tabName(tab) {
172
174
  *
173
175
  * @param tab - The tab
174
176
  * @param bridge - The sheet's bridge, as its root compiled it
177
+ * @param sources - The sources of the sheet's slice, which the tab's `source` must be one of
175
178
  * @returns The tab's wire value
176
- * @throws Error naming the tab: data that is not an Array or a `Dict<String, T>`, or a `drop` over neither the row type nor the group type
179
+ * @throws Error naming the tab: data that is not an Array or a `Dict<String, T>`, a `drop` over neither the row type nor the group type, or a `source` the slice lacks
177
180
  */
178
- function buildTab(tab, bridge) {
181
+ function buildTab(tab, bridge, sources) {
179
182
  const cfg = tab.config;
183
+ const source = tabSource("Sheet", `"${cfg.name}"`, cfg.source, sources);
180
184
  const expr = East.value(tab.data);
181
185
  // The data is an Array or a Dict whatever the cast above says: widen to read its real East type.
182
186
  const t = Expr.type(expr);
@@ -228,19 +232,32 @@ function buildTab(tab, bridge) {
228
232
  icon: cfg.icon === undefined ? none : some(cfg.icon),
229
233
  drop: landing === undefined ? none : some(variant(landing, null)),
230
234
  cards: dedupeCards(list),
235
+ source,
231
236
  }), SheetLibraryTabType);
232
237
  }
238
+ /**
239
+ * The sources the library's own tabs name (#1345): what the sheet's slice may
240
+ * hold for them.
241
+ *
242
+ * @param tabs - The tabs, each a `Sheet.library.*` call
243
+ * @returns Each author's tab's `source`, where it names one
244
+ * @internal
245
+ */
246
+ export function librarySources(tabs) {
247
+ return (tabs ?? []).flatMap((tab) => (tab.kind === "tab" && tab.config.source !== undefined ? [tab.config.source] : []));
248
+ }
233
249
  /**
234
250
  * Builds the library pane on the wire (SB59, SB60): its tabs in the
235
251
  * order `library` lists them; none when it is left out.
236
252
  *
237
253
  * @param tabs - The tabs, each a `Sheet.library.*` call
238
254
  * @param bridge - The sheet's bridge, as its root compiled it
255
+ * @param sources - The sources of the sheet's slice, which an author's tab's `source` must be one of
239
256
  * @returns The tabs on the wire
240
257
  * @throws Error naming the tab: a tab listed twice (an author's tab by its name), and each of an author's tab's refusals
241
258
  * @internal
242
259
  */
243
- export function buildLibrary(tabs, bridge) {
260
+ export function buildLibrary(tabs, bridge, sources = []) {
244
261
  const seen = new Set();
245
262
  for (const tab of tabs ?? []) {
246
263
  const id = tab.kind === "tab" ? `tab:${tab.config.name}` : tab.kind;
@@ -252,7 +269,7 @@ export function buildLibrary(tabs, bridge) {
252
269
  seen.add(id);
253
270
  }
254
271
  const wires = (tabs ?? []).map((tab) => tab.kind === "tab"
255
- ? buildTab(tab, bridge)
272
+ ? buildTab(tab, bridge, sources)
256
273
  : East.value(variant(tab.kind, null), SheetLibraryTabType));
257
274
  return East.value(wires, ArrayType(SheetLibraryTabType));
258
275
  }