@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
@@ -0,0 +1,443 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The `Pick` namespace — choosing which of a component's declared things show.
7
+ *
8
+ * @remarks
9
+ * Assembled HERE rather than beside the contract, for the same reason `Slice`
10
+ * is: `Pick.Panel` needs `UIComponentType`, and `component.ts` imports the
11
+ * contract. Splitting the namespace from the vocabulary is what keeps
12
+ * `contracts/pick.ts` importable by `component.ts` with no cycle.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import { createPickState, createPickBind, pickActive, pickVisible, pickItems } from "../contracts/pick.js";
17
+ import { createPickPanel } from "./panel/index.js";
18
+ export { type PickPanelOptions, createPickPanel } from "./panel/index.js";
19
+ /**
20
+ * The `Pick` namespace.
21
+ *
22
+ * @remarks
23
+ * Bind a list with {@link Pick.bind}, feed the survivors to the component with
24
+ * {@link Pick.active}, and render the library with {@link Pick.Panel}. The
25
+ * handle is what decouples them: the panel never imports the component, and the
26
+ * component never learns a panel exists.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * const shown = $.let(Pick.bind("ops.series", all, { id: s => s.key, title: s => s.name }));
31
+ * <Pick.Panel value={shown} title="Series" />
32
+ * <Plan axis={axis} data={ops} series={Pick.active(shown)} />
33
+ * ```
34
+ */
35
+ export declare const Pick: {
36
+ /** Build a state seed — the ids switched off. */
37
+ readonly state: typeof createPickState;
38
+ /** Bind a list of things to a persisted pick. */
39
+ readonly bind: typeof createPickBind;
40
+ /** The items still switched on, in declaration order. */
41
+ readonly active: typeof pickActive;
42
+ /** The derivation alone — items minus a hidden list, no state binding. */
43
+ readonly visible: typeof pickVisible;
44
+ /** The library entries alone — described, with no state binding. */
45
+ readonly items: typeof pickItems;
46
+ /** The library panel — one row per thing, with an eye. */
47
+ readonly Panel: typeof createPickPanel;
48
+ /** East types — the contract, for `$.const` / `$.let` annotations. */
49
+ readonly Types: {
50
+ /** The ids switched off (an empty list shows everything). */
51
+ readonly State: import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>;
52
+ /** One pickable thing as the panel sees it. */
53
+ readonly Item: import("@elaraai/east").StructType<{
54
+ readonly id: import("@elaraai/east").StringType;
55
+ readonly title: import("@elaraai/east").StringType;
56
+ readonly subtitle: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
57
+ readonly icon: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
58
+ readonly name: import("@elaraai/east").StringType;
59
+ readonly prefix: import("@elaraai/east").StringType;
60
+ readonly label: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
61
+ readonly style: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
62
+ readonly size: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
63
+ readonly xs: import("@elaraai/east").NullType;
64
+ readonly sm: import("@elaraai/east").NullType;
65
+ readonly md: import("@elaraai/east").NullType;
66
+ readonly lg: import("@elaraai/east").NullType;
67
+ readonly xl: import("@elaraai/east").NullType;
68
+ readonly "2xl": import("@elaraai/east").NullType;
69
+ }>>;
70
+ readonly variant: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
71
+ readonly solid: import("@elaraai/east").NullType;
72
+ readonly regular: import("@elaraai/east").NullType;
73
+ readonly light: import("@elaraai/east").NullType;
74
+ readonly thin: import("@elaraai/east").NullType;
75
+ readonly brands: import("@elaraai/east").NullType;
76
+ }>>;
77
+ readonly color: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
78
+ readonly background: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
79
+ readonly colorPalette: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
80
+ readonly brand: import("@elaraai/east").NullType;
81
+ readonly gray: import("@elaraai/east").NullType;
82
+ readonly red: import("@elaraai/east").NullType;
83
+ readonly orange: import("@elaraai/east").NullType;
84
+ readonly yellow: import("@elaraai/east").NullType;
85
+ readonly green: import("@elaraai/east").NullType;
86
+ readonly teal: import("@elaraai/east").NullType;
87
+ readonly blue: import("@elaraai/east").NullType;
88
+ readonly cyan: import("@elaraai/east").NullType;
89
+ readonly purple: import("@elaraai/east").NullType;
90
+ readonly pink: import("@elaraai/east").NullType;
91
+ readonly success: import("@elaraai/east").NullType;
92
+ readonly warning: import("@elaraai/east").NullType;
93
+ readonly danger: import("@elaraai/east").NullType;
94
+ readonly info: import("@elaraai/east").NullType;
95
+ readonly neutral: import("@elaraai/east").NullType;
96
+ }>>;
97
+ readonly opacity: import("@elaraai/east").OptionType<import("@elaraai/east").FloatType>;
98
+ readonly borderRadius: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
99
+ readonly overflow: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
100
+ readonly visible: import("@elaraai/east").NullType;
101
+ readonly hidden: import("@elaraai/east").NullType;
102
+ readonly scroll: import("@elaraai/east").NullType;
103
+ readonly auto: import("@elaraai/east").NullType;
104
+ }>>;
105
+ readonly overflowX: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
106
+ readonly visible: import("@elaraai/east").NullType;
107
+ readonly hidden: import("@elaraai/east").NullType;
108
+ readonly scroll: import("@elaraai/east").NullType;
109
+ readonly auto: import("@elaraai/east").NullType;
110
+ }>>;
111
+ readonly overflowY: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
112
+ readonly visible: import("@elaraai/east").NullType;
113
+ readonly hidden: import("@elaraai/east").NullType;
114
+ readonly scroll: import("@elaraai/east").NullType;
115
+ readonly auto: import("@elaraai/east").NullType;
116
+ }>>;
117
+ readonly width: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
118
+ readonly height: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
119
+ readonly minWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
120
+ readonly minHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
121
+ readonly maxWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
122
+ readonly maxHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
123
+ readonly padding: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
124
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
125
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
126
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
127
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
128
+ }>>;
129
+ readonly margin: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
130
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
131
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
132
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
133
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
134
+ }>>;
135
+ }>>;
136
+ }>>;
137
+ readonly count: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
138
+ readonly narrowed: import("@elaraai/east").BooleanType;
139
+ }>;
140
+ /** The state binding — `State.bind`'s shape at {@link PickStateType}. */
141
+ readonly StateHandle: import("@elaraai/east").StructType<{
142
+ readonly read: import("@elaraai/east").FunctionType<[], import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>>;
143
+ readonly write: import("@elaraai/east").FunctionType<[import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>], import("@elaraai/east").NullType>;
144
+ readonly has: import("@elaraai/east").FunctionType<[], import("@elaraai/east").BooleanType>;
145
+ }>;
146
+ /** The non-generic contract a component's IR holds. */
147
+ readonly Bind: import("@elaraai/east").StructType<{
148
+ readonly key: import("@elaraai/east").StringType;
149
+ readonly state: import("@elaraai/east").StructType<{
150
+ readonly read: import("@elaraai/east").FunctionType<[], import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>>;
151
+ readonly write: import("@elaraai/east").FunctionType<[import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>], import("@elaraai/east").NullType>;
152
+ readonly has: import("@elaraai/east").FunctionType<[], import("@elaraai/east").BooleanType>;
153
+ }>;
154
+ readonly items: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
155
+ readonly id: import("@elaraai/east").StringType;
156
+ readonly title: import("@elaraai/east").StringType;
157
+ readonly subtitle: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
158
+ readonly icon: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
159
+ readonly name: import("@elaraai/east").StringType;
160
+ readonly prefix: import("@elaraai/east").StringType;
161
+ readonly label: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
162
+ readonly style: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
163
+ readonly size: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
164
+ readonly xs: import("@elaraai/east").NullType;
165
+ readonly sm: import("@elaraai/east").NullType;
166
+ readonly md: import("@elaraai/east").NullType;
167
+ readonly lg: import("@elaraai/east").NullType;
168
+ readonly xl: import("@elaraai/east").NullType;
169
+ readonly "2xl": import("@elaraai/east").NullType;
170
+ }>>;
171
+ readonly variant: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
172
+ readonly solid: import("@elaraai/east").NullType;
173
+ readonly regular: import("@elaraai/east").NullType;
174
+ readonly light: import("@elaraai/east").NullType;
175
+ readonly thin: import("@elaraai/east").NullType;
176
+ readonly brands: import("@elaraai/east").NullType;
177
+ }>>;
178
+ readonly color: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
179
+ readonly background: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
180
+ readonly colorPalette: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
181
+ readonly brand: import("@elaraai/east").NullType;
182
+ readonly gray: import("@elaraai/east").NullType;
183
+ readonly red: import("@elaraai/east").NullType;
184
+ readonly orange: import("@elaraai/east").NullType;
185
+ readonly yellow: import("@elaraai/east").NullType;
186
+ readonly green: import("@elaraai/east").NullType;
187
+ readonly teal: import("@elaraai/east").NullType;
188
+ readonly blue: import("@elaraai/east").NullType;
189
+ readonly cyan: import("@elaraai/east").NullType;
190
+ readonly purple: import("@elaraai/east").NullType;
191
+ readonly pink: import("@elaraai/east").NullType;
192
+ readonly success: import("@elaraai/east").NullType;
193
+ readonly warning: import("@elaraai/east").NullType;
194
+ readonly danger: import("@elaraai/east").NullType;
195
+ readonly info: import("@elaraai/east").NullType;
196
+ readonly neutral: import("@elaraai/east").NullType;
197
+ }>>;
198
+ readonly opacity: import("@elaraai/east").OptionType<import("@elaraai/east").FloatType>;
199
+ readonly borderRadius: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
200
+ readonly overflow: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
201
+ readonly visible: import("@elaraai/east").NullType;
202
+ readonly hidden: import("@elaraai/east").NullType;
203
+ readonly scroll: import("@elaraai/east").NullType;
204
+ readonly auto: import("@elaraai/east").NullType;
205
+ }>>;
206
+ readonly overflowX: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
207
+ readonly visible: import("@elaraai/east").NullType;
208
+ readonly hidden: import("@elaraai/east").NullType;
209
+ readonly scroll: import("@elaraai/east").NullType;
210
+ readonly auto: import("@elaraai/east").NullType;
211
+ }>>;
212
+ readonly overflowY: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
213
+ readonly visible: import("@elaraai/east").NullType;
214
+ readonly hidden: import("@elaraai/east").NullType;
215
+ readonly scroll: import("@elaraai/east").NullType;
216
+ readonly auto: import("@elaraai/east").NullType;
217
+ }>>;
218
+ readonly width: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
219
+ readonly height: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
220
+ readonly minWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
221
+ readonly minHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
222
+ readonly maxWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
223
+ readonly maxHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
224
+ readonly padding: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
225
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
226
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
227
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
228
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
229
+ }>>;
230
+ readonly margin: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
231
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
232
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
233
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
234
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
235
+ }>>;
236
+ }>>;
237
+ }>>;
238
+ readonly count: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
239
+ readonly narrowed: import("@elaraai/east").BooleanType;
240
+ }>>;
241
+ }>;
242
+ /** The `Pick.Panel` component payload. */
243
+ readonly Panel: import("@elaraai/east").StructType<{
244
+ readonly pick: import("@elaraai/east").StructType<{
245
+ readonly key: import("@elaraai/east").StringType;
246
+ readonly state: import("@elaraai/east").StructType<{
247
+ readonly read: import("@elaraai/east").FunctionType<[], import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>>;
248
+ readonly write: import("@elaraai/east").FunctionType<[import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>], import("@elaraai/east").NullType>;
249
+ readonly has: import("@elaraai/east").FunctionType<[], import("@elaraai/east").BooleanType>;
250
+ }>;
251
+ readonly items: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
252
+ readonly id: import("@elaraai/east").StringType;
253
+ readonly title: import("@elaraai/east").StringType;
254
+ readonly subtitle: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
255
+ readonly icon: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
256
+ readonly name: import("@elaraai/east").StringType;
257
+ readonly prefix: import("@elaraai/east").StringType;
258
+ readonly label: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
259
+ readonly style: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
260
+ readonly size: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
261
+ readonly xs: import("@elaraai/east").NullType;
262
+ readonly sm: import("@elaraai/east").NullType;
263
+ readonly md: import("@elaraai/east").NullType;
264
+ readonly lg: import("@elaraai/east").NullType;
265
+ readonly xl: import("@elaraai/east").NullType;
266
+ readonly "2xl": import("@elaraai/east").NullType;
267
+ }>>;
268
+ readonly variant: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
269
+ readonly solid: import("@elaraai/east").NullType;
270
+ readonly regular: import("@elaraai/east").NullType;
271
+ readonly light: import("@elaraai/east").NullType;
272
+ readonly thin: import("@elaraai/east").NullType;
273
+ readonly brands: import("@elaraai/east").NullType;
274
+ }>>;
275
+ readonly color: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
276
+ readonly background: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
277
+ readonly colorPalette: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
278
+ readonly brand: import("@elaraai/east").NullType;
279
+ readonly gray: import("@elaraai/east").NullType;
280
+ readonly red: import("@elaraai/east").NullType;
281
+ readonly orange: import("@elaraai/east").NullType;
282
+ readonly yellow: import("@elaraai/east").NullType;
283
+ readonly green: import("@elaraai/east").NullType;
284
+ readonly teal: import("@elaraai/east").NullType;
285
+ readonly blue: import("@elaraai/east").NullType;
286
+ readonly cyan: import("@elaraai/east").NullType;
287
+ readonly purple: import("@elaraai/east").NullType;
288
+ readonly pink: import("@elaraai/east").NullType;
289
+ readonly success: import("@elaraai/east").NullType;
290
+ readonly warning: import("@elaraai/east").NullType;
291
+ readonly danger: import("@elaraai/east").NullType;
292
+ readonly info: import("@elaraai/east").NullType;
293
+ readonly neutral: import("@elaraai/east").NullType;
294
+ }>>;
295
+ readonly opacity: import("@elaraai/east").OptionType<import("@elaraai/east").FloatType>;
296
+ readonly borderRadius: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
297
+ readonly overflow: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
298
+ readonly visible: import("@elaraai/east").NullType;
299
+ readonly hidden: import("@elaraai/east").NullType;
300
+ readonly scroll: import("@elaraai/east").NullType;
301
+ readonly auto: import("@elaraai/east").NullType;
302
+ }>>;
303
+ readonly overflowX: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
304
+ readonly visible: import("@elaraai/east").NullType;
305
+ readonly hidden: import("@elaraai/east").NullType;
306
+ readonly scroll: import("@elaraai/east").NullType;
307
+ readonly auto: import("@elaraai/east").NullType;
308
+ }>>;
309
+ readonly overflowY: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
310
+ readonly visible: import("@elaraai/east").NullType;
311
+ readonly hidden: import("@elaraai/east").NullType;
312
+ readonly scroll: import("@elaraai/east").NullType;
313
+ readonly auto: import("@elaraai/east").NullType;
314
+ }>>;
315
+ readonly width: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
316
+ readonly height: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
317
+ readonly minWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
318
+ readonly minHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
319
+ readonly maxWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
320
+ readonly maxHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
321
+ readonly padding: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
322
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
323
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
324
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
325
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
326
+ }>>;
327
+ readonly margin: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
328
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
329
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
330
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
331
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
332
+ }>>;
333
+ }>>;
334
+ }>>;
335
+ readonly count: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
336
+ readonly narrowed: import("@elaraai/east").BooleanType;
337
+ }>>;
338
+ }>;
339
+ readonly title: import("@elaraai/east").StringType;
340
+ }>;
341
+ /** The author's handle, at an item type. */
342
+ readonly Handle: <I extends import("@elaraai/east").EastType>(i: I) => import("@elaraai/east").StructType<{
343
+ readonly pick: import("@elaraai/east").StructType<{
344
+ readonly key: import("@elaraai/east").StringType;
345
+ readonly state: import("@elaraai/east").StructType<{
346
+ readonly read: import("@elaraai/east").FunctionType<[], import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>>;
347
+ readonly write: import("@elaraai/east").FunctionType<[import("@elaraai/east").ArrayType<import("@elaraai/east").StringType>], import("@elaraai/east").NullType>;
348
+ readonly has: import("@elaraai/east").FunctionType<[], import("@elaraai/east").BooleanType>;
349
+ }>;
350
+ readonly items: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
351
+ readonly id: import("@elaraai/east").StringType;
352
+ readonly title: import("@elaraai/east").StringType;
353
+ readonly subtitle: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
354
+ readonly icon: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
355
+ readonly name: import("@elaraai/east").StringType;
356
+ readonly prefix: import("@elaraai/east").StringType;
357
+ readonly label: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
358
+ readonly style: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
359
+ readonly size: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
360
+ readonly xs: import("@elaraai/east").NullType;
361
+ readonly sm: import("@elaraai/east").NullType;
362
+ readonly md: import("@elaraai/east").NullType;
363
+ readonly lg: import("@elaraai/east").NullType;
364
+ readonly xl: import("@elaraai/east").NullType;
365
+ readonly "2xl": import("@elaraai/east").NullType;
366
+ }>>;
367
+ readonly variant: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
368
+ readonly solid: import("@elaraai/east").NullType;
369
+ readonly regular: import("@elaraai/east").NullType;
370
+ readonly light: import("@elaraai/east").NullType;
371
+ readonly thin: import("@elaraai/east").NullType;
372
+ readonly brands: import("@elaraai/east").NullType;
373
+ }>>;
374
+ readonly color: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
375
+ readonly background: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
376
+ readonly colorPalette: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
377
+ readonly brand: import("@elaraai/east").NullType;
378
+ readonly gray: import("@elaraai/east").NullType;
379
+ readonly red: import("@elaraai/east").NullType;
380
+ readonly orange: import("@elaraai/east").NullType;
381
+ readonly yellow: import("@elaraai/east").NullType;
382
+ readonly green: import("@elaraai/east").NullType;
383
+ readonly teal: import("@elaraai/east").NullType;
384
+ readonly blue: import("@elaraai/east").NullType;
385
+ readonly cyan: import("@elaraai/east").NullType;
386
+ readonly purple: import("@elaraai/east").NullType;
387
+ readonly pink: import("@elaraai/east").NullType;
388
+ readonly success: import("@elaraai/east").NullType;
389
+ readonly warning: import("@elaraai/east").NullType;
390
+ readonly danger: import("@elaraai/east").NullType;
391
+ readonly info: import("@elaraai/east").NullType;
392
+ readonly neutral: import("@elaraai/east").NullType;
393
+ }>>;
394
+ readonly opacity: import("@elaraai/east").OptionType<import("@elaraai/east").FloatType>;
395
+ readonly borderRadius: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
396
+ readonly overflow: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
397
+ readonly visible: import("@elaraai/east").NullType;
398
+ readonly hidden: import("@elaraai/east").NullType;
399
+ readonly scroll: import("@elaraai/east").NullType;
400
+ readonly auto: import("@elaraai/east").NullType;
401
+ }>>;
402
+ readonly overflowX: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
403
+ readonly visible: import("@elaraai/east").NullType;
404
+ readonly hidden: import("@elaraai/east").NullType;
405
+ readonly scroll: import("@elaraai/east").NullType;
406
+ readonly auto: import("@elaraai/east").NullType;
407
+ }>>;
408
+ readonly overflowY: import("@elaraai/east").OptionType<import("@elaraai/east").VariantType<{
409
+ readonly visible: import("@elaraai/east").NullType;
410
+ readonly hidden: import("@elaraai/east").NullType;
411
+ readonly scroll: import("@elaraai/east").NullType;
412
+ readonly auto: import("@elaraai/east").NullType;
413
+ }>>;
414
+ readonly width: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
415
+ readonly height: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
416
+ readonly minWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
417
+ readonly minHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
418
+ readonly maxWidth: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
419
+ readonly maxHeight: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
420
+ readonly padding: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
421
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
422
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
423
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
424
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
425
+ }>>;
426
+ readonly margin: import("@elaraai/east").OptionType<import("@elaraai/east").StructType<{
427
+ readonly top: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
428
+ readonly right: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
429
+ readonly bottom: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
430
+ readonly left: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
431
+ }>>;
432
+ }>>;
433
+ }>>;
434
+ readonly count: import("@elaraai/east").OptionType<import("@elaraai/east").IntegerType>;
435
+ readonly narrowed: import("@elaraai/east").BooleanType;
436
+ }>>;
437
+ }>;
438
+ readonly all: import("@elaraai/east").ArrayType<I>;
439
+ readonly id: import("@elaraai/east").FunctionType<[I], import("@elaraai/east").StringType>;
440
+ }>;
441
+ };
442
+ };
443
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pick/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EACH,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EAOZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI;IACb,iDAAiD;;IAEjD,iDAAiD;;IAEjD,yDAAyD;;IAEzD,0EAA0E;;IAE1E,oEAAoE;;IAEpE,0DAA0D;;IAE1D,sEAAsE;;QAElE,6DAA6D;;QAE7D,+CAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAE/C,yEAAyE;;;;;;QAEzE,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEvD,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAE1C,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG1C,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The `Pick` namespace — choosing which of a component's declared things show.
7
+ *
8
+ * @remarks
9
+ * Assembled HERE rather than beside the contract, for the same reason `Slice`
10
+ * is: `Pick.Panel` needs `UIComponentType`, and `component.ts` imports the
11
+ * contract. Splitting the namespace from the vocabulary is what keeps
12
+ * `contracts/pick.ts` importable by `component.ts` with no cycle.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import { createPickState, createPickBind, pickActive, pickVisible, pickItems, PickStateType, PickItemType, PickStateHandleType, PickBindType, PickPanelType, PickHandleType, } from "../contracts/pick.js";
17
+ import { createPickPanel } from "./panel/index.js";
18
+ export { createPickPanel } from "./panel/index.js";
19
+ /**
20
+ * The `Pick` namespace.
21
+ *
22
+ * @remarks
23
+ * Bind a list with {@link Pick.bind}, feed the survivors to the component with
24
+ * {@link Pick.active}, and render the library with {@link Pick.Panel}. The
25
+ * handle is what decouples them: the panel never imports the component, and the
26
+ * component never learns a panel exists.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * const shown = $.let(Pick.bind("ops.series", all, { id: s => s.key, title: s => s.name }));
31
+ * <Pick.Panel value={shown} title="Series" />
32
+ * <Plan axis={axis} data={ops} series={Pick.active(shown)} />
33
+ * ```
34
+ */
35
+ export const Pick = {
36
+ /** Build a state seed — the ids switched off. */
37
+ state: createPickState,
38
+ /** Bind a list of things to a persisted pick. */
39
+ bind: createPickBind,
40
+ /** The items still switched on, in declaration order. */
41
+ active: pickActive,
42
+ /** The derivation alone — items minus a hidden list, no state binding. */
43
+ visible: pickVisible,
44
+ /** The library entries alone — described, with no state binding. */
45
+ items: pickItems,
46
+ /** The library panel — one row per thing, with an eye. */
47
+ Panel: createPickPanel,
48
+ /** East types — the contract, for `$.const` / `$.let` annotations. */
49
+ Types: {
50
+ /** The ids switched off (an empty list shows everything). */
51
+ State: PickStateType,
52
+ /** One pickable thing as the panel sees it. */
53
+ Item: PickItemType,
54
+ /** The state binding — `State.bind`'s shape at {@link PickStateType}. */
55
+ StateHandle: PickStateHandleType,
56
+ /** The non-generic contract a component's IR holds. */
57
+ Bind: PickBindType,
58
+ /** The `Pick.Panel` component payload. */
59
+ Panel: PickPanelType,
60
+ /** The author's handle, at an item type. */
61
+ Handle: PickHandleType,
62
+ },
63
+ };
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pick/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EACH,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,cAAc,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAyB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,iDAAiD;IACjD,KAAK,EAAE,eAAe;IACtB,iDAAiD;IACjD,IAAI,EAAE,cAAc;IACpB,yDAAyD;IACzD,MAAM,EAAE,UAAU;IAClB,0EAA0E;IAC1E,OAAO,EAAE,WAAW;IACpB,oEAAoE;IACpE,KAAK,EAAE,SAAS;IAChB,0DAA0D;IAC1D,KAAK,EAAE,eAAe;IACtB,sEAAsE;IACtE,KAAK,EAAE;QACH,6DAA6D;QAC7D,KAAK,EAAE,aAAa;QACpB,+CAA+C;QAC/C,IAAI,EAAE,YAAY;QAClB,yEAAyE;QACzE,WAAW,EAAE,mBAAmB;QAChC,uDAAuD;QACvD,IAAI,EAAE,YAAY;QAClB,0CAA0C;QAC1C,KAAK,EAAE,aAAa;QACpB,4CAA4C;QAC5C,MAAM,EAAE,cAAc;KACzB;CACK,CAAC"}
@@ -0,0 +1,64 @@
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
+ * `Pick.Panel` — the component half of the pick contract (#590).
7
+ *
8
+ * The factory lives here rather than beside the contract in `contracts/pick.ts`
9
+ * for the reason every component factory does: it needs `UIComponentType`, and
10
+ * `component.ts` imports the contract. Keeping the contract free of the
11
+ * component type is what lets the arm reference `PickPanelType` by name instead
12
+ * of hand-syncing an inline copy.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import { type EastType, type ExprType, type SubtypeExprOrValue, StringType } from "@elaraai/east";
17
+ import { UIComponentType } from "../../component.js";
18
+ import { type PickHandle } from "../../contracts/pick.js";
19
+ /** Options for `Pick.Panel`. */
20
+ export interface PickPanelOptions<I extends EastType> {
21
+ /** The handle from `Pick.bind`. */
22
+ value: PickHandle<I>;
23
+ /**
24
+ * The author's noun for what is being picked — `"Series"` / `"Columns"` /
25
+ * `"Layers"`. Required, because the contract holds identified things and
26
+ * genuinely cannot know what they are.
27
+ */
28
+ title: SubtypeExprOrValue<StringType>;
29
+ }
30
+ /**
31
+ * Creates a `Pick.Panel` — the library of a component's declared things, one
32
+ * row each, with an eye to switch it off.
33
+ *
34
+ * @remarks
35
+ * Only the handle's non-generic `pick` field is stored. That projection is the
36
+ * whole mechanism: the item type stops here, so a single `UIComponentType` arm
37
+ * serves every adopter and the panel mounts anywhere — beside the component, in
38
+ * a `Drawer`, behind a toolbar chip — without importing it.
39
+ *
40
+ * Mount it inside the SAME `Reactive.Root` that binds the handle and renders the
41
+ * component. A reactive body is a free function and cannot capture a `$.let`
42
+ * handle from an enclosing scope, so a panel that is its own root would have to
43
+ * re-bind with its own copy of the item list.
44
+ *
45
+ * @typeParam I - The item type being picked over
46
+ * @param options - The handle and the author's noun ({@link PickPanelOptions})
47
+ * @returns An East expression of type `UIComponentType`
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * <Reactive>{$ => {
52
+ * const all = $.const(LIBRARY, ArrayType(ITEM));
53
+ * const shown = $.let(Pick.bind("ops.series", all, { id: x => x.key, title: x => x.name }));
54
+ * return (
55
+ * <HStack gap="4" align="start">
56
+ * <Pick.Panel value={shown} title="Series" />
57
+ * <Plan axis={axis} data={ops} series={Pick.active(shown)} />
58
+ * </HStack>
59
+ * );
60
+ * }}</Reactive>
61
+ * ```
62
+ */
63
+ export declare function createPickPanel<I extends EastType>(options: PickPanelOptions<I>): ExprType<UIComponentType>;
64
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pick/panel/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAEvB,UAAU,EAGb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAExE,gCAAgC;AAChC,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,QAAQ;IAChD,mCAAmC;IACnC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,QAAQ,EAC9C,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC7B,QAAQ,CAAC,eAAe,CAAC,CAQ3B"}