@weasel-js/forge 1.12.0 → 1.13.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.
Files changed (46) hide show
  1. package/README.md +20 -5
  2. package/dist/{FrameController-CdnaIo4C.d.ts → FrameController-DgfVaENb.d.ts} +15 -3
  3. package/dist/{chunk-GH5RE5X5.js → chunk-2ZBZRBHI.js} +2 -2
  4. package/dist/{chunk-GH5RE5X5.js.map → chunk-2ZBZRBHI.js.map} +1 -1
  5. package/dist/{chunk-KEQBGDUZ.js → chunk-7XJNVJB5.js} +3 -3
  6. package/dist/{chunk-KEQBGDUZ.js.map → chunk-7XJNVJB5.js.map} +1 -1
  7. package/dist/{chunk-LTTEILXY.js → chunk-COT4I347.js} +3 -3
  8. package/dist/{chunk-LTTEILXY.js.map → chunk-COT4I347.js.map} +1 -1
  9. package/dist/{chunk-WMGEO5M6.js → chunk-GHPMNT2A.js} +83 -13
  10. package/dist/chunk-GHPMNT2A.js.map +1 -0
  11. package/dist/chunk-RVJHUY7W.js +60 -0
  12. package/dist/chunk-RVJHUY7W.js.map +1 -0
  13. package/dist/chunk-VUPN73JP.js +16 -0
  14. package/dist/chunk-VUPN73JP.js.map +1 -0
  15. package/dist/{chunk-ATI7FYJ7.js → chunk-WFT5IOHX.js} +98 -63
  16. package/dist/chunk-WFT5IOHX.js.map +1 -0
  17. package/dist/{chunk-YDLRSEUN.js → chunk-XIBKYSRU.js} +5 -4
  18. package/dist/chunk-XIBKYSRU.js.map +1 -0
  19. package/dist/{config-Mg05Ja9r.d.ts → config-6fWf87Tt.d.ts} +3 -21
  20. package/dist/csf/preview-api.js +2 -2
  21. package/dist/frame/index.css +26 -0
  22. package/dist/frame/index.css.map +1 -1
  23. package/dist/frame/index.d.ts +14 -8
  24. package/dist/frame/index.js +109 -75
  25. package/dist/frame/index.js.map +1 -1
  26. package/dist/index.d.ts +29 -5
  27. package/dist/index.js +3 -3
  28. package/dist/library-CdTj-hFp.d.ts +21 -0
  29. package/dist/{mountFrame-Ds3QLnBF.d.ts → mountFrame-Bs7u1ro-.d.ts} +1 -1
  30. package/dist/shell/index.css +33 -5
  31. package/dist/shell/index.css.map +1 -1
  32. package/dist/shell/index.d.ts +6 -5
  33. package/dist/shell/index.js +190 -108
  34. package/dist/shell/index.js.map +1 -1
  35. package/dist/test/index.css +2 -3
  36. package/dist/test/index.css.map +1 -1
  37. package/dist/test/index.d.ts +1 -1
  38. package/dist/test/index.js +4 -4
  39. package/dist/vite/index.js +78 -16
  40. package/dist/vite/index.js.map +1 -1
  41. package/package.json +9 -9
  42. package/dist/chunk-ATI7FYJ7.js.map +0 -1
  43. package/dist/chunk-WEQSLPKT.js +0 -9
  44. package/dist/chunk-WEQSLPKT.js.map +0 -1
  45. package/dist/chunk-WMGEO5M6.js.map +0 -1
  46. package/dist/chunk-YDLRSEUN.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ import { AppearanceProps } from '@weasel-js/ui/appearance';
2
+
3
+ /** One library of a project: the story files under `path` carry `label`. */
4
+ interface Library {
5
+ /** A stretch of path every story file of the library has, with forward slashes: `/packages/ui/`. */
6
+ path: string;
7
+ label: string;
8
+ /** The tint of the library's badge, as a `<Badge>` takes one. Default: the badge's own low emphasis. */
9
+ tint?: AppearanceProps['tint'];
10
+ }
11
+ /** A project's libraries, as the tree's package filter, the index page header, and Get Info ask about them. */
12
+ interface Libraries {
13
+ /** The label of the first library whose `path` the story's file holds, else its title's first segment. */
14
+ of(entry: {
15
+ file: string;
16
+ title: string;
17
+ }): string;
18
+ tintOf(label: string): AppearanceProps['tint'];
19
+ }
20
+
21
+ export type { Library as L, Libraries as a };
@@ -1,4 +1,4 @@
1
- import { F as FrameSetup, p as LoadedStory } from './FrameController-CdnaIo4C.js';
1
+ import { F as FrameSetup, p as LoadedStory } from './FrameController-DgfVaENb.js';
2
2
 
3
3
  /** Story modules by file path, each loaded on first use. */
4
4
  interface FrameImporters {
@@ -194,9 +194,13 @@
194
194
  flex: none;
195
195
  margin-inline-start: auto;
196
196
  }
197
- .fg-tree__tag {
197
+ .fg-tree__tag,
198
+ .fg-tree__lab {
198
199
  --badge-font-size: var(--wzl-font-size-2xs);
199
200
  }
201
+ .fg-tree__lab {
202
+ flex: none;
203
+ }
200
204
  .fg-tree__libraries {
201
205
  display: flex;
202
206
  flex-wrap: wrap;
@@ -371,7 +375,6 @@
371
375
  }
372
376
  .fg-info__doc {
373
377
  margin: 0;
374
- white-space: pre-line;
375
378
  }
376
379
  .fg-info__doc--component {
377
380
  color: var(--wzl-fg-muted);
@@ -522,6 +525,24 @@
522
525
  margin-top: calc(var(--wzl-space-lg) * 1.5);
523
526
  border-top: var(--wzl-border-w) solid var(--wzl-border);
524
527
  }
528
+ .fg-index-story__main {
529
+ display: flex;
530
+ flex-wrap: wrap;
531
+ align-items: flex-start;
532
+ gap: var(--wzl-space-8) calc(var(--wzl-space-lg) * 1.5);
533
+ }
534
+ .fg-index-story__text {
535
+ flex: 1 1 20rem;
536
+ min-width: 0;
537
+ }
538
+ .fg-index-story__main > .fg-index-cell {
539
+ flex: 0 1 auto;
540
+ margin: 0;
541
+ }
542
+ .fg-index-story__main > .fg-index-cell--padded,
543
+ .fg-index-story__main > .fg-index-cell--fullscreen {
544
+ flex: 2 1 28rem;
545
+ }
525
546
  .fg-index-story__head {
526
547
  display: flex;
527
548
  align-items: center;
@@ -536,6 +557,14 @@
536
557
  text-transform: var(--wzl-panel-title-case);
537
558
  color: var(--wzl-panel-title-color);
538
559
  }
560
+ .fg-index-story__link {
561
+ color: inherit;
562
+ text-decoration: none;
563
+ }
564
+ .fg-index-story__link:hover {
565
+ color: var(--wzl-accent-fg);
566
+ text-decoration: underline;
567
+ }
539
568
  .fg-index-cell {
540
569
  margin: var(--wzl-space-8) 0 0;
541
570
  width: fit-content;
@@ -678,9 +707,8 @@
678
707
  transform-origin: 0 0;
679
708
  transform: translate(var(--fg-lens-copy-x), var(--fg-lens-copy-y)) scale(var(--fg-lens-copy-f));
680
709
  }
681
- .fg-lens-copy > .fg-story,
682
710
  .fg-lens-copy > .fg-frame-host {
683
- background: var(--wzl-bg);
711
+ background: var(--wzl-surface);
684
712
  }
685
713
  .fg-lens-pixels {
686
714
  position: absolute;
@@ -699,7 +727,7 @@
699
727
  text-align: center;
700
728
  font-size: 11px;
701
729
  color: var(--wzl-fg-muted);
702
- background: var(--wzl-bg);
730
+ background: var(--wzl-surface);
703
731
  }
704
732
  .fg-lens-empty[hidden] {
705
733
  display: none;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shell/shell.css","../../src/timeline/timeline.css","../../src/shell/Crumbs.css","../../src/frame/index/index.css","../../src/shell/loupe/loupe.css","../../src/shell/cssVars/cssVars.css","../../src/shell/keys/keys.css"],"sourcesContent":[".fg-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--wzl-space-xs);\n min-height: 100vh;\n padding-inline: var(--wzl-space-md);\n background: var(--wzl-surface-sunken);\n color: var(--wzl-fg);\n}\n\n.fg-empty__title {\n margin: 0;\n font-weight: var(--wzl-font-weight-bold);\n}\n\n.fg-empty__globs {\n margin: 0;\n padding: 0;\n list-style: none;\n font-family: var(--wzl-font-mono);\n font-size: var(--wzl-font-size-sm);\n}\n\n/* One story's box in the workshop document; the theme attributes land on it from applyGlobals. `contain: paint`,\n exactly that value, makes it the containing block for fixed-position descendants, so a Dialog stays inside its\n trial, and it is the one containment React Aria's positioning recognizes: `layout paint` also contains, but the\n popover math then still assumes the viewport and lands a list a whole host offset too high. */\n.fg-story {\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n contain: paint;\n /* A story's stand-in for its frame's viewport: `100cqb` is the trial's height where `100vh` would be the window's. */\n container-type: size;\n background: var(--wzl-surface);\n color: var(--wzl-fg);\n transition: opacity var(--wzl-motion-fast) var(--wzl-ease-out-cubic);\n}\n\n.fg-story[data-pending] {\n opacity: 0;\n pointer-events: none;\n}\n\n/* The story's own box. Scrolling here rather than on the host leaves the host still, for overlays to cover. */\n.fg-story__scroll {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n overflow: auto;\n}\n\n.fg-story[data-fg-layout='centered'] > .fg-story__scroll {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.fg-story[data-fg-layout='padded'] > .fg-story__scroll {\n padding: var(--wzl-space-8);\n}\n\n.fg-story--loading {\n visibility: visible;\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fg-story {\n transition: none;\n }\n}\n\n.fg-frame-host {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.fg-frame-slot {\n display: contents;\n}\n\n/* Warm frames lay out at a trial's usual size, so moving one into place is not its first layout. */\n.fg-frame-pool {\n position: fixed;\n top: 0;\n left: -10000px;\n width: 1024px;\n height: 768px;\n visibility: hidden;\n pointer-events: none;\n}\n\n.fg-frame-pool > iframe {\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.fg-frame-view {\n display: block;\n width: 100%;\n height: 100%;\n border: 0;\n transition: opacity var(--wzl-motion-fast) var(--wzl-ease-out-cubic);\n}\n\n.fg-frame-view[data-pending] {\n visibility: hidden;\n opacity: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fg-frame-view {\n transition: none;\n }\n}\n\n.fg-fault {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n padding: var(--wzl-space-md);\n overflow: auto;\n background: var(--wzl-surface-sunken);\n color: var(--wzl-fg);\n font-family: var(--wzl-font-mono);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-fault__phase {\n color: var(--wzl-danger);\n font-weight: var(--wzl-font-weight-bold);\n text-transform: uppercase;\n}\n\n.fg-fault__message {\n margin: 0;\n white-space: pre-wrap;\n}\n\n.fg-tree {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n height: 100%;\n gap: var(--wzl-space-xs);\n padding: 0 var(--wzl-space-sm) var(--wzl-space-sm);\n border-bottom: var(--wzl-border-w) solid var(--wzl-line-subtle);\n color: var(--wzl-fg);\n}\n\n.fg-tree__heading {\n margin: 0;\n padding-block: var(--wzl-space-xs);\n color: var(--wzl-fg-muted);\n font-family: var(--wzl-font-display);\n font-size: var(--wzl-font-size-sm);\n font-weight: var(--wzl-font-weight-bold);\n letter-spacing: 0.08em;\n text-transform: uppercase;\n}\n\n.fg-route-miss {\n margin: 0;\n color: var(--wzl-danger);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-tree__filter {\n box-sizing: border-box;\n width: 100%;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-tree__items,\n.fg-tree__group {\n display: flex;\n flex-direction: column;\n}\n\n.fg-tree__items {\n flex: 1 1 0;\n min-height: 0;\n overflow-y: auto;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-tree__group {\n padding-inline-start: var(--wzl-space-sm);\n}\n\n.fg-tree__node {\n display: flex;\n flex-direction: column;\n min-width: 0;\n outline: none;\n}\n\n.fg-tree__item {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-xs);\n padding: calc(var(--wzl-space-xs) / 2) var(--wzl-space-xs);\n border-radius: var(--wzl-radius-sm);\n overflow: hidden;\n color: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n}\n\n/* text-overflow does not reach a flex container's anonymous text box, so the label clips itself. */\n.fg-tree__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-tree__item:hover {\n background: var(--wzl-surface-hover);\n}\n\n/* Sits after the label, which is the element that shrinks, so the tag keeps\n its width and the rows' tags line up down the column. */\n.fg-tree__item > .fg-tree__tag {\n flex: none;\n margin-inline-start: auto;\n}\n\n.fg-tree__tag {\n --badge-font-size: var(--wzl-font-size-2xs);\n}\n\n.fg-tree__libraries {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wzl-space-xs);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n/* An inline badge rides the label's text baseline and hangs below the checkbox; as a flex item it is a box the label can center. */\n.fg-tree__library {\n display: flex;\n}\n\n.fg-tree__libraries-legend {\n padding: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n/* A folder item holds its group, so its ring goes on its own row rather than around the subtree. */\n.fg-tree__story:focus-visible,\n.fg-tree__node:focus-visible > .fg-tree__folder {\n outline: var(--wzl-line-width) solid var(--wzl-accent);\n outline-offset: calc(-1 * var(--wzl-line-width));\n}\n\n.fg-tree__item[aria-current='true'],\n.fg-tree__node[aria-current='true'] > .fg-tree__folder {\n color: var(--wzl-secondary-fg);\n}\n\n/* Padded out to a hit target and pulled back by the same amount, except on the label's side, where the padding\n widens the gap to the label. */\n.fg-tree__fold {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: calc(-1 * var(--wzl-space-xs));\n margin-inline-end: 0;\n padding: var(--wzl-space-xs);\n}\n\n.fg-tree__folder {\n font-weight: calc(var(--wzl-font-weight-normal) + 100);\n}\n\n.fg-tree__story {\n /* The CSS floor, which the browser rounds up to the lightest weight the face has. */\n font-weight: 100;\n /* Clears the folder rows' 13px fold mark, so a story's label lines up with its folder's. */\n padding-inline-start: calc(var(--wzl-space-xs) * 3 + 13px);\n}\n\n.lk-trial.fg-flash {\n outline: var(--wzl-line-width) solid var(--wzl-accent);\n outline-offset: calc(-1 * var(--wzl-line-width));\n animation: fg-flash 600ms ease-out forwards;\n}\n\n@keyframes fg-flash {\n from {\n outline-color: var(--wzl-accent);\n }\n to {\n outline-color: transparent;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lk-trial.fg-flash {\n animation: none;\n }\n}\n\n.fg-globals,\n.fg-globals__item {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-xs);\n}\n\n.fg-globals__item {\n gap: 0;\n}\n\n/* A trial's pins of the globals sit under its story's own controls, at the size of the CSS Vars rows beside them. */\n.fg-globals-pins {\n --wzl-font-size-sm: var(--wzl-font-size-2xs);\n}\n\n.fg-globals__popover {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-sm);\n min-width: 14rem;\n}\n\n\n.fg-a11y,\n.fg-a11y-focus {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n min-width: 0;\n}\n\n.fg-a11y__trial {\n margin: 0;\n overflow: hidden;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-a11y__controls {\n display: flex;\n gap: var(--wzl-space-xs);\n}\n\n.fg-a11y__note,\n.fg-a11y__tally {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-a11y__group {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n}\n\n.fg-a11y__group-title {\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-a11y__findings,\n.fg-a11y__nodes {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.fg-a11y__finding {\n border-inline-start: 2px solid var(--wzl-border);\n padding-inline-start: var(--wzl-space-xs);\n}\n\n.fg-a11y__finding:is(:hover, :focus-within) {\n border-inline-start-color: var(--wzl-danger);\n}\n\n.fg-a11y__nodes > li:hover {\n color: var(--wzl-fg);\n}\n\n.fg-a11y__help {\n display: flex;\n align-items: baseline;\n gap: var(--wzl-space-xs);\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-a11y__impact {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n text-transform: uppercase;\n}\n\n.fg-a11y__impact[data-impact='serious'],\n.fg-a11y__impact[data-impact='critical'] {\n color: var(--wzl-danger);\n}\n\n.fg-a11y__nodes {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n word-break: break-all;\n}\n\n/* Get Info */\n\n.fg-info-dialog {\n /* Wide enough for the longest row a dossier carries — an absolute story file\n path — to sit on one line. */\n inline-size: min(52rem, 90vw);\n}\n\n.fg-info {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-md);\n}\n\n.fg-info__section {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n}\n\n.fg-info__heading {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n font-weight: var(--wzl-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.fg-info__doc {\n margin: 0;\n white-space: pre-line;\n}\n\n.fg-info__doc--component {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-info__rows {\n display: grid;\n grid-template-columns: max-content 1fr;\n gap: var(--wzl-space-xs) var(--wzl-space-sm);\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-info__row {\n display: contents;\n}\n\n.fg-info__key {\n color: var(--wzl-fg-muted);\n text-align: end;\n}\n\n.fg-info__value {\n margin: 0;\n min-inline-size: 0;\n overflow-wrap: anywhere;\n}\n\n.fg-info__path {\n font-size: var(--wzl-font-size-xs);\n}\n\n.fg-info__args {\n inline-size: 100%;\n border-collapse: collapse;\n font-size: var(--wzl-font-size-sm);\n text-align: start;\n}\n\n.fg-info__args th,\n.fg-info__args td {\n padding: var(--wzl-space-xs) var(--wzl-space-xs);\n border-block-end: 1px solid var(--wzl-border);\n vertical-align: baseline;\n text-align: start;\n font-weight: var(--wzl-font-weight-normal);\n}\n\n.fg-info__args thead th {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n text-transform: uppercase;\n}\n\n.fg-info__arg-name {\n display: block;\n}\n\n.fg-info__arg-doc {\n display: block;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n}\n\n.fg-info__arg-kind {\n color: var(--wzl-fg-muted);\n}\n\n.fg-info__value-cell {\n overflow-wrap: anywhere;\n}\n\n.fg-info__empty {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n",".fg-transport {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-6);\n min-inline-size: 0;\n}\n\n.fg-transport__scrub {\n inline-size: 16rem;\n min-inline-size: 6rem;\n flex: 1 1 16rem;\n}\n",".fg-crumbs {\n display: inline-flex;\n align-items: baseline;\n gap: 0.35em;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.fg-crumbs__sep {\n color: var(--wzl-fg-subtle);\n}\n\n/* Reads as the title it is until pointed at. */\n.fg-crumbs__step {\n padding: 0;\n border: 0;\n background: none;\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n cursor: pointer;\n}\n\n.fg-crumbs__step:hover {\n color: var(--wzl-accent-fg);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.fg-crumbs__step:focus-visible {\n outline: var(--wzl-line-width) solid var(--wzl-focus-ring);\n outline-offset: 1px;\n border-radius: var(--wzl-radius-sm);\n}\n",".fg-index {\n box-sizing: border-box;\n max-width: 1200px;\n margin: 0 auto;\n padding: var(--wzl-space-lg);\n font-family: var(--wzl-font-ui);\n font-size: var(--wzl-font-size);\n color: var(--wzl-fg);\n}\n\n.fg-index__head {\n margin-bottom: calc(var(--wzl-space-lg) * 2);\n}\n\n.fg-index__path {\n margin: 0 0 var(--wzl-space-2);\n font-size: var(--wzl-font-size-lg);\n color: var(--wzl-fg-muted);\n}\n\n.fg-index__title {\n margin: 0;\n font-family: var(--wzl-panel-title-font);\n font-size: calc(var(--wzl-font-size-xl) * 1.6);\n font-weight: var(--wzl-font-weight-medium);\n letter-spacing: var(--wzl-panel-title-tracking);\n text-transform: var(--wzl-panel-title-case);\n}\n\n.fg-index__description,\n.fg-index-story__description {\n max-width: 72ch;\n margin: var(--wzl-space-4) 0 0;\n font-family: var(--wzl-font-body);\n line-height: 1.5;\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-story {\n padding-top: calc(var(--wzl-space-lg) * 1.5);\n margin-top: calc(var(--wzl-space-lg) * 1.5);\n border-top: var(--wzl-border-w) solid var(--wzl-border);\n}\n\n.fg-index-story__head {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-6);\n}\n\n.fg-index-story__name {\n margin: 0;\n font-family: var(--wzl-panel-title-font);\n font-size: var(--wzl-font-size-xl);\n font-weight: var(--wzl-panel-title-weight);\n letter-spacing: var(--wzl-panel-title-tracking);\n text-transform: var(--wzl-panel-title-case);\n color: var(--wzl-panel-title-color);\n}\n\n.fg-index-cell {\n margin: var(--wzl-space-8) 0 0;\n width: fit-content;\n /* A fluid specimen (a slider, a tiled workspace) has no width of its own,\n so hugging it alone collapses the cell to its padding. */\n min-width: min(100%, 20rem);\n max-width: 100%;\n}\n\n.fg-index-cell__stage {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 96px;\n padding: var(--wzl-space-2);\n border: var(--wzl-border-w) solid var(--wzl-border);\n border-radius: var(--wzl-radius-md);\n background: var(--wzl-surface);\n overflow: auto;\n}\n\n/* A padded story sits top-left as it would on a page: the column's width, and\n none of the minimum height that gives a centered one presence. */\n.fg-index-cell--padded {\n width: auto;\n}\n\n.fg-index-cell--padded > .fg-index-cell__stage {\n display: block;\n min-height: 0;\n}\n\n.fg-index-cell--fullscreen {\n width: auto;\n}\n\n.fg-index-cell--fullscreen > .fg-index-cell__stage {\n display: block;\n height: 360px;\n padding: 0;\n}\n\n.fg-index-cell__label {\n margin-top: var(--wzl-space-3);\n font-family: var(--wzl-font-mono);\n font-size: var(--wzl-font-size-sm);\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-variants__row {\n margin-top: calc(var(--wzl-space-lg) * 1.25);\n}\n\n/* Set as the kit's panel titles are, at the small size. */\n.fg-index-variants__label {\n margin: 0;\n font-family: var(--wzl-panel-title-font);\n font-size: var(--wzl-font-size-sm);\n font-weight: var(--wzl-panel-title-weight);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-variants__cells {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wzl-space-6);\n}\n\n.fg-index-variants__cells > .fg-index-cell {\n margin-top: var(--wzl-space-4);\n}\n\n.fg-index__library {\n margin-inline-end: var(--wzl-space-4);\n vertical-align: middle;\n}\n\n.fg-index__title-row {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-6);\n}\n\n.fg-index-history {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wzl-space-2) var(--wzl-space-8);\n margin: var(--wzl-space-8) 0 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-index-history__item {\n display: flex;\n gap: var(--wzl-space-3);\n}\n\n.fg-index-history__label {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-history__value {\n margin: 0;\n}\n\n.fg-index-deps {\n display: grid;\n grid-template-columns: max-content 1fr;\n gap: var(--wzl-space-3) var(--wzl-space-8);\n margin: var(--wzl-space-8) 0 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-index-deps__row {\n display: contents;\n}\n\n.fg-index-deps__label {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-deps__value {\n margin: 0;\n}\n\n.fg-index-deps__list {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wzl-space-2) var(--wzl-space-6);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.fg-index-deps__link {\n color: var(--wzl-accent-fg);\n text-decoration: none;\n}\n\n.fg-index-deps__link:hover {\n text-decoration: underline;\n}\n\n.fg-index-deps__prefix,\n.fg-index-deps__empty,\n.fg-index-deps__none {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-deps__none {\n max-width: 72ch;\n margin: var(--wzl-space-8) 0 0;\n font-size: var(--wzl-font-size-sm);\n}\n","/* A Live lens's own box inside its slot: the copy is portaled into it, and the message beneath it shows when no copy is. */\n.fg-lens-live {\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n/* A second render of a story, at its host's own size, scaled about the reticle's point onto the slot's center. */\n.fg-lens-copy {\n position: absolute;\n top: 0;\n left: 0;\n width: var(--fg-lens-copy-w);\n height: var(--fg-lens-copy-h);\n transform-origin: 0 0;\n transform: translate(var(--fg-lens-copy-x), var(--fg-lens-copy-y)) scale(var(--fg-lens-copy-f));\n}\n\n/* Painted in the copy's own mode, so a transparent story does not show the lab through the lens. */\n.fg-lens-copy > .fg-story,\n.fg-lens-copy > .fg-frame-host {\n background: var(--wzl-bg);\n}\n\n/* A Pixels lens's capture, enlarged nearest-neighbor: the browser scaling the canvas to the screen keeps it so. */\n.fg-lens-pixels {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n image-rendering: pixelated;\n}\n\n/* What a lens says in place of its story: nothing under the reticle, or why it cannot show it. */\n.fg-lens-empty {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wzl-space-4);\n text-align: center;\n font-size: 11px;\n color: var(--wzl-fg-muted);\n background: var(--wzl-bg);\n}\n\n.fg-lens-empty[hidden] {\n display: none;\n}\n\n/* Above the lens layer, in the lab body's corner. */\n.fg-loupe-hint {\n position: absolute;\n left: var(--wzl-space-8);\n bottom: var(--wzl-space-8);\n z-index: 4;\n}\n\n/* A token in the Token readout: the readouts take no pointer, so the link takes it back. */\n.fg-lens-token__link {\n padding: 0;\n border: 0;\n font: inherit;\n color: inherit;\n text-decoration: underline;\n background: none;\n cursor: pointer;\n pointer-events: auto;\n}\n",".fg-css-vars,\n.fg-css-vars-focus {\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n min-width: 0;\n min-height: 0;\n}\n\n/* In a torn-out tile nothing flexes it, so it takes the tile's height itself. */\n.fg-css-vars-focus {\n height: 100%;\n}\n\n.fg-css-vars__trial {\n margin: 0;\n overflow: hidden;\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-css-vars__controls {\n display: flex;\n flex: none;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n padding-block-end: var(--wzl-space-xs);\n border-bottom: var(--wzl-border-w) solid var(--wzl-line-subtle);\n}\n\n.fg-css-vars__list {\n flex: 1 1 0;\n min-height: 0;\n overflow-y: auto;\n}\n\n.fg-css-vars__bar {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-xs);\n --wzl-field-h: var(--wzl-control-h-sm);\n}\n\n.fg-css-vars__filter {\n flex: 1 1 auto;\n min-width: 0;\n --wzl-font-size: var(--wzl-font-size-sm);\n}\n\n.fg-css-vars__steps {\n display: flex;\n flex: none;\n}\n\n.fg-css-vars__save {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--wzl-space-xs);\n}\n\n.fg-css-vars__notice {\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-css-vars__notice--saved {\n color: var(--wzl-fg-muted);\n}\n\n.fg-css-vars__notice--error {\n color: var(--wzl-danger);\n}\n\n.fg-css-vars__empty {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-css-vars__unused {\n font-size: var(--wzl-font-size-sm);\n}\n\n/* The token a lens's Token readout asked for. */\n.fg-css-vars__list [data-revealed] {\n outline: var(--wzl-line-width) solid var(--wzl-accent);\n outline-offset: 1px;\n}\n",".fg-keys {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-sm);\n min-width: 0;\n}\n\n.fg-keys__heading {\n margin: 0 0 var(--wzl-space-xs);\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n font-weight: 600;\n text-transform: capitalize;\n}\n\n.fg-keys__list {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.fg-keys__row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--wzl-space-sm);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-keys__label {\n min-width: 0;\n}\n\n.fg-keys__chips {\n display: flex;\n flex: none;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wzl-space-xs);\n}\n\n.fg-keys__chip {\n padding: 0 var(--wzl-space-xs);\n border: var(--wzl-border-w) solid var(--wzl-line-subtle);\n border-radius: var(--wzl-radius-sm);\n color: var(--wzl-fg-muted);\n font-family: inherit;\n font-size: var(--wzl-font-size-xs);\n white-space: nowrap;\n}\n\n.fg-keys__empty {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/shell/shell.css","../../src/timeline/timeline.css","../../src/shell/Crumbs.css","../../src/frame/index/index.css","../../src/shell/loupe/loupe.css","../../src/shell/cssVars/cssVars.css","../../src/shell/keys/keys.css"],"sourcesContent":[".fg-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--wzl-space-xs);\n min-height: 100vh;\n padding-inline: var(--wzl-space-md);\n background: var(--wzl-surface-sunken);\n color: var(--wzl-fg);\n}\n\n.fg-empty__title {\n margin: 0;\n font-weight: var(--wzl-font-weight-bold);\n}\n\n.fg-empty__globs {\n margin: 0;\n padding: 0;\n list-style: none;\n font-family: var(--wzl-font-mono);\n font-size: var(--wzl-font-size-sm);\n}\n\n/* One story's box in the workshop document; the theme attributes land on it from applyGlobals. `contain: paint`,\n exactly that value, makes it the containing block for fixed-position descendants, so a Dialog stays inside its\n trial, and it is the one containment React Aria's positioning recognizes: `layout paint` also contains, but the\n popover math then still assumes the viewport and lands a list a whole host offset too high. */\n.fg-story {\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n contain: paint;\n /* A story's stand-in for its frame's viewport: `100cqb` is the trial's height where `100vh` would be the window's. */\n container-type: size;\n background: var(--wzl-surface);\n color: var(--wzl-fg);\n transition: opacity var(--wzl-motion-fast) var(--wzl-ease-out-cubic);\n}\n\n.fg-story[data-pending] {\n opacity: 0;\n pointer-events: none;\n}\n\n/* The story's own box. Scrolling here rather than on the host leaves the host still, for overlays to cover. */\n.fg-story__scroll {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n overflow: auto;\n}\n\n.fg-story[data-fg-layout='centered'] > .fg-story__scroll {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.fg-story[data-fg-layout='padded'] > .fg-story__scroll {\n padding: var(--wzl-space-8);\n}\n\n.fg-story--loading {\n visibility: visible;\n opacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fg-story {\n transition: none;\n }\n}\n\n.fg-frame-host {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.fg-frame-slot {\n display: contents;\n}\n\n/* Warm frames lay out at a trial's usual size, so moving one into place is not its first layout. */\n.fg-frame-pool {\n position: fixed;\n top: 0;\n left: -10000px;\n width: 1024px;\n height: 768px;\n visibility: hidden;\n pointer-events: none;\n}\n\n.fg-frame-pool > iframe {\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.fg-frame-view {\n display: block;\n width: 100%;\n height: 100%;\n border: 0;\n transition: opacity var(--wzl-motion-fast) var(--wzl-ease-out-cubic);\n}\n\n.fg-frame-view[data-pending] {\n visibility: hidden;\n opacity: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fg-frame-view {\n transition: none;\n }\n}\n\n.fg-fault {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n padding: var(--wzl-space-md);\n overflow: auto;\n background: var(--wzl-surface-sunken);\n color: var(--wzl-fg);\n font-family: var(--wzl-font-mono);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-fault__phase {\n color: var(--wzl-danger);\n font-weight: var(--wzl-font-weight-bold);\n text-transform: uppercase;\n}\n\n.fg-fault__message {\n margin: 0;\n white-space: pre-wrap;\n}\n\n.fg-tree {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n height: 100%;\n gap: var(--wzl-space-xs);\n padding: 0 var(--wzl-space-sm) var(--wzl-space-sm);\n border-bottom: var(--wzl-border-w) solid var(--wzl-line-subtle);\n color: var(--wzl-fg);\n}\n\n.fg-tree__heading {\n margin: 0;\n padding-block: var(--wzl-space-xs);\n color: var(--wzl-fg-muted);\n font-family: var(--wzl-font-display);\n font-size: var(--wzl-font-size-sm);\n font-weight: var(--wzl-font-weight-bold);\n letter-spacing: 0.08em;\n text-transform: uppercase;\n}\n\n.fg-route-miss {\n margin: 0;\n color: var(--wzl-danger);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-tree__filter {\n box-sizing: border-box;\n width: 100%;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-tree__items,\n.fg-tree__group {\n display: flex;\n flex-direction: column;\n}\n\n.fg-tree__items {\n flex: 1 1 0;\n min-height: 0;\n overflow-y: auto;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-tree__group {\n padding-inline-start: var(--wzl-space-sm);\n}\n\n.fg-tree__node {\n display: flex;\n flex-direction: column;\n min-width: 0;\n outline: none;\n}\n\n.fg-tree__item {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-xs);\n padding: calc(var(--wzl-space-xs) / 2) var(--wzl-space-xs);\n border-radius: var(--wzl-radius-sm);\n overflow: hidden;\n color: inherit;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n}\n\n/* text-overflow does not reach a flex container's anonymous text box, so the label clips itself. */\n.fg-tree__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-tree__item:hover {\n background: var(--wzl-surface-hover);\n}\n\n/* Sits after the label, which is the element that shrinks, so the tag keeps\n its width and the rows' tags line up down the column. */\n.fg-tree__item > .fg-tree__tag {\n flex: none;\n margin-inline-start: auto;\n}\n\n.fg-tree__tag,\n.fg-tree__lab {\n --badge-font-size: var(--wzl-font-size-2xs);\n}\n\n.fg-tree__lab {\n flex: none;\n}\n\n.fg-tree__libraries {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wzl-space-xs);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n/* An inline badge rides the label's text baseline and hangs below the checkbox; as a flex item it is a box the label can center. */\n.fg-tree__library {\n display: flex;\n}\n\n.fg-tree__libraries-legend {\n padding: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n/* A folder item holds its group, so its ring goes on its own row rather than around the subtree. */\n.fg-tree__story:focus-visible,\n.fg-tree__node:focus-visible > .fg-tree__folder {\n outline: var(--wzl-line-width) solid var(--wzl-accent);\n outline-offset: calc(-1 * var(--wzl-line-width));\n}\n\n.fg-tree__item[aria-current='true'],\n.fg-tree__node[aria-current='true'] > .fg-tree__folder {\n color: var(--wzl-secondary-fg);\n}\n\n/* Padded out to a hit target and pulled back by the same amount, except on the label's side, where the padding\n widens the gap to the label. */\n.fg-tree__fold {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: calc(-1 * var(--wzl-space-xs));\n margin-inline-end: 0;\n padding: var(--wzl-space-xs);\n}\n\n.fg-tree__folder {\n font-weight: calc(var(--wzl-font-weight-normal) + 100);\n}\n\n.fg-tree__story {\n /* The CSS floor, which the browser rounds up to the lightest weight the face has. */\n font-weight: 100;\n /* Clears the folder rows' 13px fold mark, so a story's label lines up with its folder's. */\n padding-inline-start: calc(var(--wzl-space-xs) * 3 + 13px);\n}\n\n.lk-trial.fg-flash {\n outline: var(--wzl-line-width) solid var(--wzl-accent);\n outline-offset: calc(-1 * var(--wzl-line-width));\n animation: fg-flash 600ms ease-out forwards;\n}\n\n@keyframes fg-flash {\n from {\n outline-color: var(--wzl-accent);\n }\n to {\n outline-color: transparent;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .lk-trial.fg-flash {\n animation: none;\n }\n}\n\n.fg-globals,\n.fg-globals__item {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-xs);\n}\n\n.fg-globals__item {\n gap: 0;\n}\n\n/* A trial's pins of the globals sit under its story's own controls, at the size of the CSS Vars rows beside them. */\n.fg-globals-pins {\n --wzl-font-size-sm: var(--wzl-font-size-2xs);\n}\n\n.fg-globals__popover {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-sm);\n min-width: 14rem;\n}\n\n\n.fg-a11y,\n.fg-a11y-focus {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n min-width: 0;\n}\n\n.fg-a11y__trial {\n margin: 0;\n overflow: hidden;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-a11y__controls {\n display: flex;\n gap: var(--wzl-space-xs);\n}\n\n.fg-a11y__note,\n.fg-a11y__tally {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-a11y__group {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n}\n\n.fg-a11y__group-title {\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-a11y__findings,\n.fg-a11y__nodes {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.fg-a11y__finding {\n border-inline-start: 2px solid var(--wzl-border);\n padding-inline-start: var(--wzl-space-xs);\n}\n\n.fg-a11y__finding:is(:hover, :focus-within) {\n border-inline-start-color: var(--wzl-danger);\n}\n\n.fg-a11y__nodes > li:hover {\n color: var(--wzl-fg);\n}\n\n.fg-a11y__help {\n display: flex;\n align-items: baseline;\n gap: var(--wzl-space-xs);\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-a11y__impact {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n text-transform: uppercase;\n}\n\n.fg-a11y__impact[data-impact='serious'],\n.fg-a11y__impact[data-impact='critical'] {\n color: var(--wzl-danger);\n}\n\n.fg-a11y__nodes {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n word-break: break-all;\n}\n\n/* Get Info */\n\n.fg-info-dialog {\n /* Wide enough for the longest row a dossier carries — an absolute story file\n path — to sit on one line. */\n inline-size: min(52rem, 90vw);\n}\n\n.fg-info {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-md);\n}\n\n.fg-info__section {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n}\n\n.fg-info__heading {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n font-weight: var(--wzl-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.fg-info__doc {\n margin: 0;\n}\n\n.fg-info__doc--component {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-info__rows {\n display: grid;\n grid-template-columns: max-content 1fr;\n gap: var(--wzl-space-xs) var(--wzl-space-sm);\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-info__row {\n display: contents;\n}\n\n.fg-info__key {\n color: var(--wzl-fg-muted);\n text-align: end;\n}\n\n.fg-info__value {\n margin: 0;\n min-inline-size: 0;\n overflow-wrap: anywhere;\n}\n\n.fg-info__path {\n font-size: var(--wzl-font-size-xs);\n}\n\n.fg-info__args {\n inline-size: 100%;\n border-collapse: collapse;\n font-size: var(--wzl-font-size-sm);\n text-align: start;\n}\n\n.fg-info__args th,\n.fg-info__args td {\n padding: var(--wzl-space-xs) var(--wzl-space-xs);\n border-block-end: 1px solid var(--wzl-border);\n vertical-align: baseline;\n text-align: start;\n font-weight: var(--wzl-font-weight-normal);\n}\n\n.fg-info__args thead th {\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n text-transform: uppercase;\n}\n\n.fg-info__arg-name {\n display: block;\n}\n\n.fg-info__arg-doc {\n display: block;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n}\n\n.fg-info__arg-kind {\n color: var(--wzl-fg-muted);\n}\n\n.fg-info__value-cell {\n overflow-wrap: anywhere;\n}\n\n.fg-info__empty {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n",".fg-transport {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-6);\n min-inline-size: 0;\n}\n\n.fg-transport__scrub {\n inline-size: 16rem;\n min-inline-size: 6rem;\n flex: 1 1 16rem;\n}\n",".fg-crumbs {\n display: inline-flex;\n align-items: baseline;\n gap: 0.35em;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.fg-crumbs__sep {\n color: var(--wzl-fg-subtle);\n}\n\n/* Reads as the title it is until pointed at. */\n.fg-crumbs__step {\n padding: 0;\n border: 0;\n background: none;\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n cursor: pointer;\n}\n\n.fg-crumbs__step:hover {\n color: var(--wzl-accent-fg);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.fg-crumbs__step:focus-visible {\n outline: var(--wzl-line-width) solid var(--wzl-focus-ring);\n outline-offset: 1px;\n border-radius: var(--wzl-radius-sm);\n}\n",".fg-index {\n box-sizing: border-box;\n max-width: 1200px;\n margin: 0 auto;\n padding: var(--wzl-space-lg);\n font-family: var(--wzl-font-ui);\n font-size: var(--wzl-font-size);\n color: var(--wzl-fg);\n}\n\n.fg-index__head {\n margin-bottom: calc(var(--wzl-space-lg) * 2);\n}\n\n.fg-index__path {\n margin: 0 0 var(--wzl-space-2);\n font-size: var(--wzl-font-size-lg);\n color: var(--wzl-fg-muted);\n}\n\n.fg-index__title {\n margin: 0;\n font-family: var(--wzl-panel-title-font);\n font-size: calc(var(--wzl-font-size-xl) * 1.6);\n font-weight: var(--wzl-font-weight-medium);\n letter-spacing: var(--wzl-panel-title-tracking);\n text-transform: var(--wzl-panel-title-case);\n}\n\n.fg-index__description,\n.fg-index-story__description {\n max-width: 72ch;\n margin: var(--wzl-space-4) 0 0;\n font-family: var(--wzl-font-body);\n line-height: 1.5;\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-story {\n padding-top: calc(var(--wzl-space-lg) * 1.5);\n margin-top: calc(var(--wzl-space-lg) * 1.5);\n border-top: var(--wzl-border-w) solid var(--wzl-border);\n}\n\n/* Text and example share a row while both fit, and the example wraps under the text rather than squeezing it. */\n.fg-index-story__main {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wzl-space-8) calc(var(--wzl-space-lg) * 1.5);\n}\n\n.fg-index-story__text {\n flex: 1 1 20rem;\n min-width: 0;\n}\n\n.fg-index-story__main > .fg-index-cell {\n flex: 0 1 auto;\n margin: 0;\n}\n\n.fg-index-story__main > .fg-index-cell--padded,\n.fg-index-story__main > .fg-index-cell--fullscreen {\n flex: 2 1 28rem;\n}\n\n.fg-index-story__head {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-6);\n}\n\n.fg-index-story__name {\n margin: 0;\n font-family: var(--wzl-panel-title-font);\n font-size: var(--wzl-font-size-xl);\n font-weight: var(--wzl-panel-title-weight);\n letter-spacing: var(--wzl-panel-title-tracking);\n text-transform: var(--wzl-panel-title-case);\n color: var(--wzl-panel-title-color);\n}\n\n.fg-index-story__link {\n color: inherit;\n text-decoration: none;\n}\n\n.fg-index-story__link:hover {\n color: var(--wzl-accent-fg);\n text-decoration: underline;\n}\n\n.fg-index-cell {\n margin: var(--wzl-space-8) 0 0;\n width: fit-content;\n /* A fluid specimen (a slider, a tiled workspace) has no width of its own,\n so hugging it alone collapses the cell to its padding. */\n min-width: min(100%, 20rem);\n max-width: 100%;\n}\n\n.fg-index-cell__stage {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 96px;\n padding: var(--wzl-space-2);\n border: var(--wzl-border-w) solid var(--wzl-border);\n border-radius: var(--wzl-radius-md);\n background: var(--wzl-surface);\n overflow: auto;\n}\n\n/* A padded story sits top-left as it would on a page: the column's width, and\n none of the minimum height that gives a centered one presence. */\n.fg-index-cell--padded {\n width: auto;\n}\n\n.fg-index-cell--padded > .fg-index-cell__stage {\n display: block;\n min-height: 0;\n}\n\n.fg-index-cell--fullscreen {\n width: auto;\n}\n\n.fg-index-cell--fullscreen > .fg-index-cell__stage {\n display: block;\n height: 360px;\n padding: 0;\n}\n\n.fg-index-cell__label {\n margin-top: var(--wzl-space-3);\n font-family: var(--wzl-font-mono);\n font-size: var(--wzl-font-size-sm);\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-variants__row {\n margin-top: calc(var(--wzl-space-lg) * 1.25);\n}\n\n/* Set as the kit's panel titles are, at the small size. */\n.fg-index-variants__label {\n margin: 0;\n font-family: var(--wzl-panel-title-font);\n font-size: var(--wzl-font-size-sm);\n font-weight: var(--wzl-panel-title-weight);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-variants__cells {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wzl-space-6);\n}\n\n.fg-index-variants__cells > .fg-index-cell {\n margin-top: var(--wzl-space-4);\n}\n\n.fg-index__library {\n margin-inline-end: var(--wzl-space-4);\n vertical-align: middle;\n}\n\n.fg-index__title-row {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-6);\n}\n\n.fg-index-history {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wzl-space-2) var(--wzl-space-8);\n margin: var(--wzl-space-8) 0 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-index-history__item {\n display: flex;\n gap: var(--wzl-space-3);\n}\n\n.fg-index-history__label {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-history__value {\n margin: 0;\n}\n\n.fg-index-deps {\n display: grid;\n grid-template-columns: max-content 1fr;\n gap: var(--wzl-space-3) var(--wzl-space-8);\n margin: var(--wzl-space-8) 0 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-index-deps__row {\n display: contents;\n}\n\n.fg-index-deps__label {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-deps__value {\n margin: 0;\n}\n\n.fg-index-deps__list {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wzl-space-2) var(--wzl-space-6);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.fg-index-deps__link {\n color: var(--wzl-accent-fg);\n text-decoration: none;\n}\n\n.fg-index-deps__link:hover {\n text-decoration: underline;\n}\n\n.fg-index-deps__prefix,\n.fg-index-deps__empty,\n.fg-index-deps__none {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-deps__none {\n max-width: 72ch;\n margin: var(--wzl-space-8) 0 0;\n font-size: var(--wzl-font-size-sm);\n}\n","/* A Live lens's own box inside its slot: the copy is portaled into it, and the message beneath it shows when no copy is. */\n.fg-lens-live {\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n/* A second render of a story, at its host's own size, scaled about the reticle's point onto the slot's center. */\n.fg-lens-copy {\n position: absolute;\n top: 0;\n left: 0;\n width: var(--fg-lens-copy-w);\n height: var(--fg-lens-copy-h);\n transform-origin: 0 0;\n transform: translate(var(--fg-lens-copy-x), var(--fg-lens-copy-y)) scale(var(--fg-lens-copy-f));\n}\n\n/* As `.fg-story` paints an in-document host: in the copy's mode, which its globals apply to the host. */\n.fg-lens-copy > .fg-frame-host {\n background: var(--wzl-surface);\n}\n\n/* A Pixels lens's capture, enlarged nearest-neighbor: the browser scaling the canvas to the screen keeps it so. */\n.fg-lens-pixels {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n image-rendering: pixelated;\n}\n\n/* What a lens says in place of its story: nothing under the reticle, or why it cannot show it. */\n.fg-lens-empty {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wzl-space-4);\n text-align: center;\n font-size: 11px;\n color: var(--wzl-fg-muted);\n background: var(--wzl-surface);\n}\n\n.fg-lens-empty[hidden] {\n display: none;\n}\n\n/* Above the lens layer, in the lab body's corner. */\n.fg-loupe-hint {\n position: absolute;\n left: var(--wzl-space-8);\n bottom: var(--wzl-space-8);\n z-index: 4;\n}\n\n/* A token in the Token readout: the readouts take no pointer, so the link takes it back. */\n.fg-lens-token__link {\n padding: 0;\n border: 0;\n font: inherit;\n color: inherit;\n text-decoration: underline;\n background: none;\n cursor: pointer;\n pointer-events: auto;\n}\n",".fg-css-vars,\n.fg-css-vars-focus {\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n min-width: 0;\n min-height: 0;\n}\n\n/* In a torn-out tile nothing flexes it, so it takes the tile's height itself. */\n.fg-css-vars-focus {\n height: 100%;\n}\n\n.fg-css-vars__trial {\n margin: 0;\n overflow: hidden;\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-css-vars__controls {\n display: flex;\n flex: none;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n padding-block-end: var(--wzl-space-xs);\n border-bottom: var(--wzl-border-w) solid var(--wzl-line-subtle);\n}\n\n.fg-css-vars__list {\n flex: 1 1 0;\n min-height: 0;\n overflow-y: auto;\n}\n\n.fg-css-vars__bar {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-xs);\n --wzl-field-h: var(--wzl-control-h-sm);\n}\n\n.fg-css-vars__filter {\n flex: 1 1 auto;\n min-width: 0;\n --wzl-font-size: var(--wzl-font-size-sm);\n}\n\n.fg-css-vars__steps {\n display: flex;\n flex: none;\n}\n\n.fg-css-vars__save {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--wzl-space-xs);\n}\n\n.fg-css-vars__notice {\n margin: 0;\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-css-vars__notice--saved {\n color: var(--wzl-fg-muted);\n}\n\n.fg-css-vars__notice--error {\n color: var(--wzl-danger);\n}\n\n.fg-css-vars__empty {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-css-vars__unused {\n font-size: var(--wzl-font-size-sm);\n}\n\n/* The token a lens's Token readout asked for. */\n.fg-css-vars__list [data-revealed] {\n outline: var(--wzl-line-width) solid var(--wzl-accent);\n outline-offset: 1px;\n}\n",".fg-keys {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-sm);\n min-width: 0;\n}\n\n.fg-keys__heading {\n margin: 0 0 var(--wzl-space-xs);\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n font-weight: 600;\n text-transform: capitalize;\n}\n\n.fg-keys__list {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.fg-keys__row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--wzl-space-sm);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-keys__label {\n min-width: 0;\n}\n\n.fg-keys__chips {\n display: flex;\n flex: none;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wzl-space-xs);\n}\n\n.fg-keys__chip {\n padding: 0 var(--wzl-space-xs);\n border: var(--wzl-border-w) solid var(--wzl-line-subtle);\n border-radius: var(--wzl-radius-sm);\n color: var(--wzl-fg-muted);\n font-family: inherit;\n font-size: var(--wzl-font-size-xs);\n white-space: nowrap;\n}\n\n.fg-keys__empty {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n"],"mappings":"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","names":[]}
@@ -1,14 +1,15 @@
1
1
  import * as react from 'react';
2
2
  import { RefObject, ReactNode } from 'react';
3
3
  import { LabContribution, StorageAdapter, RenderContext, InstrumentList } from '@weasel-js/labkit';
4
- import { F as FrameImporters } from '../mountFrame-Ds3QLnBF.js';
5
- import { I as IndexEntry, F as FrameSetup, k as DepGraph, p as LoadedStory, L as Layout, G as Globals, c as FromFrame, T as ToFrame, v as CssVarReport, w as A11yOutcome } from '../FrameController-CdnaIo4C.js';
6
- export { x as DescribedEntry, y as DescribedShape, z as SchemaDescription, B as SectionDescription } from '../FrameController-CdnaIo4C.js';
7
- import { S as ShellConfig, a as GlobalDeclarations, e as Libraries } from '../config-Mg05Ja9r.js';
4
+ import { F as FrameImporters } from '../mountFrame-Bs7u1ro-.js';
5
+ import { I as IndexEntry, F as FrameSetup, D as DepGraph, p as LoadedStory, L as Layout, G as Globals, c as FromFrame, T as ToFrame, v as CssVarReport, w as A11yOutcome } from '../FrameController-DgfVaENb.js';
6
+ export { x as DescribedEntry, y as DescribedShape, z as SchemaDescription, B as SectionDescription } from '../FrameController-DgfVaENb.js';
7
+ import { S as ShellConfig, a as GlobalDeclarations } from '../config-6fWf87Tt.js';
8
+ import { a as Libraries } from '../library-CdTj-hFp.js';
8
9
  import '@weasel-js/icons';
9
10
  import '@weasel-js/labkit/config';
10
11
  import '@weasel-js/theme';
11
- import '@weasel-js/ui/stance';
12
+ import '@weasel-js/ui/appearance';
12
13
 
13
14
  /** What axe found in the story of the trial this is rendered inside, re-run on demand. */
14
15
  declare function A11yPanel(): react.JSX.Element;