@elaraai/e3-ui 1.0.97 → 1.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/README.md +0 -2
  2. package/dist/src/allocation/adapters.d.ts +1 -1
  3. package/dist/src/allocation/adapters.js +1 -1
  4. package/dist/src/allocation/index.d.ts +232 -25
  5. package/dist/src/allocation/index.d.ts.map +1 -1
  6. package/dist/src/allocation/index.js +35 -6
  7. package/dist/src/allocation/index.js.map +1 -1
  8. package/dist/src/allocation/types.d.ts +41 -0
  9. package/dist/src/allocation/types.d.ts.map +1 -1
  10. package/dist/src/allocation/types.js +35 -0
  11. package/dist/src/allocation/types.js.map +1 -1
  12. package/dist/src/bind/data-indexed.d.ts +286 -37
  13. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  14. package/dist/src/bind/data-indexed.js +259 -38
  15. package/dist/src/bind/data-indexed.js.map +1 -1
  16. package/dist/src/bind/data.d.ts +48 -9
  17. package/dist/src/bind/data.d.ts.map +1 -1
  18. package/dist/src/bind/data.js +48 -3
  19. package/dist/src/bind/data.js.map +1 -1
  20. package/dist/src/bind/record.d.ts +61 -24
  21. package/dist/src/bind/record.d.ts.map +1 -1
  22. package/dist/src/bind/record.js +17 -57
  23. package/dist/src/bind/record.js.map +1 -1
  24. package/dist/src/calendar/index.d.ts +522 -36
  25. package/dist/src/calendar/index.d.ts.map +1 -1
  26. package/dist/src/calendar/index.js +53 -13
  27. package/dist/src/calendar/index.js.map +1 -1
  28. package/dist/src/calendar/paged.d.ts +89 -0
  29. package/dist/src/calendar/paged.d.ts.map +1 -0
  30. package/dist/src/calendar/paged.js +148 -0
  31. package/dist/src/calendar/paged.js.map +1 -0
  32. package/dist/src/flowchart/index.d.ts +35 -31
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +35 -31
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +108 -84
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +108 -84
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/payload.d.ts +105 -17
  41. package/dist/src/flowchart/payload.d.ts.map +1 -1
  42. package/dist/src/flowchart/payload.js +3 -3
  43. package/dist/src/flowchart/payload.js.map +1 -1
  44. package/dist/src/flowchart/values.d.ts +35 -31
  45. package/dist/src/flowchart/values.d.ts.map +1 -1
  46. package/dist/src/flowchart/values.js +35 -31
  47. package/dist/src/flowchart/values.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts.map +1 -1
  49. package/dist/src/flowchart/window.js +3 -2
  50. package/dist/src/flowchart/window.js.map +1 -1
  51. package/dist/src/index.d.ts +13 -4
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +20 -1
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/internal.d.ts +18 -8
  56. package/dist/src/internal.d.ts.map +1 -1
  57. package/dist/src/internal.js +40 -10
  58. package/dist/src/internal.js.map +1 -1
  59. package/dist/src/plan/assemble.d.ts +8 -0
  60. package/dist/src/plan/assemble.d.ts.map +1 -1
  61. package/dist/src/plan/assemble.js +1 -1
  62. package/dist/src/plan/assemble.js.map +1 -1
  63. package/dist/src/plan/builders.d.ts +1530 -10
  64. package/dist/src/plan/builders.d.ts.map +1 -1
  65. package/dist/src/plan/builders.js +260 -122
  66. package/dist/src/plan/builders.js.map +1 -1
  67. package/dist/src/plan/event-rows.d.ts +224 -157
  68. package/dist/src/plan/event-rows.d.ts.map +1 -1
  69. package/dist/src/plan/event-rows.js +201 -56
  70. package/dist/src/plan/event-rows.js.map +1 -1
  71. package/dist/src/plan/factories.d.ts +72 -4
  72. package/dist/src/plan/factories.d.ts.map +1 -1
  73. package/dist/src/plan/factories.js +147 -1
  74. package/dist/src/plan/factories.js.map +1 -1
  75. package/dist/src/plan/index.d.ts +152 -125
  76. package/dist/src/plan/index.d.ts.map +1 -1
  77. package/dist/src/plan/index.js +138 -122
  78. package/dist/src/plan/index.js.map +1 -1
  79. package/dist/src/plan/ir.d.ts +1139 -8
  80. package/dist/src/plan/ir.d.ts.map +1 -1
  81. package/dist/src/plan/ir.js +5 -0
  82. package/dist/src/plan/ir.js.map +1 -1
  83. package/dist/src/plan/library.d.ts +65 -42
  84. package/dist/src/plan/library.d.ts.map +1 -1
  85. package/dist/src/plan/library.js +65 -42
  86. package/dist/src/plan/library.js.map +1 -1
  87. package/dist/src/plan/nested-checks.d.ts +146 -0
  88. package/dist/src/plan/nested-checks.d.ts.map +1 -0
  89. package/dist/src/plan/nested-checks.js +468 -0
  90. package/dist/src/plan/nested-checks.js.map +1 -0
  91. package/dist/src/plan/nested-patch.d.ts +35 -0
  92. package/dist/src/plan/nested-patch.d.ts.map +1 -0
  93. package/dist/src/plan/nested-patch.js +143 -0
  94. package/dist/src/plan/nested-patch.js.map +1 -0
  95. package/dist/src/plan/nested-read.d.ts +3250 -0
  96. package/dist/src/plan/nested-read.d.ts.map +1 -0
  97. package/dist/src/plan/nested-read.js +163 -0
  98. package/dist/src/plan/nested-read.js.map +1 -0
  99. package/dist/src/plan/nested.d.ts +280 -0
  100. package/dist/src/plan/nested.d.ts.map +1 -0
  101. package/dist/src/plan/nested.js +6 -0
  102. package/dist/src/plan/nested.js.map +1 -0
  103. package/dist/src/plan/ordered-source.d.ts +3067 -1
  104. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  105. package/dist/src/plan/ordered-source.js +67 -17
  106. package/dist/src/plan/ordered-source.js.map +1 -1
  107. package/dist/src/plan/over.d.ts +111 -75
  108. package/dist/src/plan/over.d.ts.map +1 -1
  109. package/dist/src/plan/over.js +111 -75
  110. package/dist/src/plan/over.js.map +1 -1
  111. package/dist/src/plan/pick.d.ts +15 -3
  112. package/dist/src/plan/pick.d.ts.map +1 -1
  113. package/dist/src/plan/pick.js +75 -36
  114. package/dist/src/plan/pick.js.map +1 -1
  115. package/dist/src/plan/plan.d.ts +3143 -501
  116. package/dist/src/plan/plan.d.ts.map +1 -1
  117. package/dist/src/plan/plan.js +133 -34
  118. package/dist/src/plan/plan.js.map +1 -1
  119. package/dist/src/plan/reads.d.ts +421 -0
  120. package/dist/src/plan/reads.d.ts.map +1 -0
  121. package/dist/src/plan/reads.js +143 -0
  122. package/dist/src/plan/reads.js.map +1 -0
  123. package/dist/src/plan/refs.d.ts +111 -75
  124. package/dist/src/plan/refs.d.ts.map +1 -1
  125. package/dist/src/plan/refs.js +111 -75
  126. package/dist/src/plan/refs.js.map +1 -1
  127. package/dist/src/plan/root.d.ts +14 -7
  128. package/dist/src/plan/root.d.ts.map +1 -1
  129. package/dist/src/plan/root.js +82 -17
  130. package/dist/src/plan/root.js.map +1 -1
  131. package/dist/src/plan/series.d.ts +5153 -4331
  132. package/dist/src/plan/series.d.ts.map +1 -1
  133. package/dist/src/plan/series.js +1082 -266
  134. package/dist/src/plan/series.js.map +1 -1
  135. package/dist/src/plan/shade.d.ts +981 -0
  136. package/dist/src/plan/shade.d.ts.map +1 -0
  137. package/dist/src/plan/shade.js +60 -0
  138. package/dist/src/plan/shade.js.map +1 -0
  139. package/dist/src/plan/types.d.ts +192 -18
  140. package/dist/src/plan/types.d.ts.map +1 -1
  141. package/dist/src/plan/types.js +77 -19
  142. package/dist/src/plan/types.js.map +1 -1
  143. package/dist/src/query/builder.d.ts +3 -3
  144. package/dist/src/query/builder.d.ts.map +1 -1
  145. package/dist/src/query/builder.js +1 -1
  146. package/dist/src/query/library.d.ts +3 -3
  147. package/dist/src/query/library.d.ts.map +1 -1
  148. package/dist/src/query/library.js +1 -1
  149. package/dist/src/query/queries.d.ts +2 -2
  150. package/dist/src/query/queries.js +1 -1
  151. package/dist/src/query/saved.d.ts +8 -4
  152. package/dist/src/query/saved.d.ts.map +1 -1
  153. package/dist/src/query/saved.js +8 -4
  154. package/dist/src/query/saved.js.map +1 -1
  155. package/dist/src/query/types.d.ts +8 -3
  156. package/dist/src/query/types.d.ts.map +1 -1
  157. package/dist/src/query/types.js +8 -3
  158. package/dist/src/query/types.js.map +1 -1
  159. package/dist/src/roster/index.d.ts +583 -39
  160. package/dist/src/roster/index.d.ts.map +1 -1
  161. package/dist/src/roster/index.js +109 -35
  162. package/dist/src/roster/index.js.map +1 -1
  163. package/dist/src/roster/library.d.ts +12 -2
  164. package/dist/src/roster/library.d.ts.map +1 -1
  165. package/dist/src/roster/library.js +8 -0
  166. package/dist/src/roster/library.js.map +1 -1
  167. package/dist/src/roster/lists.d.ts +59 -12
  168. package/dist/src/roster/lists.d.ts.map +1 -1
  169. package/dist/src/roster/lists.js +51 -58
  170. package/dist/src/roster/lists.js.map +1 -1
  171. package/dist/src/roster/targets.d.ts +8 -4
  172. package/dist/src/roster/targets.d.ts.map +1 -1
  173. package/dist/src/roster/targets.js +9 -5
  174. package/dist/src/roster/targets.js.map +1 -1
  175. package/dist/src/roster/times.d.ts +402 -0
  176. package/dist/src/roster/times.d.ts.map +1 -1
  177. package/dist/src/roster/types.d.ts +913 -1
  178. package/dist/src/roster/types.d.ts.map +1 -1
  179. package/dist/src/roster/types.js +43 -3
  180. package/dist/src/roster/types.js.map +1 -1
  181. package/dist/src/schedule/cell-checks.d.ts +85 -0
  182. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  183. package/dist/src/schedule/cell-checks.js +211 -0
  184. package/dist/src/schedule/cell-checks.js.map +1 -0
  185. package/dist/src/schedule/days.d.ts +1 -1
  186. package/dist/src/schedule/days.js +1 -1
  187. package/dist/src/schedule/events.d.ts +52 -16
  188. package/dist/src/schedule/events.d.ts.map +1 -1
  189. package/dist/src/schedule/events.js +574 -356
  190. package/dist/src/schedule/events.js.map +1 -1
  191. package/dist/src/schedule/fields.d.ts +134 -0
  192. package/dist/src/schedule/fields.d.ts.map +1 -0
  193. package/dist/src/schedule/fields.js +207 -0
  194. package/dist/src/schedule/fields.js.map +1 -0
  195. package/dist/src/schedule/library.d.ts +11 -3
  196. package/dist/src/schedule/library.d.ts.map +1 -1
  197. package/dist/src/schedule/library.js +9 -6
  198. package/dist/src/schedule/library.js.map +1 -1
  199. package/dist/src/schedule/optimise.d.ts +124 -0
  200. package/dist/src/schedule/optimise.d.ts.map +1 -0
  201. package/dist/src/schedule/optimise.js +140 -0
  202. package/dist/src/schedule/optimise.js.map +1 -0
  203. package/dist/src/schedule/pages.d.ts +76 -0
  204. package/dist/src/schedule/pages.d.ts.map +1 -0
  205. package/dist/src/schedule/pages.js +86 -0
  206. package/dist/src/schedule/pages.js.map +1 -0
  207. package/dist/src/schedule/patch.d.ts +1 -1
  208. package/dist/src/schedule/patch.js +1 -1
  209. package/dist/src/schedule/periods.d.ts +8 -4
  210. package/dist/src/schedule/periods.d.ts.map +1 -1
  211. package/dist/src/schedule/periods.js +1 -1
  212. package/dist/src/schedule/periods.js.map +1 -1
  213. package/dist/src/schedule/record-window.d.ts +115 -22
  214. package/dist/src/schedule/record-window.d.ts.map +1 -1
  215. package/dist/src/schedule/record-window.js +140 -62
  216. package/dist/src/schedule/record-window.js.map +1 -1
  217. package/dist/src/schedule/resources.d.ts +9 -5
  218. package/dist/src/schedule/resources.d.ts.map +1 -1
  219. package/dist/src/schedule/resources.js +35 -15
  220. package/dist/src/schedule/resources.js.map +1 -1
  221. package/dist/src/schedule/session.d.ts +15 -1
  222. package/dist/src/schedule/session.d.ts.map +1 -1
  223. package/dist/src/schedule/session.js +30 -18
  224. package/dist/src/schedule/session.js.map +1 -1
  225. package/dist/src/schedule/types.d.ts +455 -37
  226. package/dist/src/schedule/types.d.ts.map +1 -1
  227. package/dist/src/schedule/types.js +79 -18
  228. package/dist/src/schedule/types.js.map +1 -1
  229. package/dist/src/schedule/window.d.ts +30 -9
  230. package/dist/src/schedule/window.d.ts.map +1 -1
  231. package/dist/src/schedule/window.js +101 -49
  232. package/dist/src/schedule/window.js.map +1 -1
  233. package/dist/src/schematic/index.d.ts +287 -0
  234. package/dist/src/schematic/index.d.ts.map +1 -0
  235. package/dist/src/schematic/index.js +216 -0
  236. package/dist/src/schematic/index.js.map +1 -0
  237. package/dist/src/schematic/kinds.d.ts +501 -0
  238. package/dist/src/schematic/kinds.d.ts.map +1 -0
  239. package/dist/src/schematic/kinds.js +1027 -0
  240. package/dist/src/schematic/kinds.js.map +1 -0
  241. package/dist/src/schematic/layers.d.ts +74 -0
  242. package/dist/src/schematic/layers.d.ts.map +1 -0
  243. package/dist/src/schematic/layers.js +99 -0
  244. package/dist/src/schematic/layers.js.map +1 -0
  245. package/dist/src/schematic/library.d.ts +202 -0
  246. package/dist/src/schematic/library.d.ts.map +1 -0
  247. package/dist/src/schematic/library.js +244 -0
  248. package/dist/src/schematic/library.js.map +1 -0
  249. package/dist/src/schematic/payload.d.ts +8310 -0
  250. package/dist/src/schematic/payload.d.ts.map +1 -0
  251. package/dist/src/schematic/payload.js +446 -0
  252. package/dist/src/schematic/payload.js.map +1 -0
  253. package/dist/src/schematic/schematic.d.ts +27 -0
  254. package/dist/src/schematic/schematic.d.ts.map +1 -0
  255. package/dist/src/schematic/schematic.js +17 -0
  256. package/dist/src/schematic/schematic.js.map +1 -0
  257. package/dist/src/schematic/shapes.d.ts +150 -0
  258. package/dist/src/schematic/shapes.d.ts.map +1 -0
  259. package/dist/src/schematic/shapes.js +171 -0
  260. package/dist/src/schematic/shapes.js.map +1 -0
  261. package/dist/src/schematic/templates.d.ts +96 -0
  262. package/dist/src/schematic/templates.d.ts.map +1 -0
  263. package/dist/src/schematic/templates.js +91 -0
  264. package/dist/src/schematic/templates.js.map +1 -0
  265. package/dist/src/schematic/types.d.ts +5766 -0
  266. package/dist/src/schematic/types.d.ts.map +1 -0
  267. package/dist/src/schematic/types.js +688 -0
  268. package/dist/src/schematic/types.js.map +1 -0
  269. package/dist/src/schematic/window.d.ts +213 -0
  270. package/dist/src/schematic/window.d.ts.map +1 -0
  271. package/dist/src/schematic/window.js +340 -0
  272. package/dist/src/schematic/window.js.map +1 -0
  273. package/dist/src/sheet/bridge.d.ts +19 -0
  274. package/dist/src/sheet/bridge.d.ts.map +1 -1
  275. package/dist/src/sheet/bridge.js +28 -21
  276. package/dist/src/sheet/bridge.js.map +1 -1
  277. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  278. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  279. package/dist/src/sheet/editing-bridge.js +8 -2
  280. package/dist/src/sheet/editing-bridge.js.map +1 -1
  281. package/dist/src/sheet/editing-types.d.ts +9 -5
  282. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  283. package/dist/src/sheet/editing-types.js +9 -5
  284. package/dist/src/sheet/editing-types.js.map +1 -1
  285. package/dist/src/sheet/index.d.ts +84 -54
  286. package/dist/src/sheet/index.d.ts.map +1 -1
  287. package/dist/src/sheet/index.js +81 -53
  288. package/dist/src/sheet/index.js.map +1 -1
  289. package/dist/src/sheet/library.d.ts +13 -8
  290. package/dist/src/sheet/library.d.ts.map +1 -1
  291. package/dist/src/sheet/library.js +13 -8
  292. package/dist/src/sheet/library.js.map +1 -1
  293. package/dist/src/sheet/optimise.d.ts +69 -0
  294. package/dist/src/sheet/optimise.d.ts.map +1 -0
  295. package/dist/src/sheet/optimise.js +81 -0
  296. package/dist/src/sheet/optimise.js.map +1 -0
  297. package/dist/src/sheet/record.d.ts +1 -1
  298. package/dist/src/sheet/record.js +2 -2
  299. package/dist/src/sheet/record.js.map +1 -1
  300. package/dist/src/sheet/registers.d.ts +157 -133
  301. package/dist/src/sheet/registers.d.ts.map +1 -1
  302. package/dist/src/sheet/registers.js +157 -133
  303. package/dist/src/sheet/registers.js.map +1 -1
  304. package/dist/src/sheet/root.d.ts +6 -1
  305. package/dist/src/sheet/root.d.ts.map +1 -1
  306. package/dist/src/sheet/root.js +17 -5
  307. package/dist/src/sheet/root.js.map +1 -1
  308. package/dist/src/sheet/sheet.d.ts +696 -590
  309. package/dist/src/sheet/sheet.d.ts.map +1 -1
  310. package/dist/src/sheet/sheet.js +49 -15
  311. package/dist/src/sheet/sheet.js.map +1 -1
  312. package/dist/src/sheet/sub-rows.d.ts +106 -76
  313. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  314. package/dist/src/sheet/sub-rows.js +106 -76
  315. package/dist/src/sheet/sub-rows.js.map +1 -1
  316. package/dist/src/sheet/types.d.ts +57 -20
  317. package/dist/src/sheet/types.d.ts.map +1 -1
  318. package/dist/src/sheet/types.js +4 -8
  319. package/dist/src/sheet/types.js.map +1 -1
  320. package/dist/src/studio/builder.d.ts +3 -153
  321. package/dist/src/studio/builder.d.ts.map +1 -1
  322. package/dist/src/studio/builder.js +1 -1
  323. package/dist/src/studio/canvas.d.ts +5 -4
  324. package/dist/src/studio/canvas.d.ts.map +1 -1
  325. package/dist/src/studio/canvas.js +8 -7
  326. package/dist/src/studio/canvas.js.map +1 -1
  327. package/dist/src/studio/component.d.ts +30 -20
  328. package/dist/src/studio/component.d.ts.map +1 -1
  329. package/dist/src/studio/component.js +26 -61
  330. package/dist/src/studio/component.js.map +1 -1
  331. package/dist/src/studio/index.d.ts +2 -2
  332. package/dist/src/studio/index.d.ts.map +1 -1
  333. package/dist/src/studio/index.js +1 -1
  334. package/dist/src/studio/index.js.map +1 -1
  335. package/dist/src/studio/inspector.d.ts +10 -39
  336. package/dist/src/studio/inspector.d.ts.map +1 -1
  337. package/dist/src/studio/inspector.js +11 -31
  338. package/dist/src/studio/inspector.js.map +1 -1
  339. package/dist/src/studio/library.d.ts +3 -169
  340. package/dist/src/studio/library.d.ts.map +1 -1
  341. package/dist/src/studio/library.js +1 -1
  342. package/dist/src/studio/page.d.ts +0 -8
  343. package/dist/src/studio/page.d.ts.map +1 -1
  344. package/dist/src/studio/pages.d.ts +17 -591
  345. package/dist/src/studio/pages.d.ts.map +1 -1
  346. package/dist/src/studio/pages.js +17 -44
  347. package/dist/src/studio/pages.js.map +1 -1
  348. package/dist/src/studio/palette.d.ts +2 -7
  349. package/dist/src/studio/palette.d.ts.map +1 -1
  350. package/dist/src/studio/palette.js +4 -5
  351. package/dist/src/studio/palette.js.map +1 -1
  352. package/dist/src/studio/publish.d.ts +8 -18
  353. package/dist/src/studio/publish.d.ts.map +1 -1
  354. package/dist/src/studio/publish.js +10 -36
  355. package/dist/src/studio/publish.js.map +1 -1
  356. package/dist/src/utils/derive.d.ts +12 -12
  357. package/dist/src/utils/derive.d.ts.map +1 -1
  358. package/dist/src/utils/derive.js +5 -2
  359. package/dist/src/utils/derive.js.map +1 -1
  360. package/dist/src/utils/keyed-rows.d.ts +41 -0
  361. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  362. package/dist/src/utils/keyed-rows.js +64 -0
  363. package/dist/src/utils/keyed-rows.js.map +1 -0
  364. package/dist/src/utils/optimise.d.ts +79 -0
  365. package/dist/src/utils/optimise.d.ts.map +1 -0
  366. package/dist/src/utils/optimise.js +46 -0
  367. package/dist/src/utils/optimise.js.map +1 -0
  368. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  369. package/dist/src/utils/ordered-source.js +14 -5
  370. package/dist/src/utils/ordered-source.js.map +1 -1
  371. package/dist/test/allocation/allocation.examples.d.ts +1900 -1610
  372. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  373. package/dist/test/allocation/allocation.examples.js +179 -89
  374. package/dist/test/allocation/allocation.examples.js.map +1 -1
  375. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  376. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  377. package/dist/test/allocation/optimise.examples.js +223 -0
  378. package/dist/test/allocation/optimise.examples.js.map +1 -0
  379. package/dist/test/bind/data/data.examples.d.ts +1172 -514
  380. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  381. package/dist/test/bind/data/data.examples.js +284 -164
  382. package/dist/test/bind/data/data.examples.js.map +1 -1
  383. package/dist/test/bind/record/record.examples.d.ts +457 -428
  384. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  385. package/dist/test/bind/record/record.examples.js +41 -21
  386. package/dist/test/bind/record/record.examples.js.map +1 -1
  387. package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
  388. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  389. package/dist/test/calendar/calendar-records.examples.js +20 -12
  390. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  391. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  392. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  393. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  394. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  395. package/dist/test/calendar/calendar.examples.d.ts +1172 -915
  396. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  397. package/dist/test/calendar/calendar.examples.js +211 -124
  398. package/dist/test/calendar/calendar.examples.js.map +1 -1
  399. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  400. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  401. package/dist/test/calendar/optimise.examples.js +75 -0
  402. package/dist/test/calendar/optimise.examples.js.map +1 -0
  403. package/dist/test/examples-package.d.ts +49 -16
  404. package/dist/test/examples-package.d.ts.map +1 -1
  405. package/dist/test/examples-package.js +138 -49
  406. package/dist/test/examples-package.js.map +1 -1
  407. package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2840
  408. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  409. package/dist/test/flowchart/flowchart.examples.js +211 -121
  410. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  411. package/dist/test/plan/optimise.examples.d.ts +207 -0
  412. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  413. package/dist/test/plan/optimise.examples.js +98 -0
  414. package/dist/test/plan/optimise.examples.js.map +1 -0
  415. package/dist/test/plan/plan-events.examples.d.ts +4055 -3279
  416. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  417. package/dist/test/plan/plan-events.examples.js +492 -319
  418. package/dist/test/plan/plan-events.examples.js.map +1 -1
  419. package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
  420. package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
  421. package/dist/test/plan/plan-nested.examples.js +321 -0
  422. package/dist/test/plan/plan-nested.examples.js.map +1 -0
  423. package/dist/test/plan/plan-records.examples.d.ts +391 -244
  424. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  425. package/dist/test/plan/plan-records.examples.js +186 -65
  426. package/dist/test/plan/plan-records.examples.js.map +1 -1
  427. package/dist/test/plan/plan-windows.examples.d.ts +1978 -803
  428. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  429. package/dist/test/plan/plan-windows.examples.js +269 -99
  430. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  431. package/dist/test/plan/plan.examples.d.ts +2238 -5726
  432. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  433. package/dist/test/plan/plan.examples.js +846 -973
  434. package/dist/test/plan/plan.examples.js.map +1 -1
  435. package/dist/test/query/query.examples.d.ts +5221 -3005
  436. package/dist/test/query/query.examples.d.ts.map +1 -1
  437. package/dist/test/query/query.examples.js +169 -118
  438. package/dist/test/query/query.examples.js.map +1 -1
  439. package/dist/test/roster/domain.examples.d.ts +804 -0
  440. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  441. package/dist/test/roster/domain.examples.js +3 -3
  442. package/dist/test/roster/domain.examples.js.map +1 -1
  443. package/dist/test/roster/optimise.examples.d.ts +485 -0
  444. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  445. package/dist/test/roster/optimise.examples.js +155 -0
  446. package/dist/test/roster/optimise.examples.js.map +1 -0
  447. package/dist/test/roster/roster-records.examples.d.ts +364 -404
  448. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  449. package/dist/test/roster/roster-records.examples.js +40 -26
  450. package/dist/test/roster/roster-records.examples.js.map +1 -1
  451. package/dist/test/roster/roster.examples.d.ts +5091 -1424
  452. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  453. package/dist/test/roster/roster.examples.js +255 -109
  454. package/dist/test/roster/roster.examples.js.map +1 -1
  455. package/dist/test/roster/warehouse.d.ts +150 -7
  456. package/dist/test/roster/warehouse.d.ts.map +1 -1
  457. package/dist/test/roster/warehouse.js +36 -11
  458. package/dist/test/roster/warehouse.js.map +1 -1
  459. package/dist/test/schedule/schedule.examples.d.ts +2646 -2473
  460. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  461. package/dist/test/schedule/schedule.examples.js +144 -88
  462. package/dist/test/schedule/schedule.examples.js.map +1 -1
  463. package/dist/test/schematic/schematic-records.examples.d.ts +454 -0
  464. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  465. package/dist/test/schematic/schematic-records.examples.js +219 -0
  466. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  467. package/dist/test/schematic/schematic.examples.d.ts +2640 -0
  468. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  469. package/dist/test/schematic/schematic.examples.js +559 -0
  470. package/dist/test/schematic/schematic.examples.js.map +1 -0
  471. package/dist/test/sheet/optimise.examples.d.ts +184 -0
  472. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  473. package/dist/test/sheet/optimise.examples.js +79 -0
  474. package/dist/test/sheet/optimise.examples.js.map +1 -0
  475. package/dist/test/sheet/sheet-records.examples.d.ts +208 -356
  476. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  477. package/dist/test/sheet/sheet-records.examples.js +66 -29
  478. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  479. package/dist/test/sheet/sheet.examples.d.ts +3650 -3377
  480. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  481. package/dist/test/sheet/sheet.examples.js +406 -296
  482. package/dist/test/sheet/sheet.examples.js.map +1 -1
  483. package/dist/test/studio/component.examples.js +2 -2
  484. package/dist/test/studio/component.examples.js.map +1 -1
  485. package/dist/test/studio/page.examples.js +6 -6
  486. package/dist/test/studio/page.examples.js.map +1 -1
  487. package/dist/test/studio/studio.examples.d.ts +2329 -873
  488. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  489. package/dist/test/studio/studio.examples.js +155 -107
  490. package/dist/test/studio/studio.examples.js.map +1 -1
  491. package/package.json +15 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/schematic/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EACH,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAc,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EACnH,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EACzC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAU,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAA0C,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEnH,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAChI,OAAO,EAAkG,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxJ,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACH,sBAAsB,EACtB,gBAAgB,EACnB,MAAM,YAAY,CAAC;AASpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB/B,CAAC;AAEH,4DAA4D;AAC5D,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -0,0 +1,446 @@
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
+ * The Schematic's payload (#1386, #1401, `Schematic Builder Spec.md` §2, §5):
7
+ * what `<Schematic>` hands the renderer through its `Schematic` carrier — the
8
+ * drawing's extent and scale, its kinds by slot, its layers, its narrowing and
9
+ * how a narrowed-out row draws, its library's tabs, whether it has an
10
+ * inspector, whether it is read only, its `id`, the canvas's options, the
11
+ * connect veto and what the host hears — and every refusal of its props, made
12
+ * when the surface is built.
13
+ *
14
+ * Its props are the Plan's, the Roster's and the Calendar's (D31–D34): `id`
15
+ * keeps its state apart, the inspector is opted into, the library's tabs cover
16
+ * every kind, `onSelect` hears the whole selection, and `canConnect` answers a
17
+ * candidate with the refusal's words. Its layers are the app's rows
18
+ * (`Schematic.layers`, D36).
19
+ *
20
+ * Its kinds are the app's records (§1, `kinds.ts`): `items`, `zones`, `links`
21
+ * and `nets` each map a slot to a kind, each closed over its record behind
22
+ * East functions over beast2 bytes, so the payload is one type whatever the
23
+ * rows hold. A slot names the kind in the payload and the source of the slice
24
+ * that narrows it.
25
+ *
26
+ * Its narrowing is one `Slice.bindRecords` (§10.1): a source named after a
27
+ * kind's slot narrows that kind, read complete through it (`window.ts`) — or,
28
+ * under `narrowed="dim"`, every row read through it, and what the narrowing
29
+ * leaves out drawn as context (§10.3, #1392) — and each other source the
30
+ * templates list or the author's tab that names it. The payload's block binds
31
+ * each source once (`recordSources(…).bind($)`, #1356), and each kind reads
32
+ * its own source inside its functions; none reads a source's state, so a
33
+ * choice builds the Schematic no more (#1354).
34
+ *
35
+ * The props §2 removes are refused when the surface is built, each naming the
36
+ * form that replaces it (SC3).
37
+ *
38
+ * @packageDocumentation
39
+ */
40
+ import { ArrayType, BooleanType, DictType, East, Expr, FloatType, FunctionType, NullType, OptionType, StringType, StructType, none, some, variant, } from "@elaraai/east";
41
+ import { EastUI, RowSourceType } from "@elaraai/east-ui";
42
+ import { RecordSlicesChromeType, isRecordSlices } from "@elaraai/east-ui/internal";
43
+ import { recordSources, sliceSourceNames, templatesSource } from "../utils/record-sources.js";
44
+ import { isSchematicKind } from "./kinds.js";
45
+ import { SchematicLibraryTabType, buildSchematicLibrary, schematicTabSources } from "./library.js";
46
+ import { isSchematicLayers } from "./layers.js";
47
+ import { SchematicCandidateType, SchematicItemKindType, SchematicLayerType, SchematicLinkKindType, SchematicNarrowedType, SchematicNetKindType, SchematicRefType, SchematicZoneKindType, } from "./types.js";
48
+ // ============================================================================
49
+ // The payload
50
+ // ============================================================================
51
+ /** Each source's shown keys on the wire, by the source's name. */
52
+ const ShownType = DictType(StringType, RowSourceType(ArrayType(StringType)));
53
+ /**
54
+ * The `Schematic` renderer's payload: the Schematic's interface (§5).
55
+ *
56
+ * @property extent - The drawing's world bounds; the canvas fits them
57
+ * @property scaleUnit - The scale bar's unit
58
+ * @property items - The item kinds, in the order `items` lists their slots
59
+ * @property zones - The zone kinds
60
+ * @property links - The link kinds
61
+ * @property nets - The net kinds
62
+ * @property layers - The layers, from the app's record, and their author defaults, in their order (§8)
63
+ * @property slice - The rail's chrome over the one `Slice.bindRecords`; `none`, no rail
64
+ * @property shown - Each source's shown keys, paged through its own data, by the source's name: what a templates list's and a tab's cards follow, and what dims a narrowed-out row
65
+ * @property narrowed - How a narrowed-out row draws (§10.3)
66
+ * @property library - The library pane's tabs, in the order `library` lists them; none, no library pane
67
+ * @property inspector - Whether the inspector pane shows (§9): off unless `inspector` is given
68
+ * @property readOnly - No gesture, drop or inspector edit; selection stays
69
+ * @property id - Keeps the Schematic's state apart, when a surface holds two
70
+ * @property grid - The metric grid; on by default
71
+ * @property minimap - The minimap; shown at 25 items or more by default
72
+ * @property canConnect - Vetoes a link or a net before its draft snaps: `none` allows it, or the refusal's words
73
+ * @property onSelect - Hears the whole selection after each change, each entity by its kind and key
74
+ */
75
+ export const SchematicPayloadType = StructType({
76
+ extent: StructType({ width: FloatType, height: FloatType }),
77
+ scaleUnit: OptionType(StringType),
78
+ items: ArrayType(SchematicItemKindType),
79
+ zones: ArrayType(SchematicZoneKindType),
80
+ links: ArrayType(SchematicLinkKindType),
81
+ nets: ArrayType(SchematicNetKindType),
82
+ layers: ArrayType(SchematicLayerType),
83
+ slice: OptionType(RecordSlicesChromeType),
84
+ shown: ShownType,
85
+ narrowed: SchematicNarrowedType,
86
+ library: ArrayType(SchematicLibraryTabType),
87
+ inspector: BooleanType,
88
+ readOnly: BooleanType,
89
+ id: OptionType(StringType),
90
+ grid: OptionType(BooleanType),
91
+ minimap: OptionType(BooleanType),
92
+ canConnect: OptionType(FunctionType([SchematicCandidateType], OptionType(StringType))),
93
+ onSelect: OptionType(FunctionType([ArrayType(SchematicRefType)], NullType)),
94
+ });
95
+ /**
96
+ * The `Schematic` carrier: `<Schematic>` builds a {@link SchematicPayloadType}
97
+ * and returns it through this {@link EastUI.component}. The React renderer
98
+ * registers against it in `@elaraai/e3-ui-components` via
99
+ * `implementUIComponent`.
100
+ */
101
+ export const SchematicComponent = EastUI.component("Schematic", SchematicPayloadType, { optional: true });
102
+ // ============================================================================
103
+ // The Schematic's shared keys
104
+ // ============================================================================
105
+ /**
106
+ * The names a Schematic keeps its viewer's state under, by its `id` (§5,
107
+ * D31): its frame's panes, its library's id, the layers the viewer shows,
108
+ * hides and locks, the tool it holds, and its drop surface, where its
109
+ * library's cards land.
110
+ *
111
+ * @remarks
112
+ * As the Plan's `planKeys(id)`: two Schematics on one surface keep apart only
113
+ * when each has an `id`.
114
+ *
115
+ * @param id - The Schematic's `id`, when a surface holds more than one; omitted, the one Schematic
116
+ * @returns The keys
117
+ */
118
+ export function schematicKeys(id) {
119
+ const suffix = id === undefined ? "" : `.${id}`;
120
+ return {
121
+ frame: `schematic${suffix}.frame`,
122
+ library: `schematic.library${suffix}`,
123
+ layers: `schematic${suffix}.layers`,
124
+ tools: `schematic${suffix}.tools`,
125
+ surface: `schematic${suffix}.surface`,
126
+ };
127
+ }
128
+ /** The refusal of rows and their mappers: kinds over the app's records replace them (§2). */
129
+ function rowsRefusal(prop) {
130
+ const sort = prop.startsWith("item") ? "items" : prop.startsWith("zone") ? "zones" : prop.startsWith("link") ? "links" : "nets";
131
+ const example = {
132
+ items: "items={{ racks: Schematic.items(Record.bind(racks), { name, icon, x, y, label }) }}",
133
+ zones: "zones={{ halls: Schematic.zones(Data.bind(halls), { name, icon, x, y, width, height, label }) }}",
134
+ links: "links={{ fibre: Schematic.links(Record.bind(fibres), { name, icon, from: { field, of }, to: { field, of } }) }}",
135
+ nets: "nets={{ feeds: Schematic.nets(Record.bind(feeds), { name, icon, sources: { field, of }, destinations: { field, of } }) }}",
136
+ }[sort];
137
+ return `Schematic: rows and their mappers are gone — an app's rows are its records, each kind's fields mapped to its roles: ${example}`;
138
+ }
139
+ /** The refusal of a callback for an edit: the editing session's gestures replace them (§2, §7). */
140
+ const SESSION = "every gesture is a transaction of the Schematic's editing session, and Save writes each record through its patch door — " +
141
+ "bind a kind with Record.bind(record), its record declaring patch: mutation.patch() to edit it";
142
+ /** The refusal of the slice's effect props: `narrowed` replaces them (§2, §10.3). */
143
+ const NARROWED = "how a narrowed-out row draws is `narrowed` — narrowed=\"dim\", or narrowed={{ show: \"dim\", opacity, desaturate, dot, emphasis, frame, fit }}";
144
+ /** The refusal of a hover card: the inspector replaces them (§2, §9). */
145
+ const HOVER = "the inspector shows what is selected — give `inspector` for the pane, and a kind its own Details with its `inspector`: " +
146
+ "Schematic.items(record, { …, inspector: East.function([RowType, FunctionType([RowType], NullType)], UIComponentType, ($, row, update) => …) })";
147
+ /** The refusal of a selection callback of another form: `onSelect` replaces them (§2, D34). */
148
+ const SELECT = "`onSelect` hears the whole selection after each change, items, zones, links and nets alike, each by its kind and key: " +
149
+ "onSelect={East.function([ArrayType(Schematic.Types.Ref)], NullType, ($, selected) => …)}";
150
+ /** The refusal of a size: the Schematic fills the box it is given (§2). */
151
+ const SIZE = "the Schematic fills the box it is given — give it a box of its own height: <Box height=\"640px\"><Schematic … /></Box>";
152
+ /** Each prop §2 removes, with the form that replaces it (SC3). */
153
+ const REMOVED = {
154
+ item: rowsRefusal("item"),
155
+ zone: rowsRefusal("zone"),
156
+ link: rowsRefusal("link"),
157
+ net: rowsRefusal("net"),
158
+ onMoveItem: SESSION,
159
+ onCreateLink: SESSION,
160
+ onEditLink: SESSION,
161
+ onDeleteLink: SESSION,
162
+ onEditNet: SESSION,
163
+ linkMode: "the Connect tool always records a link, of the link kind its menu picks — an app that plans operations between items gives them a link kind of their own",
164
+ readOnlyLinks: "a kind is read only when it is bound read only — Data.bind(record), or Data.bindPaged(record) read through its source",
165
+ readOnlyItems: "a kind is read only when it is bound read only — Data.bind(record), or Data.bindPaged(record) read through its source",
166
+ itemHover: HOVER,
167
+ zoneHover: HOVER,
168
+ linkHover: HOVER,
169
+ affordances: "it moved into `slice`: slice={{ slice: Slice.bindRecords(key, { … }), affordances }}",
170
+ sliceHidden: NARROWED,
171
+ sliceOpacity: NARROWED,
172
+ sliceDesaturate: NARROWED,
173
+ sliceDot: NARROWED,
174
+ sliceEmphasis: NARROWED,
175
+ sliceFrame: NARROWED,
176
+ sliceFrameFit: NARROWED,
177
+ sliceSelectField: "the selection drives the inspector, and the rail is the only narrowing — leave it out",
178
+ selectionMode: "selection is built in: a tap selects, Shift extends it, and the Marquee tool boxes — leave it out",
179
+ navigator: "the library's Index tab lists the zones and the items inside them: library={[Schematic.library.index()]}",
180
+ height: SIZE,
181
+ maxHeight: SIZE,
182
+ onSelectZone: SELECT,
183
+ onSelectionChange: SELECT,
184
+ onZoneSelectionChange: SELECT,
185
+ onSelectLink: SELECT,
186
+ onViewportChange: "the canvas reads its own window, and nothing hears where the camera settled — leave it out",
187
+ onItemOpen: "Enter or a double-click opens the selection in the inspector's Details — give `inspector`, and a kind its own Details with its `inspector`",
188
+ selectZoomFocus: "a tap selects in place, and Find, the Index tab and the arrow keys fly to what they pick — leave it out",
189
+ name: "`id` names the Schematic, as the Plan's, the Roster's and the Calendar's do: <Schematic id=\"floor\" … />",
190
+ };
191
+ /** Every prop `<Schematic>` takes. */
192
+ const PROPS = new Set([
193
+ "extent", "scaleUnit", "items", "zones", "links", "nets", "layers", "slice", "narrowed", "library", "inspector", "readOnly", "id",
194
+ "grid", "minimap", "canConnect", "onSelect",
195
+ ]);
196
+ /** A sort's noun, as a refusal names a kind of it. */
197
+ const NOUN = { items: "item", zones: "zone", links: "link", nets: "net" };
198
+ /** The declaration each sort takes, as a refusal names it. */
199
+ const DECLARE = {
200
+ items: "Schematic.items(record, { name, icon, x, y, label })",
201
+ zones: "Schematic.zones(record, { name, icon, x, y, width, height, label })",
202
+ links: "Schematic.links(record, { name, icon, from, to })",
203
+ nets: "Schematic.nets(record, { name, icon, sources, destinations })",
204
+ };
205
+ /**
206
+ * Reads one sort's kinds by slot (§1, rule 5), each checked to be a kind of
207
+ * that sort.
208
+ *
209
+ * @param sort - The prop: `items`, `zones`, `links` or `nets`
210
+ * @param given - What it was given
211
+ * @returns Its kinds, in the order their slots are listed
212
+ * @throws {Error} When it is rows rather than kinds by slot, or a slot holds no kind of its sort
213
+ */
214
+ function kindsOf(sort, given) {
215
+ if (given === undefined)
216
+ return [];
217
+ if (given instanceof Expr || Array.isArray(given) || typeof given !== "object" || given === null || isSchematicKind(given, sort)) {
218
+ throw new Error(isSchematicKind(given, sort)
219
+ ? `Schematic: \`${sort}\` takes kinds by slot — ${sort}={{ <slot>: ${DECLARE[sort]} }}: a slot names the kind, and the source of the slice that narrows it`
220
+ : rowsRefusal(sort));
221
+ }
222
+ return Object.entries(given).map(([slot, kind]) => {
223
+ if (!isSchematicKind(kind, sort)) {
224
+ const other = ["items", "zones", "links", "nets"].find((s) => isSchematicKind(kind, s));
225
+ throw new Error(`Schematic: \`${sort}.${slot}\` is ${sort === "items" ? "an" : "a"} ${NOUN[sort]} kind, ${DECLARE[sort]}` +
226
+ (other === undefined ? "" : ` — and this is ${other === "items" ? "an" : "a"} ${NOUN[other]} kind: give it under \`${other}\``));
227
+ }
228
+ return { slot, sort, kind: kind };
229
+ });
230
+ }
231
+ /** The drawing's world bounds, checked. */
232
+ function extentOf(extent) {
233
+ const box = extent;
234
+ const positive = (n) => typeof n === "number" && Number.isFinite(n) && n > 0;
235
+ if (typeof extent !== "object" || extent === null || !positive(box?.width) || !positive(box?.height)) {
236
+ throw new Error("Schematic: `extent` is the drawing's world bounds, { width, height }, each a positive number of world units — the canvas fits them");
237
+ }
238
+ return { width: box.width, height: box.height };
239
+ }
240
+ /**
241
+ * How a narrowed-out row draws (§10.3), on the wire; and whether it is dimmed,
242
+ * when each kind read through its source reads every row and the renderer
243
+ * draws what the narrowing leaves out as context.
244
+ *
245
+ * @param narrowed - The Schematic's `narrowed`
246
+ * @returns It on the wire, and whether a narrowed-out row is dimmed
247
+ * @throws {Error} For a `narrowed` of another form, naming the forms it takes
248
+ */
249
+ function narrowedOf(narrowed) {
250
+ const options = narrowed === undefined || narrowed === "hide" ? { show: "hide" } : narrowed === "dim" ? { show: "dim" } : narrowed;
251
+ const o = options;
252
+ const flag = (value) => value === undefined || typeof value === "boolean";
253
+ if (typeof options !== "object" || options === null || (o.show !== "hide" && o.show !== "dim")
254
+ || !(o.opacity === undefined || (typeof o.opacity === "number" && o.opacity >= 0 && o.opacity <= 1))
255
+ || !flag(o.desaturate) || !flag(o.dot) || !flag(o.frame) || !flag(o.fit)
256
+ || !(o.emphasis === undefined || o.emphasis === "halo" || o.emphasis === "pulse")) {
257
+ throw new Error("Schematic: `narrowed` is \"hide\" (the default), \"dim\", or { show: \"hide\" | \"dim\", opacity?: 0–1, desaturate?, dot?, emphasis?: \"halo\" | \"pulse\", frame?, fit? }");
258
+ }
259
+ const wire = East.value({
260
+ show: variant(o.show, null),
261
+ opacity: o.opacity ?? 0.35,
262
+ desaturate: o.desaturate ?? true,
263
+ dot: o.dot ?? false,
264
+ emphasis: o.emphasis === undefined ? none : some(variant(o.emphasis, null)),
265
+ frame: o.frame ?? false,
266
+ fit: o.fit ?? false,
267
+ }, SchematicNarrowedType);
268
+ return { wire, dim: o.show === "dim" };
269
+ }
270
+ /** The layers' declaration, as a refusal names it. */
271
+ const LAYERS = "layers={Schematic.layers(systems.read(), { label: (s) => s.label, order?, tone?, color?, visible?, locked?, opacity? })}";
272
+ /**
273
+ * The layers on the wire: what `Schematic.layers` read from the app's record
274
+ * (D36); none, when left out.
275
+ *
276
+ * @param layers - The Schematic's `layers`
277
+ * @returns The layers, in their order
278
+ * @throws {Error} For a list written in the code, or anything but `Schematic.layers`' declaration, naming it
279
+ */
280
+ function layersOf(layers) {
281
+ if (layers === undefined)
282
+ return East.value([], ArrayType(SchematicLayerType));
283
+ if (isSchematicLayers(layers))
284
+ return layers.rows;
285
+ if (Array.isArray(layers)) {
286
+ throw new Error(`Schematic: \`layers\` reads the app's own rows, as the Roster's lists do — ${LAYERS}: a list written in the code is gone, ` +
287
+ "so each layer is a row of the app's record, keyed as an entity's `layer` field names it");
288
+ }
289
+ throw new Error(`Schematic: \`layers\` is ${LAYERS}`);
290
+ }
291
+ /**
292
+ * The inspector pane (§9, D32): shown for `true`, none for `false` or left
293
+ * out, as the Plan's, the Roster's and the Calendar's.
294
+ *
295
+ * @param inspector - The Schematic's `inspector`
296
+ * @returns Whether the pane shows
297
+ * @throws {Error} For an `inspector` that is no Boolean, naming the kind's own `inspector`, the one way to give it Details
298
+ */
299
+ function inspectorOf(inspector) {
300
+ if (inspector === undefined || inspector === false)
301
+ return false;
302
+ if (inspector === true)
303
+ return true;
304
+ throw new Error("Schematic: `inspector` is true or false — a kind's own Details is its kind's `inspector`: " +
305
+ "Schematic.items(record, { …, inspector: East.function([RowType, FunctionType([RowType], NullType)], UIComponentType, ($, row, update) => …) })");
306
+ }
307
+ /**
308
+ * Creates the Schematic's payload alone — what `<Schematic>` returns through
309
+ * the `Schematic` carrier — for the tests and the renderer's fixtures, which
310
+ * read it whole.
311
+ *
312
+ * @param props - The Schematic's props ({@link SchematicProps})
313
+ * @returns An East expression of {@link SchematicPayloadType}
314
+ * @throws {Error} Naming the prop and the remedy (SC3): each prop §2 removes — rows and their mappers, the callbacks
315
+ * for an edit, `linkMode`, `readOnlyLinks` and `readOnlyItems`, the hover cards, `affordances` outside `slice`, the
316
+ * slice's effect props, `sliceSelectField`, `selectionMode`, `navigator`, `height` and `maxHeight`, `onSelectZone`,
317
+ * `onSelectionChange`, `onZoneSelectionChange`, `onSelectLink`, `onViewportChange`, `onItemOpen`, `selectZoomFocus`
318
+ * and `name` — and a prop the Schematic doesn't take; an `extent` that is no pair of positive numbers; no item kind;
319
+ * a sort given rows rather than kinds by slot, a slot holding a kind of another sort, and one slot holding two kinds;
320
+ * a link's end or a net's side holding keys of a slot that holds no item kind; a `slice` that is not `{ slice }`, or
321
+ * not `Slice.bindRecords`, or holding a source nothing names, or the brush; a templates list naming no source of the
322
+ * slice; a `narrowed` of another form; `layers` other than `Schematic.layers`' declaration, a list written in the code
323
+ * among them; an `inspector` that is no Boolean; an `id` that is no string; each of the library's refusals
324
+ * (`library.ts`); and each kind's refusals of its binding (SC33)
325
+ * @internal
326
+ */
327
+ export function createSchematicPayload(props) {
328
+ const given = props;
329
+ for (const [prop, remedy] of Object.entries(REMOVED)) {
330
+ if (prop in given)
331
+ throw new Error(prop === "item" || prop === "zone" || prop === "link" || prop === "net" ? remedy : `Schematic: \`${prop}\` is gone — ${remedy}`);
332
+ }
333
+ for (const prop of Object.keys(given)) {
334
+ if (!PROPS.has(prop) && !(prop === "children" && given[prop] === undefined)) {
335
+ throw new Error(`Schematic: \`${prop}\` is not a prop of <Schematic> — it takes ${[...PROPS].join(", ")}`);
336
+ }
337
+ }
338
+ const extent = extentOf(given.extent);
339
+ // The kinds, by slot (§1, rule 5): each slot names its kind, and the source of the slice that narrows it.
340
+ const items = kindsOf("items", given.items);
341
+ if (items.length === 0)
342
+ throw new Error(`Schematic: needs its items — items={{ <slot>: ${DECLARE.items} }}, one item kind at least, over the app's record`);
343
+ const zones = kindsOf("zones", given.zones);
344
+ const links = kindsOf("links", given.links);
345
+ const nets = kindsOf("nets", given.nets);
346
+ const kinds = [...items, ...zones, ...links, ...nets];
347
+ const slotted = new Map();
348
+ for (const one of kinds) {
349
+ const held = slotted.get(one.slot);
350
+ if (held !== undefined) {
351
+ throw new Error(`Schematic: the slot "${one.slot}" holds two kinds — ${held.sort === "items" ? "an" : "a"} ${NOUN[held.sort]} kind and ` +
352
+ `${one.sort === "items" ? "an" : "a"} ${NOUN[one.sort]} kind: each slot names one kind, and the source of the slice that narrows it`);
353
+ }
354
+ slotted.set(one.slot, one);
355
+ }
356
+ // A link's ends and a net's sides hold keys of item slots.
357
+ const itemSlots = items.map((one) => one.slot);
358
+ const holdsItems = (one, prop, slot) => {
359
+ if (!itemSlots.includes(slot)) {
360
+ throw new Error(`Schematic: the ${NOUN[one.sort]} kind "${one.slot}"'s \`${prop}\` holds keys of "${slot}", which holds no item kind — ` +
361
+ `its item slots are ${itemSlots.map((s) => `"${s}"`).join(", ")}`);
362
+ }
363
+ };
364
+ for (const one of links) {
365
+ const ends = one.kind.ends;
366
+ for (const slot of ends.from)
367
+ holdsItems(one, "from", slot);
368
+ for (const slot of ends.to)
369
+ holdsItems(one, "to", slot);
370
+ }
371
+ for (const one of nets) {
372
+ const sides = one.kind.sides;
373
+ holdsItems(one, "sources", sides.sources);
374
+ holdsItems(one, "destinations", sides.destinations);
375
+ }
376
+ // The narrowing (§10.1): one Slice.bindRecords, each source named after what it narrows.
377
+ const slice = given.slice;
378
+ if (slice !== undefined && (slice instanceof Expr || typeof slice !== "object" || slice === null || !("slice" in slice))) {
379
+ throw new Error("Schematic: `slice` takes { slice } — slice={{ slice: Slice.bindRecords(key, { … }), affordances?, persist? }}, " +
380
+ "each source named after the kind it narrows; a bare Slice.bind handle beside rows is gone");
381
+ }
382
+ const narrowing = slice;
383
+ if (narrowing?.affordances?.includes("brush") === true) {
384
+ throw new Error("Schematic: `slice`'s affordances list \"brush\", and a 2D canvas has no continuous axis to brush along — mount fields, search, presets or summary");
385
+ }
386
+ // Templates are records (#1340, ruling 9): each list names its source of the slice, refused with the change to make
387
+ // before a source no list names is.
388
+ const sliceNames = sliceSourceNames(narrowing);
389
+ const templateSources = [];
390
+ if (narrowing === undefined || isRecordSlices(narrowing.slice)) {
391
+ for (const one of kinds) {
392
+ if (one.kind.hasTemplates)
393
+ templateSources.push(templatesSource("Schematic", "Schematic.templates(rows, { …, source })", one.kind.templatesSource, sliceNames));
394
+ }
395
+ }
396
+ const tabSources = schematicTabSources(given.library);
397
+ const names = [...new Set([...kinds.map((one) => one.slot), ...templateSources, ...tabSources])];
398
+ const sources = recordSources(narrowing, {
399
+ builder: "Schematic", names, what: "its kinds, each by its slot, and the templates lists and tabs that name a source",
400
+ });
401
+ const library = buildSchematicLibrary(given.library, {
402
+ kinds: kinds.map((one) => ({
403
+ slot: one.slot, sort: one.sort, rowType: one.kind.rowType,
404
+ templates: one.kind.hasTemplates,
405
+ backlog: one.sort === "items" && one.kind.backlog,
406
+ })),
407
+ layers: given.layers !== undefined,
408
+ sources: sources.names,
409
+ });
410
+ const inspector = inspectorOf(given.inspector);
411
+ const narrowed = narrowedOf(given.narrowed);
412
+ const layers = layersOf(given.layers);
413
+ const id = given.id;
414
+ if (id !== undefined && typeof id !== "string")
415
+ throw new Error("Schematic: `id` keeps the Schematic's state apart — a string, needed only when one surface holds two");
416
+ const optional = (value) => value === undefined ? none : some(value);
417
+ return Expr.block(($) => {
418
+ // Each source bound once (#1356): a kind reads its own source inside its functions.
419
+ const bound = sources.bind($);
420
+ const shown = East.value(new Map(Object.entries(bound.keys)), ShownType);
421
+ // Dimmed, a kind read through its source reads every row: the renderer draws what the narrowing leaves out as context.
422
+ const built = (sort) => kinds.filter((one) => one.sort === sort)
423
+ .map((one) => one.kind.build(one.slot, bound.parts[one.slot], narrowed.dim));
424
+ return East.value({
425
+ extent,
426
+ scaleUnit: optional(given.scaleUnit),
427
+ items: built("items"),
428
+ zones: built("zones"),
429
+ links: built("links"),
430
+ nets: built("nets"),
431
+ layers,
432
+ slice: sources.chrome,
433
+ shown,
434
+ narrowed: narrowed.wire,
435
+ library,
436
+ inspector,
437
+ readOnly: given.readOnly ?? false,
438
+ id: id === undefined ? none : some(id),
439
+ grid: optional(given.grid),
440
+ minimap: optional(given.minimap),
441
+ canConnect: optional(given.canConnect),
442
+ onSelect: optional(given.onSelect),
443
+ }, SchematicPayloadType);
444
+ });
445
+ }
446
+ //# sourceMappingURL=payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/schematic/payload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
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
+ * `<Schematic>` (#1386) — the tag: the drawing's kinds over the app's records
7
+ * (`Schematic.items`, `zones`, `links` and `nets`, each by slot), its layers,
8
+ * its narrowing through one `Slice.bindRecords`, its library's tabs and its
9
+ * inspector. Its payload and every refusal are `payload.ts`'s, its kinds'
10
+ * `kinds.ts`'s, and its library's tabs and their refusals `library.ts`'s.
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ import type { UIElement } from "@elaraai/east-ui";
15
+ import { type SchematicProps } from "./payload.js";
16
+ /**
17
+ * `<Schematic extent={{ width, height }} items={{ racks: Schematic.items(record, { … }) }} />`
18
+ * — the drawing of the app's records: its items, zones, links and nets, each
19
+ * kind's fields mapped to the Schematic's roles (§1).
20
+ *
21
+ * @param props - The Schematic's props ({@link SchematicProps})
22
+ * @returns The Schematic: the `Schematic` carrier over its payload
23
+ */
24
+ export declare function SchematicTag(props: SchematicProps): UIElement;
25
+ /** The type of `<Schematic>` as a tag. */
26
+ export type SchematicTagType = typeof SchematicTag;
27
+ //# sourceMappingURL=schematic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic.d.ts","sourceRoot":"","sources":["../../../src/schematic/schematic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/F;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAE7D;AAED,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG,OAAO,YAAY,CAAC"}
@@ -0,0 +1,17 @@
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
+ import { SchematicComponent, createSchematicPayload } from "./payload.js";
6
+ /**
7
+ * `<Schematic extent={{ width, height }} items={{ racks: Schematic.items(record, { … }) }} />`
8
+ * — the drawing of the app's records: its items, zones, links and nets, each
9
+ * kind's fields mapped to the Schematic's roles (§1).
10
+ *
11
+ * @param props - The Schematic's props ({@link SchematicProps})
12
+ * @returns The Schematic: the `Schematic` carrier over its payload
13
+ */
14
+ export function SchematicTag(props) {
15
+ return SchematicComponent.Root(createSchematicPayload(props));
16
+ }
17
+ //# sourceMappingURL=schematic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schematic.js","sourceRoot":"","sources":["../../../src/schematic/schematic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAuB,MAAM,cAAc,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAqB;IAC9C,OAAO,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC"}