@elaraai/east-ui 1.0.68 → 1.0.69

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 (306) hide show
  1. package/README.md +2 -2
  2. package/dist/src/charts/chart/index.d.ts +39 -4
  3. package/dist/src/charts/chart/index.d.ts.map +1 -1
  4. package/dist/src/charts/chart/index.js +3 -3
  5. package/dist/src/charts/chart/index.js.map +1 -1
  6. package/dist/src/charts/spec/index.d.ts +61 -3
  7. package/dist/src/charts/spec/index.d.ts.map +1 -1
  8. package/dist/src/charts/spec/types.d.ts +1 -1
  9. package/dist/src/charts/spec/types.js +1 -1
  10. package/dist/src/collections/blend/index.d.ts +1 -1
  11. package/dist/src/collections/blend/index.d.ts.map +1 -1
  12. package/dist/src/collections/blend/index.js +1 -1
  13. package/dist/src/collections/blend/index.js.map +1 -1
  14. package/dist/src/collections/blend/types.js +1 -1
  15. package/dist/src/collections/blend/types.js.map +1 -1
  16. package/dist/src/collections/board/index.d.ts +4 -4
  17. package/dist/src/collections/board/index.d.ts.map +1 -1
  18. package/dist/src/collections/board/index.js +1 -1
  19. package/dist/src/collections/board/index.js.map +1 -1
  20. package/dist/src/collections/board/types.js +1 -1
  21. package/dist/src/collections/board/types.js.map +1 -1
  22. package/dist/src/collections/calendar/index.d.ts +1 -1
  23. package/dist/src/collections/calendar/index.d.ts.map +1 -1
  24. package/dist/src/collections/deck/index.d.ts +58 -0
  25. package/dist/src/collections/deck/index.d.ts.map +1 -1
  26. package/dist/src/collections/index.d.ts +1 -2
  27. package/dist/src/collections/index.d.ts.map +1 -1
  28. package/dist/src/collections/index.js +1 -2
  29. package/dist/src/collections/index.js.map +1 -1
  30. package/dist/src/collections/library/index.d.ts +29 -0
  31. package/dist/src/collections/library/index.d.ts.map +1 -1
  32. package/dist/src/collections/library/types.d.ts +29 -0
  33. package/dist/src/collections/library/types.d.ts.map +1 -1
  34. package/dist/src/collections/matrix/index.d.ts +1 -1
  35. package/dist/src/collections/matrix/index.d.ts.map +1 -1
  36. package/dist/src/collections/plan/assemble.d.ts +3732 -0
  37. package/dist/src/collections/plan/assemble.d.ts.map +1 -0
  38. package/dist/src/collections/plan/assemble.js +187 -0
  39. package/dist/src/collections/plan/assemble.js.map +1 -0
  40. package/dist/src/collections/plan/builders.d.ts +612 -0
  41. package/dist/src/collections/plan/builders.d.ts.map +1 -0
  42. package/dist/src/collections/plan/builders.js +543 -0
  43. package/dist/src/collections/plan/builders.js.map +1 -0
  44. package/dist/src/collections/plan/data-forms.d.ts +332 -0
  45. package/dist/src/collections/plan/data-forms.d.ts.map +1 -0
  46. package/dist/src/collections/plan/data-forms.js +212 -0
  47. package/dist/src/collections/plan/data-forms.js.map +1 -0
  48. package/dist/src/collections/plan/factories.d.ts +338 -0
  49. package/dist/src/collections/plan/factories.d.ts.map +1 -0
  50. package/dist/src/collections/plan/factories.js +414 -0
  51. package/dist/src/collections/plan/factories.js.map +1 -0
  52. package/dist/src/collections/plan/index.d.ts +271 -0
  53. package/dist/src/collections/plan/index.d.ts.map +1 -0
  54. package/dist/src/collections/plan/index.js +162 -0
  55. package/dist/src/collections/plan/index.js.map +1 -0
  56. package/dist/src/collections/plan/ir.d.ts +3496 -0
  57. package/dist/src/collections/plan/ir.d.ts.map +1 -0
  58. package/dist/src/collections/plan/ir.js +83 -0
  59. package/dist/src/collections/plan/ir.js.map +1 -0
  60. package/dist/src/collections/plan/pick.d.ts +115 -0
  61. package/dist/src/collections/plan/pick.d.ts.map +1 -0
  62. package/dist/src/collections/plan/pick.js +193 -0
  63. package/dist/src/collections/plan/pick.js.map +1 -0
  64. package/dist/src/collections/plan/root.d.ts +210 -0
  65. package/dist/src/collections/plan/root.d.ts.map +1 -0
  66. package/dist/src/collections/plan/root.js +146 -0
  67. package/dist/src/collections/plan/root.js.map +1 -0
  68. package/dist/src/collections/plan/series.d.ts +11890 -0
  69. package/dist/src/collections/plan/series.d.ts.map +1 -0
  70. package/dist/src/collections/plan/series.js +412 -0
  71. package/dist/src/collections/plan/series.js.map +1 -0
  72. package/dist/src/collections/plan/types.d.ts +9291 -0
  73. package/dist/src/collections/plan/types.d.ts.map +1 -0
  74. package/dist/src/collections/plan/types.js +940 -0
  75. package/dist/src/collections/plan/types.js.map +1 -0
  76. package/dist/src/collections/roster/index.d.ts +4 -4
  77. package/dist/src/collections/roster/index.d.ts.map +1 -1
  78. package/dist/src/collections/roster/index.js +1 -1
  79. package/dist/src/collections/roster/index.js.map +1 -1
  80. package/dist/src/collections/roster/types.d.ts +1 -1
  81. package/dist/src/collections/roster/types.d.ts.map +1 -1
  82. package/dist/src/collections/roster/types.js +4 -3
  83. package/dist/src/collections/roster/types.js.map +1 -1
  84. package/dist/src/collections/table/index.d.ts +70 -2
  85. package/dist/src/collections/table/index.d.ts.map +1 -1
  86. package/dist/src/collections/table/index.js +55 -11
  87. package/dist/src/collections/table/index.js.map +1 -1
  88. package/dist/src/collections/table/types.d.ts +1 -1
  89. package/dist/src/collections/table/types.d.ts.map +1 -1
  90. package/dist/src/component.d.ts +3898 -1339
  91. package/dist/src/component.d.ts.map +1 -1
  92. package/dist/src/component.js +83 -146
  93. package/dist/src/component.js.map +1 -1
  94. package/dist/src/container/card/types.d.ts +1 -1
  95. package/dist/src/container/card/types.d.ts.map +1 -1
  96. package/dist/src/contracts/approval.d.ts +117 -0
  97. package/dist/src/contracts/approval.d.ts.map +1 -0
  98. package/dist/src/contracts/approval.js +105 -0
  99. package/dist/src/contracts/approval.js.map +1 -0
  100. package/dist/src/contracts/drag.d.ts +3 -3
  101. package/dist/src/contracts/drag.d.ts.map +1 -1
  102. package/dist/src/contracts/drag.js +23 -10
  103. package/dist/src/contracts/drag.js.map +1 -1
  104. package/dist/src/contracts/index.d.ts +4 -1
  105. package/dist/src/contracts/index.d.ts.map +1 -1
  106. package/dist/src/contracts/index.js +4 -1
  107. package/dist/src/contracts/index.js.map +1 -1
  108. package/dist/src/contracts/pick.d.ts +705 -0
  109. package/dist/src/contracts/pick.d.ts.map +1 -0
  110. package/dist/src/contracts/pick.js +360 -0
  111. package/dist/src/contracts/pick.js.map +1 -0
  112. package/dist/src/contracts/review.d.ts +7 -99
  113. package/dist/src/contracts/review.d.ts.map +1 -1
  114. package/dist/src/contracts/review.js +11 -85
  115. package/dist/src/contracts/review.js.map +1 -1
  116. package/dist/src/contracts/slice-affordances.d.ts +13 -4
  117. package/dist/src/contracts/slice-affordances.d.ts.map +1 -1
  118. package/dist/src/contracts/slice-affordances.js +13 -3
  119. package/dist/src/contracts/slice-affordances.js.map +1 -1
  120. package/dist/src/contracts/source.d.ts +432 -0
  121. package/dist/src/contracts/source.d.ts.map +1 -0
  122. package/dist/src/contracts/source.js +505 -0
  123. package/dist/src/contracts/source.js.map +1 -0
  124. package/dist/src/contracts/states.d.ts +130 -0
  125. package/dist/src/contracts/states.d.ts.map +1 -1
  126. package/dist/src/contracts/states.js +122 -0
  127. package/dist/src/contracts/states.js.map +1 -1
  128. package/dist/src/contracts/time.d.ts +76 -0
  129. package/dist/src/contracts/time.d.ts.map +1 -0
  130. package/dist/src/contracts/time.js +78 -0
  131. package/dist/src/contracts/time.js.map +1 -0
  132. package/dist/src/display/trace/types.d.ts +1 -1
  133. package/dist/src/display/trace/types.d.ts.map +1 -1
  134. package/dist/src/index.d.ts +10 -2
  135. package/dist/src/index.d.ts.map +1 -1
  136. package/dist/src/index.js +22 -2
  137. package/dist/src/index.js.map +1 -1
  138. package/dist/src/internal.d.ts +5 -3
  139. package/dist/src/internal.d.ts.map +1 -1
  140. package/dist/src/internal.js +4 -3
  141. package/dist/src/internal.js.map +1 -1
  142. package/dist/src/layout/dock/index.d.ts +1 -1
  143. package/dist/src/layout/dock/index.js +1 -1
  144. package/dist/src/layout/index.d.ts +0 -1
  145. package/dist/src/layout/index.d.ts.map +1 -1
  146. package/dist/src/layout/index.js +0 -1
  147. package/dist/src/layout/index.js.map +1 -1
  148. package/dist/src/overlays/drawer/types.d.ts +1 -1
  149. package/dist/src/overlays/drawer/types.d.ts.map +1 -1
  150. package/dist/src/pick/index.d.ts +443 -0
  151. package/dist/src/pick/index.d.ts.map +1 -0
  152. package/dist/src/pick/index.js +64 -0
  153. package/dist/src/pick/index.js.map +1 -0
  154. package/dist/src/pick/panel/index.d.ts +64 -0
  155. package/dist/src/pick/panel/index.d.ts.map +1 -0
  156. package/dist/src/pick/panel/index.js +61 -0
  157. package/dist/src/pick/panel/index.js.map +1 -0
  158. package/dist/src/platform/slice/index.d.ts +291 -0
  159. package/dist/src/platform/slice/index.d.ts.map +1 -1
  160. package/dist/src/platform/slice/index.js +16 -0
  161. package/dist/src/platform/slice/index.js.map +1 -1
  162. package/dist/src/runtime/collections/deck.d.ts +29 -0
  163. package/dist/src/runtime/collections/deck.d.ts.map +1 -1
  164. package/dist/src/runtime/collections/index.d.ts +1 -2
  165. package/dist/src/runtime/collections/index.d.ts.map +1 -1
  166. package/dist/src/runtime/collections/index.js +1 -2
  167. package/dist/src/runtime/collections/index.js.map +1 -1
  168. package/dist/src/runtime/collections/library.d.ts +1 -1
  169. package/dist/src/runtime/collections/library.js +1 -1
  170. package/dist/src/runtime/collections/plan.d.ts +98 -0
  171. package/dist/src/runtime/collections/plan.d.ts.map +1 -0
  172. package/dist/src/runtime/collections/plan.js +98 -0
  173. package/dist/src/runtime/collections/plan.js.map +1 -0
  174. package/dist/src/runtime/collections/schematic.d.ts +1 -1
  175. package/dist/src/runtime/collections/schematic.js +1 -1
  176. package/dist/src/runtime/collections/table.d.ts +9 -1
  177. package/dist/src/runtime/collections/table.d.ts.map +1 -1
  178. package/dist/src/runtime/collections/table.js +1 -7
  179. package/dist/src/runtime/collections/table.js.map +1 -1
  180. package/dist/src/runtime/layout/dock.d.ts +2 -2
  181. package/dist/src/runtime/layout/dock.js +2 -2
  182. package/dist/src/runtime/layout/index.d.ts +0 -1
  183. package/dist/src/runtime/layout/index.d.ts.map +1 -1
  184. package/dist/src/runtime/layout/index.js +0 -1
  185. package/dist/src/runtime/layout/index.js.map +1 -1
  186. package/dist/src/shared/plot-gutter.d.ts +6 -23
  187. package/dist/src/shared/plot-gutter.d.ts.map +1 -1
  188. package/dist/src/shared/plot-gutter.js +6 -19
  189. package/dist/src/shared/plot-gutter.js.map +1 -1
  190. package/dist/src/shared/reify.d.ts +47 -4
  191. package/dist/src/shared/reify.d.ts.map +1 -1
  192. package/dist/src/shared/reify.js +62 -4
  193. package/dist/src/shared/reify.js.map +1 -1
  194. package/dist/src/slice/breakdown/index.d.ts +27 -0
  195. package/dist/src/slice/breakdown/index.d.ts.map +1 -1
  196. package/dist/src/slice/breakdown/types.d.ts +27 -0
  197. package/dist/src/slice/breakdown/types.d.ts.map +1 -1
  198. package/dist/src/slice/cohort/index.d.ts +54 -0
  199. package/dist/src/slice/cohort/index.d.ts.map +1 -1
  200. package/dist/src/slice/cohort/types.d.ts +27 -0
  201. package/dist/src/slice/cohort/types.d.ts.map +1 -1
  202. package/dist/src/slice/filter/index.d.ts +27 -0
  203. package/dist/src/slice/filter/index.d.ts.map +1 -1
  204. package/dist/src/slice/filter/types.d.ts +27 -0
  205. package/dist/src/slice/filter/types.d.ts.map +1 -1
  206. package/dist/src/slice/index.d.ts +405 -0
  207. package/dist/src/slice/index.d.ts.map +1 -1
  208. package/dist/src/slice/legend/index.d.ts +27 -0
  209. package/dist/src/slice/legend/index.d.ts.map +1 -1
  210. package/dist/src/slice/legend/types.d.ts +27 -0
  211. package/dist/src/slice/legend/types.d.ts.map +1 -1
  212. package/dist/src/slice/range/index.d.ts +60 -18
  213. package/dist/src/slice/range/index.d.ts.map +1 -1
  214. package/dist/src/slice/range/index.js +9 -1
  215. package/dist/src/slice/range/index.js.map +1 -1
  216. package/dist/src/slice/range/types.d.ts +63 -22
  217. package/dist/src/slice/range/types.d.ts.map +1 -1
  218. package/dist/src/slice/range/types.js +12 -5
  219. package/dist/src/slice/range/types.js.map +1 -1
  220. package/dist/src/slice/search/index.d.ts +27 -0
  221. package/dist/src/slice/search/index.d.ts.map +1 -1
  222. package/dist/src/slice/search/types.d.ts +27 -0
  223. package/dist/src/slice/search/types.d.ts.map +1 -1
  224. package/dist/src/slice/summary/index.d.ts +27 -0
  225. package/dist/src/slice/summary/index.d.ts.map +1 -1
  226. package/dist/src/slice/summary/types.d.ts +27 -0
  227. package/dist/src/slice/summary/types.d.ts.map +1 -1
  228. package/dist/src/style/content.d.ts +4 -6
  229. package/dist/src/style/content.d.ts.map +1 -1
  230. package/dist/src/style/content.js +4 -6
  231. package/dist/src/style/content.js.map +1 -1
  232. package/dist/src/style/scheme.js +1 -1
  233. package/dist/src/style/scheme.js.map +1 -1
  234. package/dist/test/collections/index.d.ts +2 -2
  235. package/dist/test/collections/index.d.ts.map +1 -1
  236. package/dist/test/collections/index.js +2 -2
  237. package/dist/test/collections/index.js.map +1 -1
  238. package/dist/test/collections/paged-source.examples.d.ts +9 -0
  239. package/dist/test/collections/paged-source.examples.d.ts.map +1 -0
  240. package/dist/test/collections/paged-source.examples.js +136 -0
  241. package/dist/test/collections/paged-source.examples.js.map +1 -0
  242. package/dist/test/collections/plan.examples.d.ts +125 -0
  243. package/dist/test/collections/plan.examples.d.ts.map +1 -0
  244. package/dist/test/collections/plan.examples.js +2939 -0
  245. package/dist/test/collections/plan.examples.js.map +1 -0
  246. package/dist/test/contracts/pick.examples.d.ts +6 -0
  247. package/dist/test/contracts/pick.examples.d.ts.map +1 -0
  248. package/dist/test/contracts/pick.examples.js +89 -0
  249. package/dist/test/contracts/pick.examples.js.map +1 -0
  250. package/dist/test/layout/dock.examples.d.ts +4 -4
  251. package/dist/test/layout/dock.examples.d.ts.map +1 -1
  252. package/dist/test/layout/dock.examples.js +34 -16
  253. package/dist/test/layout/dock.examples.js.map +1 -1
  254. package/dist/test/slice/slice.examples.d.ts +2 -1
  255. package/dist/test/slice/slice.examples.d.ts.map +1 -1
  256. package/dist/test/slice/slice.examples.js +67 -9
  257. package/dist/test/slice/slice.examples.js.map +1 -1
  258. package/package.json +3 -3
  259. package/dist/src/collections/gantt/index.d.ts +0 -377
  260. package/dist/src/collections/gantt/index.d.ts.map +0 -1
  261. package/dist/src/collections/gantt/index.js +0 -896
  262. package/dist/src/collections/gantt/index.js.map +0 -1
  263. package/dist/src/collections/gantt/types.d.ts +0 -353
  264. package/dist/src/collections/gantt/types.d.ts.map +0 -1
  265. package/dist/src/collections/gantt/types.js +0 -207
  266. package/dist/src/collections/gantt/types.js.map +0 -1
  267. package/dist/src/collections/planner/index.d.ts +0 -624
  268. package/dist/src/collections/planner/index.d.ts.map +0 -1
  269. package/dist/src/collections/planner/index.js +0 -941
  270. package/dist/src/collections/planner/index.js.map +0 -1
  271. package/dist/src/collections/planner/types.d.ts +0 -615
  272. package/dist/src/collections/planner/types.d.ts.map +0 -1
  273. package/dist/src/collections/planner/types.js +0 -423
  274. package/dist/src/collections/planner/types.js.map +0 -1
  275. package/dist/src/layout/aligned-stack/index.d.ts +0 -101
  276. package/dist/src/layout/aligned-stack/index.d.ts.map +0 -1
  277. package/dist/src/layout/aligned-stack/index.js +0 -105
  278. package/dist/src/layout/aligned-stack/index.js.map +0 -1
  279. package/dist/src/layout/aligned-stack/types.d.ts +0 -50
  280. package/dist/src/layout/aligned-stack/types.d.ts.map +0 -1
  281. package/dist/src/layout/aligned-stack/types.js +0 -24
  282. package/dist/src/layout/aligned-stack/types.js.map +0 -1
  283. package/dist/src/runtime/collections/gantt.d.ts +0 -67
  284. package/dist/src/runtime/collections/gantt.d.ts.map +0 -1
  285. package/dist/src/runtime/collections/gantt.js +0 -58
  286. package/dist/src/runtime/collections/gantt.js.map +0 -1
  287. package/dist/src/runtime/collections/planner.d.ts +0 -80
  288. package/dist/src/runtime/collections/planner.d.ts.map +0 -1
  289. package/dist/src/runtime/collections/planner.js +0 -76
  290. package/dist/src/runtime/collections/planner.js.map +0 -1
  291. package/dist/src/runtime/layout/aligned-stack.d.ts +0 -38
  292. package/dist/src/runtime/layout/aligned-stack.d.ts.map +0 -1
  293. package/dist/src/runtime/layout/aligned-stack.js +0 -36
  294. package/dist/src/runtime/layout/aligned-stack.js.map +0 -1
  295. package/dist/test/collections/gantt.examples.d.ts +0 -33
  296. package/dist/test/collections/gantt.examples.d.ts.map +0 -1
  297. package/dist/test/collections/gantt.examples.js +0 -359
  298. package/dist/test/collections/gantt.examples.js.map +0 -1
  299. package/dist/test/collections/planner.examples.d.ts +0 -47
  300. package/dist/test/collections/planner.examples.d.ts.map +0 -1
  301. package/dist/test/collections/planner.examples.js +0 -546
  302. package/dist/test/collections/planner.examples.js.map +0 -1
  303. package/dist/test/layout/aligned-stack.examples.d.ts +0 -25
  304. package/dist/test/layout/aligned-stack.examples.d.ts.map +0 -1
  305. package/dist/test/layout/aligned-stack.examples.js +0 -294
  306. package/dist/test/layout/aligned-stack.examples.js.map +0 -1
@@ -1,624 +0,0 @@
1
- /**
2
- * Copyright (c) 2025 Elara AI Pty Ltd
3
- * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
- */
5
- /**
6
- * `Planner` — the discrete `rows × ordered slots` scheduling primitive. Rows are
7
- * typed resources; slots are positions on a typed axis ({@link PlannerSlotType});
8
- * each cell holds zero or more events in one of three audit states
9
- * ({@link PlannerStateType}). The interface follows the `Chart.Spec` style: a
10
- * builder namespace (`Planner.axis.*` / `Planner.at.*` / `Planner.event`) with a
11
- * `.Types.*` mirror, and flat-object factories that normalise `some` / `none` /
12
- * `variant`.
13
- *
14
- * @packageDocumentation
15
- */
16
- import { type ExprType, type SubtypeExprOrValue, type TypeOf, ArrayType, StructType, DictType, OptionType, FunctionType, StringType, FloatType, DateTimeType, BooleanType, NullType } from "@elaraai/east";
17
- import { UIComponentType } from "../../component.js";
18
- import { DensityType, type DensityLiteral } from "../../style/interaction.js";
19
- import { PlotGutterType, type PlotGutter } from "../../shared/plot-gutter.js";
20
- import { type ReviewConfig } from "../../contracts/review.js";
21
- import { CanDropFnType, DragEventType } from "../../contracts/drag.js";
22
- import { PlannerSlotType, PlannerScaleType, PlannerResolutionType, PlannerBucketType, PlannerRangeType, PlannerAxisType, PlannerFlavourType, PlannerStateType, PlannerMarkerType, PlannerStretchType, type PlannerStretchLiteral, PlannerContentAlignType, type PlannerContentAlignLiteral, PlannerContentType, PlannerAnimationType, type PlannerAnimationLiteral, PlannerAlignType, type PlannerAlignLiteral, PlannerColumnType, PlannerCellType, PlannerVariantType, PlannerSelectEventType, PlannerApprovalType, PlannerApproveEventType, type AxisTimeOptions, type AxisNumberOptions, type AxisOrdinalOptions } from "./types.js";
23
- import { StatusValueType, type StatusValueLiteral } from "../../feedback/status/types.js";
24
- import { ColorSchemeType, type ColorSchemeLiteral } from "../../style/scheme.js";
25
- export { PlannerSlotType, PlannerScaleType, type PlannerScaleLiteral, PlannerResolutionType, type PlannerResolutionLiteral, PlannerBucketType, PlannerRangeType, PlannerAxisType, PlannerFlavourType, PlannerStateType, PlannerMarkerType, PlannerStretchType, type PlannerStretchLiteral, PlannerContentAlignType, type PlannerContentAlignLiteral, PlannerContentType, PlannerAnimationType, type PlannerAnimationLiteral, PlannerAlignType, type PlannerAlignLiteral, PlannerColumnType, PlannerCellType, PlannerVariantType, PlannerSelectEventType, PlannerApprovalType, PlannerApproveEventType, type AxisOptions, type AxisTimeOptions, type AxisNumberOptions, type AxisOrdinalOptions, } from "./types.js";
26
- /**
27
- * A single placed event. `slot` is the (start) coordinate; `endSlot` is set on
28
- * Span events; `bucket` references a declared bucket key (none = unbucketed).
29
- * `popover` is the click-triggered rich body (popover-only — there is no
30
- * tooltip). Conflict markers are declared separately, on the row's `conflicts`.
31
- *
32
- * @property slot - The event's (start) slot coordinate
33
- * @property endSlot - The span end (Span variant; none for Point)
34
- * @property bucket - The declared bucket key the event sits in (none = unbucketed)
35
- * @property label - The event's text
36
- * @property state - The audit state (see {@link PlannerStateType})
37
- * @property key - Optional stable event identity (drag-grammar cell refs)
38
- * @property popover - Optional click-triggered rich body (UIComponent)
39
- * @property stretch - Optional fill axis (horizontal / vertical / both); absent ⇒ content-sized
40
- * @property content - Optional content alignment inside the tile (defaults to top-left)
41
- * @property tone - Optional semantic colour override (tints fill/text/border; none ⇒ the state grammar)
42
- * @property animation - Optional attention animation (pulse / none)
43
- * @property hovercard - Optional open-on-hover rich body (UIComponent); coexists with `popover`
44
- */
45
- export declare const PlannerEventType: StructType<{
46
- key: OptionType<StringType>;
47
- slot: PlannerSlotType;
48
- endSlot: OptionType<PlannerSlotType>;
49
- bucket: OptionType<StringType>;
50
- label: StringType;
51
- state: PlannerStateType;
52
- popover: OptionType<UIComponentType>;
53
- stretch: OptionType<PlannerStretchType>;
54
- content: OptionType<PlannerContentType>;
55
- tone: OptionType<StatusValueType>;
56
- color: OptionType<StringType>;
57
- colorPalette: OptionType<ColorSchemeType>;
58
- animation: OptionType<PlannerAnimationType>;
59
- hovercard: OptionType<UIComponentType>;
60
- }>;
61
- export type PlannerEventType = typeof PlannerEventType;
62
- /**
63
- * One Planner row — a typed resource. `cells` are the left-column values keyed
64
- * by column key; `events` is the row's slot timeline; `markers` are the row's
65
- * status markers (declared parallel to events, not on them); `group` is the
66
- * optional group-head label. Rows are identified by index.
67
- *
68
- * @property group - Optional group-head label (`groupBy`)
69
- * @property cells - The left-column cell values keyed by column key
70
- * @property events - The row's events ({@link PlannerEventType})
71
- * @property markers - The row's status markers ({@link PlannerMarkerType})
72
- */
73
- export declare const PlannerRowType: StructType<{
74
- group: OptionType<StringType>;
75
- cells: DictType<StringType, PlannerCellType>;
76
- events: ArrayType<PlannerEventType>;
77
- markers: ArrayType<PlannerMarkerType>;
78
- status: OptionType<StatusValueType>;
79
- approval: OptionType<PlannerApprovalType>;
80
- }>;
81
- export type PlannerRowType = typeof PlannerRowType;
82
- /**
83
- * The Planner review config — the per-row Approve / Reject calls plus the batch
84
- * foot. Present on the root only when the optional review chrome is enabled.
85
- *
86
- * @remarks
87
- * The shared review contract instantiated at the Planner's row subject —
88
- * `reviewType(PlannerApproveEventType, UIComponentType)` (`contracts/review.ts`).
89
- * Structurally identical to the pre-contract Planner-local definition, so
90
- * existing IR round-trips unchanged.
91
- *
92
- * @property columnLabel - The decision-column header (default `"Decision"`)
93
- * @property summary - Optional foot eyebrow (host-composed, e.g. `Planner.reviewSummary(...)`)
94
- * @property onApprove - Optional per-row Approve callback (receives `{ rowIndex }`)
95
- * @property onReject - Optional per-row Reject callback (receives `{ rowIndex }`)
96
- * @property onApproveAll - Optional batch Approve-all callback
97
- * @property onRejectAll - Optional batch Reject-all callback
98
- * @property onRerun - Optional Rerun callback (absent ⇒ no Rerun button)
99
- * @property rerunLabel - The Rerun button label (default `"Rerun"`)
100
- */
101
- export declare const PlannerReviewType: StructType<{
102
- columnLabel: StringType;
103
- summary: OptionType<UIComponentType>;
104
- onApprove: OptionType<FunctionType<[PlannerApproveEventType], NullType>>;
105
- onReject: OptionType<FunctionType<[PlannerApproveEventType], NullType>>;
106
- onApproveAll: OptionType<FunctionType<[], NullType>>;
107
- onRejectAll: OptionType<FunctionType<[], NullType>>;
108
- onRerun: OptionType<FunctionType<[], NullType>>;
109
- rerunLabel: StringType;
110
- }>;
111
- export type PlannerReviewType = typeof PlannerReviewType;
112
- /**
113
- * The Planner root IR — shared by Point and Span (the `variant` arm
114
- * discriminates). Content (`rows` / `columns`), the axis, and behaviour
115
- * (`onSelectRow`) sit on the root.
116
- *
117
- * @property variant - Which chassis configuration (point / span)
118
- * @property axis - The axis declaration (scale / buckets / range / format)
119
- * @property columns - The left-side columns
120
- * @property rows - The rows
121
- * @property now - Optional explicit committed/proposed divider; else derived from the data
122
- * @property density - Optional density (row / header rhythm)
123
- * @property slotMinWidth - Optional min-width (CSS) per x-axis slot column; the timeline scrolls when slots can't fit
124
- * @property maxHeight - Optional max-height (CSS) for the plan area; the body scrolls vertically within it with the header pinned. Absent ⇒ content-sized
125
- * @property onSelectRow - Optional row-selection callback
126
- * @property rowHover - Optional opt-in row-highlight outline on hover (absent/false ⇒ no hover affordance)
127
- */
128
- export declare const PlannerRootType: StructType<{
129
- variant: PlannerVariantType;
130
- axis: PlannerAxisType;
131
- columns: ArrayType<PlannerColumnType>;
132
- rows: ArrayType<PlannerRowType>;
133
- now: OptionType<PlannerSlotType>;
134
- density: OptionType<DensityType>;
135
- slotMinWidth: OptionType<StringType>;
136
- maxHeight: OptionType<StringType>;
137
- height: OptionType<StringType>;
138
- plotGutter: OptionType<PlotGutterType>;
139
- onSelectRow: OptionType<FunctionType<[PlannerSelectEventType], NullType>>;
140
- review: OptionType<PlannerReviewType>;
141
- rowHover: OptionType<BooleanType>;
142
- id: StringType;
143
- sources: ArrayType<StringType>;
144
- onDrag: OptionType<FunctionType<[DragEventType], NullType>>;
145
- canDrop: OptionType<CanDropFnType>;
146
- }>;
147
- export type PlannerRootType = typeof PlannerRootType;
148
- /**
149
- * Builds a datetime axis (calendar slots).
150
- *
151
- * @param options - Buckets, format, resolution, and an optional datetime range
152
- * @returns An East expression of {@link PlannerAxisType}
153
- *
154
- * @remarks
155
- * Pass `options.range` to pin the visible extent to a half-open calendar
156
- * window `[min, max)`; omit it to derive a closed extent from the data.
157
- * `options.resolution` sets the calendar unit of each slot column (`"hour"` /
158
- * `"day"` / `"week"` / `"month"` / `"quarter"` / `"year"`); omitted or
159
- * `"auto"`, a pinned range spanning ≤ 14 days derives day columns and
160
- * anything else month columns. `options.buckets` subdivides each slot column
161
- * into named bands (e.g. AM / PM). `options.format` controls the column-label
162
- * date pattern (Chart tick-format tokens, e.g. `"ddd DD"` → `Mon 30`);
163
- * omitted, a resolution-appropriate default applies.
164
- * Pair every event and `now` coordinate with {@link slotTime}.
165
- */
166
- declare function axisTime(options?: AxisTimeOptions): ExprType<PlannerAxisType>;
167
- /**
168
- * Builds a numeric axis (day-of-X, hour-of-Y).
169
- *
170
- * @param options - Buckets, format, and an optional numeric range
171
- * @returns An East expression of {@link PlannerAxisType}
172
- *
173
- * @remarks
174
- * Pass `options.range` (`{ min, max }`) to fix the slot extent; omit it to
175
- * derive the domain from the event coordinates. `options.buckets` subdivides
176
- * each slot column into named bands (e.g. AM / PM). `options.format` controls
177
- * the tick-label format pattern forwarded to the renderer.
178
- * Pair every event and `now` coordinate with {@link slotNumber}.
179
- */
180
- declare function axisNumber(options?: AxisNumberOptions): ExprType<PlannerAxisType>;
181
- /**
182
- * Builds an ordinal axis (phase / stage / week-number).
183
- *
184
- * @param options - Buckets, format, and an optional ordered category range
185
- * @returns An East expression of {@link PlannerAxisType}
186
- *
187
- * @remarks
188
- * Pass `options.range` as a `string[]` to fix the column order and set of
189
- * visible categories; omit it to derive the domain from the event coordinates.
190
- * `options.buckets` subdivides each slot column into named bands.
191
- * `options.format` controls the tick-label format pattern forwarded to the
192
- * renderer. Pair every event and `now` coordinate with {@link slotOrdinal}.
193
- */
194
- declare function axisOrdinal(options?: AxisOrdinalOptions): ExprType<PlannerAxisType>;
195
- /**
196
- * Builds a datetime slot coordinate.
197
- *
198
- * @param d - A `Date` or East `DateTimeType` expression identifying the slot
199
- * @returns An East expression of {@link PlannerSlotType} with the `time` arm
200
- *
201
- * @remarks
202
- * Use wherever a datetime position is required — the `slot` / `endSlot` fields
203
- * of an event, the `now` divider on the config, and the `now` option on
204
- * {@link axisTime}. Must be paired with a `time`-scale axis ({@link axisTime}).
205
- */
206
- declare function slotTime(d: SubtypeExprOrValue<DateTimeType>): ExprType<PlannerSlotType>;
207
- /**
208
- * Builds a numeric slot coordinate.
209
- *
210
- * @param n - A number or East `FloatType` expression identifying the slot
211
- * @returns An East expression of {@link PlannerSlotType} with the `number` arm
212
- *
213
- * @remarks
214
- * Use wherever a numeric position is required — the `slot` / `endSlot` fields
215
- * of an event, the `now` divider on the config, and the `now` option on
216
- * {@link axisNumber}. Must be paired with a `number`-scale axis ({@link axisNumber}).
217
- */
218
- declare function slotNumber(n: SubtypeExprOrValue<FloatType>): ExprType<PlannerSlotType>;
219
- /**
220
- * Builds an ordinal slot coordinate.
221
- *
222
- * @param s - A string or East `StringType` expression naming the category
223
- * @returns An East expression of {@link PlannerSlotType} with the `ordinal` arm
224
- *
225
- * @remarks
226
- * Use wherever a category label is required — the `slot` / `endSlot` fields of
227
- * an event, the `now` divider on the config, and the `now` option on
228
- * {@link axisOrdinal}. The string must match one of the category labels
229
- * declared in `options.range` (or present in the data when range is omitted).
230
- * Must be paired with an `ordinal`-scale axis ({@link axisOrdinal}).
231
- */
232
- declare function slotOrdinal(s: SubtypeExprOrValue<StringType>): ExprType<PlannerSlotType>;
233
- /**
234
- * Flat input for {@link createEvent} (`Planner.event`).
235
- *
236
- * @property slot - The event's (start) slot coordinate
237
- * @property endSlot - The span end (Span variant only)
238
- * @property bucket - The declared bucket key the event sits in
239
- * @property label - The event's text
240
- * @property state - The audit state — a `PlannerStateType` value or a string shorthand
241
- * @property popover - Optional click-triggered rich body (UIComponent)
242
- * @property stretch - Optional fill axis (`"horizontal"` / `"vertical"` / `"both"`); absent ⇒ content-sized
243
- * @property content - Optional content alignment inside the tile (defaults to top-left)
244
- * @property tone - Optional semantic colour override — a `StatusValueType` value or a status string
245
- * @property animation - Optional attention animation (`"pulse"` / `"none"`)
246
- * @property hovercard - Optional open-on-hover rich body (UIComponent); coexists with `popover`
247
- */
248
- export interface EventInput {
249
- /** Optional stable event identity — referenced by drag-grammar cell refs. */
250
- key?: SubtypeExprOrValue<StringType>;
251
- /** The event's (start) slot coordinate. */
252
- slot: SubtypeExprOrValue<PlannerSlotType>;
253
- /** The span end (Span variant only). */
254
- endSlot?: SubtypeExprOrValue<PlannerSlotType>;
255
- /** The declared bucket key the event sits in. */
256
- bucket?: SubtypeExprOrValue<StringType>;
257
- /** The event's text. */
258
- label: SubtypeExprOrValue<StringType>;
259
- /** The audit state — a `PlannerStateType` value, or one of the string shorthands. */
260
- state: SubtypeExprOrValue<PlannerStateType> | "committed" | "rejected" | "added" | "model" | "removed";
261
- /** Optional click-triggered rich body (UIComponent). */
262
- popover?: SubtypeExprOrValue<UIComponentType>;
263
- /** Optional fill axis — fills the cell width (`"horizontal"`), height (`"vertical"`),
264
- * or both. Absent ⇒ content-sized (intrinsic). */
265
- stretch?: SubtypeExprOrValue<PlannerStretchType> | PlannerStretchLiteral;
266
- /** Optional content alignment inside the tile — each axis a `PlannerContentAlignType`
267
- * value or a `"start"` / `"center"` / `"end"` string. Defaults to top-left. */
268
- content?: {
269
- /** Horizontal content alignment (→ `justifyContent`). */
270
- horizontal?: SubtypeExprOrValue<PlannerContentAlignType> | PlannerContentAlignLiteral;
271
- /** Vertical content alignment (→ `alignItems`). */
272
- vertical?: SubtypeExprOrValue<PlannerContentAlignType> | PlannerContentAlignLiteral;
273
- };
274
- /** Optional semantic colour override — tints fill/text/border-colour while keeping
275
- * the state's border-style + text-decoration. Absent ⇒ the state grammar. */
276
- tone?: SubtypeExprOrValue<StatusValueType> | StatusValueLiteral;
277
- /** Optional brand colour palette (e.g. `"teal"`, `"purple"`, `"gray"`) — tints
278
- * fill/text/border to match a paired Chart series, overriding `tone`'s colours
279
- * while keeping the state's border-style + strike-through. */
280
- colorPalette?: SubtypeExprOrValue<ColorSchemeType> | ColorSchemeLiteral;
281
- /** Optional raw colour token (e.g. `"teal.solid"`, `"black"`) — tints text +
282
- * border for an exact match to a Chart series colour. Takes precedence over
283
- * `colorPalette` and `tone`. */
284
- color?: SubtypeExprOrValue<StringType>;
285
- /** Optional attention animation. `"pulse"` draws a gentle opacity pulse (honouring
286
- * `prefers-reduced-motion`); `"none"` / absent is static. */
287
- animation?: SubtypeExprOrValue<PlannerAnimationType> | PlannerAnimationLiteral;
288
- /** Optional open-on-hover rich body (UIComponent). Coexists with `popover` — hover
289
- * previews, click pins. */
290
- hovercard?: SubtypeExprOrValue<UIComponentType>;
291
- }
292
- /**
293
- * Resolves the shared event-lifecycle string shorthands (`"committed"` /
294
- * `"rejected"` / `"added"` / `"model"` / `"removed"`) into a
295
- * {@link PlannerStateType} value. Exported for the other lifecycle adopters
296
- * (Gantt) so the authoring shorthand is defined once.
297
- *
298
- * @param state - A `PlannerStateType` value/expression or a string shorthand
299
- * @returns The resolved `PlannerStateType` value
300
- */
301
- export declare function resolveEventState(state: EventInput["state"]): SubtypeExprOrValue<PlannerStateType>;
302
- /**
303
- * Builds a single Planner event from a flat TS input. Normalises optional fields
304
- * into their `OptionType` envelopes and resolves the `state` string shorthands
305
- * (`"committed"` / `"rejected"` / `"added"` / `"model"` / `"removed"`) as well as
306
- * the `stretch` / `content` / `tone` / `animation` shorthands.
307
- *
308
- * @param input - The event configuration ({@link EventInput})
309
- * @returns An East expression of {@link PlannerEventType}
310
- */
311
- declare function createEvent(input: EventInput): ExprType<PlannerEventType>;
312
- /**
313
- * Flat input for {@link createMarker} (`Planner.marker`).
314
- *
315
- * @property slot - The slot coordinate of the cell the marker rings
316
- * @property status - The semantic status — drives the colour + paired icon (`"danger"` default)
317
- * @property message - The marker text surfaced as a hover tooltip
318
- */
319
- export interface MarkerInput {
320
- /** The slot coordinate of the cell the marker rings. */
321
- slot: SubtypeExprOrValue<PlannerSlotType>;
322
- /** The semantic status (success / warning / danger / info / neutral). Defaults to `"danger"`. */
323
- status?: StatusValueLiteral;
324
- /** The marker text surfaced as a hover tooltip. */
325
- message: SubtypeExprOrValue<StringType>;
326
- }
327
- /**
328
- * Builds a single status marker from a flat input — declared parallel to events
329
- * (in a row's `markers`), not on an event. The renderer rings the cell at `slot`,
330
- * paints the paired status icon in the corner, and shows `message` on hover.
331
- *
332
- * @param input - The marker configuration ({@link MarkerInput})
333
- * @returns An East expression of {@link PlannerMarkerType}
334
- */
335
- declare function createMarker(input: MarkerInput): ExprType<PlannerMarkerType>;
336
- type Accessor<R extends StructType> = (row: ExprType<R>) => SubtypeExprOrValue<StringType>;
337
- /**
338
- * A left-side column definition. `value` is the cell text — a field or an East
339
- * expression (a derived column is just `value: r => East.print(...)`, recomputed
340
- * reactively); `sublabel` is the optional muted eyebrow line.
341
- *
342
- * @property key - The column identity and the row's cell key
343
- * @property header - Optional header text (defaults to `key`)
344
- * @property width - Optional CSS width
345
- * @property frozen - Whether the column is pinned sticky-left
346
- * @property align - Optional horizontal alignment
347
- * @property value - The cell text accessor over the row
348
- * @property sublabel - The optional muted eyebrow accessor over the row
349
- */
350
- export interface PlannerColumnDef<R extends StructType> {
351
- /** The column identity and the row's cell key. */
352
- key: string;
353
- /** Optional header text (defaults to `key`). */
354
- header?: string;
355
- /** Optional CSS width. */
356
- width?: string;
357
- /** Whether the column is pinned sticky-left. */
358
- frozen?: boolean;
359
- /** Optional horizontal alignment. */
360
- align?: PlannerAlignLiteral;
361
- /** The cell text accessor over the row. */
362
- value: Accessor<R>;
363
- /** The optional muted eyebrow accessor over the row. */
364
- sublabel?: Accessor<R>;
365
- }
366
- /**
367
- * Configuration for {@link createPoint} / {@link createSpan}.
368
- *
369
- * @typeParam R - The struct type of each data row
370
- * @property axis - The axis declaration (use `Planner.axis.*`)
371
- * @property columns - The left-side columns
372
- * @property events - Per-row accessor returning the row's events
373
- * @property markers - Optional per-row accessor returning the row's status markers (parallel to events)
374
- * @property groupBy - Optional per-row accessor returning the group-head label
375
- * @property now - Optional explicit committed/proposed divider slot
376
- * @property density - Optional density
377
- * @property slotMinWidth - Optional min-width (CSS) per x-axis slot column; the timeline scrolls horizontally when slots would otherwise be squeezed below it
378
- * @property maxHeight - Optional max-height (CSS) for the plan area; the body scrolls vertically within it with the header pinned. Absent ⇒ content-sized
379
- * @property onSelectRow - Optional row-selection callback
380
- */
381
- export interface PlannerConfig<R extends StructType> {
382
- /** The axis declaration (use `Planner.axis.*`). */
383
- axis: SubtypeExprOrValue<PlannerAxisType>;
384
- /** The left-side columns. */
385
- columns: PlannerColumnDef<R>[];
386
- /** Per-row accessor returning the row's events. */
387
- events: (row: ExprType<R>) => SubtypeExprOrValue<ArrayType<PlannerEventType>>;
388
- /** Optional per-row accessor returning the row's status markers. */
389
- markers?: (row: ExprType<R>) => SubtypeExprOrValue<ArrayType<PlannerMarkerType>>;
390
- /** Optional per-row accessor returning the group-head label. */
391
- groupBy?: (row: ExprType<R>) => SubtypeExprOrValue<StringType>;
392
- /** Optional explicit committed/proposed divider slot. */
393
- now?: SubtypeExprOrValue<PlannerSlotType>;
394
- /** Optional density (row / header rhythm). */
395
- density?: SubtypeExprOrValue<DensityType> | DensityLiteral;
396
- /** Uniform sizing (#320): definite height — a pixel number, `"fill"` (fill the parent box), or CSS length; the plan takes exactly this box, header pinned, body scrolls within. */
397
- height?: SubtypeExprOrValue<StringType>;
398
- /** Optional min-width (CSS) per x-axis slot column. With it set, the
399
- * timeline scrolls horizontally rather than squeezing slots below it. */
400
- slotMinWidth?: SubtypeExprOrValue<StringType>;
401
- /** Optional max-height (CSS, e.g. `"420px"`) for the plan area. With it
402
- * set, the body scrolls vertically within that cap and the header row
403
- * stays pinned (sticky-top), the way the Table's `stickyHeader` scrolls.
404
- * Absent ⇒ the plan is content-sized (grows with the rows, no scroll). */
405
- maxHeight?: SubtypeExprOrValue<StringType>;
406
- /** Shared plot gutter (#147) — pins the timeline grid to `[left, W−right]` (px) so the Planner lines up under a stacked Chart on a shared day axis; the frozen channel columns fill `left`. Usually supplied by an enclosing `<AlignedStack>`. */
407
- plotGutter?: PlotGutter;
408
- /** Optional row-selection callback. */
409
- onSelectRow?: SubtypeExprOrValue<FunctionType<[PlannerSelectEventType], NullType>>;
410
- /** Optional per-row status — the quiet dot beside the resource (some ⇒ flagged,
411
- * none ⇒ clean). Only rendered when `review` is set. */
412
- status?: (row: ExprType<R>) => SubtypeExprOrValue<OptionType<StatusValueType>>;
413
- /** Optional per-row review decision (`some(approved)` rests pre-approved,
414
- * `some(pending)` awaits a call, `some(rejected)` is declined; none ⇒ no
415
- * decision). The author computes this in East (e.g. clean ⇒ approved). Only
416
- * rendered when `review` is set. */
417
- approval?: (row: ExprType<R>) => SubtypeExprOrValue<OptionType<PlannerApprovalType>>;
418
- /** Optional review chrome — the per-row Approve/Reject decision column + the
419
- * approve-all / reject-all foot. Presence is the opt-in. */
420
- review?: PlannerReviewConfig;
421
- /** Optional opt-in row-highlight outline on hover (a light brand outline around
422
- * the whole row over both panes). Absent/false ⇒ no hover affordance. Works on
423
- * read-only planners, independent of `onSelectRow`. */
424
- rowHover?: SubtypeExprOrValue<BooleanType>;
425
- /** DnD target identity (#269) — connects the Planner to sibling Libraries
426
- * and names it in drag-grammar cell refs. Only meaningful with `onDrag`. */
427
- id?: string;
428
- /** Library ids accepted for `add` drags (omit = no adds). */
429
- sources?: string[];
430
- /** Drag funnel (#269) — presence is the opt-in: with it the Planner
431
- * registers as a drag target (add / move / remove on PROPOSED tiles;
432
- * committed history never drags; Span edges resize once wired). Drops
433
- * land as `proposed(added)` tiles. Events carry `row` = the row index
434
- * key and `slot` = the axis key with the bucket composed in
435
- * (`"wed"` / `"wed:am"`). */
436
- onDrag?: SubtypeExprOrValue<FunctionType<[DragEventType], NullType>>;
437
- /** Optional IR-level drop veto — consulted per hovered destination with
438
- * the synthesized candidate event (`CanDropFnType` semantics); `false`
439
- * ⇒ the ⊘ invalid stage and the drop is a no-op. Absent ⇒ accept.
440
- * Policy like "no drops left of `now`" is host-owned here, never
441
- * hard-coded. */
442
- canDrop?: SubtypeExprOrValue<FunctionType<[DragEventType], BooleanType>>;
443
- }
444
- /**
445
- * The Planner `review` config — opt-in per-row approval + a batch foot.
446
- *
447
- * @remarks
448
- * The shared review contract's {@link ReviewConfig} at the Planner's row
449
- * subject (`{ rowIndex }`); see `contracts/review.ts` for the field
450
- * semantics and defaults.
451
- */
452
- export type PlannerReviewConfig = ReviewConfig<PlannerApproveEventType>;
453
- export type RowElement<T extends SubtypeExprOrValue<ArrayType<StructType>>> = TypeOf<T> extends ArrayType<infer S> ? (S extends StructType ? S : never) : never;
454
- /**
455
- * Creates a Point Planner — slot-bound events (each event sits in one
456
- * slot/bucket). The Roster default.
457
- *
458
- * @typeParam R - The struct type of each data row
459
- * @param data - The rows
460
- * @param config - The Planner configuration ({@link PlannerConfig})
461
- * @returns An East expression of `UIComponentType`
462
- *
463
- * @example
464
- * ```ts
465
- * import { East } from "@elaraai/east";
466
- * import { Planner, UIComponentType } from "@elaraai/east-ui";
467
- *
468
- * const example = East.function([], UIComponentType, _$ =>
469
- * Planner.Point(
470
- * [{ id: "a", name: "Alice", events: [] }],
471
- * {
472
- * axis: Planner.axis.number({ buckets: [{ key: "am", label: "AM" }, { key: "pm", label: "PM" }] }),
473
- * columns: [{ key: "name", frozen: true, value: r => r.name }],
474
- * events: r => r.events,
475
- * },
476
- * ),
477
- * );
478
- * ```
479
- */
480
- declare function createPoint<T extends SubtypeExprOrValue<ArrayType<StructType>>>(data: T, config: PlannerConfig<RowElement<T>>): ExprType<UIComponentType>;
481
- /**
482
- * Creates a Span Planner — multi-slot span events (start → end).
483
- *
484
- * @typeParam R - The struct type of each data row
485
- * @param data - The rows
486
- * @param config - The Planner configuration ({@link PlannerConfig})
487
- * @returns An East expression of `UIComponentType`
488
- */
489
- declare function createSpan<T extends SubtypeExprOrValue<ArrayType<StructType>>>(data: T, config: PlannerConfig<RowElement<T>>): ExprType<UIComponentType>;
490
- /**
491
- * The type of the {@link Planner} namespace. Declared explicitly (rather than
492
- * inferred from `as const`) so the declaration emit stays within TypeScript's
493
- * serialization limit.
494
- */
495
- export interface PlannerNamespace {
496
- /** Creates a Point Planner (slot-bound events). */
497
- Point: typeof createPoint;
498
- /** Creates a Span Planner (multi-slot span events). */
499
- Span: typeof createSpan;
500
- /** Typed axis builders — `time` / `number` / `ordinal`. */
501
- axis: {
502
- /**
503
- * Builds a datetime axis (calendar slots).
504
- *
505
- * @remarks
506
- * Accepts an optional half-open datetime range `[min, max)`, a column
507
- * `resolution` (`"hour"` / `"day"` / `"week"` / `"month"` /
508
- * `"quarter"` / `"year"`; omitted, a pinned range ≤ 14 days infers
509
- * day columns, else month), a bucket list, and a format string
510
- * (Chart date-pattern tokens, e.g. `"ddd DD"`). Pair every event and
511
- * `now` coordinate with `Planner.at.time`.
512
- */
513
- time: typeof axisTime;
514
- /**
515
- * Builds a numeric axis (day-of-X, hour-of-Y).
516
- *
517
- * @remarks
518
- * Accepts an optional `{ min, max }` numeric range, bucket list, and
519
- * format string. Pair every event and `now` coordinate with
520
- * `Planner.at.number`.
521
- */
522
- number: typeof axisNumber;
523
- /**
524
- * Builds an ordinal axis (phase / stage / week-number).
525
- *
526
- * @remarks
527
- * Accepts an optional ordered `string[]` range, bucket list, and format
528
- * string. Pair every event and `now` coordinate with
529
- * `Planner.at.ordinal`.
530
- */
531
- ordinal: typeof axisOrdinal;
532
- };
533
- /** Slot-coordinate shorthands — `time` / `number` / `ordinal`. */
534
- at: {
535
- /**
536
- * Wraps a `Date` or `DateTimeType` expression in the `time` arm of
537
- * {@link PlannerSlotType}.
538
- *
539
- * @remarks
540
- * Must be paired with a `time`-scale axis (`Planner.axis.time`).
541
- */
542
- time: typeof slotTime;
543
- /**
544
- * Wraps a number or `FloatType` expression in the `number` arm of
545
- * {@link PlannerSlotType}.
546
- *
547
- * @remarks
548
- * Must be paired with a `number`-scale axis (`Planner.axis.number`).
549
- */
550
- number: typeof slotNumber;
551
- /**
552
- * Wraps a string or `StringType` expression in the `ordinal` arm of
553
- * {@link PlannerSlotType}.
554
- *
555
- * @remarks
556
- * The string must name a category present in the axis range.
557
- * Must be paired with an `ordinal`-scale axis (`Planner.axis.ordinal`).
558
- */
559
- ordinal: typeof slotOrdinal;
560
- };
561
- /** Builds a single event from a flat input. */
562
- event: typeof createEvent;
563
- /** Builds a single status marker from a flat input (parallel to events). */
564
- marker: typeof createMarker;
565
- /** The Planner East types. */
566
- Types: {
567
- /** The Planner root IR ({@link PlannerRootType}). */
568
- Root: typeof PlannerRootType;
569
- /** Which chassis configuration (point / span). */
570
- Variant: typeof PlannerVariantType;
571
- /** A typed slot coordinate (time / number / ordinal). */
572
- Slot: typeof PlannerSlotType;
573
- /** The axis scale kind. */
574
- Scale: typeof PlannerScaleType;
575
- /** The time-axis column resolution (auto / hour / day / week / month / quarter / year). */
576
- Resolution: typeof PlannerResolutionType;
577
- /** A labelled sub-slot bucket. */
578
- Bucket: typeof PlannerBucketType;
579
- /** An explicit axis domain. */
580
- Range: typeof PlannerRangeType;
581
- /** The axis declaration. */
582
- Axis: typeof PlannerAxisType;
583
- /** The proposed sub-flavour. */
584
- Flavour: typeof PlannerFlavourType;
585
- /** The three event states. */
586
- State: typeof PlannerStateType;
587
- /** The event-tile fill axis (horizontal / vertical / both). */
588
- Stretch: typeof PlannerStretchType;
589
- /** A single content-alignment position (start / center / end). */
590
- ContentAlign: typeof PlannerContentAlignType;
591
- /** The event-tile two-axis content alignment. */
592
- Content: typeof PlannerContentType;
593
- /** The event-tile attention animation (none / pulse). */
594
- Animation: typeof PlannerAnimationType;
595
- /** A status marker (slot + status + message). */
596
- Marker: typeof PlannerMarkerType;
597
- /** A single placed event. */
598
- Event: typeof PlannerEventType;
599
- /** A column's horizontal alignment. */
600
- Align: typeof PlannerAlignType;
601
- /** A left-side column. */
602
- Column: typeof PlannerColumnType;
603
- /** A per-row cell (value + eyebrow). */
604
- Cell: typeof PlannerCellType;
605
- /** A Planner row. */
606
- Row: typeof PlannerRowType;
607
- /** The `onSelectRow` payload. */
608
- SelectEvent: typeof PlannerSelectEventType;
609
- /** A row's review decision ({@link PlannerApprovalType}). */
610
- Approval: typeof PlannerApprovalType;
611
- /** The per-row approve / reject payload ({@link PlannerApproveEventType}). */
612
- ApproveEvent: typeof PlannerApproveEventType;
613
- /** The review config — decision column + foot ({@link PlannerReviewType}). */
614
- Review: typeof PlannerReviewType;
615
- };
616
- }
617
- /**
618
- * The `Planner` namespace — the discrete `rows × ordered slots` scheduling
619
- * primitive. Assemble a Planner with `Planner.Point` / `Planner.Span`, declare
620
- * the axis with `Planner.axis.*`, place events with `Planner.event` /
621
- * `Planner.at.*`, and reach every East type via `Planner.Types.*`.
622
- */
623
- export declare const Planner: PlannerNamespace;
624
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/collections/planner/index.ts"],"names":[],"mappings":"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"}