@elaraai/east-ui 1.0.67 → 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,359 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/east-ui/jsx-runtime";
2
- /**
3
- * Copyright (c) 2025 Elara AI Pty Ltd
4
- * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
5
- */
6
- /** @jsxImportSource @elaraai/east-ui */
7
- import { ArrayType, BooleanType, East, DateTimeType, FloatType, NullType, OptionType, StringType, StructType, none, some, variant, example } from "@elaraai/east";
8
- import { DragEventType, State, Style, UIComponentType } from "@elaraai/east-ui";
9
- import { Badge, Box, Configurator, Gantt, HStack, Library, Reactive, SegmentGroup, Select, Switch, Table, Text, VStack } from "@elaraai/east-ui";
10
- // ============================================================================
11
- // Module-scope fixtures (consolidation epic #455, pass 4).
12
- // ============================================================================
13
- // The #262 two-axis grammar: lifecycle state + an orthogonal risk tint.
14
- export const ganttBasic = example({
15
- keywords: ["Gantt", "Root", "Task", "basic", "timeline"],
16
- description: "Simple project timeline with tasks",
17
- fn: East.function([], UIComponentType, (_$) => {
18
- return (_jsx(Gantt, { data: [
19
- { task: "Planning", owner: "Alice", start: new Date("2024-01-01"), end: new Date("2024-01-15") },
20
- { task: "Design", owner: "Bob", start: new Date("2024-01-10"), end: new Date("2024-02-01") },
21
- { task: "Development", owner: "Charlie", start: new Date("2024-01-20"), end: new Date("2024-03-15") },
22
- { task: "Testing", owner: "Diana", start: new Date("2024-03-01"), end: new Date("2024-03-30") },
23
- ], columns: ["task", "owner"], rowSpec: row => ({ tasks: [Gantt.Task({ start: row.start, end: row.end })] }) }));
24
- }),
25
- inputs: [],
26
- });
27
- /**
28
- * THE Gantt configurator (pass 4) — one preset axis spans the surface: the
29
- * now-centred window, the quarter roadmap and week sprint windows, milestone
30
- * diamonds, progress fills, styled labels, the five lifecycle treatments,
31
- * the #262 state + status grammar, a 200-row stress window and the #320 fill
32
- * contract. Every preset is DATA ({window, tier, format, header, rows}
33
- * through one expression-fed axis + ONE rowSpec over the superset row), so
34
- * only row-height presence (auto vs pixel) and the bounded-fill Box are
35
- * prebuilt arms. Variant / density / striped / today compose across every
36
- * preset; all eleven callbacks (and the ONE onDrag grammar funnel) log to
37
- * the aside.
38
- */
39
- export const ganttVariants = example({
40
- keywords: ["Gantt", "Task", "Milestone", "kind", "interim", "release", "progress", "label", "LabelInput", "align", "fontWeight", "fontStyle", "state", "status", "committed", "added", "model", "removed", "rejected", "lifecycle", "risk", "tint", "variant", "line", "outline", "striped", "showToday", "density", "rowHeight", "axis", "window", "tier", "quarter", "week", "month", "format", "roadmap", "sprint", "stress", "fill", "height", "#320", "virtual", "popover", "click", "Reactive", "State", "onTaskClick", "onTaskDrag", "onMilestoneClick", "onDrag", "interactive", "SegmentGroup", "Switch", "Configurator", "getTag", "configurator"],
41
- description: "Gantt configurator — a preset axis over window, milestone, progress, label, lifecycle, status, stress and fill demos plus variant, density, row-height, striped and today controls; every callback logs to the aside",
42
- fn: East.function([], UIComponentType, (_$) => {
43
- const GANTT_ROW = StructType({
44
- name: StringType,
45
- start: DateTimeType,
46
- end: DateTimeType,
47
- progress: FloatType,
48
- state: StringType,
49
- status: StringType,
50
- styled: BooleanType,
51
- milestone: OptionType(StructType({ date: DateTimeType, label: StringType, release: BooleanType })),
52
- });
53
- const GANTT_QUARTER_ROWS = [
54
- { name: "Platform", start: new Date("2024-01-01"), end: new Date("2024-09-30"), progress: 60.0, state: "added", status: "", styled: false, milestone: none },
55
- { name: "Mobile", start: new Date("2024-06-01"), end: new Date("2025-03-31"), progress: 35.0, state: "added", status: "", styled: false, milestone: none },
56
- { name: "Analytics", start: new Date("2025-01-01"), end: new Date("2025-12-31"), progress: 10.0, state: "added", status: "", styled: false, milestone: none },
57
- ];
58
- const GANTT_WEEK_ROWS = [
59
- { name: "Spec", start: new Date("2024-04-01"), end: new Date("2024-04-05"), progress: 100.0, state: "committed", status: "", styled: false, milestone: none },
60
- { name: "Implement", start: new Date("2024-04-04"), end: new Date("2024-04-18"), progress: 55.0, state: "added", status: "", styled: false, milestone: none },
61
- { name: "Review", start: new Date("2024-04-17"), end: new Date("2024-04-24"), progress: 0.0, state: "added", status: "", styled: false, milestone: none },
62
- ];
63
- const GANTT_MILESTONE_ROWS = [
64
- { name: "Sprint 1", start: new Date("2024-01-01"), end: new Date("2024-01-14"), progress: 100.0, state: "committed", status: "", styled: false, milestone: some({ date: new Date("2024-01-14"), label: "Checkpoint", release: false }) },
65
- { name: "Sprint 2", start: new Date("2024-01-15"), end: new Date("2024-01-28"), progress: 70.0, state: "added", status: "", styled: false, milestone: some({ date: new Date("2024-01-28"), label: "Checkpoint", release: false }) },
66
- { name: "Sprint 3", start: new Date("2024-01-29"), end: new Date("2024-02-11"), progress: 20.0, state: "added", status: "", styled: false, milestone: some({ date: new Date("2024-02-11"), label: "Release", release: true }) },
67
- ];
68
- const GANTT_PROGRESS_ROWS = [
69
- { name: "Backend API", start: new Date("2024-01-01"), end: new Date("2024-02-15"), progress: 100.0, state: "added", status: "", styled: false, milestone: none },
70
- { name: "Frontend UI", start: new Date("2024-01-15"), end: new Date("2024-03-01"), progress: 75.0, state: "added", status: "", styled: false, milestone: none },
71
- { name: "Integration", start: new Date("2024-02-01"), end: new Date("2024-03-15"), progress: 40.0, state: "added", status: "", styled: false, milestone: none },
72
- { name: "QA Testing", start: new Date("2024-02-15"), end: new Date("2024-04-01"), progress: 10.0, state: "added", status: "", styled: false, milestone: none },
73
- ];
74
- const GANTT_LABEL_ROWS = [
75
- { name: "Plain label", start: new Date("2024-01-01"), end: new Date("2024-01-15"), progress: 0.0, state: "added", status: "", styled: false, milestone: none },
76
- { name: "Styled label", start: new Date("2024-01-20"), end: new Date("2024-02-05"), progress: 0.0, state: "added", status: "", styled: true, milestone: none },
77
- ];
78
- const GANTT_LIFECYCLE_ROWS = [
79
- { name: "Baseline build", start: new Date("2024-01-01"), end: new Date("2024-01-24"), progress: 100.0, state: "committed", status: "", styled: false, milestone: none },
80
- { name: "Operator draft", start: new Date("2024-01-08"), end: new Date("2024-02-02"), progress: 40.0, state: "added", status: "", styled: false, milestone: none },
81
- { name: "Model suggestion", start: new Date("2024-01-15"), end: new Date("2024-02-10"), progress: 0.0, state: "model", status: "", styled: false, milestone: none },
82
- { name: "Proposed cut", start: new Date("2024-01-05"), end: new Date("2024-01-30"), progress: 60.0, state: "removed", status: "", styled: false, milestone: none },
83
- { name: "Declined plan", start: new Date("2024-01-20"), end: new Date("2024-02-14"), progress: 20.0, state: "rejected", status: "", styled: false, milestone: none },
84
- ];
85
- const GANTT_STATUS_ROWS = [
86
- { name: "User Auth", start: new Date("2024-01-01"), end: new Date("2024-01-20"), progress: 100.0, state: "committed", status: "success", styled: false, milestone: none },
87
- { name: "Login Issue", start: new Date("2024-01-10"), end: new Date("2024-01-15"), progress: 20.0, state: "added", status: "danger", styled: false, milestone: none },
88
- { name: "Performance", start: new Date("2024-01-15"), end: new Date("2024-02-01"), progress: 55.0, state: "added", status: "info", styled: false, milestone: none },
89
- { name: "Dashboard", start: new Date("2024-01-20"), end: new Date("2024-02-15"), progress: 90.0, state: "committed", status: "success", styled: false, milestone: none },
90
- ];
91
- const GANTT_STRESS_ROWS = East.Array.range(0n, 200n).map((_$, i) => ({
92
- name: East.str `Task ${i}`,
93
- start: East.value(new Date("2024-01-01T00:00:00Z")).addDays(i.multiply(3n)),
94
- end: East.value(new Date("2024-01-01T00:00:00Z")).addDays(i.multiply(3n).add(14n)),
95
- progress: i.remainder(100n).toFloat(),
96
- state: "added",
97
- status: "",
98
- styled: false,
99
- milestone: East.value(none, OptionType(StructType({ date: DateTimeType, label: StringType, release: BooleanType }))),
100
- }));
101
- const day = 24 * 60 * 60 * 1000;
102
- return (_jsx(Reactive, { children: $ => {
103
- const presetKeys = $.const([
104
- "today", "quarter", "week", "milestones", "progress",
105
- "labels", "lifecycle", "status", "stress",
106
- ], ArrayType(StringType));
107
- const variants = $.const([variant("line", null), variant("outline", null)], ArrayType(Table.Types.Variant));
108
- const densities = $.const([
109
- variant("condensed", null), variant("compact", null), variant("comfortable", null),
110
- ], ArrayType(Style.Types.Density));
111
- // The now-centred rows keep `Date.now()` in-body (the
112
- // no-build-time-clock rule).
113
- const todayRows = $.const([
114
- { name: "Platform v2", start: new Date(Date.now() - 60 * day), end: new Date(Date.now() + 60 * day), progress: 50.0, state: "added", status: "", styled: false, milestone: some({ date: new Date(Date.now() + 60 * day), label: "Release", release: true }) },
115
- { name: "UI Refresh", start: new Date(Date.now() - 45 * day), end: new Date(Date.now() + 15 * day), progress: 70.0, state: "added", status: "", styled: false, milestone: none },
116
- { name: "CI/CD Pipeline", start: new Date(Date.now() - 20 * day), end: new Date(Date.now() + 30 * day), progress: 30.0, state: "added", status: "", styled: false, milestone: none },
117
- { name: "Test Automation", start: new Date(Date.now() - 10 * day), end: new Date(Date.now() + 75 * day), progress: 10.0, state: "added", status: "", styled: false, milestone: none },
118
- ], ArrayType(GANTT_ROW));
119
- const stressRows = $.const(GANTT_STRESS_ROWS, ArrayType(GANTT_ROW));
120
- // Every preset is data: window + tier + format + header + rows.
121
- const presets = $.const([
122
- { key: "today", min: new Date(Date.now() - 75 * day), max: new Date(Date.now() + 90 * day), tier: variant("month", null), format: "MMM", header: "Project", rows: todayRows },
123
- { key: "quarter", min: new Date("2024-01-01"), max: new Date("2025-12-31"), tier: variant("quarter", null), format: "MMM YYYY", header: "Epic", rows: GANTT_QUARTER_ROWS },
124
- { key: "week", min: new Date("2024-04-01"), max: new Date("2024-04-26"), tier: variant("week", null), format: "MMM DD", header: "Task", rows: GANTT_WEEK_ROWS },
125
- { key: "milestones", min: new Date("2023-12-28"), max: new Date("2024-02-18"), tier: variant("week", null), format: "MMM DD", header: "Sprint", rows: GANTT_MILESTONE_ROWS },
126
- { key: "progress", min: new Date("2023-12-28"), max: new Date("2024-04-08"), tier: variant("month", null), format: "MMM", header: "Task", rows: GANTT_PROGRESS_ROWS },
127
- { key: "labels", min: new Date("2023-12-28"), max: new Date("2024-02-12"), tier: variant("week", null), format: "MMM DD", header: "Row", rows: GANTT_LABEL_ROWS },
128
- { key: "lifecycle", min: new Date("2023-12-28"), max: new Date("2024-02-21"), tier: variant("week", null), format: "MMM DD", header: "State", rows: GANTT_LIFECYCLE_ROWS },
129
- { key: "status", min: new Date("2023-12-28"), max: new Date("2024-02-21"), tier: variant("week", null), format: "MMM DD", header: "Name", rows: GANTT_STATUS_ROWS },
130
- { key: "stress", min: new Date("2023-12-01"), max: new Date("2025-10-01"), tier: variant("quarter", null), format: "MMM YYYY", header: "Task", rows: stressRows },
131
- ], ArrayType(StructType({ key: StringType, min: DateTimeType, max: DateTimeType, tier: Gantt.Types.Tier, format: StringType, header: StringType, rows: ArrayType(GANTT_ROW) })));
132
- const presetBind = $.let(State.bind([StringType], "gantt_preset", "today"));
133
- const variantBind = $.let(State.bind([StringType], "gantt_variant", "line"));
134
- const densityBind = $.let(State.bind([StringType], "gantt_density", "compact"));
135
- const fillBind = $.let(State.bind([BooleanType], "gantt_fill", false));
136
- const stripedBind = $.let(State.bind([BooleanType], "gantt_striped", true));
137
- const todayBind = $.let(State.bind([BooleanType], "gantt_showtoday", true));
138
- const lastEventBind = $.let(State.bind([StringType], "gantt_last_event", ""));
139
- const pKey = $.let(presetBind.read());
140
- const vKey = $.let(variantBind.read());
141
- const dKey = $.let(densityBind.read());
142
- const fillOn = $.let(fillBind.read());
143
- const stripedOn = $.let(stripedBind.read());
144
- const todayOn = $.let(todayBind.read());
145
- const lastEvent = $.let(lastEventBind.read());
146
- const onPreset = $.const(East.function([StringType], NullType, ($, next) => { $(presetBind.write(next)); }));
147
- const onVariant = $.const(East.function([StringType], NullType, ($, next) => { $(variantBind.write(next)); }));
148
- const onDensity = $.const(East.function([StringType], NullType, ($, next) => { $(densityBind.write(next)); }));
149
- const onFill = $.const(East.function([BooleanType], NullType, ($, next) => { $(fillBind.write(next)); }));
150
- const onStriped = $.const(East.function([BooleanType], NullType, ($, next) => { $(stripedBind.write(next)); }));
151
- const onToday = $.const(East.function([BooleanType], NullType, ($, next) => { $(todayBind.write(next)); }));
152
- // The interactive surface — every callback writes the event line
153
- // the aside shows.
154
- const onRowClick = $.const(East.function([Table.Types.RowClickEvent], NullType, ($, event) => {
155
- $(lastEventBind.write(East.str `onRowClick: row ${event.rowIndex}`));
156
- }));
157
- const onRowDoubleClick = $.const(East.function([Table.Types.RowClickEvent], NullType, ($, event) => {
158
- $(lastEventBind.write(East.str `onRowDoubleClick: row ${event.rowIndex}`));
159
- }));
160
- const onCellClick = $.const(East.function([Table.Types.CellClickEvent], NullType, ($, event) => {
161
- $(lastEventBind.write(East.str `onCellClick: row ${event.rowIndex}, col ${event.columnKey}`));
162
- }));
163
- const onCellDoubleClick = $.const(East.function([Table.Types.CellClickEvent], NullType, ($, event) => {
164
- $(lastEventBind.write(East.str `onCellDoubleClick: row ${event.rowIndex}, col ${event.columnKey}`));
165
- }));
166
- const onSortChange = $.const(East.function([Table.Types.SortEvent], NullType, ($, event) => {
167
- $(lastEventBind.write(East.str `onSortChange: ${event.columnKey} - ${event.sortDirection.getTag()}`));
168
- }));
169
- const onTaskClick = $.const(East.function([Gantt.Types.TaskClickEvent], NullType, ($, event) => {
170
- $(lastEventBind.write(East.str `onTaskClick: row ${event.rowIndex}, task ${event.taskIndex}`));
171
- }));
172
- const onTaskDoubleClick = $.const(East.function([Gantt.Types.TaskClickEvent], NullType, ($, event) => {
173
- $(lastEventBind.write(East.str `onTaskDoubleClick: row ${event.rowIndex}, task ${event.taskIndex}`));
174
- }));
175
- // ONE grammar funnel (#268): task-body drags arrive as `move`,
176
- // edge drags as `resize`, Library drops as `add`.
177
- const onDrag = $.const(East.function([DragEventType], NullType, ($, event) => {
178
- $.match(event, {
179
- move: ($, mv) => { $(lastEventBind.write(East.str `onDrag move: ${mv.from.row}/${mv.from.event.getTag()} → ${mv.to.slot}`)); },
180
- resize: ($, rz) => { $(lastEventBind.write(East.str `onDrag resize: ${rz.event.row} ${rz.edge.getTag()} edge → ${rz.event.slot}`)); },
181
- add: ($, add) => { $(lastEventBind.write(East.str `onDrag add: ${add.from.key} → row ${add.into.row}`)); },
182
- remove: ($, rm) => { $(lastEventBind.write(East.str `onDrag remove: ${rm.from.row}`)); },
183
- });
184
- }));
185
- const onTaskProgressChange = $.const(East.function([Gantt.Types.TaskProgressChangeEvent], NullType, ($, event) => {
186
- $(lastEventBind.write(East.str `onTaskProgressChange: row ${event.rowIndex}, task ${event.taskIndex}, progress ${event.newProgress}`));
187
- }));
188
- const onMilestoneClick = $.const(East.function([Gantt.Types.MilestoneClickEvent], NullType, ($, event) => {
189
- $(lastEventBind.write(East.str `onMilestoneClick: row ${event.rowIndex}, milestone ${event.milestoneIndex}`));
190
- }));
191
- const onMilestoneDoubleClick = $.const(East.function([Gantt.Types.MilestoneClickEvent], NullType, ($, event) => {
192
- $(lastEventBind.write(East.str `onMilestoneDoubleClick: row ${event.rowIndex}, milestone ${event.milestoneIndex}`));
193
- }));
194
- const sel = $.let(presets.filter((_$, o) => o.key.equal(pKey)).get(0n, _$ => presets.get(0n)));
195
- const variantSel = $.let(variants.filter((_$, v) => v.getTag().equal(vKey)).get(0n));
196
- const densitySel = $.let(densities.filter((_$, v) => v.getTag().equal(dKey)).get(0n));
197
- // ONE rowSpec over the superset row: lifecycle state, risk status,
198
- // milestone diamonds and the styled label all come off row fields.
199
- const stateOf = $.const(East.function([StringType], Gantt.Types.State, (_$, tag) => tag.equal("committed").ifElse(_$ => variant("committed", null), _$ => tag.equal("rejected").ifElse(_$ => variant("rejected", null), _$ => tag.equal("model").ifElse(_$ => variant("proposed", variant("model", null)), _$ => tag.equal("removed").ifElse(_$ => variant("proposed", variant("removed", null)), _$ => variant("proposed", variant("added", null))))))));
200
- const statusOf = $.const(East.function([StringType], Gantt.Types.Status, (_$, tag) => tag.equal("success").ifElse(_$ => East.value(variant("success", null), Gantt.Types.Status), _$ => tag.equal("danger").ifElse(_$ => East.value(variant("danger", null), Gantt.Types.Status), _$ => East.value(variant("info", null), Gantt.Types.Status)))));
201
- const noMilestones = $.const([], ArrayType(Gantt.Types.Milestone));
202
- // ONE live gantt — the Fill switch feeds the height expression (an
203
- // empty height reads as unbounded; the wrapper Box only bounds when
204
- // filling).
205
- const boxHeight = $.let(fillOn.ifElse(_$ => "220px", _$ => ""));
206
- const ganttHeight = $.let(fillOn.ifElse(_$ => "fill", _$ => ""));
207
- const gantt = $.const(_jsx(Gantt, { id: "gantt-live", variant: variantSel, striped: stripedOn, showToday: todayOn, density: densitySel, height: ganttHeight, axis: { range: { min: sel.min, max: sel.max }, tier: sel.tier, format: sel.format }, onRowClick: onRowClick, onRowDoubleClick: onRowDoubleClick, onCellClick: onCellClick, onCellDoubleClick: onCellDoubleClick, onSortChange: onSortChange, onTaskClick: onTaskClick, onTaskDoubleClick: onTaskDoubleClick, onDrag: onDrag, onTaskProgressChange: onTaskProgressChange, onMilestoneClick: onMilestoneClick, onMilestoneDoubleClick: onMilestoneDoubleClick, data: sel.rows, columns: { name: { header: sel.header, width: "180px" } }, rowSpec: row => ({
208
- tasks: row.styled.ifElse(_$ => [Gantt.Task({
209
- start: row.start, end: row.end,
210
- label: { value: row.name, align: "center", verticalAlign: "center", color: "fg.warning", fontWeight: "bold", fontStyle: "italic" },
211
- progress: row.progress, state: stateOf(row.state),
212
- })], _$ => row.status.equal("").ifElse(_$ => [Gantt.Task({
213
- start: row.start, end: row.end, label: row.name,
214
- progress: row.progress, state: stateOf(row.state),
215
- popover: (_jsxs(VStack, { gap: "2", children: [_jsx(Text, { fontWeight: "bold", children: row.name }), _jsx(Text, { children: East.str `From ${row.start} to ${row.end}` })] })),
216
- })], _$ => [Gantt.Task({
217
- start: row.start, end: row.end, label: row.name,
218
- progress: row.progress, state: stateOf(row.state), status: statusOf(row.status),
219
- })])),
220
- milestones: row.milestone.match({
221
- some: (_$, m) => [Gantt.Milestone({
222
- date: m.date, label: m.label,
223
- kind: m.release.ifElse(_$ => variant("release", null), _$ => variant("interim", null)),
224
- })],
225
- none: (_$) => noMilestones,
226
- }),
227
- }) }));
228
- const preview = $.const(_jsx(Box, { width: "100%", height: boxHeight, overflow: "hidden", children: gantt }));
229
- return (_jsx(Configurator, { controls: [
230
- Configurator.Control("Preset", pKey, _jsx(Select, { value: pKey, onChange: onPreset, size: "sm", items: presetKeys.map((_$, s) => Select.Item(s, s)) })),
231
- Configurator.Control("Variant", vKey, _jsx(SegmentGroup, { value: vKey, onChange: onVariant, size: "sm", items: variants.map((_$, v) => SegmentGroup.Item(v.getTag(), _jsx(Text, { children: v.getTag().upperCase() }))) })),
232
- Configurator.Control("Density", dKey, _jsx(SegmentGroup, { value: dKey, onChange: onDensity, size: "sm", items: densities.map((_$, v) => SegmentGroup.Item(v.getTag(), _jsx(Text, { children: v.getTag().upperCase() }))) })),
233
- Configurator.Slot("Chrome", _jsxs(HStack, { gap: "5", align: "center", wrap: "wrap", children: [_jsx(Switch, { checked: stripedOn, label: "Striped", onChange: onStriped }), _jsx(Switch, { checked: fillOn, label: "Fill", onChange: onFill }), _jsx(Switch, { checked: todayOn, label: "Today", onChange: onToday })] })),
234
- ], preview: preview, aside: {
235
- label: "Events · Reactive",
236
- body: (_jsx(Badge, { colorPalette: "brand", variant: "outline", children: East.equal(lastEvent.length(), 0n).ifElse(_$ => "Interact with the Gantt chart", _$ => lastEvent) })),
237
- }, spec: [
238
- Configurator.Spec("Tier", sel.tier.getTag()),
239
- Configurator.Spec("Rows", East.print(sel.rows.size())),
240
- ] }));
241
- } }));
242
- }),
243
- inputs: [],
244
- });
245
- export const ganttReactiveDrag = example({
246
- keywords: ["Gantt", "Reactive", "State", "onDrag", "move", "drag", "dragStep", "grammar"],
247
- description: "Drag task to update state via the shared grammar — the move event's to.slot is the snapped ISO instant; position persists after re-render",
248
- fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
249
- const taskStartBind = $.let(State.bind([DateTimeType], "gantt_task_start", new Date("2024-01-15")));
250
- const taskStart = $.let(taskStartBind.read());
251
- const taskEnd = $.let(taskStart.addDays(14));
252
- const onDrag = $.const(East.function([DragEventType], NullType, ($, event) => {
253
- $.match(event, {
254
- // The grammar move: `to.slot` carries the snapped ISO
255
- // instant the bar landed on (component-owned snapping).
256
- move: ($, mv) => { $(taskStartBind.write(mv.to.slot.parse(DateTimeType))); },
257
- });
258
- }));
259
- return (_jsxs(VStack, { gap: "3", align: "stretch", children: [_jsx(Gantt, { id: "gantt-drag", onDrag: onDrag, dragStep: variant("days", 1), durationStep: variant("days", 1), data: [{ name: "Draggable Task" }], columns: { name: { header: "Task" } }, rowSpec: _row => ({
260
- tasks: [Gantt.Task({
261
- start: taskStart,
262
- end: taskEnd,
263
- label: "Drag me!",
264
- // proposed so the bar is editable (the ⠿ grip shows);
265
- // committed bars are locked per spec.
266
- state: "added",
267
- })],
268
- }) }), _jsx(Text, { textStyle: "body-sm", color: "fg.muted", children: East.str `Start: ${taskStart}` })] }));
269
- } }))),
270
- inputs: [],
271
- });
272
- /**
273
- * Review chrome (#263) — the shared per-row Approve / Reject decision column
274
- * (sticky beside the timeline) plus the commitBar batch foot, identical to
275
- * the Planner's. A machine-written schedule under review: model-ghost bars
276
- * on flagged rows resting `pending` (quiet warning dot), clean rows resting
277
- * `approved`. Callbacks receive the acted-on `{ rowIndex }`.
278
- */
279
- export const ganttReview = example({
280
- keywords: ["Gantt", "review", "approve", "reject", "approval", "decision", "batch", "rerun", "status", "row", "model"],
281
- description: "Optional per-row approval on a machine-written schedule — Decision column + batch foot, model-ghost bars on flagged pending rows",
282
- fn: East.function([], UIComponentType, (_$) => {
283
- return (_jsx(Gantt, { data: [
284
- { name: "Press retool", crew: "Crew A", flagged: false, start: new Date("2024-01-02"), end: new Date("2024-01-12") },
285
- { name: "Line balance", crew: "Crew B", flagged: true, start: new Date("2024-01-08"), end: new Date("2024-01-22") },
286
- { name: "Paint refit", crew: "Crew C", flagged: false, start: new Date("2024-01-15"), end: new Date("2024-01-29") },
287
- { name: "QA sweep", crew: "Crew A", flagged: true, start: new Date("2024-01-24"), end: new Date("2024-02-06") },
288
- ], columns: { name: { header: "Job" }, crew: { header: "Crew" } }, rowSpec: row => ({
289
- tasks: [Gantt.Task({
290
- start: row.start,
291
- end: row.end,
292
- label: row.name,
293
- // The machine's suggestion on flagged rows renders as the
294
- // dashed model ghost; clean rows are operator drafts.
295
- state: East.value(row.flagged.ifElse(_$ => variant("proposed", variant("model", null)), _$ => variant("proposed", variant("added", null))), Gantt.Types.State),
296
- })],
297
- status: row.flagged.ifElse(() => some(variant("warning", null)), () => none),
298
- approval: row.flagged.ifElse(() => some(variant("pending", null)), () => some(variant("approved", null))),
299
- }), review: {
300
- columnLabel: "Decision",
301
- rerunLabel: "Rerun",
302
- summary: _jsx(Text, { color: "fg.muted", children: "4 jobs \u00B7 2 flagged need a call \u00B7 +6h float" }),
303
- onApprove: East.function([Gantt.Types.ApproveEvent], NullType, _$ => null),
304
- onReject: East.function([Gantt.Types.ApproveEvent], NullType, _$ => null),
305
- onApproveAll: East.function([], NullType, _$ => null),
306
- onRejectAll: East.function([], NullType, _$ => null),
307
- onRerun: East.function([], NullType, _$ => null),
308
- } }));
309
- }),
310
- inputs: [],
311
- });
312
- /**
313
- * Library → Gantt add (#268) — the Gantt registers as an ordinary drag
314
- * target via the shared grammar: drag a crew card anywhere onto the
315
- * timeline; the drop resolves to (row index key, snapped ISO instant),
316
- * lands as an optimistic `proposed(added)` bar, and arrives through the ONE
317
- * `onDrag` funnel. A `canDrop` veto (⊘ while hovering) keeps crews off the
318
- * committed first row.
319
- */
320
- export const ganttLibraryDnd = example({
321
- keywords: ["Gantt", "Library", "DnD", "drag", "add", "move", "resize", "onDrag", "canDrop", "target", "proposed", "grammar"],
322
- description: "Library + Gantt DnD — drag a crew card onto the timeline (proposed(added) bar at the snapped instant, canDrop ⊘ on the committed row); move/resize report through the same onDrag",
323
- fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
324
- const lastBind = $.let(State.bind([StringType], "gantt_last_drop", "none yet"));
325
- const onDrag = $.const(East.function([DragEventType], NullType, ($, event) => {
326
- $.match(event, {
327
- add: ($, add) => { $(lastBind.write(East.str `add ${add.from.key} → row ${add.into.row} @ ${add.into.slot}`)); },
328
- move: ($, mv) => { $(lastBind.write(East.str `move row ${mv.from.row} → ${mv.to.slot}`)); },
329
- resize: ($, rz) => { $(lastBind.write(East.str `resize ${rz.edge.getTag()} → ${rz.event.slot}`)); },
330
- remove: ($, rm) => { $(lastBind.write(East.str `remove row ${rm.from.row} → ${rm.to.getTag()}`)); },
331
- });
332
- }));
333
- // Row 0 is committed history — no drops land there.
334
- const canDrop = $.const(East.function([DragEventType], BooleanType, ($, event) => event.match({
335
- add: (_$, add) => add.into.row.notEqual("0"),
336
- move: (_$) => East.value(true),
337
- remove: (_$) => East.value(true),
338
- resize: (_$) => East.value(true),
339
- })));
340
- const last = $.let(lastBind.read());
341
- return (_jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Library, { id: "crews", data: [
342
- { id: "crew-a", name: "Crew A", trade: "rigging" },
343
- { id: "crew-b", name: "Crew B", trade: "fit-out" },
344
- ], item: c => ({ key: c.id, label: c.name, sublabel: c.trade, icon: "user" }) }), _jsx(Gantt, { id: "schedule", sources: ["crews"], onDrag: onDrag, canDrop: canDrop, dragStep: variant("days", 1), data: [
345
- { name: "Baseline", start: new Date("2024-01-01"), end: new Date("2024-01-20") },
346
- { name: "Fit-out", start: new Date("2024-01-10"), end: new Date("2024-02-05") },
347
- { name: "Commissioning", start: new Date("2024-01-25"), end: new Date("2024-02-15") },
348
- ], columns: { name: { header: "Phase" } }, rowSpec: row => ({
349
- tasks: [Gantt.Task({
350
- start: row.start,
351
- end: row.end,
352
- label: row.name,
353
- state: East.value(row.name.equal("Baseline").ifElse(_$ => variant("committed", null), _$ => variant("proposed", variant("added", null))), Gantt.Types.State),
354
- })],
355
- }) }), _jsx(Text.MonoLabel, { children: East.str `LAST DROP · ${last}` })] }));
356
- } }))),
357
- inputs: [],
358
- });
359
- //# sourceMappingURL=gantt.examples.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gantt.examples.js","sourceRoot":"","sources":["../../../test/collections/gantt.examples.tsx"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Point Planner — a numeric day axis with AM/PM buckets, an identity column,
3
- * committed events, an explicit now-line, and a row-selection callback.
4
- */
5
- export declare const plannerPoint: import("@elaraai/east").ExampleDef<[], any>;
6
- /**
7
- * THE Planner configurator (pass 4) — one preset axis spans the whole surface:
8
- * the event grammars (states / stretch / tones / colors / markers), the bucket
9
- * grammars (buckets / mixed / per-cell), the overlays (popover / hovercard),
10
- * the axis scales (ordinal / day / hour / horizon / scroll), the span chassis
11
- * and the #320 fill contract. Axis configs, `now` slots and event arrays are
12
- * all East DATA, so every point preset flows through ONE subtree; only the
13
- * chassis (Point / Span / bounded-fill) and the build-time column sets are
14
- * prebuilt arms. Columns and density compose across every preset; the events
15
- * callback branches per row for the mixed / per-cell bucket grammars.
16
- */
17
- export declare const plannerVariants: import("@elaraai/east").ExampleDef<[], any>;
18
- /**
19
- * Optional row-approval review chrome — a per-row Approve / Reject decision
20
- * column plus a batch foot (approve-all / reject-all / rerun). Clean lines rest
21
- * pre-approved (`approval = some(approved)`, no status dot); flagged lines carry
22
- * a quiet warning dot and await an explicit call (`approval = some(pending)`).
23
- * The decision callbacks receive the acted-on `{ rowIndex }`.
24
- */
25
- export declare const plannerReview: import("@elaraai/east").ExampleDef<[], any>;
26
- /**
27
- * Opt-in DnD target (#269) — drag a person from the Library onto the weekly
28
- * plan: drops land as `proposed(added)` tiles at the (row, day[:bucket])
29
- * the pointer resolves, arriving through the ONE shared `onDrag` grammar
30
- * funnel. Press B carries AM/PM buckets, so its cells render lanes and drops
31
- * there deliver composite `"5:pm"` slot keys (Press A stays flat — plain
32
- * `"5"`). `canDrop` vetoes drops left of `now` (committed history, ⊘ while
33
- * hovering) — policy is host-owned, never hard-coded. Every callback (all
34
- * four grammar arms + the review's Approve) writes the `LAST ·` line under
35
- * the planner so gestures are visible while testing. The example proves the
36
- * review loop: a drop flips its row to `pending` via the `approval`
37
- * accessor; the row's Approve resolves it back.
38
- */
39
- export declare const plannerLibraryDnd: import("@elaraai/east").ExampleDef<[], any>;
40
- /**
41
- * Span chassis — multi-slot start → end events on a months axis, with the
42
- * detailed column set (sublabel + derived hours) and team grouping.
43
- */
44
- export declare const plannerSpan: import("@elaraai/east").ExampleDef<[], any>;
45
- /** Fill (#320) — height="fill" resolves against the bounded Box and virtualizes the 200 rows. */
46
- export declare const plannerFill: import("@elaraai/east").ExampleDef<[], any>;
47
- //# sourceMappingURL=planner.examples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner.examples.d.ts","sourceRoot":"","sources":["../../../test/collections/planner.examples.tsx"],"names":[],"mappings":"AAaA;;;GAGG;AACH,eAAO,MAAM,YAAY,6CA+BvB,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,6CAsU1B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,6CAsCxB,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,6CAgJ5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,WAAW,6CA4DtB,CAAC;AAEH,iGAAiG;AACjG,eAAO,MAAM,WAAW,6CA2BtB,CAAC"}