@elaraai/e3-ui 1.0.85 → 1.0.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/dist/src/bind/data-indexed.d.ts +159 -0
  2. package/dist/src/bind/data-indexed.d.ts.map +1 -0
  3. package/dist/src/bind/data-indexed.js +105 -0
  4. package/dist/src/bind/data-indexed.js.map +1 -0
  5. package/dist/src/bind/data.d.ts +5 -3
  6. package/dist/src/bind/data.d.ts.map +1 -1
  7. package/dist/src/bind/data.js +6 -0
  8. package/dist/src/bind/data.js.map +1 -1
  9. package/dist/src/bind/record.d.ts +34 -23
  10. package/dist/src/bind/record.d.ts.map +1 -1
  11. package/dist/src/bind/record.js +46 -19
  12. package/dist/src/bind/record.js.map +1 -1
  13. package/dist/src/calendar/index.d.ts +2923 -0
  14. package/dist/src/calendar/index.d.ts.map +1 -0
  15. package/dist/src/calendar/index.js +135 -0
  16. package/dist/src/calendar/index.js.map +1 -0
  17. package/dist/src/decision/queue.d.ts +3 -3
  18. package/dist/src/decision/queue.d.ts.map +1 -1
  19. package/dist/src/decision/queue.js +2 -2
  20. package/dist/src/decision/queue.js.map +1 -1
  21. package/dist/src/decision/types.d.ts +4 -0
  22. package/dist/src/decision/types.d.ts.map +1 -1
  23. package/dist/src/decision/types.js +4 -0
  24. package/dist/src/decision/types.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +114 -0
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -0
  27. package/dist/src/flowchart/canvas.js +84 -0
  28. package/dist/src/flowchart/canvas.js.map +1 -0
  29. package/dist/src/flowchart/flowchart.d.ts +79 -0
  30. package/dist/src/flowchart/flowchart.d.ts.map +1 -0
  31. package/dist/src/flowchart/flowchart.js +9 -0
  32. package/dist/src/flowchart/flowchart.js.map +1 -0
  33. package/dist/src/flowchart/index.d.ts +305 -0
  34. package/dist/src/flowchart/index.d.ts.map +1 -0
  35. package/dist/src/flowchart/index.js +267 -0
  36. package/dist/src/flowchart/index.js.map +1 -0
  37. package/dist/src/flowchart/library.d.ts +720 -0
  38. package/dist/src/flowchart/library.d.ts.map +1 -0
  39. package/dist/src/flowchart/library.js +611 -0
  40. package/dist/src/flowchart/library.js.map +1 -0
  41. package/dist/src/flowchart/over.d.ts +234 -0
  42. package/dist/src/flowchart/over.d.ts.map +1 -0
  43. package/dist/src/flowchart/over.js +220 -0
  44. package/dist/src/flowchart/over.js.map +1 -0
  45. package/dist/src/flowchart/patch.d.ts +64 -0
  46. package/dist/src/flowchart/patch.d.ts.map +1 -0
  47. package/dist/src/flowchart/patch.js +67 -0
  48. package/dist/src/flowchart/patch.js.map +1 -0
  49. package/dist/src/flowchart/payload.d.ts +8220 -0
  50. package/dist/src/flowchart/payload.d.ts.map +1 -0
  51. package/dist/src/flowchart/payload.js +521 -0
  52. package/dist/src/flowchart/payload.js.map +1 -0
  53. package/dist/src/flowchart/types.d.ts +393 -0
  54. package/dist/src/flowchart/types.d.ts.map +1 -0
  55. package/dist/src/flowchart/types.js +216 -0
  56. package/dist/src/flowchart/types.js.map +1 -0
  57. package/dist/src/flowchart/values.d.ts +267 -0
  58. package/dist/src/flowchart/values.d.ts.map +1 -0
  59. package/dist/src/flowchart/values.js +216 -0
  60. package/dist/src/flowchart/values.js.map +1 -0
  61. package/dist/src/flowchart/window.d.ts +521 -0
  62. package/dist/src/flowchart/window.d.ts.map +1 -0
  63. package/dist/src/flowchart/window.js +69 -0
  64. package/dist/src/flowchart/window.js.map +1 -0
  65. package/dist/src/index.d.ts +25 -1
  66. package/dist/src/index.d.ts.map +1 -1
  67. package/dist/src/index.js +48 -1
  68. package/dist/src/index.js.map +1 -1
  69. package/dist/src/internal.d.ts +35 -3
  70. package/dist/src/internal.d.ts.map +1 -1
  71. package/dist/src/internal.js +72 -3
  72. package/dist/src/internal.js.map +1 -1
  73. package/dist/src/plan/assemble.d.ts +2224 -0
  74. package/dist/src/plan/assemble.d.ts.map +1 -0
  75. package/dist/src/plan/assemble.js +210 -0
  76. package/dist/src/plan/assemble.js.map +1 -0
  77. package/dist/src/plan/builders.d.ts +790 -0
  78. package/dist/src/plan/builders.d.ts.map +1 -0
  79. package/dist/src/plan/builders.js +749 -0
  80. package/dist/src/plan/builders.js.map +1 -0
  81. package/dist/src/plan/event-rows.d.ts +2565 -0
  82. package/dist/src/plan/event-rows.d.ts.map +1 -0
  83. package/dist/src/plan/event-rows.js +689 -0
  84. package/dist/src/plan/event-rows.js.map +1 -0
  85. package/dist/src/plan/factories.d.ts +458 -0
  86. package/dist/src/plan/factories.d.ts.map +1 -0
  87. package/dist/src/plan/factories.js +484 -0
  88. package/dist/src/plan/factories.js.map +1 -0
  89. package/dist/src/plan/index.d.ts +672 -0
  90. package/dist/src/plan/index.d.ts.map +1 -0
  91. package/dist/src/plan/index.js +532 -0
  92. package/dist/src/plan/index.js.map +1 -0
  93. package/dist/src/plan/ir.d.ts +2594 -0
  94. package/dist/src/plan/ir.d.ts.map +1 -0
  95. package/dist/src/plan/ir.js +78 -0
  96. package/dist/src/plan/ir.js.map +1 -0
  97. package/dist/src/plan/library.d.ts +772 -0
  98. package/dist/src/plan/library.d.ts.map +1 -0
  99. package/dist/src/plan/library.js +424 -0
  100. package/dist/src/plan/library.js.map +1 -0
  101. package/dist/src/plan/ordered-source.d.ts +27 -0
  102. package/dist/src/plan/ordered-source.d.ts.map +1 -0
  103. package/dist/src/plan/ordered-source.js +48 -0
  104. package/dist/src/plan/ordered-source.js.map +1 -0
  105. package/dist/src/plan/over.d.ts +247 -0
  106. package/dist/src/plan/over.d.ts.map +1 -0
  107. package/dist/src/plan/over.js +266 -0
  108. package/dist/src/plan/over.js.map +1 -0
  109. package/dist/src/plan/pick.d.ts +78 -0
  110. package/dist/src/plan/pick.d.ts.map +1 -0
  111. package/dist/src/plan/pick.js +146 -0
  112. package/dist/src/plan/pick.js.map +1 -0
  113. package/dist/src/plan/plan.d.ts +11611 -0
  114. package/dist/src/plan/plan.d.ts.map +1 -0
  115. package/dist/src/plan/plan.js +428 -0
  116. package/dist/src/plan/plan.js.map +1 -0
  117. package/dist/src/plan/refs.d.ts +218 -0
  118. package/dist/src/plan/refs.d.ts.map +1 -0
  119. package/dist/src/plan/refs.js +226 -0
  120. package/dist/src/plan/refs.js.map +1 -0
  121. package/dist/src/plan/root.d.ts +290 -0
  122. package/dist/src/plan/root.d.ts.map +1 -0
  123. package/dist/src/plan/root.js +463 -0
  124. package/dist/src/plan/root.js.map +1 -0
  125. package/dist/src/plan/series.d.ts +13554 -0
  126. package/dist/src/plan/series.d.ts.map +1 -0
  127. package/dist/src/plan/series.js +1921 -0
  128. package/dist/src/plan/series.js.map +1 -0
  129. package/dist/src/plan/types.d.ts +12400 -0
  130. package/dist/src/plan/types.d.ts.map +1 -0
  131. package/dist/src/plan/types.js +1335 -0
  132. package/dist/src/plan/types.js.map +1 -0
  133. package/dist/src/roster/coverage.d.ts +240 -0
  134. package/dist/src/roster/coverage.d.ts.map +1 -0
  135. package/dist/src/roster/coverage.js +109 -0
  136. package/dist/src/roster/coverage.js.map +1 -0
  137. package/dist/src/roster/index.d.ts +4028 -0
  138. package/dist/src/roster/index.d.ts.map +1 -0
  139. package/dist/src/roster/index.js +115 -0
  140. package/dist/src/roster/index.js.map +1 -0
  141. package/dist/src/roster/library.d.ts +106 -0
  142. package/dist/src/roster/library.d.ts.map +1 -0
  143. package/dist/src/roster/library.js +78 -0
  144. package/dist/src/roster/library.js.map +1 -0
  145. package/dist/src/roster/people.d.ts +50 -0
  146. package/dist/src/roster/people.d.ts.map +1 -0
  147. package/dist/src/roster/people.js +32 -0
  148. package/dist/src/roster/people.js.map +1 -0
  149. package/dist/src/roster/rules.d.ts +275 -0
  150. package/dist/src/roster/rules.d.ts.map +1 -0
  151. package/dist/src/roster/rules.js +162 -0
  152. package/dist/src/roster/rules.js.map +1 -0
  153. package/dist/src/roster/types.d.ts +672 -0
  154. package/dist/src/roster/types.d.ts.map +1 -0
  155. package/dist/src/roster/types.js +248 -0
  156. package/dist/src/roster/types.js.map +1 -0
  157. package/dist/src/roster/visibility.d.ts +66 -0
  158. package/dist/src/roster/visibility.d.ts.map +1 -0
  159. package/dist/src/roster/visibility.js +25 -0
  160. package/dist/src/roster/visibility.js.map +1 -0
  161. package/dist/src/schedule/days.d.ts +54 -0
  162. package/dist/src/schedule/days.d.ts.map +1 -0
  163. package/dist/src/schedule/days.js +68 -0
  164. package/dist/src/schedule/days.js.map +1 -0
  165. package/dist/src/schedule/events.d.ts +433 -0
  166. package/dist/src/schedule/events.d.ts.map +1 -0
  167. package/dist/src/schedule/events.js +851 -0
  168. package/dist/src/schedule/events.js.map +1 -0
  169. package/dist/src/schedule/index.d.ts +150 -0
  170. package/dist/src/schedule/index.d.ts.map +1 -0
  171. package/dist/src/schedule/index.js +132 -0
  172. package/dist/src/schedule/index.js.map +1 -0
  173. package/dist/src/schedule/library.d.ts +70 -0
  174. package/dist/src/schedule/library.d.ts.map +1 -0
  175. package/dist/src/schedule/library.js +102 -0
  176. package/dist/src/schedule/library.js.map +1 -0
  177. package/dist/src/schedule/patch.d.ts +74 -0
  178. package/dist/src/schedule/patch.d.ts.map +1 -0
  179. package/dist/src/schedule/patch.js +68 -0
  180. package/dist/src/schedule/patch.js.map +1 -0
  181. package/dist/src/schedule/record-window.d.ts +189 -0
  182. package/dist/src/schedule/record-window.d.ts.map +1 -0
  183. package/dist/src/schedule/record-window.js +95 -0
  184. package/dist/src/schedule/record-window.js.map +1 -0
  185. package/dist/src/schedule/resources.d.ts +165 -0
  186. package/dist/src/schedule/resources.d.ts.map +1 -0
  187. package/dist/src/schedule/resources.js +234 -0
  188. package/dist/src/schedule/resources.js.map +1 -0
  189. package/dist/src/schedule/templates.d.ts +47 -0
  190. package/dist/src/schedule/templates.d.ts.map +1 -0
  191. package/dist/src/schedule/templates.js +61 -0
  192. package/dist/src/schedule/templates.js.map +1 -0
  193. package/dist/src/schedule/types.d.ts +1677 -0
  194. package/dist/src/schedule/types.d.ts.map +1 -0
  195. package/dist/src/schedule/types.js +374 -0
  196. package/dist/src/schedule/types.js.map +1 -0
  197. package/dist/src/schedule/window.d.ts +154 -0
  198. package/dist/src/schedule/window.d.ts.map +1 -0
  199. package/dist/src/schedule/window.js +363 -0
  200. package/dist/src/schedule/window.js.map +1 -0
  201. package/dist/src/sheet/bridge.d.ts +385 -0
  202. package/dist/src/sheet/bridge.d.ts.map +1 -0
  203. package/dist/src/sheet/bridge.js +809 -0
  204. package/dist/src/sheet/bridge.js.map +1 -0
  205. package/dist/src/sheet/columns.d.ts +410 -0
  206. package/dist/src/sheet/columns.d.ts.map +1 -0
  207. package/dist/src/sheet/columns.js +99 -0
  208. package/dist/src/sheet/columns.js.map +1 -0
  209. package/dist/src/sheet/context-bridge.d.ts +48 -0
  210. package/dist/src/sheet/context-bridge.d.ts.map +1 -0
  211. package/dist/src/sheet/context-bridge.js +216 -0
  212. package/dist/src/sheet/context-bridge.js.map +1 -0
  213. package/dist/src/sheet/draft-bridge.d.ts +37 -0
  214. package/dist/src/sheet/draft-bridge.d.ts.map +1 -0
  215. package/dist/src/sheet/draft-bridge.js +153 -0
  216. package/dist/src/sheet/draft-bridge.js.map +1 -0
  217. package/dist/src/sheet/drafts.d.ts +14 -0
  218. package/dist/src/sheet/drafts.d.ts.map +1 -0
  219. package/dist/src/sheet/drafts.js +14 -0
  220. package/dist/src/sheet/drafts.js.map +1 -0
  221. package/dist/src/sheet/editing-bridge.d.ts +40 -0
  222. package/dist/src/sheet/editing-bridge.d.ts.map +1 -0
  223. package/dist/src/sheet/editing-bridge.js +231 -0
  224. package/dist/src/sheet/editing-bridge.js.map +1 -0
  225. package/dist/src/sheet/editing-types.d.ts +268 -0
  226. package/dist/src/sheet/editing-types.d.ts.map +1 -0
  227. package/dist/src/sheet/editing-types.js +34 -0
  228. package/dist/src/sheet/editing-types.js.map +1 -0
  229. package/dist/src/sheet/edits.d.ts +37 -0
  230. package/dist/src/sheet/edits.d.ts.map +1 -0
  231. package/dist/src/sheet/edits.js +31 -0
  232. package/dist/src/sheet/edits.js.map +1 -0
  233. package/dist/src/sheet/fields.d.ts +693 -0
  234. package/dist/src/sheet/fields.d.ts.map +1 -0
  235. package/dist/src/sheet/fields.js +280 -0
  236. package/dist/src/sheet/fields.js.map +1 -0
  237. package/dist/src/sheet/group.d.ts +165 -0
  238. package/dist/src/sheet/group.d.ts.map +1 -0
  239. package/dist/src/sheet/group.js +52 -0
  240. package/dist/src/sheet/group.js.map +1 -0
  241. package/dist/src/sheet/index.d.ts +542 -0
  242. package/dist/src/sheet/index.d.ts.map +1 -0
  243. package/dist/src/sheet/index.js +387 -0
  244. package/dist/src/sheet/index.js.map +1 -0
  245. package/dist/src/sheet/library.d.ts +284 -0
  246. package/dist/src/sheet/library.d.ts.map +1 -0
  247. package/dist/src/sheet/library.js +259 -0
  248. package/dist/src/sheet/library.js.map +1 -0
  249. package/dist/src/sheet/link.d.ts +398 -0
  250. package/dist/src/sheet/link.d.ts.map +1 -0
  251. package/dist/src/sheet/link.js +228 -0
  252. package/dist/src/sheet/link.js.map +1 -0
  253. package/dist/src/sheet/record.d.ts +75 -0
  254. package/dist/src/sheet/record.d.ts.map +1 -0
  255. package/dist/src/sheet/record.js +128 -0
  256. package/dist/src/sheet/record.js.map +1 -0
  257. package/dist/src/sheet/registers.d.ts +681 -0
  258. package/dist/src/sheet/registers.d.ts.map +1 -0
  259. package/dist/src/sheet/registers.js +671 -0
  260. package/dist/src/sheet/registers.js.map +1 -0
  261. package/dist/src/sheet/root.d.ts +329 -0
  262. package/dist/src/sheet/root.d.ts.map +1 -0
  263. package/dist/src/sheet/root.js +511 -0
  264. package/dist/src/sheet/root.js.map +1 -0
  265. package/dist/src/sheet/seed-bridge.d.ts +14 -0
  266. package/dist/src/sheet/seed-bridge.d.ts.map +1 -0
  267. package/dist/src/sheet/seed-bridge.js +51 -0
  268. package/dist/src/sheet/seed-bridge.js.map +1 -0
  269. package/dist/src/sheet/sheet.d.ts +11819 -0
  270. package/dist/src/sheet/sheet.d.ts.map +1 -0
  271. package/dist/src/sheet/sheet.js +236 -0
  272. package/dist/src/sheet/sheet.js.map +1 -0
  273. package/dist/src/sheet/sub-rows.d.ts +299 -0
  274. package/dist/src/sheet/sub-rows.d.ts.map +1 -0
  275. package/dist/src/sheet/sub-rows.js +272 -0
  276. package/dist/src/sheet/sub-rows.js.map +1 -0
  277. package/dist/src/sheet/templates.d.ts +161 -0
  278. package/dist/src/sheet/templates.d.ts.map +1 -0
  279. package/dist/src/sheet/templates.js +122 -0
  280. package/dist/src/sheet/templates.js.map +1 -0
  281. package/dist/src/sheet/transactions.d.ts +76 -0
  282. package/dist/src/sheet/transactions.d.ts.map +1 -0
  283. package/dist/src/sheet/transactions.js +40 -0
  284. package/dist/src/sheet/transactions.js.map +1 -0
  285. package/dist/src/sheet/types.d.ts +15226 -0
  286. package/dist/src/sheet/types.d.ts.map +1 -0
  287. package/dist/src/sheet/types.js +1070 -0
  288. package/dist/src/sheet/types.js.map +1 -0
  289. package/dist/src/sheet/views.d.ts +29 -0
  290. package/dist/src/sheet/views.d.ts.map +1 -0
  291. package/dist/src/sheet/views.js +43 -0
  292. package/dist/src/sheet/views.js.map +1 -0
  293. package/dist/src/studio/component.d.ts.map +1 -1
  294. package/dist/src/studio/component.js +11 -8
  295. package/dist/src/studio/component.js.map +1 -1
  296. package/dist/src/utils/derive.d.ts +134 -8
  297. package/dist/src/utils/derive.d.ts.map +1 -1
  298. package/dist/src/utils/derive.js +409 -7
  299. package/dist/src/utils/derive.js.map +1 -1
  300. package/dist/src/utils/ordered-source.d.ts +38 -0
  301. package/dist/src/utils/ordered-source.d.ts.map +1 -0
  302. package/dist/src/utils/ordered-source.js +45 -0
  303. package/dist/src/utils/ordered-source.js.map +1 -0
  304. package/dist/src/utils/row-inspector.d.ts +36 -0
  305. package/dist/src/utils/row-inspector.d.ts.map +1 -0
  306. package/dist/src/utils/row-inspector.js +49 -0
  307. package/dist/src/utils/row-inspector.js.map +1 -0
  308. package/dist/test/bind/data/data.examples.d.ts +21 -19
  309. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  310. package/dist/test/bind/data/data.examples.js +122 -122
  311. package/dist/test/bind/data/data.examples.js.map +1 -1
  312. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  313. package/dist/test/bind/record/record.examples.js +9 -9
  314. package/dist/test/bind/record/record.examples.js.map +1 -1
  315. package/dist/test/calendar/calendar-records.examples.d.ts +228 -0
  316. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -0
  317. package/dist/test/calendar/calendar-records.examples.js +91 -0
  318. package/dist/test/calendar/calendar-records.examples.js.map +1 -0
  319. package/dist/test/calendar/calendar.examples.d.ts +776 -0
  320. package/dist/test/calendar/calendar.examples.d.ts.map +1 -0
  321. package/dist/test/calendar/calendar.examples.js +336 -0
  322. package/dist/test/calendar/calendar.examples.js.map +1 -0
  323. package/dist/test/decision/journal.examples.d.ts +28 -28
  324. package/dist/test/decision/journal.examples.d.ts.map +1 -1
  325. package/dist/test/decision/journal.examples.js +4 -4
  326. package/dist/test/decision/journal.examples.js.map +1 -1
  327. package/dist/test/decision/queue.examples.d.ts.map +1 -1
  328. package/dist/test/decision/queue.examples.js +5 -7
  329. package/dist/test/decision/queue.examples.js.map +1 -1
  330. package/dist/test/flowchart/flowchart.examples.d.ts +3713 -0
  331. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -0
  332. package/dist/test/flowchart/flowchart.examples.js +465 -0
  333. package/dist/test/flowchart/flowchart.examples.js.map +1 -0
  334. package/dist/test/plan/plan-events.examples.d.ts +3666 -0
  335. package/dist/test/plan/plan-events.examples.d.ts.map +1 -0
  336. package/dist/test/plan/plan-events.examples.js +773 -0
  337. package/dist/test/plan/plan-events.examples.js.map +1 -0
  338. package/dist/test/plan/plan-records.examples.d.ts +3 -0
  339. package/dist/test/plan/plan-records.examples.d.ts.map +1 -0
  340. package/dist/test/plan/plan-records.examples.js +45 -0
  341. package/dist/test/plan/plan-records.examples.js.map +1 -0
  342. package/dist/test/plan/plan-windows.examples.d.ts +588 -0
  343. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -0
  344. package/dist/test/plan/plan-windows.examples.js +170 -0
  345. package/dist/test/plan/plan-windows.examples.js.map +1 -0
  346. package/dist/test/plan/plan.examples.d.ts +8095 -0
  347. package/dist/test/plan/plan.examples.d.ts.map +1 -0
  348. package/dist/test/plan/plan.examples.js +2500 -0
  349. package/dist/test/plan/plan.examples.js.map +1 -0
  350. package/dist/test/roster/domain.examples.d.ts +367 -0
  351. package/dist/test/roster/domain.examples.d.ts.map +1 -0
  352. package/dist/test/roster/domain.examples.js +72 -0
  353. package/dist/test/roster/domain.examples.js.map +1 -0
  354. package/dist/test/roster/roster-records.examples.d.ts +729 -0
  355. package/dist/test/roster/roster-records.examples.d.ts.map +1 -0
  356. package/dist/test/roster/roster-records.examples.js +86 -0
  357. package/dist/test/roster/roster-records.examples.js.map +1 -0
  358. package/dist/test/roster/roster.examples.d.ts +750 -0
  359. package/dist/test/roster/roster.examples.d.ts.map +1 -0
  360. package/dist/test/roster/roster.examples.js +198 -0
  361. package/dist/test/roster/roster.examples.js.map +1 -0
  362. package/dist/test/roster/warehouse.d.ts +87 -0
  363. package/dist/test/roster/warehouse.d.ts.map +1 -0
  364. package/dist/test/roster/warehouse.js +883 -0
  365. package/dist/test/roster/warehouse.js.map +1 -0
  366. package/dist/test/sheet/sheet-link.examples.d.ts +7 -0
  367. package/dist/test/sheet/sheet-link.examples.d.ts.map +1 -0
  368. package/dist/test/sheet/sheet-link.examples.js +41 -0
  369. package/dist/test/sheet/sheet-link.examples.js.map +1 -0
  370. package/dist/test/sheet/sheet-records.examples.d.ts +421 -0
  371. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -0
  372. package/dist/test/sheet/sheet-records.examples.js +79 -0
  373. package/dist/test/sheet/sheet-records.examples.js.map +1 -0
  374. package/dist/test/sheet/sheet-transactions.examples.d.ts +7 -0
  375. package/dist/test/sheet/sheet-transactions.examples.d.ts.map +1 -0
  376. package/dist/test/sheet/sheet-transactions.examples.js +58 -0
  377. package/dist/test/sheet/sheet-transactions.examples.js.map +1 -0
  378. package/dist/test/sheet/sheet.examples.d.ts +5562 -0
  379. package/dist/test/sheet/sheet.examples.d.ts.map +1 -0
  380. package/dist/test/sheet/sheet.examples.js +1178 -0
  381. package/dist/test/sheet/sheet.examples.js.map +1 -0
  382. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  383. package/dist/test/studio/studio.examples.js +11 -11
  384. package/dist/test/studio/studio.examples.js.map +1 -1
  385. package/package.json +12 -9
@@ -0,0 +1,433 @@
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
+ * `Schedule.events(record, config)` (#1218, `Calendar Spec.md` §4.1): one
7
+ * event kind — shifts, jobs, inspections — a record of its own, bound with its
8
+ * patch mutation, each of its entries one event.
9
+ *
10
+ * Field names say what a gesture writes (`title`, `start`, `end`, `resource`,
11
+ * `status`), so a move, a resize or a drop writes the app's own fields; an
12
+ * accessor `(row, key) => …` gives what is not a field (a backlog row's
13
+ * duration and due date). Every name is checked against the record's row type
14
+ * at compile time, and again at build, naming itself.
15
+ *
16
+ * Plan's options sit beside the Calendar's (#1190, `Plan Builder Spec.md`
17
+ * §4.1): how the kind draws (`draw`), an instant kind's one time (`at`, in
18
+ * place of `start` and `end`), the fields its events' lifecycle, quantity
19
+ * and lane are read from (`state`, `quantity`, `lane`), whether two of its
20
+ * events on one resource at once are a conflict (`overlaps`), and the kind's
21
+ * own inspector for one event (`inspector`, #1197).
22
+ *
23
+ * The kind closes the record behind East functions over beast2 bytes
24
+ * ({@link ScheduleKindType}): its events over a window and its backlog, each
25
+ * with the drafts in place; a gesture written into an entry; the author's
26
+ * readiness check; the shared editing session over the record, which commits
27
+ * each Save through its patch mutation (`Record.onApply(record, { keyed:
28
+ * true })`); and its history. A builder's payload is one type whatever the
29
+ * records hold, and the renderer never needs a row type.
30
+ *
31
+ * A record Slice reads overlap queries through its declared interval indexes
32
+ * (`slice: Slice.bindRecord(...)`, with `range` naming the start field).
33
+ * It shares the toolbar's filters and window, counts original events once,
34
+ * and reads backlog through the same choices with an Unset start. It requires
35
+ * `entries` for original-key inspection and Save. Existing drafts outside a
36
+ * new narrowing remain in the session; Save includes them. Do not combine
37
+ * this with a local `filter`, `window`, or `backlogWindow`.
38
+ *
39
+ * A large record may also be read a window at a time (#1199, `window.ts`): given
40
+ * `window`, a paged read of a day index keyed by `Schedule.days`, the kind's
41
+ * events over a window are the rows the index files under the days in view,
42
+ * and given `backlogWindow`, a paged read of an index keyed by
43
+ * `Schedule.unscheduled`, its backlog is the rows that index holds — the
44
+ * record never read whole by either, the drafts in place over them as over the
45
+ * whole record. A kind read through its day index whose times are Options
46
+ * reads its backlog through its backlog index too, and every kind given
47
+ * `window` reads one event by its key through `entries`, a paged read of the
48
+ * record's own entries: the inspector's event (`planEvent`, which looks first
49
+ * among the rows the windows hold, where a gesture's event is drawn), and its
50
+ * editing session's, which is a session over the record's revision rather
51
+ * than its snapshot — its drafts held by key, each checked by the record
52
+ * against what it began from, and a Save's entries read back by key. It builds
53
+ * two ways:
54
+ * `build(slot)` is the Calendar's kind, which takes no notice of Plan's
55
+ * options, and `buildPlan(slot)` Plan's ({@link PlanEventKindType}), the same
56
+ * kind with how it draws, its roles, and its events as Plan draws them.
57
+ *
58
+ * A record may be keyed by any type: an event is named by its key's text, a
59
+ * String key as it is, any other key as East prints it.
60
+ *
61
+ * @packageDocumentation
62
+ */
63
+ import { BooleanType, DateTimeType, DictType, FloatType, OptionType, StringType, StructType, type EastType, type ExprType, type FunctionType, type NullType, type SubtypeExprOrValue, type VariantType } from "@elaraai/east";
64
+ import { EventStateType, type UIComponentType } from "@elaraai/east-ui";
65
+ import { EditingReadinessType, TickFormatType, type FieldHints } from "@elaraai/east-ui/internal";
66
+ import type { PlanDrawLiteral } from "../plan/types.js";
67
+ import { type ScheduleTemplates } from "./templates.js";
68
+ import { SCHEDULE_DEF } from "./resources.js";
69
+ import { type ScheduleRecordSlice } from "./record-window.js";
70
+ import { PlanEventKindType, ScheduleClockType, ScheduleDurationType, ScheduleKindType, type ScheduleStatusCasesType } from "./types.js";
71
+ /**
72
+ * A record bound with its patch mutation, as a kind reads it — what
73
+ * `Record.bind(record, [e3.mutation.patch(record)])` returns for a `Dict`.
74
+ *
75
+ * @typeParam K - The record's key type
76
+ * @typeParam R - Its row type
77
+ */
78
+ export interface ScheduleRecordHandle<K extends EastType, R extends EastType> {
79
+ /** The record's entries. */
80
+ read: (...args: never[]) => ExprType<DictType<K, R>>;
81
+ /** The record's commits. */
82
+ history: unknown;
83
+ /** The record's writes, its patch door among them. */
84
+ commit: unknown;
85
+ /** The record's binding. */
86
+ binding: unknown;
87
+ }
88
+ /** The names of a struct's fields. */
89
+ type FieldName<R extends StructType> = keyof R["fields"] & string;
90
+ /** The fields of a struct whose type is `T`. */
91
+ type FieldsOf<R extends StructType, T> = {
92
+ [F in FieldName<R>]: R["fields"][F] extends T ? F : never;
93
+ }[FieldName<R>];
94
+ /** Whether a variant's cases are an Option's. */
95
+ type IsOption<C> = "none" extends keyof C ? ("some" extends keyof C ? true : false) : false;
96
+ /** Whether every case of a variant holds a String. */
97
+ type StringCases<C> = [C[keyof C]] extends [StringType] ? true : false;
98
+ /** A type with its Option taken off, once: a resource field may be an Option of what it holds, never an Option of an Option. */
99
+ type Unwrapped<T> = T extends VariantType<infer C> ? (IsOption<C> extends true ? C["some" & keyof C] : T) : T;
100
+ /** What a resource field holds, its Option taken off: a key of one kind (`"key"`), or a case per kind (`"cases"`). */
101
+ type ResourceShapeOf<T> = T extends StringType ? "key" : T extends VariantType<infer C> ? (StringCases<C> extends true ? "cases" : never) : never;
102
+ /** What a resource field holds: a key of one kind (`"key"`), or a case per kind (`"cases"`). */
103
+ type ResourceShape<T> = ResourceShapeOf<Unwrapped<T>>;
104
+ /** A String field of the row: an event's title, or the lane its tile sits in. */
105
+ export type ScheduleStringField<R extends StructType> = FieldsOf<R, StringType>;
106
+ /** A DateTime field of the row, or an Option of one: an event's start or end. */
107
+ export type ScheduleInstantField<R extends StructType> = FieldsOf<R, DateTimeType | OptionType<DateTimeType>>;
108
+ /** A plain DateTime field of the row: an instant kind's one time (`at`). */
109
+ export type ScheduleAtField<R extends StructType> = FieldsOf<R, DateTimeType>;
110
+ /** A Float field of the row: an event's quantity. */
111
+ export type ScheduleFloatField<R extends StructType> = FieldsOf<R, FloatType>;
112
+ /** An `EventStateType` field of the row: the lifecycle an event wears on a Plan. */
113
+ export type ScheduleStateField<R extends StructType> = FieldsOf<R, EventStateType>;
114
+ /**
115
+ * A field of the row that names a resource: a String or an `Option<String>`,
116
+ * holding a key of one resource kind; or a variant of String cases, or an
117
+ * Option of one, holding a key of the kind its case names.
118
+ */
119
+ export type ScheduleResourceField<R extends StructType> = {
120
+ [F in FieldName<R>]: [ResourceShape<R["fields"][F]>] extends [never] ? never : F;
121
+ }[FieldName<R>];
122
+ /** What `of` takes for a resource field, its Option taken off. */
123
+ type ResourceOfUnwrapped<T> = T extends StringType ? string : T extends VariantType<infer C> ? {
124
+ readonly [K in keyof C]: string;
125
+ } : never;
126
+ /** What `of` takes for a resource field: a resource slot's name, or one per case. */
127
+ export type ScheduleResourceOf<T> = ResourceOfUnwrapped<Unwrapped<T>>;
128
+ /** A variant field of the row, not an Option: an event's status. */
129
+ export type ScheduleStatusField<R extends StructType> = {
130
+ [F in FieldName<R>]: R["fields"][F] extends VariantType<infer C> ? (IsOption<C> extends true ? never : F) : never;
131
+ }[FieldName<R>];
132
+ /** The status table a status variant takes: one Status per case. */
133
+ export type ScheduleStatusCasesOf<T> = T extends VariantType<infer C> ? ScheduleStatusCasesType<C> : never;
134
+ /** A template's values: the row's fields less the ones a drop places (the start, the end and the resource, or an instant's `at`). */
135
+ export type ScheduleValuesOf<R extends StructType, Placed extends string> = StructType<{
136
+ [F in Exclude<FieldName<R>, Placed>]: R["fields"][F];
137
+ }>;
138
+ /**
139
+ * A backlog: how long an unscheduled row takes, and when it is due.
140
+ *
141
+ * @typeParam K - The record's key type
142
+ * @typeParam R - Its row type
143
+ */
144
+ export interface ScheduleBacklog<K extends EastType, R extends EastType> {
145
+ /** How long an unscheduled row takes, which sizes it when it is dropped. */
146
+ duration: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<ScheduleDurationType>;
147
+ /** When it is due, which groups the backlog. */
148
+ due?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<OptionType<DateTimeType>>;
149
+ }
150
+ /**
151
+ * A preset the library lists: dropped, it creates an event of its kind.
152
+ *
153
+ * @typeParam V - Its values' type: the row's fields less the start, the end and the resource
154
+ */
155
+ export interface ScheduleTemplate<V extends StructType> {
156
+ /** Unique within its kind. */
157
+ key: string;
158
+ /** The card's name. */
159
+ name: string;
160
+ /** The library's group for it. */
161
+ group?: string;
162
+ /** When it starts if dropped on a whole day: `{ hour: 6n, minute: 0n }`. */
163
+ at?: SubtypeExprOrValue<ScheduleClockType>;
164
+ /** How long it runs: `variant("hours", 8)`. */
165
+ duration: SubtypeExprOrValue<ScheduleDurationType>;
166
+ /** A value for every field but the start, the end and the resource. */
167
+ values: SubtypeExprOrValue<V>;
168
+ }
169
+ /**
170
+ * A preset of an instant kind: dropped, it creates an event at one time, so
171
+ * it has no duration.
172
+ *
173
+ * @typeParam V - Its values' type: the row's fields less `at` and the resource
174
+ */
175
+ export type ScheduleInstantTemplate<V extends StructType> = Omit<ScheduleTemplate<V>, "duration">;
176
+ /**
177
+ * How a status variant shows, case by case.
178
+ *
179
+ * @typeParam R - The row type
180
+ * @typeParam SF - The status field
181
+ */
182
+ export interface ScheduleStatusConfig<R extends StructType, SF extends string> {
183
+ /** The status field: a variant, not an Option. */
184
+ field: SF;
185
+ /** One Status per case: its words, its tone and whether it is an open ring. */
186
+ cases: SubtypeExprOrValue<ScheduleStatusCasesOf<R["fields"][SF]>>;
187
+ }
188
+ /**
189
+ * A quantity an event carries: what a Plan's bar prints after its label, and
190
+ * a parent's rollup sums, unit by unit.
191
+ *
192
+ * @typeParam R - The row type
193
+ */
194
+ export interface ScheduleQuantity<R extends StructType> {
195
+ /** The Float field the quantity is. */
196
+ field: ScheduleFloatField<R>;
197
+ /** Its unit (`"sheets"`): quantities in different units never sum together. */
198
+ unit?: string;
199
+ /** How it prints (`Format.*`); omitted, the canvas's plain number. */
200
+ format?: SubtypeExprOrValue<TickFormatType>;
201
+ }
202
+ /** Whether two events of a kind on one resource at once are a conflict: `warn` (the default) or `allow`. */
203
+ export type ScheduleOverlapsLiteral = "warn" | "allow";
204
+ /**
205
+ * What every event kind declares, whether its events run from a start to an
206
+ * end or are each one instant (`Calendar Spec.md` §4.1, `Plan Builder Spec.md`
207
+ * §4.1). An option a builder has no use for is accepted and ignored there:
208
+ * the Calendar takes no notice of Plan's.
209
+ *
210
+ * @typeParam K - The record's key type
211
+ * @typeParam R - Its row type
212
+ * @typeParam F - The resource field, when the kind has one
213
+ * @typeParam SF - The status field, when the kind has one
214
+ */
215
+ export interface ScheduleEventsBase<K extends EastType, R extends StructType, F extends string, SF extends string> {
216
+ /** The kind's name: on its events, in the filter and the inspector. */
217
+ name: string;
218
+ /** Its Font Awesome icon. */
219
+ icon: string;
220
+ /** The String field an event's title is: drawn on its block, edited in the inspector. */
221
+ title: ScheduleStringField<R>;
222
+ /** The resource an event is on: a key field of one kind (`of: "people"`), or a variant field with a kind per case. Omitted, no resource. */
223
+ resource?: {
224
+ field: F;
225
+ of: ScheduleResourceOf<R["fields"][F]>;
226
+ };
227
+ /** A variant field shown as the event's status, a Status per case. On a Plan, a warning tone rings the element. */
228
+ status?: ScheduleStatusConfig<R, SF>;
229
+ /** Hints for the inspector's form over the other fields (`Schedule.field`, east-ui's `Fields`). */
230
+ fields?: FieldHints<R["fields"]>;
231
+ /**
232
+ * Author-owned narrowing over the typed row and its original key, usually
233
+ * `Slice.apply.matches` over an author-bound Slice. Runs after drafts are
234
+ * overlaid on a record or index window, for scheduled rows and backlog.
235
+ * Does not change by-key inspector reads, editing baselines or Save.
236
+ * On a paged record this filters the requested window, not all history.
237
+ */
238
+ filter?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<BooleanType>;
239
+ /** The app's check on a drafted event: a refusal holds Save, naming the event and the field. */
240
+ ready?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<typeof EditingReadinessType>;
241
+ /**
242
+ * A paged read of a day index over the record (`Data.bindPaged(record, {
243
+ * index, join: true })`), keyed by `Schedule.days`: the kind's events over
244
+ * a window are the rows the index files under the days in view, and the
245
+ * record is never read whole for them (#1199). A kind whose times are
246
+ * Options reads its backlog through `backlogWindow` beside it, and every
247
+ * kind given it reads one event by its key through `entries`.
248
+ */
249
+ window?: unknown;
250
+ /** Indexed record narrowing. Uses an interval index, with original-key entries beside it. */
251
+ slice?: ScheduleRecordSlice<K, R>;
252
+ /**
253
+ * A paged read of the record's own entries (`Data.bindPaged(record)`),
254
+ * beside `window` (#1199): one event read by its key — its key sought, then
255
+ * a one-row page — for the inspector, and for the editing session, whose
256
+ * base is the record's revision: a draft's original, a Save's entries read
257
+ * back, a conflict's entries named. Required with `window` or record `slice`.
258
+ */
259
+ entries?: unknown;
260
+ /** Plan: the `EventStateType` field whose lifecycle its events wear. Omitted, confirmed. */
261
+ state?: ScheduleStateField<R>;
262
+ /** Plan: the Float field a bar prints and a parent's rollup sums, unit by unit. */
263
+ quantity?: ScheduleQuantity<R>;
264
+ /** Plan: the String field naming the lane a tile sits in (AM, PM). */
265
+ lane?: ScheduleStringField<R>;
266
+ /** Whether two events of the kind on one resource at once are a conflict (`"warn"`, the default) or run in parallel (`"allow"`). */
267
+ overlaps?: ScheduleOverlapsLiteral;
268
+ /**
269
+ * Plan and Calendar: the kind's own inspector for one event (PB60) — an East function
270
+ * over the event's row and a writer of the edited row,
271
+ * `(row, update) => UIComponentType`, passed through untouched (never
272
+ * called at build), capturing only data and bind handles. A Plan's
273
+ * inspector pane shows what it returns for one event of the kind, in place
274
+ * of the kind's form over `fields`; `update(edited)` writes the edited
275
+ * event back as one transaction. Omitted, the form.
276
+ */
277
+ inspector?: SubtypeExprOrValue<FunctionType<[R, FunctionType<[R], NullType>], UIComponentType>>;
278
+ }
279
+ /**
280
+ * An event kind whose events run from a start to an end (`Calendar Spec.md`
281
+ * §4.1).
282
+ *
283
+ * @typeParam K - The record's key type
284
+ * @typeParam R - Its row type
285
+ * @typeParam S - The start field
286
+ * @typeParam E - The end field
287
+ * @typeParam F - The resource field, when the kind has one
288
+ * @typeParam SF - The status field, when the kind has one
289
+ */
290
+ export interface ScheduleEventsConfig<K extends EastType, R extends StructType, S extends string, E extends string, F extends string, SF extends string = never> extends ScheduleEventsBase<K, R, F, SF> {
291
+ /** The field an event starts at: a DateTime, or an Option of one, which gives the kind a backlog. */
292
+ start: S;
293
+ /** The field an event ends at: of the start's type. */
294
+ end: E;
295
+ /** Plan: how it draws — bars (`"span"`, the default), tiles in bucket cells, chips over whole buckets, or marks at its start. */
296
+ draw?: PlanDrawLiteral;
297
+ /** For Option times: how long an unscheduled row takes, and when it is due. */
298
+ backlog?: R["fields"][S] extends OptionType<DateTimeType> ? ScheduleBacklog<K, R> : never;
299
+ /** The presets the library lists. */
300
+ templates?: readonly ScheduleTemplate<ScheduleValuesOf<R, S | E | F>>[] | ScheduleTemplates<ScheduleValuesOf<R, S | E | F>>;
301
+ /**
302
+ * A paged read of a backlog index over the record (`Data.bindPaged(record,
303
+ * { index, join: true })`), keyed by `Schedule.unscheduled`: the kind's
304
+ * backlog is the rows the index holds (#1199).
305
+ */
306
+ backlogWindow?: unknown;
307
+ }
308
+ /**
309
+ * An event kind whose events are each one instant (`Plan Builder Spec.md`
310
+ * §4.1): a plate change, a delivery. Drawn as tiles or marks.
311
+ *
312
+ * @typeParam K - The record's key type
313
+ * @typeParam R - Its row type
314
+ * @typeParam A - The instant's field
315
+ * @typeParam F - The resource field, when the kind has one
316
+ * @typeParam SF - The status field, when the kind has one
317
+ */
318
+ export interface ScheduleInstantEventsConfig<K extends EastType, R extends StructType, A extends string, F extends string, SF extends string = never> extends ScheduleEventsBase<K, R, F, SF> {
319
+ /** The DateTime field an event is at, in place of `start` and `end`. */
320
+ at: A;
321
+ /** Plan: how it draws — marks (the default) or tiles in bucket cells. */
322
+ draw?: "buckets" | "marks";
323
+ /** The presets the library lists; an instant has no duration. */
324
+ templates?: readonly ScheduleInstantTemplate<ScheduleValuesOf<R, A | F>>[];
325
+ }
326
+ /**
327
+ * An event kind, declared: what a builder's `events` takes, by slot.
328
+ *
329
+ * @typeParam K - The record's key type
330
+ * @typeParam R - Its row type
331
+ */
332
+ export interface ScheduleEventKind<K extends EastType, R extends EastType> {
333
+ /** What it is. */
334
+ readonly [SCHEDULE_DEF]: "events";
335
+ /** The record's key type. */
336
+ readonly keyType: K;
337
+ /** Its row type. */
338
+ readonly rowType: R;
339
+ /** Its name. */
340
+ readonly name: string;
341
+ /** Its Font Awesome icon: what each of its elements on a Plan wears (#1192). */
342
+ readonly icon: string;
343
+ /** The resource kinds its events may be on, by slot name: `resource.of`'s. */
344
+ readonly takes: readonly string[];
345
+ /** Plan: how it draws — bars, tiles, chips or marks; a resource draws a row for each way its kinds draw (#1192). */
346
+ readonly draw: PlanDrawLiteral;
347
+ /**
348
+ * The kind on the wire, under its slot: the Calendar's, which takes no
349
+ * notice of Plan's options.
350
+ *
351
+ * @param slot - The builder's slot name for it
352
+ * @returns The kind, closed
353
+ */
354
+ build(slot: string): ExprType<ScheduleKindType>;
355
+ /**
356
+ * The kind on the wire as Plan's builder takes it, under its slot: the
357
+ * Calendar's kind with how it draws, its roles, and its events as Plan
358
+ * draws them.
359
+ *
360
+ * @param slot - The builder's slot name for it
361
+ * @returns The kind, closed
362
+ */
363
+ buildPlan(slot: string): ExprType<PlanEventKindType>;
364
+ }
365
+ /**
366
+ * Declares an event kind (see the module docs).
367
+ *
368
+ * @typeParam K - The record's key type
369
+ * @typeParam R - Its row type
370
+ * @typeParam S - The start field
371
+ * @typeParam E - The end field
372
+ * @typeParam F - The resource field, when the kind has one
373
+ * @typeParam SF - The status field, when the kind has one
374
+ * @param record - The record, `Record.bind(record, [e3.mutation.patch(record)])`; a `Dict` of row structs
375
+ * @param config - The kind's options: its name and icon, the fields a gesture writes, its status, backlog, form, templates, check and windows, and Plan's
376
+ * @returns The kind, for a builder's `events`
377
+ * @throws {Error} Naming the option: a record that is not a `Dict` of structs or is not bound with its patch mutation; a
378
+ * `title` that is not a String field; a `start` or `end` that is not a DateTime field or an Option of one, or one of each;
379
+ * an `at` that is not a DateTime field, or given with `start` and `end`; a `resource` field that holds no resource key, an
380
+ * `of` that is not a slot name for a key field, or whose cases are not the variant's; a `status` that is not a variant;
381
+ * `backlog` without Option times; a template key repeated, a span kind's template without a duration, or values of
382
+ * another type; `fields` naming a field the row does not have, or hinting one it cannot; a window over another index,
383
+ * a `backlogWindow` on plain times, a `window` over Option times without a `backlogWindow`, a `window` without
384
+ * `entries`, `entries` without a `window` or record `slice`, and `entries` that is not a paged read of the record's own entries naming
385
+ * its snapshot (#1199) — a window that reads no rows (`join` not true) is refused as it is read, naming `join: true`;
386
+ * a `draw` that is not a way to draw, or draws two ends of an instant; a `state`, `quantity` or `lane` field of
387
+ * another type; a `review`, which is removed (#1260); an `overlaps` that is neither `"warn"` nor `"allow"`; and an
388
+ * `inspector` that is not an East function `(row, update) => UIComponentType` over the row
389
+ * @example
390
+ * ```tsx
391
+ * import { DateTimeType, DictType, East, NullType, OptionType, StringType, StructType, VariantType, variant } from "@elaraai/east";
392
+ * import { Reactive, UIComponentType } from "@elaraai/east-ui";
393
+ * import { Record, Schedule } from "@elaraai/e3-ui";
394
+ * import e3 from "@elaraai/e3";
395
+ *
396
+ * const ShiftType = StructType({
397
+ * title: StringType, start: DateTimeType, end: DateTimeType,
398
+ * person: OptionType(StringType),
399
+ * status: VariantType({ tentative: NullType, confirmed: NullType }),
400
+ * });
401
+ * const shifts = e3.record("shifts", DictType(StringType, ShiftType), new Map());
402
+ * const shiftsPatch = e3.mutation.patch(shifts);
403
+ *
404
+ * // Inside a builder's Reactive body: shifts on people, their status shown.
405
+ * const shift = Schedule.events(Record.bind(shifts, [shiftsPatch]), {
406
+ * name: "Shift", icon: "user-clock",
407
+ * title: "title", start: "start", end: "end",
408
+ * resource: { field: "person", of: "people" },
409
+ * status: { field: "status", cases: {
410
+ * tentative: { label: "Tentative", tone: variant("neutral", null), ring: true },
411
+ * confirmed: { label: "Confirmed", tone: variant("success", null), ring: false },
412
+ * } },
413
+ * });
414
+ * ```
415
+ */
416
+ export declare function scheduleEvents<K extends EastType, R extends StructType, S extends ScheduleInstantField<R>, E extends ScheduleInstantField<R>, F extends ScheduleResourceField<R> = never, SF extends ScheduleStatusField<R> = never>(record: ScheduleRecordHandle<K, R>, config: ScheduleEventsConfig<K, R, S, E, F, SF>): ScheduleEventKind<K, R>;
417
+ /**
418
+ * Declares an instant event kind, each event one time (`at`): a plate change,
419
+ * a delivery (see the module docs).
420
+ *
421
+ * @typeParam K - The record's key type
422
+ * @typeParam R - Its row type
423
+ * @typeParam A - The instant's field
424
+ * @typeParam F - The resource field, when the kind has one
425
+ * @typeParam SF - The status field, when the kind has one
426
+ * @param record - The record, `Record.bind(record, [e3.mutation.patch(record)])`; a `Dict` of row structs
427
+ * @param config - The kind's options, with `at` in place of `start` and `end`
428
+ * @returns The kind, for a builder's `events`
429
+ * @throws {Error} Naming the option, as the span form does
430
+ */
431
+ export declare function scheduleEvents<K extends EastType, R extends StructType, A extends ScheduleAtField<R>, F extends ScheduleResourceField<R> = never, SF extends ScheduleStatusField<R> = never>(record: ScheduleRecordHandle<K, R>, config: ScheduleInstantEventsConfig<K, R, A, F, SF>): ScheduleEventKind<K, R>;
432
+ export {};
433
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/schedule/events.ts"],"names":[],"mappings":"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"}