@fusion.dev/helix 0.99.0 → 0.101.0

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.
package/types/svelte.d.ts CHANGED
@@ -65,6 +65,8 @@ declare module 'svelte/elements' {
65
65
  'helix-input': CustomElements['helix-input']
66
66
  'helix-kbd': CustomElements['helix-kbd']
67
67
  'helix-legend': CustomElements['helix-legend']
68
+ 'helix-lightbox-item': CustomElements['helix-lightbox-item']
69
+ 'helix-lightbox': CustomElements['helix-lightbox']
68
70
  'helix-line-chart': CustomElements['helix-line-chart']
69
71
  'helix-list-item': CustomElements['helix-list-item']
70
72
  'helix-list': CustomElements['helix-list']
package/types/vue.d.ts CHANGED
@@ -57,6 +57,8 @@ import type {
57
57
  HelixInput,
58
58
  HelixKbd,
59
59
  HelixLegend,
60
+ HelixLightboxItem,
61
+ HelixLightbox,
60
62
  HelixLineChart,
61
63
  HelixListItem,
62
64
  HelixList,
@@ -159,8 +161,9 @@ import type {
159
161
  HelixFacetEvent,
160
162
  HelixResizeEvent,
161
163
  HelixShortcutEvent,
162
- HelixReadEvent,
163
164
  HelixActivateEvent,
165
+ HelixBeforeActivateEvent,
166
+ HelixReadEvent,
164
167
  HelixCompleteEvent,
165
168
  HelixConsoleEvent,
166
169
  HelixBeforeEditEvent,
@@ -169,7 +172,6 @@ import type {
169
172
  HelixCaretEvent,
170
173
  HelixBeforeCollapseEvent,
171
174
  HelixBeforeResizeEvent,
172
- HelixBeforeActivateEvent,
173
175
  HelixTourAskEvent,
174
176
  HelixNextEvent,
175
177
  HelixPreviousEvent,
@@ -5383,6 +5385,116 @@ shadow root reads a table in that root rather than one in the document.
5383
5385
 
5384
5386
  export type HelixLegendVueEvents = {};
5385
5387
 
5388
+ export type HelixLightboxItemVueProps = {
5389
+ /** Whether this is the one being shown.
5390
+
5391
+ Written by the root, which is the only thing that sees the set. */
5392
+ current?: (HelixLightboxItem["current"]) | undefined;
5393
+ /** What this item is called, for the reading that says where the reader is. */
5394
+ label?: (HelixLightboxItem["label"]) | undefined;
5395
+ /** What names this item, and what `active` on the root is compared against. */
5396
+ value?: (HelixLightboxItem["value"]) | undefined;
5397
+ };
5398
+
5399
+ export type HelixLightboxItemVueEvents = {};
5400
+
5401
+ /** `HelixLightbox` component event */
5402
+ export type HelixLightboxElementEvent<E = Event> = TypedEvent<HelixLightbox, E>;
5403
+ /** `helix-activate` event type */
5404
+ export type HelixLightboxHelixActivateElementEvent =
5405
+ HelixLightboxElementEvent<HelixActivateEvent>;
5406
+ /** `helix-before-activate` event type */
5407
+ export type HelixLightboxHelixBeforeActivateElementEvent =
5408
+ HelixLightboxElementEvent<HelixBeforeActivateEvent>;
5409
+ /** `helix-before-close` event type */
5410
+ export type HelixLightboxHelixBeforeCloseElementEvent =
5411
+ HelixLightboxElementEvent<HelixBeforeCloseEvent>;
5412
+ /** `helix-before-open` event type */
5413
+ export type HelixLightboxHelixBeforeOpenElementEvent =
5414
+ HelixLightboxElementEvent<HelixBeforeOpenEvent>;
5415
+
5416
+ export type HelixLightboxVueProps = {
5417
+ /** Which item is current, by its `value`.
5418
+
5419
+ Not `option.active`, which is the option the keyboard is on: that is a
5420
+ different question from which one is chosen.
5421
+
5422
+ Writing always applies, so `<helix-tabs active="one">` starts on that
5423
+ tab, and `default-active` is how markup says where to start without
5424
+ naming the current one. */
5425
+ active?: (HelixLightbox["active"]) | undefined;
5426
+ /** Which item the markup declared current.
5427
+
5428
+ Ignored once `active` is written. */
5429
+ "default-active"?: (HelixLightbox["defaultActive"]) | undefined;
5430
+ /** Which item the markup declared current.
5431
+
5432
+ Ignored once `active` is written. */
5433
+ defaultActive?: (HelixLightbox["defaultActive"]) | undefined;
5434
+ /** Whether the element is open.
5435
+
5436
+ One property, not two, so `dialog.open` answers the question anyone
5437
+ asking it meant. Writing always applies; `<helix-dialog open>` is the
5438
+ same statement in markup.
5439
+
5440
+ **Not reflected, and that is required rather than tidy.** Reflection
5441
+ writes the resolved state back as an attribute, so an element that opened
5442
+ itself would put `open` on its own host: cloned, serialized for
5443
+ hydration, or diffed by a framework, it comes back holding whatever the
5444
+ last reader did rather than what the author wrote. `:state(open)` carries
5445
+ the resolved state for stylesheets, which is what the mirror is for. */
5446
+ open?: (HelixLightbox["open"]) | undefined;
5447
+ /** Whether the markup declared it open. Ignored once `open` is written. */
5448
+ "default-open"?: (HelixLightbox["defaultOpen"]) | undefined;
5449
+ /** Whether the markup declared it open. Ignored once `open` is written. */
5450
+ defaultOpen?: (HelixLightbox["defaultOpen"]) | undefined;
5451
+ /** How long the reader may be still before the chrome hides, in milliseconds.
5452
+
5453
+ Zero keeps it up, which is what a viewer with a caption worth reading
5454
+ wants. The wait is only ever about idling: whether anything else should
5455
+ keep the chrome up is the consumer's to decide with this. */
5456
+ "idle-delay"?: (HelixLightbox["idleDelay"] | `${number}`) | undefined;
5457
+ /** How long the reader may be still before the chrome hides, in milliseconds.
5458
+
5459
+ Zero keeps it up, which is what a viewer with a caption worth reading
5460
+ wants. The wait is only ever about idling: whether anything else should
5461
+ keep the chrome up is the consumer's to decide with this. */
5462
+ idleDelay?: (HelixLightbox["idleDelay"]) | undefined;
5463
+ /** Accessible name for the viewer. */
5464
+ label?: (HelixLightbox["label"]) | undefined;
5465
+ /** Whether walking past the end comes back to the beginning. */
5466
+ loop?: (HelixLightbox["loop"]) | undefined;
5467
+ /** The reading that says where in the set the reader is, with `{index}` and
5468
+ `{count}` filled in.
5469
+
5470
+ Announced rather than only drawn, because the picture changing under a
5471
+ reader who cannot see it is otherwise silent. A consumer who has their own
5472
+ counter in the chrome can empty this and say it themselves. */
5473
+ "status-label"?: (HelixLightbox["statusLabel"]) | undefined;
5474
+ /** The reading that says where in the set the reader is, with `{index}` and
5475
+ `{count}` filled in.
5476
+
5477
+ Announced rather than only drawn, because the picture changing under a
5478
+ reader who cannot see it is otherwise silent. A consumer who has their own
5479
+ counter in the chrome can empty this and say it themselves. */
5480
+ statusLabel?: (HelixLightbox["statusLabel"]) | undefined;
5481
+ };
5482
+
5483
+ export type HelixLightboxVueEvents = {
5484
+ /** Fired once the shown item has moved, so the element already holds it. */
5485
+ "helix-activate": HelixLightboxHelixActivateElementEvent;
5486
+ /** Relayed, because the platform's own does not escape. */
5487
+ close: HelixLightboxElementEvent;
5488
+ /** Fired before the shown item changes, and cancelable. The only way to refuse one. */
5489
+ "helix-before-activate": HelixLightboxHelixBeforeActivateElementEvent;
5490
+ /** Fired before it closes, and cancelable. */
5491
+ "helix-before-close": HelixLightboxHelixBeforeCloseElementEvent;
5492
+ /** Fired before it opens, and cancelable. */
5493
+ "helix-before-open": HelixLightboxHelixBeforeOpenElementEvent;
5494
+ /** Says the state moved, carrying `newState` and `oldState`. */
5495
+ toggle: HelixLightboxElementEvent;
5496
+ };
5497
+
5386
5498
  export type HelixLineChartVueProps = {
5387
5499
  /** How much ink the lines claim.
5388
5500
 
@@ -11471,6 +11583,18 @@ export type CustomCssProperties = {
11471
11583
  "--legend-swatch-size"?: (string) | undefined;
11472
11584
  /** Width of the edge an `outlined` or `subtle` swatch is drawn with. */
11473
11585
  "--legend-swatch-stroke"?: (string) | undefined;
11586
+ /** Color of the line under the content. */
11587
+ "--lightbox-item-description-color"?: (string) | undefined;
11588
+ /** Space between the content and the line under it. */
11589
+ "--lightbox-item-gap"?: (string) | undefined;
11590
+ /** Color of the chrome drawn over the content. */
11591
+ "--lightbox-foreground"?: (string) | undefined;
11592
+ /** Space between the chrome and the content. */
11593
+ "--lightbox-gap"?: (string) | undefined;
11594
+ /** Inset from the edges of the screen. */
11595
+ "--lightbox-padding"?: (string) | undefined;
11596
+ /** The wash over the page behind the viewer. Set on the host, where a token still resolves: a `var()` written inside `::backdrop` cannot see one. */
11597
+ "--lightbox-scrim"?: (string) | undefined;
11474
11598
  /** A fill for the middle of a `ring` terminus, which is otherwise open. One name across this family and Sparkline, the two reading one shared sheet. */
11475
11599
  "--chart-terminus-hole"?: (string) | undefined;
11476
11600
  /** Size of the mark on each series' last reading. One name across this family and Sparkline, the two reading one shared sheet. */
@@ -12381,6 +12505,18 @@ export interface WcToolkitVueGlobalComponents {
12381
12505
  HelixLegendVueProps,
12382
12506
  HelixLegendVueEvents
12383
12507
  >;
12508
+ /** Presentation only: the box centers what it was given and holds it inside the viewport rather than sizing it, because what is in here is the consumer's and may be a picture, a frame of video or a chart. Which item is shown, and the arithmetic that decides, is the base class. */
12509
+ "helix-lightbox-item": DefineCustomElement<
12510
+ HelixLightboxItem,
12511
+ HelixLightboxItemVueProps,
12512
+ HelixLightboxItemVueEvents
12513
+ >;
12514
+ /** **A takeover rather than a panel, which is the whole difference from 'Dialog'.** A dialog is a thing over the page and stops short of the edges to say so; a lightbox is the page for as long as it is open. The scrim is heavier for the same reason: what is behind it is not meant to be read. **A dark region that says so once**, with 'color-scheme: dark' on the host, which is 'Video''s answer to the same problem: the chrome is the consumer's own components and they resolve their own tokens, so without a scheme on the region they draw page-colored ink on a black room and disappear into it. The chrome fades rather than leaves while the reader is still, because a bar that is removed from the layout takes the picture's size with it and the reader watches it jump every time they stop moving. */
12515
+ "helix-lightbox": DefineCustomElement<
12516
+ HelixLightbox,
12517
+ HelixLightboxVueProps,
12518
+ HelixLightboxVueEvents
12519
+ >;
12384
12520
  /** The lines take the series palette in order, so a chart of one is series one and a chart of four is the first four, and a legend beside it maps the same twenty-four. The stroke does not scale with the box. 'preserveAspectRatio="none"' is what lets one drawing fill a narrow card and a wide panel, and without 'vector-effect: non-scaling-stroke' the same line comes out hairline in the first and heavy in the second. It rescues strokes and not geometry, which is why nothing inside the drawing marks a reading: a circle in a stretched coordinate space is an ellipse, and there is no vector-effect that answers for a shape. **The last reading of each series is marked, and that is the same rule rather than an exception to it.** 'terminus' draws an HTML element placed over the plot by percentage instead of a shape inside it, so it keeps its shape at any width. It is on by default, as a dot, because the column of marks at the far edge is where a reader looks for "and what is it now". */
12385
12521
  "helix-line-chart": DefineCustomElement<
12386
12522
  HelixLineChart,