@elaraai/east-ui 1.0.7 → 1.0.9

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 (41) hide show
  1. package/dist/src/charts/chart/index.d.ts +4 -2
  2. package/dist/src/charts/chart/index.d.ts.map +1 -1
  3. package/dist/src/charts/chart/index.js +1 -1
  4. package/dist/src/charts/chart/index.js.map +1 -1
  5. package/dist/src/component.d.ts +70 -0
  6. package/dist/src/component.d.ts.map +1 -1
  7. package/dist/src/component.js +47 -0
  8. package/dist/src/component.js.map +1 -1
  9. package/dist/src/disclosure/index.d.ts +1 -0
  10. package/dist/src/disclosure/index.d.ts.map +1 -1
  11. package/dist/src/disclosure/index.js +1 -0
  12. package/dist/src/disclosure/index.js.map +1 -1
  13. package/dist/src/disclosure/story/index.d.ts +400 -0
  14. package/dist/src/disclosure/story/index.d.ts.map +1 -0
  15. package/dist/src/disclosure/story/index.js +369 -0
  16. package/dist/src/disclosure/story/index.js.map +1 -0
  17. package/dist/src/disclosure/story/types.d.ts +184 -0
  18. package/dist/src/disclosure/story/types.d.ts.map +1 -0
  19. package/dist/src/disclosure/story/types.js +128 -0
  20. package/dist/src/disclosure/story/types.js.map +1 -0
  21. package/dist/src/index.d.ts +1 -1
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +1 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/internal.d.ts +2 -1
  26. package/dist/src/internal.d.ts.map +1 -1
  27. package/dist/src/internal.js +2 -1
  28. package/dist/src/internal.js.map +1 -1
  29. package/dist/src/runtime/disclosure/index.d.ts +1 -0
  30. package/dist/src/runtime/disclosure/index.d.ts.map +1 -1
  31. package/dist/src/runtime/disclosure/index.js +1 -0
  32. package/dist/src/runtime/disclosure/index.js.map +1 -1
  33. package/dist/src/runtime/disclosure/story.d.ts +61 -0
  34. package/dist/src/runtime/disclosure/story.d.ts.map +1 -0
  35. package/dist/src/runtime/disclosure/story.js +58 -0
  36. package/dist/src/runtime/disclosure/story.js.map +1 -0
  37. package/dist/test/disclosure/story.examples.d.ts +11 -0
  38. package/dist/test/disclosure/story.examples.d.ts.map +1 -0
  39. package/dist/test/disclosure/story.examples.js +156 -0
  40. package/dist/test/disclosure/story.examples.js.map +1 -0
  41. package/package.json +3 -3
@@ -0,0 +1,400 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { type ExprType, type SubtypeExprOrValue, ArrayType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType } from "@elaraai/east";
6
+ import { UIComponentType } from "../../component.js";
7
+ import { StoryLayout, StoryActiveBindingType, StoryProgressBindingType, StoryStyleType, type StoryStyle, type StoryProgressOptions } from "./types.js";
8
+ export { StoryLayoutType, StoryLayout, StoryStepLengthType, StoryStepLength, StoryActiveBindingType, StoryProgressBindingType, StoryStyleType, type StoryLayoutLiteral, type StoryStepLengthLiteral, type StoryStyle, type StoryProgressOptions, } from "./types.js";
9
+ /**
10
+ * Concrete struct mirroring the inline `StoryStep` variant in
11
+ * `component.ts`. Renderers reference this for `equalFor` / `ValueTypeOf`.
12
+ *
13
+ * @remarks
14
+ * One narrative beat: spine node · eyebrow (`index / total · label`) ·
15
+ * title · body. The body is the step's children — any east-ui subtree —
16
+ * and fills the step's full scroll runway. The optional `stage` is the
17
+ * keyframe shown in the sticky slot while this step is active; a step
18
+ * without one holds the previous keyframe (the natural shape for two beats
19
+ * narrating the same visual).
20
+ *
21
+ * @property id - Step identifier, used for deep links, snapshot names, and
22
+ * the `activeStep` static override
23
+ * @property eyebrow - Short label after the `index / total` prefix
24
+ * @property title - Step heading (DM Sans 17px/600)
25
+ * @property stage - Keyframe rendered in the sticky stage while active
26
+ * @property body - Rail content (the step's children)
27
+ */
28
+ export declare const StoryStepType: StructType<{
29
+ id: StringType;
30
+ eyebrow: OptionType<StringType>;
31
+ title: OptionType<StringType>;
32
+ stage: OptionType<UIComponentType>;
33
+ body: ArrayType<UIComponentType>;
34
+ }>;
35
+ /**
36
+ * Type representing the StoryStep structure.
37
+ */
38
+ export type StoryStepType = typeof StoryStepType;
39
+ /**
40
+ * Concrete struct mirroring the inline `Story` variant in `component.ts`.
41
+ *
42
+ * @property steps - Children; expected to be `StoryStep` values (soft
43
+ * contract, like ChipRail's chip-shaped children — the renderer skips
44
+ * non-step children with a dev warning)
45
+ * @property active - Optional narrative-position binding (Integer
46
+ * read/write closures, the `State.bind` struct)
47
+ * @property progress - Optional within-step scrub binding (Float 0–1)
48
+ * @property activeStep - Static override: renders one deterministic
49
+ * keyframe by step id (snapshot pipeline / deep links)
50
+ * @property title - When present, the one-row `Story.Progress` chrome is
51
+ * rendered sticky above the story with this eyebrow title
52
+ * @property onStepEnter - Fired with the step id on activation (either
53
+ * scroll direction)
54
+ * @property onStepExit - Fired with the step id on deactivation
55
+ * @property style - Visual-presentation sub-struct
56
+ */
57
+ export declare const StoryType: StructType<{
58
+ steps: ArrayType<UIComponentType>;
59
+ active: OptionType<StoryActiveBindingType>;
60
+ progress: OptionType<StoryProgressBindingType>;
61
+ activeStep: OptionType<StringType>;
62
+ title: OptionType<StringType>;
63
+ onStepEnter: OptionType<FunctionType<[StringType], NullType>>;
64
+ onStepExit: OptionType<FunctionType<[StringType], NullType>>;
65
+ style: OptionType<StoryStyleType>;
66
+ }>;
67
+ /**
68
+ * Type representing the Story structure.
69
+ */
70
+ export type StoryType = typeof StoryType;
71
+ /**
72
+ * Concrete struct mirroring the inline `StoryProgress` variant in
73
+ * `component.ts`.
74
+ *
75
+ * @remarks
76
+ * The one-row chrome strip: eyebrow title · per-step dots · counter ·
77
+ * prev/next. Mounts standalone anywhere (a page header, a Drawer foot)
78
+ * because it only talks to the `active` binding.
79
+ *
80
+ * @property count - Total number of steps
81
+ * @property active - Optional narrative-position binding
82
+ * @property title - Eyebrow title at the left of the row
83
+ */
84
+ export declare const StoryProgressType: StructType<{
85
+ count: IntegerType;
86
+ active: OptionType<StoryActiveBindingType>;
87
+ title: OptionType<StringType>;
88
+ }>;
89
+ /**
90
+ * Type representing the StoryProgress structure.
91
+ */
92
+ export type StoryProgressType = typeof StoryProgressType;
93
+ /**
94
+ * TypeScript options bag for `Story.Step`.
95
+ *
96
+ * @remarks
97
+ * `stage` is a UIComponent prop (the established `Dialog.trigger` shape) —
98
+ * any east-ui subtree, usually a `Chart`, equally a `Table` or composed
99
+ * `Card`. The stage slot is unchromed; a keyframe that wants framing
100
+ * composes it itself.
101
+ *
102
+ * @property id - Step identifier (deep links / snapshots / `activeStep`)
103
+ * @property eyebrow - Short label after the `index / total` prefix
104
+ * @property title - Step heading
105
+ * @property stage - Keyframe shown in the sticky stage while this step is
106
+ * active; omit to hold the previous keyframe
107
+ */
108
+ export interface StoryStepOptions {
109
+ /** Step identifier (deep links / snapshots / `activeStep`) */
110
+ id: SubtypeExprOrValue<StringType>;
111
+ /** Short label after the `index / total` prefix */
112
+ eyebrow?: SubtypeExprOrValue<StringType>;
113
+ /** Step heading */
114
+ title?: SubtypeExprOrValue<StringType>;
115
+ /** Keyframe shown in the sticky stage while this step is active */
116
+ stage?: SubtypeExprOrValue<UIComponentType>;
117
+ }
118
+ /**
119
+ * TypeScript options bag for `Story.Root`.
120
+ *
121
+ * @remarks
122
+ * State (`active` / `progress` / `activeStep`), behaviour (`onStepEnter` /
123
+ * `onStepExit`), and the visual style fields (inherited from
124
+ * {@link StoryStyle}) all sit in one flat bag; the factory composes the
125
+ * nested IR style sub-struct. Omit `active` / `progress` and Story manages
126
+ * its position internally — the component is fully usable with zero wiring.
127
+ *
128
+ * @property active - Narrative-position binding (`State.bind` struct)
129
+ * @property progress - Within-step scrub binding (Float 0–1)
130
+ * @property activeStep - Static override: render one deterministic keyframe
131
+ * @property title - Render the `Story.Progress` chrome row with this title
132
+ * @property onStepEnter - Fired with the step id on activation
133
+ * @property onStepExit - Fired with the step id on deactivation
134
+ */
135
+ export interface StoryOptions extends StoryStyle {
136
+ /** Narrative-position binding (`State.bind([IntegerType], …)` struct) */
137
+ active?: SubtypeExprOrValue<StoryActiveBindingType>;
138
+ /** Within-step scrub binding (`State.bind([FloatType], …)` struct) */
139
+ progress?: SubtypeExprOrValue<StoryProgressBindingType>;
140
+ /** Static override: render one deterministic keyframe by step id */
141
+ activeStep?: SubtypeExprOrValue<StringType>;
142
+ /** Render the `Story.Progress` chrome row with this title */
143
+ title?: SubtypeExprOrValue<StringType>;
144
+ /** Fired with the step id on activation (either scroll direction) */
145
+ onStepEnter?: SubtypeExprOrValue<FunctionType<[StringType], NullType>>;
146
+ /** Fired with the step id on deactivation */
147
+ onStepExit?: SubtypeExprOrValue<FunctionType<[StringType], NullType>>;
148
+ }
149
+ /**
150
+ * Creates a Story step — one narrative beat in the rail.
151
+ *
152
+ * @param body - Rail content (any east-ui subtree); fills the step's full
153
+ * scroll runway
154
+ * @param options - `id` (required) plus `eyebrow` / `title` / `stage`
155
+ * @returns An East expression representing the StoryStep component
156
+ *
157
+ * @remarks
158
+ * Steps are real components (a `UIComponentType` variant arm), so a
159
+ * conditional step (`cond.ifElse(stepA, stepB)`) is legal. One idea per
160
+ * step: a body that needs a scrollbar is two steps.
161
+ *
162
+ * @example
163
+ * ```ts
164
+ * import { East } from "@elaraai/east";
165
+ * import { Story, Text, UIComponentType } from "@elaraai/east-ui";
166
+ *
167
+ * const step = East.function([], UIComponentType, _$ =>
168
+ * Story.Step([
169
+ * Text.Root("Orders climbed from week 6 and never gave the gain back."),
170
+ * ], { id: "demand", eyebrow: "Demand", title: "Demand ran hot" }),
171
+ * );
172
+ * ```
173
+ */
174
+ declare function createStoryStep(body: SubtypeExprOrValue<ArrayType<UIComponentType>>, options: StoryStepOptions): ExprType<UIComponentType>;
175
+ /**
176
+ * Creates a Story — a scroll-driven narrative with a prose rail and a
177
+ * sticky stage (design/story.html §2.7 Narrate).
178
+ *
179
+ * @param steps - The narrative beats, built with `Story.Step` (soft
180
+ * contract — non-step children are skipped with a dev warning)
181
+ * @param options - State + behaviour + visual style fields
182
+ * @returns An East expression representing the Story component
183
+ *
184
+ * @remarks
185
+ * Scroll drives the active step; the active step drives the stage
186
+ * keyframe. The component observes native scroll and never hijacks it;
187
+ * the single sanctioned programmatic scroll is navigation (a step/dot
188
+ * click or an external `active` write smooth-scrolls that step to the
189
+ * trigger line). The position is one ordinary state binding — omit
190
+ * `active` and Story keeps it internal.
191
+ *
192
+ * @example
193
+ * ```ts
194
+ * import { East } from "@elaraai/east";
195
+ * import { Story, Text, UIComponentType } from "@elaraai/east-ui";
196
+ *
197
+ * const review = East.function([], UIComponentType, _$ =>
198
+ * Story.Root([
199
+ * Story.Step([Text.Root("Orders climbed steadily from week 6.")],
200
+ * { id: "demand", eyebrow: "Demand", title: "Demand ran hot",
201
+ * stage: Text.Root("kf 1") }),
202
+ * Story.Step([Text.Root("The committed forecast kept its old slope.")],
203
+ * { id: "forecast", eyebrow: "Forecast", title: "The plan missed the turn",
204
+ * stage: Text.Root("kf 2") }),
205
+ * ], { title: "Q4 demand review", stageHeight: 420, stepLength: "default" }),
206
+ * );
207
+ * ```
208
+ */
209
+ declare function createStoryRoot(steps: SubtypeExprOrValue<ArrayType<UIComponentType>>, options?: StoryOptions): ExprType<UIComponentType>;
210
+ /**
211
+ * Creates the Story.Progress chrome strip: eyebrow title · per-step dots ·
212
+ * counter · prev/next.
213
+ *
214
+ * @param options - `count` (required) plus the `active` binding and `title`
215
+ * @returns An East expression representing the StoryProgress component
216
+ *
217
+ * @remarks
218
+ * Mounts standalone anywhere because it shares nothing with the Story but
219
+ * the binding: dots and prev/next simply write `active`, and the Story's
220
+ * rail treats the write as navigation. Inside `Story.Root` the chrome is
221
+ * rendered automatically when the story's `title` option is set.
222
+ *
223
+ * @example
224
+ * ```ts
225
+ * import { East } from "@elaraai/east";
226
+ * import { Story, UIComponentType } from "@elaraai/east-ui";
227
+ *
228
+ * const chrome = East.function([], UIComponentType, _$ =>
229
+ * Story.Progress({ count: 4, title: "Q4 demand review" }),
230
+ * );
231
+ * ```
232
+ */
233
+ declare function createStoryProgress(options: StoryProgressOptions): ExprType<UIComponentType>;
234
+ /**
235
+ * Story compound primitive for scroll-driven narratives — one persistent
236
+ * visual (the stage) evolving through keyframes while prose steps scroll
237
+ * past in a rail beside it. The reader's scrollbar is the timeline.
238
+ *
239
+ * @remarks
240
+ * Use `Story.Root(steps, options)` for the container, `Story.Step(body,
241
+ * { id, … })` for each beat, and `Story.Progress(options)` for standalone
242
+ * chrome. Reach for Story only when the *sequence* of readings carries the
243
+ * argument; random-access beats are Tabs, equal-weight siblings with no
244
+ * shared visual are a Carousel.
245
+ */
246
+ export declare const Story: {
247
+ /**
248
+ * Creates a Story container.
249
+ *
250
+ * @param steps - The narrative beats, built with `Story.Step`
251
+ * @param options - State + behaviour + visual style fields
252
+ * @returns An East expression representing the Story component
253
+ *
254
+ * @remarks
255
+ * See {@link createStoryRoot} for full semantics. `active` / `progress`
256
+ * / `activeStep` (state) and `onStepEnter` / `onStepExit` (behaviour)
257
+ * sit alongside the visual style fields in one flat bag.
258
+ *
259
+ * @example
260
+ * ```ts
261
+ * import { East } from "@elaraai/east";
262
+ * import { Story, Text, UIComponentType } from "@elaraai/east-ui";
263
+ *
264
+ * const ex = East.function([], UIComponentType, _$ =>
265
+ * Story.Root([
266
+ * Story.Step([Text.Root("Beat one.")], { id: "one", title: "One" }),
267
+ * Story.Step([Text.Root("Beat two.")], { id: "two", title: "Two" }),
268
+ * ], { stageHeight: 420 }),
269
+ * );
270
+ * ```
271
+ */
272
+ readonly Root: typeof createStoryRoot;
273
+ /**
274
+ * Creates a Story step.
275
+ *
276
+ * @param body - Rail content (any east-ui subtree)
277
+ * @param options - `id` (required) plus `eyebrow` / `title` / `stage`
278
+ * @returns An East expression representing the StoryStep component
279
+ *
280
+ * @example
281
+ * ```ts
282
+ * import { East } from "@elaraai/east";
283
+ * import { Story, Text, UIComponentType } from "@elaraai/east-ui";
284
+ *
285
+ * const ex = East.function([], UIComponentType, _$ =>
286
+ * Story.Step([Text.Root("Orders climbed steadily.")],
287
+ * { id: "demand", eyebrow: "Demand", title: "Demand ran hot" }),
288
+ * );
289
+ * ```
290
+ */
291
+ readonly Step: typeof createStoryStep;
292
+ /**
293
+ * Creates the standalone Story.Progress chrome strip.
294
+ *
295
+ * @param options - `count` (required) plus `active` binding and `title`
296
+ * @returns An East expression representing the StoryProgress component
297
+ *
298
+ * @example
299
+ * ```ts
300
+ * import { East } from "@elaraai/east";
301
+ * import { Story, UIComponentType } from "@elaraai/east-ui";
302
+ *
303
+ * const ex = East.function([], UIComponentType, _$ =>
304
+ * Story.Progress({ count: 4, title: "Q4 demand review" }),
305
+ * );
306
+ * ```
307
+ */
308
+ readonly Progress: typeof createStoryProgress;
309
+ /**
310
+ * Helper for creating story layout values.
311
+ *
312
+ * @param v - The layout string
313
+ * @returns An East expression representing the layout
314
+ */
315
+ readonly Layout: typeof StoryLayout;
316
+ readonly Types: {
317
+ /**
318
+ * The concrete East type for the Story container — mirrors the
319
+ * inline `Story` variant in `component.ts`.
320
+ */
321
+ readonly Story: StructType<{
322
+ steps: ArrayType<UIComponentType>;
323
+ active: OptionType<StoryActiveBindingType>;
324
+ progress: OptionType<StoryProgressBindingType>;
325
+ activeStep: OptionType<StringType>;
326
+ title: OptionType<StringType>;
327
+ onStepEnter: OptionType<FunctionType<[StringType], NullType>>;
328
+ onStepExit: OptionType<FunctionType<[StringType], NullType>>;
329
+ style: OptionType<StoryStyleType>;
330
+ }>;
331
+ /**
332
+ * The concrete East type for a Story step.
333
+ */
334
+ readonly Step: StructType<{
335
+ id: StringType;
336
+ eyebrow: OptionType<StringType>;
337
+ title: OptionType<StringType>;
338
+ stage: OptionType<UIComponentType>;
339
+ body: ArrayType<UIComponentType>;
340
+ }>;
341
+ /**
342
+ * The concrete East type for the Story.Progress chrome.
343
+ */
344
+ readonly Progress: StructType<{
345
+ count: IntegerType;
346
+ active: OptionType<StoryActiveBindingType>;
347
+ title: OptionType<StringType>;
348
+ }>;
349
+ /**
350
+ * Visual-only style struct for Story. See {@link StoryStyleType}.
351
+ */
352
+ readonly Style: StructType<{
353
+ readonly layout: OptionType<import("@elaraai/east").VariantType<{
354
+ readonly "rail-left": NullType;
355
+ readonly "rail-right": NullType;
356
+ readonly stacked: NullType;
357
+ }>>;
358
+ readonly stageHeight: OptionType<StringType>;
359
+ readonly stepLength: OptionType<import("@elaraai/east").VariantType<{
360
+ readonly compact: NullType;
361
+ readonly default: NullType;
362
+ readonly long: NullType;
363
+ }>>;
364
+ readonly height: OptionType<StringType>;
365
+ }>;
366
+ /**
367
+ * Layout enum (rail-left / rail-right / stacked).
368
+ */
369
+ readonly Layout: import("@elaraai/east").VariantType<{
370
+ readonly "rail-left": NullType;
371
+ readonly "rail-right": NullType;
372
+ readonly stacked: NullType;
373
+ }>;
374
+ /**
375
+ * Step runway enum (compact / default / long).
376
+ */
377
+ readonly StepLength: import("@elaraai/east").VariantType<{
378
+ readonly compact: NullType;
379
+ readonly default: NullType;
380
+ readonly long: NullType;
381
+ }>;
382
+ /**
383
+ * Narrative-position binding struct (Integer read/write closures).
384
+ */
385
+ readonly ActiveBinding: StructType<{
386
+ readonly read: FunctionType<[], IntegerType>;
387
+ readonly write: FunctionType<[IntegerType], NullType>;
388
+ readonly has: FunctionType<[], import("@elaraai/east").BooleanType>;
389
+ }>;
390
+ /**
391
+ * Within-step scrub binding struct (Float read/write closures).
392
+ */
393
+ readonly ProgressBinding: StructType<{
394
+ readonly read: FunctionType<[], import("@elaraai/east").FloatType>;
395
+ readonly write: FunctionType<[import("@elaraai/east").FloatType], NullType>;
396
+ readonly has: FunctionType<[], import("@elaraai/east").BooleanType>;
397
+ }>;
398
+ };
399
+ };
400
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/disclosure/story/index.ts"],"names":[],"mappings":"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"}