@starci/grammar 0.18.0 → 0.19.1

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 (39) hide show
  1. package/README.md +1 -1
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-navigation.css +117 -5
  4. package/dist/common/registry.d.ts +4 -3
  5. package/dist/common/registry.d.ts.map +1 -1
  6. package/dist/common/registry.js +2 -2
  7. package/dist/common/registry.js.map +1 -1
  8. package/dist/common/renderers-navigation.d.ts +4 -4
  9. package/dist/common/renderers-navigation.d.ts.map +1 -1
  10. package/dist/common/renderers-navigation.js +1 -1
  11. package/dist/common/renderers-navigation.js.map +1 -1
  12. package/dist/common/renderers.d.ts +2 -1
  13. package/dist/common/renderers.d.ts.map +1 -1
  14. package/dist/common/renderers.js +1 -0
  15. package/dist/common/renderers.js.map +1 -1
  16. package/dist/common/styles.css +20 -1
  17. package/dist/core/branch/FlowGraph/index.d.ts +21 -7
  18. package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
  19. package/dist/core/branch/FlowGraph/index.js +236 -42
  20. package/dist/core/branch/FlowGraph/index.js.map +1 -1
  21. package/dist/core/branch/FlowGraph/layout.d.ts +58 -0
  22. package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -1
  23. package/dist/core/branch/FlowGraph/layout.js +198 -0
  24. package/dist/core/branch/FlowGraph/layout.js.map +1 -1
  25. package/dist/core/branch/FlowGraph/types.d.ts +33 -3
  26. package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
  27. package/dist/core/composite/Stepper/index.d.ts +7 -2
  28. package/dist/core/composite/Stepper/index.d.ts.map +1 -1
  29. package/dist/core/composite/Stepper/index.js +1 -1
  30. package/dist/core/composite/Stepper/index.js.map +1 -1
  31. package/dist/core/primitive/ConnectionStatus/index.d.ts +15 -0
  32. package/dist/core/primitive/ConnectionStatus/index.d.ts.map +1 -0
  33. package/dist/core/primitive/ConnectionStatus/index.js +15 -0
  34. package/dist/core/primitive/ConnectionStatus/index.js.map +1 -0
  35. package/dist/core/primitive/Progress/index.d.ts +9 -2
  36. package/dist/core/primitive/Progress/index.d.ts.map +1 -1
  37. package/dist/core/primitive/Progress/index.js +3 -3
  38. package/dist/core/primitive/Progress/index.js.map +1 -1
  39. package/package.json +1 -1
@@ -130,4 +130,202 @@ export const layeredStepPosition = (edge, positions, layers, direction) => {
130
130
  return 0.5 / span;
131
131
  return 1 - 0.5 / span;
132
132
  };
133
+ /** The bubble width range in graph units, and the width a bubble takes when it gives none. */
134
+ export const FLOW_GRAPH_DIAMETER = { min: 24, max: 128 };
135
+ export const FLOW_GRAPH_DEFAULT_DIAMETER = 48;
136
+ const clampDiameter = (value) => Math.min(FLOW_GRAPH_DIAMETER.max, Math.max(FLOW_GRAPH_DIAMETER.min, value));
137
+ /**
138
+ * The bubble width for a value: a square-root scale, so the disc's area tracks the value. `max` is the value that draws at the
139
+ * widest, `range.max`; a value of 0 or less draws at `range.min`. The range defaults to the 24 to 128 a bubble accepts.
140
+ */
141
+ export const flowGraphDiameter = (value, max, range = FLOW_GRAPH_DIAMETER) => {
142
+ if (!(max > 0) || !(value > 0))
143
+ return clampDiameter(range.min);
144
+ const scaled = range.max * Math.sqrt(Math.min(value / max, 1));
145
+ return clampDiameter(Math.round(Math.max(range.min, scaled)));
146
+ };
147
+ /** The width a bubble draws at: its `diameter` held to the range. */
148
+ export const flowGraphBubbleDiameter = (node) => clampDiameter(node.diameter ?? FLOW_GRAPH_DEFAULT_DIAMETER);
149
+ /** The ring distances of the orbit layout, in graph units. */
150
+ export const ORBIT_SECOND_RING = 226;
151
+ export const ORBIT_RING_GAP = 136;
152
+ export const ORBIT_STAGGER = 34;
153
+ export const ORBIT_FAN_GAP = 160;
154
+ export const ORBIT_FAN_STEP = 44;
155
+ const ORBIT_MIN_ARC = 0.44;
156
+ /** The room a label pill claims on its ring in the orbit layout (a bubble claims its diameter). */
157
+ export const ORBIT_LABEL_SPAN = 120;
158
+ /** How far the guide square reaches past the outermost ring. */
159
+ const ORBIT_GUIDE_MARGIN = 30;
160
+ export const orbitMoreId = (parentId) => `grammar-flow-more-${parentId}`;
161
+ const adjacency = (nodes, edges) => {
162
+ const known = new Set(nodes.map((node) => node.id));
163
+ const neighbours = new Map();
164
+ for (const edge of edges) {
165
+ if (!known.has(edge.source) || !known.has(edge.target))
166
+ continue;
167
+ neighbours.set(edge.source, [...(neighbours.get(edge.source) ?? []), edge.target]);
168
+ neighbours.set(edge.target, [...(neighbours.get(edge.target) ?? []), edge.source]);
169
+ }
170
+ return neighbours;
171
+ };
172
+ /** The step between two neighbours on a ring, from their widths: centre to centre, with a gap. */
173
+ const orbitStep = (a, b) => (a + b) / 2 * 0.68 + 6;
174
+ /**
175
+ * Orbit positions, node centres in graph units, the root at (0, 0). Ring two holds the root's children in sectors weighted by
176
+ * what they hold; ring three holds their children, staggered on two radii inside the sector so it stays compact; ring four
177
+ * holds the fans of the ring-three nodes in `expanded`: every node below such a node, up to `fanLimit`, then a `+n` bubble.
178
+ * Fans sit on their node's bearing and push apart when several are open, the sequence cut at the widest empty arc so a fan
179
+ * never wraps into the first one. Nodes the root cannot reach share an outer ring.
180
+ */
181
+ export const orbitLayout = (nodes, edges, options) => {
182
+ const positions = new Map();
183
+ const parents = new Map();
184
+ const visible = new Set();
185
+ const expandable = new Set();
186
+ const more = [];
187
+ const radii = [];
188
+ const root = flowGraphRoot(nodes);
189
+ if (root === undefined)
190
+ return { positions, parents, visible, expandable, more, radii, extent: 0 };
191
+ const byId = new Map(nodes.map((node) => [node.id, node]));
192
+ const spanOf = (id) => {
193
+ const node = byId.get(id);
194
+ return node?.form === "bubble" ? flowGraphBubbleDiameter(node) : ORBIT_LABEL_SPAN;
195
+ };
196
+ const neighbours = adjacency(nodes, edges);
197
+ const depths = new Map([[root.id, 0]]);
198
+ const children = new Map();
199
+ const queue = [root.id];
200
+ for (const id of queue) {
201
+ for (const next of neighbours.get(id) ?? []) {
202
+ if (depths.has(next))
203
+ continue;
204
+ depths.set(next, (depths.get(id) ?? 0) + 1);
205
+ parents.set(next, id);
206
+ children.set(id, [...(children.get(id) ?? []), next]);
207
+ queue.push(next);
208
+ }
209
+ }
210
+ // Every node below `id`, nearest first.
211
+ const below = (id) => {
212
+ const found = [...(children.get(id) ?? [])];
213
+ for (const member of found)
214
+ found.push(...(children.get(member) ?? []));
215
+ return found;
216
+ };
217
+ positions.set(root.id, { x: 0, y: 0 });
218
+ visible.add(root.id);
219
+ const ringTwo = children.get(root.id) ?? [];
220
+ const bearings = new Map();
221
+ let outer = 0;
222
+ if (ringTwo.length > 0) {
223
+ const second = Math.max(ORBIT_SECOND_RING, spanOf(root.id) / 2 + Math.max(...ringTwo.map(spanOf)) / 2 + 48);
224
+ const weightOf = (kids) => kids.reduce((sum, id, index) => {
225
+ const next = kids[index + 1];
226
+ return sum + (next === undefined ? spanOf(id) * 0.7 : orbitStep(spanOf(id), spanOf(next)));
227
+ }, 26);
228
+ const weights = ringTwo.map((id) => weightOf(children.get(id) ?? []));
229
+ const total = weights.reduce((sum, weight) => sum + weight, 0);
230
+ const third = Math.max(second + ORBIT_RING_GAP, total / (2 * Math.PI));
231
+ const raw = weights.map((weight) => Math.max(weight / total * 2 * Math.PI, ORBIT_MIN_ARC));
232
+ const rawSum = raw.reduce((sum, arc) => sum + arc, 0);
233
+ const share = raw.map((arc) => arc / rawSum * 2 * Math.PI);
234
+ let cursor = -Math.PI / 2 - (share[0] ?? 0) / 2;
235
+ let cursorThree = -Math.PI / 2 - (weights[0] ?? 0) / total * Math.PI;
236
+ ringTwo.forEach((id, index) => {
237
+ const arc = share[index] ?? 0;
238
+ const mid = cursor + arc / 2;
239
+ cursor += arc;
240
+ positions.set(id, { x: Math.cos(mid) * second, y: Math.sin(mid) * second });
241
+ visible.add(id);
242
+ const wedge = (weights[index] ?? 0) / total * 2 * Math.PI;
243
+ const midThree = cursorThree + wedge / 2;
244
+ cursorThree += wedge;
245
+ const kids = children.get(id) ?? [];
246
+ const steps = kids.slice(0, -1).map((kid, at) => orbitStep(spanOf(kid), spanOf(kids[at + 1] ?? kid)) / third);
247
+ let angle = midThree - steps.reduce((sum, step) => sum + step, 0) / 2;
248
+ kids.forEach((kid, at) => {
249
+ const radius = third + (at % 2 === 0 ? -ORBIT_STAGGER : ORBIT_STAGGER);
250
+ positions.set(kid, { x: Math.cos(angle) * radius, y: Math.sin(angle) * radius });
251
+ visible.add(kid);
252
+ bearings.set(kid, angle);
253
+ if ((children.get(kid) ?? []).length > 0)
254
+ expandable.add(kid);
255
+ angle += steps[at] ?? 0;
256
+ });
257
+ });
258
+ radii.push(second, third);
259
+ outer = third + ORBIT_STAGGER;
260
+ // Ring four: the fans of the open nodes of ring three.
261
+ const fans = [...expandable]
262
+ .filter((id) => options.expanded.has(id))
263
+ .sort((a, b) => (bearings.get(a) ?? 0) - (bearings.get(b) ?? 0))
264
+ .map((id) => {
265
+ const members = below(id);
266
+ const shown = members.slice(0, Math.max(1, options.fanLimit));
267
+ const rest = members.length - shown.length;
268
+ return { id, shown, rest, slots: shown.length + (rest > 0 ? 1 : 0), bearing: bearings.get(id) ?? 0 };
269
+ });
270
+ if (fans.length > 0) {
271
+ const step = Math.max(ORBIT_FAN_STEP, ...fans.flatMap((fan) => fan.shown.map((id) => spanOf(id) + 8)));
272
+ const slotTotal = fans.reduce((sum, fan) => sum + fan.slots + 1, 0);
273
+ const fourth = Math.max(third + ORBIT_FAN_GAP, slotTotal * step / (2 * Math.PI * 0.92));
274
+ // Cut the circle at its widest empty arc, so a fan never wraps into the first one.
275
+ const first = fans[0]?.bearing ?? 0;
276
+ const last = fans[fans.length - 1]?.bearing ?? 0;
277
+ const cut = fans.reduce((best, fan, index) => {
278
+ const gap = index === 0 ? first + 2 * Math.PI - last : fan.bearing - (fans[index - 1]?.bearing ?? 0);
279
+ return gap > best.gap ? { gap, index } : best;
280
+ }, { gap: -1, index: 0 }).index;
281
+ const sequence = fans.map((_fan, index) => {
282
+ const fan = fans[(index + cut) % fans.length];
283
+ return { fan, bearing: (fan?.bearing ?? 0) + (index + cut >= fans.length ? 2 * Math.PI : 0) };
284
+ });
285
+ const angular = step / fourth;
286
+ let end = -Infinity;
287
+ let wanted = 0;
288
+ let got = 0;
289
+ const starts = sequence.map((entry) => {
290
+ const run = ((entry.fan?.slots ?? 1) - 1) * angular;
291
+ const start = Math.max(entry.bearing - run / 2, end + angular);
292
+ end = start + run;
293
+ wanted += entry.bearing;
294
+ got += start + run / 2;
295
+ return start;
296
+ });
297
+ const shift = (wanted - got) / sequence.length;
298
+ sequence.forEach((entry, index) => {
299
+ const { fan } = entry;
300
+ if (fan === undefined)
301
+ return;
302
+ const place = (id, slot) => {
303
+ const angle = (starts[index] ?? 0) + shift + slot * angular;
304
+ positions.set(id, { x: Math.cos(angle) * fourth, y: Math.sin(angle) * fourth });
305
+ };
306
+ fan.shown.forEach((member, slot) => {
307
+ place(member, slot);
308
+ visible.add(member);
309
+ });
310
+ if (fan.rest > 0) {
311
+ const id = orbitMoreId(fan.id);
312
+ place(id, fan.shown.length);
313
+ more.push({ id, parentId: fan.id, count: fan.rest });
314
+ }
315
+ });
316
+ radii.push(fourth);
317
+ outer = fourth;
318
+ }
319
+ }
320
+ const stray = nodes.filter((node) => !depths.has(node.id));
321
+ stray.forEach((node, index) => {
322
+ const radius = outer + 90;
323
+ const angle = -Math.PI / 2 + index * Math.PI * 2 / stray.length;
324
+ positions.set(node.id, { x: Math.cos(angle) * radius, y: Math.sin(angle) * radius });
325
+ visible.add(node.id);
326
+ });
327
+ if (stray.length > 0)
328
+ outer += 90;
329
+ return { positions, parents, visible, expandable, more, radii, extent: outer + ORBIT_GUIDE_MARGIN };
330
+ };
133
331
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/layout.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type FlowGraphTone = "neutral" | "accent" | "success" | "warning" | "danger" | "muted";
1
+ export type FlowGraphTone = "neutral" | "accent" | "success" | "warning" | "danger" | "info" | "muted";
2
2
  export type FlowGraphNodeSize = "sm" | "md" | "lg";
3
3
  export type FlowGraphHeight = "sm" | "md" | "lg";
4
4
  /**
@@ -6,7 +6,23 @@ export type FlowGraphHeight = "sm" | "md" | "lg";
6
6
  * `diamond` (a decision) and `circle` (a start or end point).
7
7
  */
8
8
  export type FlowGraphNodeShape = "stadium" | "rect" | "round" | "diamond" | "circle";
9
- export type FlowGraphLayout = "radial" | "manual" | "layered";
9
+ /**
10
+ * `radial` rings the nodes round the root, `layered` puts a DAG in layers, `manual` uses each node's `position`, and `orbit`
11
+ * is the value-sized map: the root at the centre, then sectors, a staggered ring and the fans of open nodes.
12
+ */
13
+ export type FlowGraphLayout = "radial" | "manual" | "layered" | "orbit";
14
+ /** How a node draws: a `label` pill that carries its words, or a `bubble` disc that carries a short `mark` and is named on hover. */
15
+ export type FlowGraphNodeForm = "label" | "bubble";
16
+ /**
17
+ * The paint of a node beyond its tone, so a status never rests on colour alone: `solid` (a full disc), `half` (the lower half
18
+ * filled), `soft` (a tint), `outline` (a dashed edge on the surface) and `hatched` (diagonal stripes with a dotted edge).
19
+ */
20
+ export type FlowGraphFill = "solid" | "half" | "soft" | "outline" | "hatched";
21
+ /** One arc of a status ring: its tone and its share. The arcs run clockwise from the top in the order given. */
22
+ export type FlowGraphRingPart = {
23
+ readonly tone: FlowGraphTone;
24
+ readonly value: number;
25
+ };
10
26
  /** The way edges run: top to bottom or left to right. */
11
27
  export type FlowGraphDirection = "TB" | "LR";
12
28
  export type FlowGraphNode = {
@@ -18,7 +34,21 @@ export type FlowGraphNode = {
18
34
  /** The node outline. Defaults to `stadium`. */
19
35
  readonly shape?: FlowGraphNodeShape;
20
36
  readonly count?: number | string;
21
- /** The centre of a radial layout. Defaults to the first node. */
37
+ /** `bubble` draws a disc (see {@link FlowGraphNodeForm}). Defaults to `label`. */
38
+ readonly form?: FlowGraphNodeForm;
39
+ /** The text inside a bubble, at most 4 characters (`02`, `PDF`); longer text is cut to 4. Hidden under zoom 0.5. */
40
+ readonly mark?: string;
41
+ /** A second line inside a large bubble. Hidden under zoom 0.42. */
42
+ readonly caption?: string;
43
+ /** The bubble width in graph units, 24 to 128 (default 48). Size it with `flowGraphDiameter(value, max)` so area tracks value. */
44
+ readonly diameter?: number;
45
+ /** The paint of the node beyond its tone. Defaults to `soft` for a bubble. */
46
+ readonly fill?: FlowGraphFill;
47
+ /** A conic status ring round an inner disc, one arc per part. A bubble only. */
48
+ readonly ring?: ReadonlyArray<FlowGraphRingPart>;
49
+ /** Filtered out: the node draws faint, keeps its place and stays focusable; an edge dims with its target. */
50
+ readonly isDimmed?: boolean;
51
+ /** The centre of a radial or orbit layout. Defaults to the first node. */
22
52
  readonly isRoot?: boolean;
23
53
  /** A slot not filled yet: dashed outline, muted. */
24
54
  readonly isPlaceholder?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAC7F,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAClD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAChD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AACpF,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAC7D,yDAAyD;AACzD,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE5C,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,oDAAoD;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,6HAA6H;IAC7H,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACjE,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iIAAiI;IACjI,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACnC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACtB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import type { ReactNode } from "react";
2
- export type StepperStepState = "complete" | "current" | "upcoming" | "error";
2
+ /** `paused` is a step that stopped for a reason outside the flow (out of credit, waiting on the owner) and resumes by itself. */
3
+ export type StepperStepState = "complete" | "current" | "upcoming" | "error" | "paused";
4
+ /** `dense` is the compact step for a list row: a 20px marker and 12px type. */
5
+ export type StepperSize = "md" | "dense";
3
6
  export type StepperStep = {
4
7
  readonly id: string;
5
8
  readonly label: string;
@@ -14,6 +17,8 @@ export type StepperProps = {
14
17
  readonly steps: ReadonlyArray<StepperStep>;
15
18
  readonly currentStepId: string;
16
19
  readonly orientation?: "horizontal" | "vertical";
20
+ /** `dense` fits the stepper inside a list row. Defaults to `md`. */
21
+ readonly size?: StepperSize;
17
22
  /** Present only when the reader may jump between steps; each step then becomes a button. */
18
23
  readonly onStepSelect?: (id: string) => void;
19
24
  /** App-owned assistive text per state, e.g. "completed". Omitted states are announced by position only. */
@@ -37,5 +42,5 @@ export declare const stepStateFor: (steps: ReadonlyArray<StepperStep>, currentSt
37
42
  * (accent after a completed step); below 30rem it keeps only the current step's label in the paint.
38
43
  * Contract: list HIERARCHY-3 (+FOCUS-2 when interactive), step STATE-1, marker A11Y-2, control FOCUS-1.
39
44
  */
40
- export declare const Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, isLoading, }: StepperProps) => import("react").JSX.Element;
45
+ export declare const Stepper: ({ label, steps, currentStepId, orientation, size, onStepSelect, stateLabel, renderMarker, className, isLoading, }: StepperProps) => import("react").JSX.Element;
41
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5E,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAChD,4FAA4F;IAC5F,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,2GAA2G;IAC3G,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IACrE,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAA;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,GAAI,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,eAAe,MAAM,EAAE,OAAO,MAAM,KAAG,gBAMtG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,6GAUrB,YAAY,gCA+Ed,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,iIAAiI;AACjI,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;AACvF,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,CAAA;AAExC,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAChD,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC3B,4FAA4F;IAC5F,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,2GAA2G;IAC3G,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IACrE,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAA;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,GAAI,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,eAAe,MAAM,EAAE,OAAO,MAAM,KAAG,gBAMtG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,mHAWrB,YAAY,gCAiFd,CAAA"}
@@ -20,7 +20,7 @@ export const stepStateFor = (steps, currentStepId, index) => {
20
20
  * (accent after a completed step); below 30rem it keeps only the current step's label in the paint.
21
21
  * Contract: list HIERARCHY-3 (+FOCUS-2 when interactive), step STATE-1, marker A11Y-2, control FOCUS-1.
22
22
  */
23
- export const Stepper = ({ label, steps, currentStepId, orientation = "horizontal", onStepSelect, stateLabel, renderMarker, className, isLoading = false, }) => isLoading ? (_jsx("nav", { "aria-label": label, "aria-busy": "true", className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-loading": "true", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-interactive": "false", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": "HIERARCHY-3 STATE-8", children: steps.map((step) => (_jsx("li", { className: "starci-core-step", "data-contract": "STATE-1", "data-grammar-step-state": "upcoming", "data-grammar-current": "false", "data-grammar-skeleton": "true", children: _jsxs("span", { className: "starci-core-step-body", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-step-marker starci-core-step-skeleton-marker", "data-grammar-step-marker": "true", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsx("span", { className: "starci-core-step-copy", children: step.label === "" ? _jsx("span", { "aria-hidden": "true", className: "starci-core-step-skeleton-label", children: _jsx(Skeleton, { shape: "text" }) }) : _jsx("span", { className: "starci-core-step-label", "data-grammar-step-label": "true", children: step.label }) })] }) }, step.id))) }) })) : (_jsx("nav", { "aria-label": label, className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-interactive": onStepSelect === undefined ? "false" : "true", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": onStepSelect === undefined ? "HIERARCHY-3" : "HIERARCHY-3 FOCUS-2", onKeyDown: onStepSelect === undefined ? undefined : (event) => { moveFocusBetweenPeers(event, "[data-grammar-step-control]", orientation === "vertical" ? "vertical" : "horizontal"); }, children: steps.map((step, index) => {
23
+ export const Stepper = ({ label, steps, currentStepId, orientation = "horizontal", size = "md", onStepSelect, stateLabel, renderMarker, className, isLoading = false, }) => isLoading ? (_jsx("nav", { "aria-label": label, "aria-busy": "true", className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-loading": "true", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-size": size, "data-grammar-stepper-interactive": "false", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": "HIERARCHY-3 STATE-8", children: steps.map((step) => (_jsx("li", { className: "starci-core-step", "data-contract": "STATE-1", "data-grammar-step-state": "upcoming", "data-grammar-current": "false", "data-grammar-skeleton": "true", children: _jsxs("span", { className: "starci-core-step-body", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-step-marker starci-core-step-skeleton-marker", "data-grammar-step-marker": "true", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsx("span", { className: "starci-core-step-copy", children: step.label === "" ? _jsx("span", { "aria-hidden": "true", className: "starci-core-step-skeleton-label", children: _jsx(Skeleton, { shape: "text" }) }) : _jsx("span", { className: "starci-core-step-label", "data-grammar-step-label": "true", children: step.label }) })] }) }, step.id))) }) })) : (_jsx("nav", { "aria-label": label, className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-size": size, "data-grammar-stepper-interactive": onStepSelect === undefined ? "false" : "true", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": onStepSelect === undefined ? "HIERARCHY-3" : "HIERARCHY-3 FOCUS-2", onKeyDown: onStepSelect === undefined ? undefined : (event) => { moveFocusBetweenPeers(event, "[data-grammar-step-control]", orientation === "vertical" ? "vertical" : "horizontal"); }, children: steps.map((step, index) => {
24
24
  const state = stepStateFor(steps, currentStepId, index);
25
25
  const announcement = stateLabel?.(state);
26
26
  const content = _jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-step-marker", "data-contract": "A11Y-2", "data-grammar-step-marker": "true", children: renderMarker === undefined ? index + 1 : renderMarker(step, index, state) }), _jsxs("span", { className: "starci-core-step-copy", children: [_jsx("span", { className: "starci-core-step-label", "data-grammar-step-label": "true", children: step.label }), announcement === undefined ? null : _jsx("span", { className: "starci-core-nav-visually-hidden", children: `, ${announcement}` }), step.description === undefined ? null : _jsx("span", { className: "starci-core-step-description", "data-grammar-step-description": "true", children: step.description })] })] });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** `live` data is arriving, `reconnecting` the link dropped and is being restored, `lost` it is down and no retry is running. */
2
+ export type ConnectionState = "live" | "reconnecting" | "lost";
3
+ export type ConnectionStatusProps = {
4
+ readonly state: ConnectionState;
5
+ /** The state in the app's words, e.g. "Live", "Reconnecting", "Connection lost". It is drawn and announced; the dot adds nothing to read. */
6
+ readonly label: string;
7
+ };
8
+ /**
9
+ * ATOM - `ConnectionStatus`: the state of a live feed (server-sent events, a socket) as a small dot and its words. It is a polite
10
+ * live region, so a change from `live` to `reconnecting` or `lost` is spoken without moving focus. The dot echoes while `live` and
11
+ * `reconnecting` (off under reduced motion) and stands still when `lost`; the words carry the state, never the colour alone.
12
+ * Contract: DOT-NAMED by its label, STATE-1 by `data-grammar-connection-state`.
13
+ */
14
+ export declare const ConnectionStatus: ({ state, label }: ConnectionStatusProps) => import("react").JSX.Element;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/ConnectionStatus/index.tsx"],"names":[],"mappings":"AAEA,iIAAiI;AACjI,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,CAAA;AAE9D,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,6IAA6I;IAC7I,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,kBAAkB,qBAAqB,gCAavE,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { StatusDotMark } from "../StatusDot/index.js";
3
+ const TONES = {
4
+ live: "success",
5
+ reconnecting: "warning",
6
+ lost: "danger",
7
+ };
8
+ /**
9
+ * ATOM - `ConnectionStatus`: the state of a live feed (server-sent events, a socket) as a small dot and its words. It is a polite
10
+ * live region, so a change from `live` to `reconnecting` or `lost` is spoken without moving focus. The dot echoes while `live` and
11
+ * `reconnecting` (off under reduced motion) and stands still when `lost`; the words carry the state, never the colour alone.
12
+ * Contract: DOT-NAMED by its label, STATE-1 by `data-grammar-connection-state`.
13
+ */
14
+ export const ConnectionStatus = ({ state, label }) => (_jsxs("span", { "aria-live": "polite", className: "starci-core-connection-status", "data-component": "ConnectionStatus", "data-contract": "STATE-1", "data-grammar-connection-state": state, "data-tier": "atom", role: "status", children: [_jsx(StatusDotMark, { echo: state !== "lost", tone: TONES[state] }), _jsx("span", { className: "starci-core-connection-status-label", children: label })] }));
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/ConnectionStatus/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAA;AAWzE,MAAM,KAAK,GAA2C;IAClD,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,SAAS;IACvB,IAAI,EAAE,QAAQ;CACjB,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAyB,EAAE,EAAE,CAAC,CACzE,6BACc,QAAQ,EAClB,SAAS,EAAC,+BAA+B,oBAC1B,kBAAkB,mBACnB,SAAS,mCACQ,KAAK,eAC1B,MAAM,EAChB,IAAI,EAAC,QAAQ,aAEb,KAAC,aAAa,IAAC,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAI,EAC7D,eAAM,SAAS,EAAC,qCAAqC,YAAE,KAAK,GAAQ,IACjE,CACV,CAAA"}
@@ -1,3 +1,5 @@
1
+ /** The colour of the fill: the meaning of what is measured. `accent` is the default. */
2
+ export type ProgressTone = "accent" | "success" | "warning" | "danger" | "info";
1
3
  export type ProgressProps = {
2
4
  /** What the bar measures. Required because the visible bar has no drawn label. */
3
5
  readonly label: string;
@@ -13,9 +15,14 @@ export type ProgressProps = {
13
15
  readonly total: number;
14
16
  readonly completed: number;
15
17
  };
16
- /** Spoken value in step mode, e.g. "Step 3 of 5"; defaults to "completed / total". */
18
+ /**
19
+ * The spoken reading, e.g. "56 of 120 chunks, paused". In step mode it defaults to "completed / total"; on a bar it is
20
+ * `aria-valuetext`, and without it a screen reader reads the percentage.
21
+ */
17
22
  readonly valueText?: string;
23
+ /** The fill colour, from what the bar measures (a paused job `warning`, a failed one `danger`). Defaults to `accent`. */
24
+ readonly tone?: ProgressTone;
18
25
  };
19
26
  /** Accessible, full-width completion bar with an inert initial-loading shape. */
20
- export declare const Progress: ({ label, value, isSkeleton, steps, valueText }: ProgressProps) => import("react").JSX.Element;
27
+ export declare const Progress: ({ label, value, isSkeleton, steps, valueText, tone }: ProgressProps) => import("react").JSX.Element;
21
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAUD,iFAAiF;AACjF,eAAO,MAAM,QAAQ,GAAI,gDAA4D,aAAa,gCA8DjG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":"AAEA,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE/E,MAAM,MAAM,aAAa,GAAG;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,yHAAyH;IACzH,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAC/B,CAAA;AAUD,iFAAiF;AACjF,eAAO,MAAM,QAAQ,GAAI,sDAA6E,aAAa,gCAgElH,CAAA"}
@@ -8,15 +8,15 @@ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base(
8
8
  className: "starci-core-progress",
9
9
  });
10
10
  /** Accessible, full-width completion bar with an inert initial-loading shape. */
11
- export const Progress = ({ label, value = 0, isSkeleton = false, steps, valueText }) => {
11
+ export const Progress = ({ label, value = 0, isSkeleton = false, steps, valueText, tone = "accent" }) => {
12
12
  if (steps !== undefined && !isSkeleton) {
13
13
  const total = Math.max(1, Math.round(steps.total));
14
14
  const completed = Math.min(total, Math.max(0, Math.round(steps.completed)));
15
- return (_jsx(ProgressBar, { "aria-label": label, size: "sm", minValue: 0, maxValue: total, value: completed, valueLabel: valueText ?? `${completed} / ${total}`, "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "data-grammar-progress-mode": "steps", "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { className: "starci-core-progress-steps", style: { gridTemplateColumns: `repeat(${total}, minmax(0, 1fr))` }, children: Array.from({ length: total }, (_, index) => (_jsx("span", { "aria-hidden": true, className: "starci-core-progress-step", "data-grammar-progress-step": index < completed ? "done" : "todo" }, index))) }) }));
15
+ return (_jsx(ProgressBar, { "aria-label": label, size: "sm", minValue: 0, maxValue: total, value: completed, valueLabel: valueText ?? `${completed} / ${total}`, "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "data-grammar-progress-mode": "steps", "data-grammar-progress-tone": tone, "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { className: "starci-core-progress-steps", style: { gridTemplateColumns: `repeat(${total}, minmax(0, 1fr))` }, children: Array.from({ length: total }, (_, index) => (_jsx("span", { "aria-hidden": true, className: "starci-core-progress-step", "data-grammar-progress-step": index < completed ? "done" : "todo" }, index))) }) }));
16
16
  }
17
17
  if (isSkeleton) {
18
18
  return (_jsx("span", { "data-tier": "atom", "data-component": "Progress", "data-loading": "true", "aria-hidden": true, "data-contract": "MEASURE-2", className: SKELETON_CLASS_NAME }));
19
19
  }
20
- return (_jsx(ProgressBar, { "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "aria-label": label, value: value, minValue: 0, maxValue: 100, color: "accent", size: "sm", "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { children: _jsx(ProgressBar.Fill, {}) }) }));
20
+ return (_jsx(ProgressBar, { "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "aria-label": label, value: value, minValue: 0, maxValue: 100, ...(valueText === undefined ? {} : { valueLabel: valueText }), "data-grammar-progress-tone": tone, size: "sm", "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { children: _jsx(ProgressBar.Fill, {}) }) }));
21
21
  };
22
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAkB7D;;;GAGG;AACH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,sBAAsB;CACpC,CAAC,CAAA;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAiB,EAAE,EAAE;IAClG,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3E,OAAO,CACH,KAAC,WAAW,kBACI,KAAK,EACjB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,SAAS,IAAI,GAAG,SAAS,MAAM,KAAK,EAAE,eACxC,MAAM,oBACD,UAAU,kBACZ,OAAO,gCACO,OAAO,mBACpB,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,4BAA4B,EAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,KAAK,mBAAmB,EAAE,YACvH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,oCAA8B,SAAS,EAAC,2BAA2B,gCAA6B,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAxH,KAAK,CAAuH,CAC1I,CAAC,GACc,GACV,CACjB,CAAA;IACL,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CACH,4BACc,MAAM,oBACD,UAAU,kBACZ,MAAM,wCAIL,WAAW,EACzB,SAAS,EAAE,mBAAmB,GAChC,CACL,CAAA;IACL,CAAC;IAED,OAAO,CACH,KAAC,WAAW,iBACE,MAAM,oBACD,UAAU,kBACZ,OAAO,gBACR,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,GAAG,EACb,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,IAAI,mBAEK,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,cACd,KAAC,WAAW,CAAC,IAAI,KAAG,GACJ,GACV,CACjB,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AA0B7D;;;GAGG;AACH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,sBAAsB;CACpC,CAAC,CAAA;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,QAAQ,EAAiB,EAAE,EAAE;IACnH,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3E,OAAO,CACH,KAAC,WAAW,kBACI,KAAK,EACjB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,SAAS,IAAI,GAAG,SAAS,MAAM,KAAK,EAAE,eACxC,MAAM,oBACD,UAAU,kBACZ,OAAO,gCACO,OAAO,gCACN,IAAI,mBAClB,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,4BAA4B,EAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,KAAK,mBAAmB,EAAE,YACvH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,oCAA8B,SAAS,EAAC,2BAA2B,gCAA6B,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAxH,KAAK,CAAuH,CAC1I,CAAC,GACc,GACV,CACjB,CAAA;IACL,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CACH,4BACc,MAAM,oBACD,UAAU,kBACZ,MAAM,wCAIL,WAAW,EACzB,SAAS,EAAE,mBAAmB,GAChC,CACL,CAAA;IACL,CAAC;IAED,OAAO,CACH,KAAC,WAAW,iBACE,MAAM,oBACD,UAAU,kBACZ,OAAO,gBACR,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,GAAG,KACT,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,gCAClC,IAAI,EAChC,IAAI,EAAC,IAAI,mBAEK,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,cACd,KAAC,WAAW,CAAC,IAAI,KAAG,GACJ,GACV,CACjB,CAAA;AACL,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starci/grammar",
3
- "version": "0.18.0",
3
+ "version": "0.19.1",
4
4
  "description": "Reusable StarCi React components, compositions, and packaged visual DNA.",
5
5
  "keywords": [
6
6
  "starci",