@weasel-js/forge 1.16.0 → 1.16.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.
- package/README.md +14 -0
- package/dist/{FrameController-BM6xuEfY.d.ts → FrameController-D9CddmJg.d.ts} +2 -0
- package/dist/{chunk-PPB7VP6R.js → chunk-5B4RDEF3.js} +87 -7
- package/dist/chunk-5B4RDEF3.js.map +1 -0
- package/dist/{chunk-MRYXJTDO.js → chunk-7YVJS4QS.js} +3 -3
- package/dist/{chunk-MRYXJTDO.js.map → chunk-7YVJS4QS.js.map} +1 -1
- package/dist/{chunk-PGLOYXDP.js → chunk-EVPVBDHM.js} +31 -5
- package/dist/chunk-EVPVBDHM.js.map +1 -0
- package/dist/{chunk-SZ2SMRE6.js → chunk-KNBEHCFD.js} +3 -29
- package/dist/chunk-KNBEHCFD.js.map +1 -0
- package/dist/{chunk-5WS67HMU.js → chunk-PN4IFL5E.js} +6 -3
- package/dist/chunk-PN4IFL5E.js.map +1 -0
- package/dist/{chunk-RVJHUY7W.js → chunk-ZGELUE2H.js} +3 -3
- package/dist/{chunk-RVJHUY7W.js.map → chunk-ZGELUE2H.js.map} +1 -1
- package/dist/{config-DOjWyIui.d.ts → config-Ey2RPFrg.d.ts} +1 -1
- package/dist/frame/index.css +100 -0
- package/dist/frame/index.css.map +1 -1
- package/dist/frame/index.d.ts +4 -4
- package/dist/frame/index.js +4 -4
- package/dist/index.d.ts +3 -3
- package/dist/{mountFrame-CRPAjg1M.d.ts → mountFrame-AZzyw6bu.d.ts} +1 -1
- package/dist/shell/index.css +100 -0
- package/dist/shell/index.css.map +1 -1
- package/dist/shell/index.d.ts +4 -4
- package/dist/shell/index.js +7 -7
- package/dist/test/index.d.ts +1 -1
- package/dist/test/index.js +3 -3
- package/dist/vite/index.d.ts +5 -0
- package/dist/vite/index.js +271 -56
- package/dist/vite/index.js.map +1 -1
- package/package.json +11 -11
- package/dist/chunk-5WS67HMU.js.map +0 -1
- package/dist/chunk-PGLOYXDP.js.map +0 -1
- package/dist/chunk-PPB7VP6R.js.map +0 -1
- package/dist/chunk-SZ2SMRE6.js.map +0 -1
package/dist/frame/index.css
CHANGED
|
@@ -238,6 +238,106 @@ body {
|
|
|
238
238
|
font-size: var(--wzl-font-size-sm);
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
+
/* src/frame/index/api.css */
|
|
242
|
+
.fg-story__scroll:has(.fg-index-api) {
|
|
243
|
+
container: fg-scroller / size;
|
|
244
|
+
}
|
|
245
|
+
.fg-index--api {
|
|
246
|
+
max-width: none;
|
|
247
|
+
container: fg-index / inline-size;
|
|
248
|
+
}
|
|
249
|
+
.fg-index--api > .fg-index__body {
|
|
250
|
+
display: grid;
|
|
251
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
252
|
+
grid-template-areas: "stories api";
|
|
253
|
+
column-gap: calc(var(--wzl-space-lg) * 1.5);
|
|
254
|
+
}
|
|
255
|
+
.fg-index__stories {
|
|
256
|
+
grid-area: stories;
|
|
257
|
+
min-width: 0;
|
|
258
|
+
}
|
|
259
|
+
.fg-index-api {
|
|
260
|
+
grid-area: api;
|
|
261
|
+
align-self: start;
|
|
262
|
+
position: sticky;
|
|
263
|
+
top: 0;
|
|
264
|
+
box-sizing: border-box;
|
|
265
|
+
max-height: 100cqh;
|
|
266
|
+
overflow: auto;
|
|
267
|
+
padding: var(--wzl-space-8) var(--wzl-space-lg);
|
|
268
|
+
border-inline-start: var(--wzl-border-w) solid var(--wzl-border);
|
|
269
|
+
font-size: var(--wzl-font-size-sm);
|
|
270
|
+
}
|
|
271
|
+
@container fg-index (width < 560px) {
|
|
272
|
+
.fg-index--api > .fg-index__body {
|
|
273
|
+
grid-template-columns: minmax(0, 1fr);
|
|
274
|
+
grid-template-areas: "api" "stories";
|
|
275
|
+
}
|
|
276
|
+
.fg-index-api {
|
|
277
|
+
position: static;
|
|
278
|
+
max-height: none;
|
|
279
|
+
padding-inline: 0;
|
|
280
|
+
border-inline-start: none;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
.fg-index-api__heading {
|
|
284
|
+
margin: 0 0 var(--wzl-space-6);
|
|
285
|
+
font-family: var(--wzl-panel-title-font);
|
|
286
|
+
font-size: var(--wzl-font-size-sm);
|
|
287
|
+
font-weight: var(--wzl-panel-title-weight);
|
|
288
|
+
letter-spacing: 0.06em;
|
|
289
|
+
text-transform: uppercase;
|
|
290
|
+
color: var(--wzl-fg-muted);
|
|
291
|
+
}
|
|
292
|
+
.fg-index-api__heading:not(:first-child) {
|
|
293
|
+
margin-top: calc(var(--wzl-space-lg) * 1.25);
|
|
294
|
+
}
|
|
295
|
+
.fg-index-api__list {
|
|
296
|
+
margin: 0;
|
|
297
|
+
}
|
|
298
|
+
.fg-index-api__name {
|
|
299
|
+
display: flex;
|
|
300
|
+
align-items: center;
|
|
301
|
+
gap: var(--wzl-space-4);
|
|
302
|
+
margin-top: var(--wzl-space-8);
|
|
303
|
+
font-family: var(--wzl-font-mono);
|
|
304
|
+
font-weight: var(--wzl-font-weight-medium);
|
|
305
|
+
}
|
|
306
|
+
.fg-index-api__name:first-child {
|
|
307
|
+
margin-top: 0;
|
|
308
|
+
}
|
|
309
|
+
.fg-index-api__entry {
|
|
310
|
+
margin: var(--wzl-space-2) 0 0;
|
|
311
|
+
}
|
|
312
|
+
.fg-index-api code {
|
|
313
|
+
font-family: var(--wzl-font-mono);
|
|
314
|
+
overflow-wrap: anywhere;
|
|
315
|
+
}
|
|
316
|
+
.fg-index-api__type {
|
|
317
|
+
color: var(--wzl-accent-fg);
|
|
318
|
+
}
|
|
319
|
+
.fg-index-api__default,
|
|
320
|
+
.fg-index-api__deprecated,
|
|
321
|
+
.fg-index-api__description,
|
|
322
|
+
.fg-index-api__ref,
|
|
323
|
+
.fg-index-api__note,
|
|
324
|
+
.fg-index-api__inherited {
|
|
325
|
+
margin: var(--wzl-space-2) 0 0;
|
|
326
|
+
line-height: 1.5;
|
|
327
|
+
}
|
|
328
|
+
.fg-index-api__default,
|
|
329
|
+
.fg-index-api__description,
|
|
330
|
+
.fg-index-api__inherited,
|
|
331
|
+
.fg-index-api__note {
|
|
332
|
+
color: var(--wzl-fg-muted);
|
|
333
|
+
}
|
|
334
|
+
.fg-index-api__deprecated {
|
|
335
|
+
color: var(--wzl-warning);
|
|
336
|
+
}
|
|
337
|
+
.fg-index-api__inherited {
|
|
338
|
+
margin-top: var(--wzl-space-8);
|
|
339
|
+
}
|
|
340
|
+
|
|
241
341
|
/* src/frame/capture/capture.css */
|
|
242
342
|
.fg-story[data-fg-capture] {
|
|
243
343
|
position: relative;
|
package/dist/frame/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/frame/frame.css","../../src/frame/index/index.css","../../src/frame/capture/capture.css"],"sourcesContent":["html,\nbody {\n margin: 0;\n}\n\n.fg-frame {\n box-sizing: border-box;\n}\n\n.fg-frame--centered {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n}\n\n.fg-frame--padded {\n padding: var(--wzl-space-8);\n}\n\n.fg-frame--fullscreen {\n height: 100vh;\n padding: 0;\n}\n\n.fg-frame__fault {\n margin: 0;\n padding: var(--wzl-space-8);\n white-space: pre-wrap;\n border: 1px solid #f2b8b5;\n border-radius: 4px;\n background: #fdecea;\n color: #8c1d18;\n font: 13px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;\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 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","/* The capture box is the host's size exactly, whatever else styles a `.fg-story`. An isolated story's frame wrapper\n measures `100vh` against the page, which the capture sizes to the box. */\n.fg-story[data-fg-capture] {\n position: relative;\n box-sizing: border-box;\n width: var(--fg-capture-w);\n height: var(--fg-capture-h);\n overflow: hidden;\n contain: paint;\n container-type: size;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/frame/frame.css","../../src/frame/index/index.css","../../src/frame/index/api.css","../../src/frame/capture/capture.css"],"sourcesContent":["html,\nbody {\n margin: 0;\n}\n\n.fg-frame {\n box-sizing: border-box;\n}\n\n.fg-frame--centered {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n}\n\n.fg-frame--padded {\n padding: var(--wzl-space-8);\n}\n\n.fg-frame--fullscreen {\n height: 100vh;\n padding: 0;\n}\n\n.fg-frame__fault {\n margin: 0;\n padding: var(--wzl-space-8);\n white-space: pre-wrap;\n border: 1px solid #f2b8b5;\n border-radius: 4px;\n background: #fdecea;\n color: #8c1d18;\n font: 13px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;\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 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","/* The trial's scroller bounds the API column (100cqh) and is what it sticks to. Where there is none, as in a frame\n document, the column is bounded by the viewport, which is then the scroller. */\n.fg-story__scroll:has(.fg-index-api) {\n container: fg-scroller / size;\n}\n\n.fg-index--api {\n max-width: none;\n container: fg-index / inline-size;\n}\n\n.fg-index--api > .fg-index__body {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n grid-template-areas: 'stories api';\n column-gap: calc(var(--wzl-space-lg) * 1.5);\n}\n\n.fg-index__stories {\n grid-area: stories;\n min-width: 0;\n}\n\n.fg-index-api {\n grid-area: api;\n align-self: start;\n position: sticky;\n top: 0;\n box-sizing: border-box;\n max-height: 100cqh;\n overflow: auto;\n padding: var(--wzl-space-8) var(--wzl-space-lg);\n border-inline-start: var(--wzl-border-w) solid var(--wzl-border);\n font-size: var(--wzl-font-size-sm);\n}\n\n@container fg-index (width < 560px) {\n .fg-index--api > .fg-index__body {\n grid-template-columns: minmax(0, 1fr);\n grid-template-areas: 'api' 'stories';\n }\n\n .fg-index-api {\n position: static;\n max-height: none;\n padding-inline: 0;\n border-inline-start: none;\n }\n}\n\n.fg-index-api__heading {\n margin: 0 0 var(--wzl-space-6);\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-api__heading:not(:first-child) {\n margin-top: calc(var(--wzl-space-lg) * 1.25);\n}\n\n.fg-index-api__list {\n margin: 0;\n}\n\n.fg-index-api__name {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-4);\n margin-top: var(--wzl-space-8);\n font-family: var(--wzl-font-mono);\n font-weight: var(--wzl-font-weight-medium);\n}\n\n.fg-index-api__name:first-child {\n margin-top: 0;\n}\n\n.fg-index-api__entry {\n margin: var(--wzl-space-2) 0 0;\n}\n\n.fg-index-api code {\n font-family: var(--wzl-font-mono);\n overflow-wrap: anywhere;\n}\n\n.fg-index-api__type {\n color: var(--wzl-accent-fg);\n}\n\n.fg-index-api__default,\n.fg-index-api__deprecated,\n.fg-index-api__description,\n.fg-index-api__ref,\n.fg-index-api__note,\n.fg-index-api__inherited {\n margin: var(--wzl-space-2) 0 0;\n line-height: 1.5;\n}\n\n.fg-index-api__default,\n.fg-index-api__description,\n.fg-index-api__inherited,\n.fg-index-api__note {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-api__deprecated {\n color: var(--wzl-warning);\n}\n\n.fg-index-api__inherited {\n margin-top: var(--wzl-space-8);\n}\n","/* The capture box is the host's size exactly, whatever else styles a `.fg-story`. An isolated story's frame wrapper\n measures `100vh` against the page, which the capture sizes to the box. */\n.fg-story[data-fg-capture] {\n position: relative;\n box-sizing: border-box;\n width: var(--fg-capture-w);\n height: var(--fg-capture-h);\n overflow: hidden;\n contain: paint;\n container-type: size;\n}\n"],"mappings":"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","names":[]}
|
package/dist/frame/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as Globals, L as Layout, I as IndexEntry, F as FrameSetup, D as DepGraph } from '../FrameController-
|
|
2
|
-
export { C as Channel, a as ConfigAnswers, b as FaultPhase, c as FromFrame, S as StartFrameOptions, T as ToFrame, r as reportImportFault, s as startFrame } from '../FrameController-
|
|
3
|
-
import { F as FrameImporters } from '../mountFrame-
|
|
4
|
-
export { a as FrameIndexEntry, M as MountFrameOptions, m as mountFrame } from '../mountFrame-
|
|
1
|
+
import { G as Globals, L as Layout, I as IndexEntry, F as FrameSetup, D as DepGraph } from '../FrameController-D9CddmJg.js';
|
|
2
|
+
export { C as Channel, a as ConfigAnswers, b as FaultPhase, c as FromFrame, S as StartFrameOptions, T as ToFrame, r as reportImportFault, s as startFrame } from '../FrameController-D9CddmJg.js';
|
|
3
|
+
import { F as FrameImporters } from '../mountFrame-AZzyw6bu.js';
|
|
4
|
+
export { a as FrameIndexEntry, M as MountFrameOptions, m as mountFrame } from '../mountFrame-AZzyw6bu.js';
|
|
5
5
|
import { Theme } from '@weasel-js/theme';
|
|
6
6
|
import { L as Library } from '../library-CdTj-hFp.js';
|
|
7
7
|
import '@weasel-js/icons';
|
package/dist/frame/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { describeSchema, createKitRoot, openChannel, loadIndexBundle, librariesFrom, LibrariesContext, IndexPage, indexEnvOf, LAB_DENSITY, answerSchema } from '../chunk-
|
|
2
|
-
import { isIndexId, indexId } from '../chunk-
|
|
1
|
+
import { describeSchema, createKitRoot, openChannel, loadIndexBundle, librariesFrom, LibrariesContext, IndexPage, indexEnvOf, LAB_DENSITY, answerSchema } from '../chunk-5B4RDEF3.js';
|
|
2
|
+
import { isIndexId, indexId } from '../chunk-ZGELUE2H.js';
|
|
3
3
|
import '../chunk-VUPN73JP.js';
|
|
4
|
-
import { createOverrides, createGlobalsTarget, createA11yHighlighter, loadStories, scanCssVars, auditElement, runAxe, useHostConditions, StoryHost, useOwnClock, resolveCssVar } from '../chunk-
|
|
4
|
+
import { createOverrides, createGlobalsTarget, createA11yHighlighter, loadStories, scanCssVars, auditElement, runAxe, useHostConditions, StoryHost, useOwnClock, resolveCssVar } from '../chunk-EVPVBDHM.js';
|
|
5
5
|
import { ClockContext } from '../chunk-TT4ZOYB6.js';
|
|
6
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-PN4IFL5E.js';
|
|
7
7
|
import '../chunk-B26DWEYT.js';
|
|
8
8
|
import { FRAME_HELLO, stableStringify, PORT_HANDOFF } from '../chunk-STK2AZH2.js';
|
|
9
9
|
import { flushSync } from 'react-dom';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ConfigSchema } from '@weasel-js/labkit/config';
|
|
2
2
|
export { f } from '@weasel-js/labkit/config';
|
|
3
|
-
export { F as FOLLOW_APP, G as GlobalDeclaration, a as GlobalDeclarations, L as LabChrome, S as ShellConfig, d as defineFrameConfig, b as defineShellConfig } from './config-
|
|
3
|
+
export { F as FOLLOW_APP, G as GlobalDeclaration, a as GlobalDeclarations, L as LabChrome, S as ShellConfig, d as defineFrameConfig, b as defineShellConfig } from './config-Ey2RPFrg.js';
|
|
4
4
|
import { ComponentType, ReactNode } from 'react';
|
|
5
|
-
import { G as Globals, M as MetaSpec, d as StorySpec, e as Span, f as SpanOverride } from './FrameController-
|
|
6
|
-
export { A as A11yFinding, g as A11yNode, h as A11yReport, i as ComponentDeps, j as ComponentHistory, k as Decorator, D as DepGraph, F as FrameSetup, l as GlobalsTarget, m as IndexContext, n as IndexRender, o as IndexStoryProps, p as LoadedStory, P as PlayContext, q as StoryContext, L as StoryLayout, V as StoryViewport, t as TimelineSpec } from './FrameController-
|
|
5
|
+
import { G as Globals, M as MetaSpec, d as StorySpec, e as Span, f as SpanOverride } from './FrameController-D9CddmJg.js';
|
|
6
|
+
export { A as A11yFinding, g as A11yNode, h as A11yReport, i as ComponentDeps, j as ComponentHistory, k as Decorator, D as DepGraph, F as FrameSetup, l as GlobalsTarget, m as IndexContext, n as IndexRender, o as IndexStoryProps, p as LoadedStory, P as PlayContext, q as StoryContext, L as StoryLayout, V as StoryViewport, t as TimelineSpec } from './FrameController-D9CddmJg.js';
|
|
7
7
|
export { L as Library } from './library-CdTj-hFp.js';
|
|
8
8
|
import '@weasel-js/labkit';
|
|
9
9
|
import '@weasel-js/theme';
|
package/dist/shell/index.css
CHANGED
|
@@ -631,6 +631,106 @@
|
|
|
631
631
|
font-size: var(--wzl-font-size-sm);
|
|
632
632
|
}
|
|
633
633
|
|
|
634
|
+
/* src/frame/index/api.css */
|
|
635
|
+
.fg-story__scroll:has(.fg-index-api) {
|
|
636
|
+
container: fg-scroller / size;
|
|
637
|
+
}
|
|
638
|
+
.fg-index--api {
|
|
639
|
+
max-width: none;
|
|
640
|
+
container: fg-index / inline-size;
|
|
641
|
+
}
|
|
642
|
+
.fg-index--api > .fg-index__body {
|
|
643
|
+
display: grid;
|
|
644
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
645
|
+
grid-template-areas: "stories api";
|
|
646
|
+
column-gap: calc(var(--wzl-space-lg) * 1.5);
|
|
647
|
+
}
|
|
648
|
+
.fg-index__stories {
|
|
649
|
+
grid-area: stories;
|
|
650
|
+
min-width: 0;
|
|
651
|
+
}
|
|
652
|
+
.fg-index-api {
|
|
653
|
+
grid-area: api;
|
|
654
|
+
align-self: start;
|
|
655
|
+
position: sticky;
|
|
656
|
+
top: 0;
|
|
657
|
+
box-sizing: border-box;
|
|
658
|
+
max-height: 100cqh;
|
|
659
|
+
overflow: auto;
|
|
660
|
+
padding: var(--wzl-space-8) var(--wzl-space-lg);
|
|
661
|
+
border-inline-start: var(--wzl-border-w) solid var(--wzl-border);
|
|
662
|
+
font-size: var(--wzl-font-size-sm);
|
|
663
|
+
}
|
|
664
|
+
@container fg-index (width < 560px) {
|
|
665
|
+
.fg-index--api > .fg-index__body {
|
|
666
|
+
grid-template-columns: minmax(0, 1fr);
|
|
667
|
+
grid-template-areas: "api" "stories";
|
|
668
|
+
}
|
|
669
|
+
.fg-index-api {
|
|
670
|
+
position: static;
|
|
671
|
+
max-height: none;
|
|
672
|
+
padding-inline: 0;
|
|
673
|
+
border-inline-start: none;
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
.fg-index-api__heading {
|
|
677
|
+
margin: 0 0 var(--wzl-space-6);
|
|
678
|
+
font-family: var(--wzl-panel-title-font);
|
|
679
|
+
font-size: var(--wzl-font-size-sm);
|
|
680
|
+
font-weight: var(--wzl-panel-title-weight);
|
|
681
|
+
letter-spacing: 0.06em;
|
|
682
|
+
text-transform: uppercase;
|
|
683
|
+
color: var(--wzl-fg-muted);
|
|
684
|
+
}
|
|
685
|
+
.fg-index-api__heading:not(:first-child) {
|
|
686
|
+
margin-top: calc(var(--wzl-space-lg) * 1.25);
|
|
687
|
+
}
|
|
688
|
+
.fg-index-api__list {
|
|
689
|
+
margin: 0;
|
|
690
|
+
}
|
|
691
|
+
.fg-index-api__name {
|
|
692
|
+
display: flex;
|
|
693
|
+
align-items: center;
|
|
694
|
+
gap: var(--wzl-space-4);
|
|
695
|
+
margin-top: var(--wzl-space-8);
|
|
696
|
+
font-family: var(--wzl-font-mono);
|
|
697
|
+
font-weight: var(--wzl-font-weight-medium);
|
|
698
|
+
}
|
|
699
|
+
.fg-index-api__name:first-child {
|
|
700
|
+
margin-top: 0;
|
|
701
|
+
}
|
|
702
|
+
.fg-index-api__entry {
|
|
703
|
+
margin: var(--wzl-space-2) 0 0;
|
|
704
|
+
}
|
|
705
|
+
.fg-index-api code {
|
|
706
|
+
font-family: var(--wzl-font-mono);
|
|
707
|
+
overflow-wrap: anywhere;
|
|
708
|
+
}
|
|
709
|
+
.fg-index-api__type {
|
|
710
|
+
color: var(--wzl-accent-fg);
|
|
711
|
+
}
|
|
712
|
+
.fg-index-api__default,
|
|
713
|
+
.fg-index-api__deprecated,
|
|
714
|
+
.fg-index-api__description,
|
|
715
|
+
.fg-index-api__ref,
|
|
716
|
+
.fg-index-api__note,
|
|
717
|
+
.fg-index-api__inherited {
|
|
718
|
+
margin: var(--wzl-space-2) 0 0;
|
|
719
|
+
line-height: 1.5;
|
|
720
|
+
}
|
|
721
|
+
.fg-index-api__default,
|
|
722
|
+
.fg-index-api__description,
|
|
723
|
+
.fg-index-api__inherited,
|
|
724
|
+
.fg-index-api__note {
|
|
725
|
+
color: var(--wzl-fg-muted);
|
|
726
|
+
}
|
|
727
|
+
.fg-index-api__deprecated {
|
|
728
|
+
color: var(--wzl-warning);
|
|
729
|
+
}
|
|
730
|
+
.fg-index-api__inherited {
|
|
731
|
+
margin-top: var(--wzl-space-8);
|
|
732
|
+
}
|
|
733
|
+
|
|
634
734
|
/* src/shell/loupe/loupe.css */
|
|
635
735
|
.fg-lens-live {
|
|
636
736
|
position: absolute;
|
package/dist/shell/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shell/shell.css","../../src/shell/a11y/A11yPanel.css","../../src/timeline/transport.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","../../src/shell/issues/issues.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 --wzl-tree-current: var(--wzl-secondary-fg);\n --wzl-tree-row-h: 25px;\n flex: 1 1 0;\n min-height: 0;\n overflow-y: 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__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.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}\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/* 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-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.fg-a11y__reason {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n word-break: normal;\n}\n","/* A status bar item sizes to its content, and the transport's scrub bar only takes slack, so the item is given some. */\n.fg-transport {\n inline-size: 32rem;\n max-inline-size: 100%;\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 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",".fg-issues,\n.fg-issues-focus {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-sm);\n min-width: 0;\n}\n\n.fg-issues__component {\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-issues__group {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n margin: 0;\n}\n\n.fg-issues__heading {\n margin: 0;\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n font-weight: 600;\n}\n\n.fg-issues__note {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-issues__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-issues__item {\n display: flex;\n align-items: baseline;\n gap: var(--wzl-space-sm);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-issues__link {\n display: flex;\n flex: 1;\n align-items: baseline;\n gap: var(--wzl-space-xs);\n min-width: 0;\n color: inherit;\n text-decoration: none;\n}\n\n.fg-issues__link:hover .fg-issues__title {\n text-decoration: underline;\n}\n\n.fg-issues__number {\n flex: none;\n color: var(--wzl-fg-muted);\n}\n\n.fg-issues__title {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-issues__opened {\n flex: none;\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n}\n\n.fg-issues__actions {\n display: flex;\n justify-content: flex-end;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/shell/shell.css","../../src/shell/a11y/A11yPanel.css","../../src/timeline/transport.css","../../src/shell/Crumbs.css","../../src/frame/index/index.css","../../src/frame/index/api.css","../../src/shell/loupe/loupe.css","../../src/shell/cssVars/cssVars.css","../../src/shell/keys/keys.css","../../src/shell/issues/issues.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 --wzl-tree-current: var(--wzl-secondary-fg);\n --wzl-tree-row-h: 25px;\n flex: 1 1 0;\n min-height: 0;\n overflow-y: 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__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.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}\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/* 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-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.fg-a11y__reason {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-xs);\n word-break: normal;\n}\n","/* A status bar item sizes to its content, and the transport's scrub bar only takes slack, so the item is given some. */\n.fg-transport {\n inline-size: 32rem;\n max-inline-size: 100%;\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 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","/* The trial's scroller bounds the API column (100cqh) and is what it sticks to. Where there is none, as in a frame\n document, the column is bounded by the viewport, which is then the scroller. */\n.fg-story__scroll:has(.fg-index-api) {\n container: fg-scroller / size;\n}\n\n.fg-index--api {\n max-width: none;\n container: fg-index / inline-size;\n}\n\n.fg-index--api > .fg-index__body {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n grid-template-areas: 'stories api';\n column-gap: calc(var(--wzl-space-lg) * 1.5);\n}\n\n.fg-index__stories {\n grid-area: stories;\n min-width: 0;\n}\n\n.fg-index-api {\n grid-area: api;\n align-self: start;\n position: sticky;\n top: 0;\n box-sizing: border-box;\n max-height: 100cqh;\n overflow: auto;\n padding: var(--wzl-space-8) var(--wzl-space-lg);\n border-inline-start: var(--wzl-border-w) solid var(--wzl-border);\n font-size: var(--wzl-font-size-sm);\n}\n\n@container fg-index (width < 560px) {\n .fg-index--api > .fg-index__body {\n grid-template-columns: minmax(0, 1fr);\n grid-template-areas: 'api' 'stories';\n }\n\n .fg-index-api {\n position: static;\n max-height: none;\n padding-inline: 0;\n border-inline-start: none;\n }\n}\n\n.fg-index-api__heading {\n margin: 0 0 var(--wzl-space-6);\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-api__heading:not(:first-child) {\n margin-top: calc(var(--wzl-space-lg) * 1.25);\n}\n\n.fg-index-api__list {\n margin: 0;\n}\n\n.fg-index-api__name {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-4);\n margin-top: var(--wzl-space-8);\n font-family: var(--wzl-font-mono);\n font-weight: var(--wzl-font-weight-medium);\n}\n\n.fg-index-api__name:first-child {\n margin-top: 0;\n}\n\n.fg-index-api__entry {\n margin: var(--wzl-space-2) 0 0;\n}\n\n.fg-index-api code {\n font-family: var(--wzl-font-mono);\n overflow-wrap: anywhere;\n}\n\n.fg-index-api__type {\n color: var(--wzl-accent-fg);\n}\n\n.fg-index-api__default,\n.fg-index-api__deprecated,\n.fg-index-api__description,\n.fg-index-api__ref,\n.fg-index-api__note,\n.fg-index-api__inherited {\n margin: var(--wzl-space-2) 0 0;\n line-height: 1.5;\n}\n\n.fg-index-api__default,\n.fg-index-api__description,\n.fg-index-api__inherited,\n.fg-index-api__note {\n color: var(--wzl-fg-muted);\n}\n\n.fg-index-api__deprecated {\n color: var(--wzl-warning);\n}\n\n.fg-index-api__inherited {\n margin-top: var(--wzl-space-8);\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",".fg-issues,\n.fg-issues-focus {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-sm);\n min-width: 0;\n}\n\n.fg-issues__component {\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-issues__group {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-xs);\n margin: 0;\n}\n\n.fg-issues__heading {\n margin: 0;\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n font-weight: 600;\n}\n\n.fg-issues__note {\n margin: 0;\n color: var(--wzl-fg-muted);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-issues__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-issues__item {\n display: flex;\n align-items: baseline;\n gap: var(--wzl-space-sm);\n font-size: var(--wzl-font-size-sm);\n}\n\n.fg-issues__link {\n display: flex;\n flex: 1;\n align-items: baseline;\n gap: var(--wzl-space-xs);\n min-width: 0;\n color: inherit;\n text-decoration: none;\n}\n\n.fg-issues__link:hover .fg-issues__title {\n text-decoration: underline;\n}\n\n.fg-issues__number {\n flex: none;\n color: var(--wzl-fg-muted);\n}\n\n.fg-issues__title {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.fg-issues__opened {\n flex: none;\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-xs);\n}\n\n.fg-issues__actions {\n display: flex;\n justify-content: flex-end;\n}\n"],"mappings":"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","names":[]}
|
package/dist/shell/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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-
|
|
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, u as CssVarReport, v as A11yOutcome } from '../FrameController-
|
|
6
|
-
export { w as DescribedEntry, x as DescribedShape, y as SchemaDescription, z as SectionDescription } from '../FrameController-
|
|
7
|
-
import { S as ShellConfig, a as GlobalDeclarations } from '../config-
|
|
4
|
+
import { F as FrameImporters } from '../mountFrame-AZzyw6bu.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, u as CssVarReport, v as A11yOutcome } from '../FrameController-D9CddmJg.js';
|
|
6
|
+
export { w as DescribedEntry, x as DescribedShape, y as SchemaDescription, z as SectionDescription } from '../FrameController-D9CddmJg.js';
|
|
7
|
+
import { S as ShellConfig, a as GlobalDeclarations } from '../config-Ey2RPFrg.js';
|
|
8
8
|
import { a as Libraries } from '../library-CdTj-hFp.js';
|
|
9
9
|
import '@weasel-js/icons';
|
|
10
10
|
import '@weasel-js/labkit/config';
|
package/dist/shell/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { parseRoute, formatRoute, paramsToKnobs, knobPaths, sameKnob, paramsToPins, knobsToParams, PLAYHEAD_PARAM, pinParams, withoutPins, reservedParams } from '../chunk-SFKDHXVE.js';
|
|
2
|
-
import { DEFAULT_TITLE, ISSUES_PATH, CAPTURE_PATH, issueLabel, messageOf, MIN_DPR, MAX_DPR } from '../chunk-
|
|
3
|
-
import { TITLE_LIBRARIES, loadIndexBundle, librariesFrom, LibrariesContext, LAB_DENSITY, createKitRoot, schemaFromDescription, LibraryBadge, Description, IndexPage, indexEnvOf, LabBadge, openChannel } from '../chunk-
|
|
4
|
-
import { isIndexId, indexId, indexEntries } from '../chunk-
|
|
2
|
+
import { DEFAULT_TITLE, ISSUES_PATH, CAPTURE_PATH, issueLabel, messageOf, MIN_DPR, MAX_DPR } from '../chunk-7YVJS4QS.js';
|
|
3
|
+
import { TITLE_LIBRARIES, loadIndexBundle, librariesFrom, LibrariesContext, LAB_DENSITY, createKitRoot, schemaFromDescription, LibraryBadge, Description, IndexPage, indexEnvOf, LabBadge, openChannel } from '../chunk-5B4RDEF3.js';
|
|
4
|
+
import { isIndexId, indexId, indexEntries } from '../chunk-ZGELUE2H.js';
|
|
5
5
|
import { isGallery, isLab } from '../chunk-VUPN73JP.js';
|
|
6
|
-
import { useTrialFrame, createTrialFrames, createStoryHosts, StoryGlobalsContext, TrialFramesContext, StoryHostsContext, StoryTrial, LiveLensesContext, trialAt, describeLens, createLiveLenses, useCopyConfig, useCssOverrides, IN_VIEW_MARGIN, LiveFrameCopies, TrialHost, LiveCopies, resolveContextOf, resolveComparison, scrollerOf, withArgs } from '../chunk-
|
|
7
|
-
export { StoryGlobalsContext, StoryTrial, TrialFramesContext, TrialHost, useTrialFrame } from '../chunk-
|
|
6
|
+
import { useTrialFrame, createTrialFrames, createStoryHosts, StoryGlobalsContext, TrialFramesContext, StoryHostsContext, StoryTrial, LiveLensesContext, trialAt, describeLens, createLiveLenses, useCopyConfig, useCssOverrides, IN_VIEW_MARGIN, LiveFrameCopies, TrialHost, LiveCopies, resolveContextOf, resolveComparison, scrollerOf, withArgs } from '../chunk-KNBEHCFD.js';
|
|
7
|
+
export { StoryGlobalsContext, StoryTrial, TrialFramesContext, TrialHost, useTrialFrame } from '../chunk-KNBEHCFD.js';
|
|
8
8
|
import { labGlobals, withGlobals, storyConfig, followApp, GLOBALS_KEY, effectiveGlobals, labOptions, isForgePath, isGlobalsPath } from '../chunk-FPF2JSWB.js';
|
|
9
|
-
import { loadStories, applyGlobalsTo, scanCssVars, varRefs, cssRulesOf } from '../chunk-
|
|
9
|
+
import { loadStories, applyGlobalsTo, scanCssVars, varRefs, cssRulesOf } from '../chunk-EVPVBDHM.js';
|
|
10
10
|
import { clockSpecOf, shownTime } from '../chunk-TT4ZOYB6.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-PN4IFL5E.js';
|
|
12
12
|
import '../chunk-B26DWEYT.js';
|
|
13
13
|
import { stableStringify, DEFAULT_LAYOUT, FRAME_HELLO, PORT_HANDOFF, PROTOCOL_VERSION } from '../chunk-STK2AZH2.js';
|
|
14
14
|
import { useTrialId, Button, Lab, useLabContext, TrialIdContext, TrialTransport, usePersistedState, useTrialClockHandle, Select, useTrialState, ToggleBar as ToggleBar$1, Input as Input$1, TokenPanel, useLabEntries, inferTokenType, refitScale } from '@weasel-js/labkit';
|
package/dist/test/index.d.ts
CHANGED
package/dist/test/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { StoryTrial } from '../chunk-
|
|
1
|
+
import { StoryTrial } from '../chunk-KNBEHCFD.js';
|
|
2
2
|
import '../chunk-FPF2JSWB.js';
|
|
3
|
-
import { loadStories } from '../chunk-
|
|
3
|
+
import { loadStories } from '../chunk-EVPVBDHM.js';
|
|
4
4
|
import '../chunk-TT4ZOYB6.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-PN4IFL5E.js';
|
|
6
6
|
import '../chunk-B26DWEYT.js';
|
|
7
7
|
import '../chunk-STK2AZH2.js';
|
|
8
8
|
import { withValueAtPath } from '@weasel-js/labkit/config';
|
package/dist/vite/index.d.ts
CHANGED
|
@@ -27,6 +27,11 @@ interface ForgeOptions {
|
|
|
27
27
|
* which props are read.
|
|
28
28
|
*/
|
|
29
29
|
propControls?: boolean | PropControlsOptions;
|
|
30
|
+
/**
|
|
31
|
+
* Show each component's API on its index page: every prop, and what its `ref` exposes, read from the component's
|
|
32
|
+
* TypeScript types. Needs `typescript` installed. Default true; `propControls`' `skip` narrows it the same way.
|
|
33
|
+
*/
|
|
34
|
+
api?: boolean;
|
|
30
35
|
}
|
|
31
36
|
/**
|
|
32
37
|
* The vite plugin that serves the workshop: it indexes the story files, serves the workshop at `/` and the frame
|