@kitlangton/knobs 0.4.0-next.2 → 0.4.0-next.4
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 +62 -12
- package/dist/dev/{chunk-8mabjeyk.js → chunk-0w1xk9jc.js} +162 -1
- package/dist/dev/{chunk-1qzffbpa.js → chunk-76frnh2j.js} +78 -34
- package/dist/dev/{chunk-ayb292zj.js → chunk-rem3qrhz.js} +2 -2
- package/dist/dev/index.js +3 -3
- package/dist/panel.js +240 -34
- package/dist/themes.js +160 -0
- package/dist/types/tokens/schema.d.ts +180 -0
- package/dist/types/ui/compare-css.d.ts +1 -1
- package/dist/types/ui/compare-gpu.d.ts +0 -5
- package/dist/types/ui/compare-model.d.ts +31 -2
- package/dist/types/ui/compare.d.ts +17 -4
- package/dist/types/ui/history-css.d.ts +1 -0
- package/dist/types/ui/history-model.d.ts +236 -0
- package/dist/types/ui/history.d.ts +33 -0
- package/dist/types/ui/icons.d.ts +40 -0
- package/dist/types/ui/index.d.ts +4 -2
- package/dist/types/ui/selection-pill-css.d.ts +1 -0
- package/dist/types/ui/selection-pill.d.ts +103 -0
- package/dist/types/ui/timeline-model.d.ts +23 -0
- package/dist/types/ui/timeline.d.ts +11 -1
- package/dist/types/ui/tree.d.ts +3 -2
- package/dist/types/ui/walkthrough-blocks.d.ts +20 -1
- package/dist/types/ui/walkthrough-model.d.ts +59 -1
- package/dist/types/ui/walkthrough.d.ts +10 -2
- package/dist/ui-react.js +2027 -952
- package/dist/ui-solid.js +2027 -952
- package/dist/ui.js +2047 -952
- package/package.json +1 -1
|
@@ -116,7 +116,7 @@ import {
|
|
|
116
116
|
createHintController,
|
|
117
117
|
pageHints,
|
|
118
118
|
toggleLayer
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-0w1xk9jc.js";
|
|
120
120
|
|
|
121
121
|
// src/panel/die.ts
|
|
122
122
|
var ROUND = 16 * Math.sqrt(5), DIE = { half: 64 + ROUND, round: ROUND, pip: 12 }, PIPS = {
|
|
@@ -11448,12 +11448,20 @@ var compareCss = `
|
|
|
11448
11448
|
display:flex;flex-direction:column;gap:6px;width:100%;height:100%;min-height:160px;outline:none;user-select:none;-webkit-user-select:none;
|
|
11449
11449
|
font:var(--_k-weight) var(--_k-font-size)/1.35 var(--_k-font);color:var(--_k-fg);letter-spacing:normal;text-align:left}
|
|
11450
11450
|
:where(.knobs-ui) :is(.knobs-cmp-mode,.knobs-cmp-toggle){all:revert;box-sizing:border-box;font:inherit;color:inherit;letter-spacing:inherit;background:transparent;border:0;margin:0;padding:0;outline:none;box-shadow:none}
|
|
11451
|
-
.knobs-cmp-bar{flex:none;display:flex;align-items:center;gap:
|
|
11452
|
-
|
|
11453
|
-
|
|
11454
|
-
|
|
11455
|
-
.knobs-
|
|
11456
|
-
.knobs-ui .knobs-cmp-mode
|
|
11451
|
+
.knobs-cmp-bar{flex:none;display:flex;align-items:center;gap:var(--_k-gap);height:var(--_k-control-h)}
|
|
11452
|
+
/* The modes: one fill, the selection pill on the one picked; a mode isn't brighter for being
|
|
11453
|
+
picked: the pill's bright copy is. */
|
|
11454
|
+
.knobs-cmp-modes{position:relative;display:inline-flex;height:var(--_k-control-h);border-radius:var(--_k-radius);background:var(--_k-fill)}
|
|
11455
|
+
.knobs-cmp-modes[hidden]{display:none}
|
|
11456
|
+
.knobs-ui .knobs-cmp-mode{display:inline-flex;align-items:center;height:100%;padding:0 8px;border-radius:var(--_k-radius);color:var(--_k-fg-2);cursor:pointer;white-space:nowrap;
|
|
11457
|
+
transition:color calc(var(--_k-hover-out) * 1ms)}
|
|
11458
|
+
.knobs-ui .knobs-cmp-mode:is(:hover,:focus-visible){color:var(--_k-fg)}
|
|
11459
|
+
/* Toggles: icon buttons, the accent's wash when on. */
|
|
11460
|
+
.knobs-ui .knobs-cmp-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--_k-control-h);height:var(--_k-control-h);border-radius:var(--_k-radius);color:var(--_k-fg-3);cursor:pointer;
|
|
11461
|
+
transition:color calc(var(--_k-hover-out) * 1ms),background calc(var(--_k-hover-out) * 1ms)}
|
|
11462
|
+
.knobs-ui .knobs-cmp-toggle:is(:hover,:focus-visible){color:var(--_k-fg);background:var(--_ku-wash)}
|
|
11463
|
+
.knobs-ui .knobs-cmp-toggle[aria-pressed="true"]{color:var(--_k-accent-fg);background:var(--_k-accent-soft)}
|
|
11464
|
+
.knobs-cmp-toggle svg{display:block}
|
|
11457
11465
|
.knobs-cmp-fill{flex:1}
|
|
11458
11466
|
.knobs-cmp-toggle[hidden]{display:none}
|
|
11459
11467
|
/* One surface: on a card (a walkthrough's step, a split's pane, anything .knobs-surface) or marked
|
|
@@ -11468,7 +11476,8 @@ var compareCss = `
|
|
|
11468
11476
|
/* Unzoomed, a finger still scrolls the page up and down; zoomed, the stage takes every gesture. */
|
|
11469
11477
|
.knobs-compare[data-zoomed] .knobs-cmp-stage{cursor:grab;touch-action:none}
|
|
11470
11478
|
.knobs-compare[data-panning],.knobs-compare[data-panning] *{cursor:grabbing!important}
|
|
11471
|
-
.
|
|
11479
|
+
/* Wiping, the grip stands in for the cursor. */
|
|
11480
|
+
.knobs-compare[data-dragging],.knobs-compare[data-dragging] *{cursor:none!important}
|
|
11472
11481
|
.knobs-cmp-sizer{position:absolute;left:0;right:0;top:0;height:0;visibility:hidden;pointer-events:none}
|
|
11473
11482
|
.knobs-cmp-canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
|
|
11474
11483
|
.knobs-cmp-media{position:absolute;left:0;top:0;display:block;max-width:none;margin:0;padding:0;border:0;object-fit:fill;transform-origin:0 0;pointer-events:none;will-change:transform}
|
|
@@ -11476,18 +11485,26 @@ var compareCss = `
|
|
|
11476
11485
|
/* Glass: what's behind shows through, blurred, on the knobs tokens. */
|
|
11477
11486
|
.knobs-cmp-label,.knobs-cmp-zoom{background:color-mix(in srgb,var(--_k-bg) 52%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6);
|
|
11478
11487
|
box-shadow:inset 0 0 0 .5px var(--_k-border),inset 0 1px 0 var(--_k-rim),0 2px 10px rgba(0,0,0,calc(.18 * var(--_k-shadow-k,1)))}
|
|
11479
|
-
|
|
11480
|
-
.knobs-cmp-label
|
|
11481
|
-
|
|
11482
|
-
|
|
11483
|
-
|
|
11488
|
+
/* ✗ Before · ✓ After: Before quieter (fg-3), After in full text. Neutral: no colour of its own. */
|
|
11489
|
+
.knobs-cmp-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:4px;padding:1px 7px 1px 5px;border-radius:999px;font-size:var(--_k-text-meta);line-height:16px;font-weight:var(--_k-weight-label);
|
|
11490
|
+
white-space:nowrap;pointer-events:none;will-change:transform}
|
|
11491
|
+
.knobs-cmp-label[data-side="before"]{color:var(--_k-fg-3)}
|
|
11492
|
+
.knobs-cmp-label[data-side="after"]{color:var(--_k-fg)}
|
|
11493
|
+
.knobs-cmp-mark svg{display:block;width:12px;height:12px}
|
|
11494
|
+
/* The wipe: a hairline down the line with a raised grip at the pointer's height; a wider strip
|
|
11495
|
+
takes the hand and the keys (a slider). It fades with the mode; wiping, line and grip brighten. */
|
|
11484
11496
|
.knobs-cmp-handle{cursor:ew-resize;position:absolute;left:-12px;top:0;width:24px;height:0;opacity:0;pointer-events:none;outline:none;will-change:transform;transition:opacity .18s cubic-bezier(.4,0,1,1)}
|
|
11485
11497
|
.knobs-cmp-handle[data-on]{opacity:1;pointer-events:auto;transition:opacity .22s cubic-bezier(.2,.8,.2,1)}
|
|
11486
|
-
.knobs-cmp-handle::before{content:"";position:absolute;top:0;bottom:0;left:11.5px;width:1px;background:var(--_ku-cmp-line);box-shadow:0 0 0 .5px rgba(0,0,0,.28),0 0 6px rgba(0,0,0,.25)}
|
|
11487
|
-
.knobs-cmp-handle::
|
|
11488
|
-
|
|
11489
|
-
|
|
11490
|
-
.knobs-cmp-
|
|
11498
|
+
.knobs-cmp-handle::before{content:"";position:absolute;top:0;bottom:0;left:11.5px;width:1px;background:color-mix(in srgb,var(--_ku-cmp-line) 72%,transparent);box-shadow:0 0 0 .5px rgba(0,0,0,.28),0 0 6px rgba(0,0,0,.25)}
|
|
11499
|
+
.knobs-compare[data-dragging] .knobs-cmp-handle::before{background:var(--_ku-cmp-line)}
|
|
11500
|
+
.knobs-cmp-grip{position:absolute;top:0;left:4px;width:16px;height:28px;border-radius:min(8px,calc(var(--_k-radius) * 999));background:var(--_k-bg-overlay);
|
|
11501
|
+
box-shadow:var(--_k-shadow-overlay),inset 0 0 0 1px var(--_k-border),inset 0 1px 0 var(--_k-rim);will-change:transform;transition:box-shadow calc(var(--_k-hover-out) * 1ms)}
|
|
11502
|
+
.knobs-cmp-grip::before,.knobs-cmp-grip::after{content:"";position:absolute;top:10px;width:1px;height:8px;background:var(--_k-fg-3);transition:background calc(var(--_k-hover-out) * 1ms)}
|
|
11503
|
+
.knobs-cmp-grip::before{left:6px}
|
|
11504
|
+
.knobs-cmp-grip::after{left:9px}
|
|
11505
|
+
.knobs-compare[data-dragging] .knobs-cmp-grip{box-shadow:var(--_k-shadow-overlay),inset 0 0 0 1px var(--_k-border-strong),inset 0 1px 0 var(--_k-rim)}
|
|
11506
|
+
.knobs-compare[data-dragging] .knobs-cmp-grip::before,.knobs-compare[data-dragging] .knobs-cmp-grip::after{background:var(--_k-fg)}
|
|
11507
|
+
.knobs-cmp-handle:focus-visible .knobs-cmp-grip,.knobs-compare[data-keyboard] .knobs-cmp-handle:focus .knobs-cmp-grip{box-shadow:var(--_k-shadow-overlay),0 0 0 2px var(--_k-accent)}
|
|
11491
11508
|
/* The split's hairline, down the middle side by side. */
|
|
11492
11509
|
.knobs-cmp-split{position:absolute;left:0;top:0;width:1px;height:0;margin-left:-.5px;background:color-mix(in srgb,var(--_k-bg) 72%,transparent);pointer-events:none;will-change:transform,opacity}
|
|
11493
11510
|
/* Zoomed: how far, and a way back, in the stage's corner; it fades in and out, nothing shifts. */
|
|
@@ -11496,12 +11513,12 @@ var compareCss = `
|
|
|
11496
11513
|
opacity:0;scale:.96;pointer-events:none;transition:opacity .16s cubic-bezier(.4,0,1,1),scale .16s cubic-bezier(.4,0,1,1)}
|
|
11497
11514
|
.knobs-cmp-zoom[data-on]{opacity:1;scale:1;pointer-events:auto;transition:opacity .2s cubic-bezier(.2,.8,.2,1),scale .2s cubic-bezier(.2,.8,.2,1)}
|
|
11498
11515
|
:where(.knobs-ui) .knobs-cmp-zoom-reset{all:revert;box-sizing:border-box;font:inherit;letter-spacing:inherit;margin:0;border:0;outline:none;box-shadow:none;
|
|
11499
|
-
height:20px;padding:0
|
|
11516
|
+
display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:999px;background:transparent;color:var(--_k-fg-2);cursor:pointer;transition:color .15s,background .15s}
|
|
11500
11517
|
:where(.knobs-ui) .knobs-cmp-zoom-reset:is(:hover,:focus-visible){color:var(--_k-fg);background:color-mix(in srgb,var(--_k-fg) 12%,transparent)}
|
|
11501
11518
|
.knobs-cmp-note{position:absolute;left:50%;top:50%;translate:-50% -50%;color:var(--_k-fg-3);font-size:var(--_k-text-meta);pointer-events:none}
|
|
11502
11519
|
.knobs-cmp-note:empty{display:none}
|
|
11503
11520
|
.knobs-cmp-strip-host{flex:none;height:60px;min-height:0}
|
|
11504
|
-
.knobs-cmp-timeline-host{flex:none;
|
|
11521
|
+
.knobs-cmp-timeline-host{flex:none;min-height:0}
|
|
11505
11522
|
/* The frame strip: Before over After per column, a difference bar under them, a dot where it peaks. */
|
|
11506
11523
|
.knobs-ui.knobs-cmp-strip{--_ku-cmp-diff:var(--k-compare-diff,var(--_k-ok));position:relative;width:100%;height:100%;min-height:40px;overflow:hidden;cursor:col-resize;touch-action:none;
|
|
11507
11524
|
font:var(--_k-weight) var(--_k-font-size)/1.35 var(--_k-font);color:var(--_k-fg)}
|
|
@@ -11640,7 +11657,7 @@ var snappy = springLinear(SPRINGS2.snappy), pickerCss = `
|
|
|
11640
11657
|
.knobs-picker-suggested{flex:none;color:var(--_k-fg-3);font-size:var(--_k-text-meta)}
|
|
11641
11658
|
.knobs-picker-check{flex:none;display:flex;width:14px;height:14px;color:var(--_k-accent);opacity:0;scale:.6;filter:blur(2px);
|
|
11642
11659
|
transition:opacity .11s ease-in,scale .11s ease-in,filter .11s ease-in}
|
|
11643
|
-
.knobs-picker-check svg{display:block;width:
|
|
11660
|
+
.knobs-picker-check svg{display:block;width:12px;height:12px}
|
|
11644
11661
|
.knobs-picker-option[data-chosen] .knobs-picker-check{opacity:1;scale:1;filter:none;transition:opacity .15s ease-out,scale var(--kp-snappy-ms) var(--kp-snappy),filter .15s ease-out}
|
|
11645
11662
|
.knobs-picker-body{position:relative;overflow:visible}
|
|
11646
11663
|
.knobs-picker-body[data-moving]{overflow:hidden}
|
|
@@ -11742,6 +11759,15 @@ var readoutCss = `
|
|
|
11742
11759
|
.knobs-panel[data-gpu-active="true"] .knobs-rd-find{position:relative;z-index:2147480003}
|
|
11743
11760
|
@media(prefers-reduced-motion:reduce){.knobs-rd :where(*){transition:none!important}}
|
|
11744
11761
|
`;
|
|
11762
|
+
|
|
11763
|
+
// src/ui/selection-pill-css.ts
|
|
11764
|
+
var selectionPillCss = `
|
|
11765
|
+
.knobs-pick-pill,.knobs-pick-copy{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;transition:opacity .1s linear}
|
|
11766
|
+
.knobs-pick-pill{background:var(--_k-fill-selected);will-change:transform}
|
|
11767
|
+
.knobs-pick-copy{overflow:hidden;will-change:transform}
|
|
11768
|
+
.knobs-pick-copy-rows{position:absolute;left:0;top:0;width:0;height:0}
|
|
11769
|
+
:is(.knobs-pick-pill,.knobs-pick-copy)[data-off]{opacity:0}
|
|
11770
|
+
`;
|
|
11745
11771
|
// src/ui/look.ts
|
|
11746
11772
|
var css = `
|
|
11747
11773
|
:where(.knobs-ui){
|
|
@@ -11777,6 +11803,12 @@ var css = `
|
|
|
11777
11803
|
--_ku-pane-bg and --_ku-pane-ring so this reaches them. */
|
|
11778
11804
|
:where(.knobs-surface,.knobs-pane:not([data-nested])>.knobs-pane-clip) .knobs-ui:not(.knobs-surface),.knobs-ui[data-nested]{--_ku-gap:var(--k-ui-gap,0px);--_ku-pane-bg:transparent;--_ku-pane-ring:none;
|
|
11779
11805
|
--_ku-divider:var(--_k-split-gutter);--_kd-bg:transparent}
|
|
11806
|
+
/* What draws its box without those: a picker's card keeps its fill as the highlight but drops its
|
|
11807
|
+
ring; a timeline's track drops its well for a hairline under the lane; an inline panel sheds its
|
|
11808
|
+
card (--k-chrome 0). A full-window step is the one raised exception (it is the surface). */
|
|
11809
|
+
:is(.knobs-surface,.knobs-pane:not([data-nested])>.knobs-pane-clip) .knobs-picker-card,.knobs-ui[data-nested] .knobs-picker-card{box-shadow:none}
|
|
11810
|
+
:is(.knobs-surface,.knobs-pane:not([data-nested])>.knobs-pane-clip) .knobs-tl-track,.knobs-ui[data-nested] .knobs-tl-track{background:transparent;border-radius:0;box-shadow:inset 0 -1px 0 var(--_k-border-subtle)}
|
|
11811
|
+
:where(.knobs-surface,.knobs-pane:not([data-nested])>.knobs-pane-clip) .knobs-panel.knobs-inline:not(.knobs-page){--k-chrome:0}
|
|
11780
11812
|
/* Only the pieces' own elements take their type and resets: what you put in a pane is yours. */
|
|
11781
11813
|
.knobs-ui{box-sizing:border-box}
|
|
11782
11814
|
:where(.knobs-split>*,.knobs-pane-clip,.knobs-pane-inner,.knobs-pane-body,.knobs-pane-head,.knobs-pane-head *,.knobs-pane-rail,.knobs-pane-rail *,.knobs-tree,.knobs-tree *,.knobs-tree-ghost){box-sizing:border-box}
|
|
@@ -11911,11 +11943,9 @@ var css = `
|
|
|
11911
11943
|
.knobs-tree:focus .knobs-tree-row[data-active][aria-selected="true"]::before{background:var(--_ku-select-focus)}
|
|
11912
11944
|
.knobs-tree-row[data-drop="into"]::before{opacity:1;background:color-mix(in srgb,var(--_k-accent) 30%,transparent)}
|
|
11913
11945
|
.knobs-tree-row[data-dragged]{opacity:.38}
|
|
11914
|
-
/* glide:
|
|
11915
|
-
.knobs-tree-
|
|
11916
|
-
|
|
11917
|
-
.knobs-tree-cursor[data-on]{opacity:1}
|
|
11918
|
-
.knobs-tree:focus .knobs-tree-cursor{background:var(--_ku-select-focus)}
|
|
11946
|
+
/* glide: the selection pill on the selected row, in the selection's colour (the row's own stays off). */
|
|
11947
|
+
.knobs-tree>.knobs-pick-pill{background:var(--_ku-select)}
|
|
11948
|
+
.knobs-tree:focus>.knobs-pick-pill{background:var(--_ku-select-focus)}
|
|
11919
11949
|
.knobs-tree[data-glide] .knobs-tree-row[aria-selected="true"]::before{opacity:0!important}
|
|
11920
11950
|
.knobs-tree-row>*{position:relative}
|
|
11921
11951
|
.knobs-tree-caret{flex:none;display:flex;align-items:center;justify-content:center;width:16px;height:100%;color:var(--_k-fg-3);transition:transform var(--_ku-ease-ms) var(--_ku-ease)}
|
|
@@ -11947,22 +11977,20 @@ var css = `
|
|
|
11947
11977
|
box-shadow:0 0 0 1px var(--_k-border-strong),0 6px 18px rgba(0,0,0,calc(.35 * var(--_k-shadow-k,1)));pointer-events:none;white-space:nowrap;font:var(--_k-weight) var(--_k-font-size)/1.6 var(--_k-font)}
|
|
11948
11978
|
.knobs-tree-empty{padding:10px var(--_k-inset);color:var(--_k-fg-3)}
|
|
11949
11979
|
|
|
11950
|
-
/* Timeline:
|
|
11951
|
-
|
|
11980
|
+
/* Timeline: play beside a track: the ruler's canvas over a lane of markers, ranges as soft bands,
|
|
11981
|
+
and the playhead, a hairline in the accent with a cap. No clock: the time shows under the
|
|
11982
|
+
pointer on the track (the tag), in seconds, while hovering or scrubbing. */
|
|
11952
11983
|
:where(.knobs-timeline,.knobs-timeline *){box-sizing:border-box}
|
|
11953
11984
|
.knobs-ui.knobs-timeline{display:flex;align-items:stretch;gap:10px;width:100%;height:100%;min-height:52px;padding:6px var(--_k-inset) 8px 8px;outline:none;user-select:none;-webkit-user-select:none;
|
|
11954
11985
|
font:var(--_k-weight) var(--_k-font-size)/1.35 var(--_k-font);color:var(--_k-fg);letter-spacing:normal;text-align:left}
|
|
11955
11986
|
:where(.knobs-ui) :is(.knobs-tl-play,.knobs-tl-edit){all:revert;box-sizing:border-box;font:inherit;color:inherit;letter-spacing:inherit;background:transparent;border:0;margin:0;padding:0;outline:none;box-shadow:none}
|
|
11956
|
-
.knobs-tl-transport{flex:none;display:flex;align-items:center
|
|
11987
|
+
.knobs-tl-transport{flex:none;display:flex;align-items:center}
|
|
11957
11988
|
.knobs-ui .knobs-tl-play{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--_k-control-h);height:var(--_k-control-h);min-width:22px;min-height:22px;border-radius:calc(var(--_k-radius) * 999);
|
|
11958
11989
|
background:var(--_k-fill-selected);color:var(--_k-fg);cursor:pointer;transition:background .15s,transform .15s var(--_ku-ease)}
|
|
11959
11990
|
.knobs-ui .knobs-tl-play:hover{background:color-mix(in srgb,var(--_k-fg) 16%,transparent)}
|
|
11960
11991
|
.knobs-ui .knobs-tl-play:active{transform:scale(.94)}
|
|
11961
11992
|
.knobs-tl-play svg{width:12px;height:12px}
|
|
11962
11993
|
.knobs-timeline[data-playing] .knobs-tl-play{background:var(--_k-accent);color:var(--_k-bg)}
|
|
11963
|
-
.knobs-tl-time{display:flex;flex-direction:column;line-height:1.2;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
|
|
11964
|
-
.knobs-tl-now{font:var(--_k-weight) var(--_k-value-size)/1.2 var(--_k-value-font);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";color:var(--_k-fg);white-space:nowrap}
|
|
11965
|
-
.knobs-tl-sub{font-size:var(--_k-text-meta);color:var(--_k-fg-3);white-space:nowrap}
|
|
11966
11994
|
.knobs-tl-track{position:relative;flex:1;min-width:0;overflow:hidden;border-radius:var(--_k-radius);background:var(--_k-fill);cursor:col-resize;touch-action:none;
|
|
11967
11995
|
transition:background calc(var(--_k-hover-out) * 1ms)}
|
|
11968
11996
|
.knobs-timeline:focus-visible .knobs-tl-track,.knobs-timeline[data-keyboard]:focus .knobs-tl-track{background:color-mix(in srgb,var(--_k-fill-selected) 80%,transparent)}
|
|
@@ -11986,7 +12014,8 @@ var css = `
|
|
|
11986
12014
|
.knobs-tl-pin{position:absolute;top:13px;left:-5px;width:10px;height:10px;pointer-events:auto;cursor:grab}
|
|
11987
12015
|
.knobs-tl-pin::after{content:"";position:absolute;inset:1.5px;border-radius:min(2px,var(--_k-radius));background:var(--knobs-tl-c);rotate:45deg;transition:background .15s,scale .2s var(--_ku-ease)}
|
|
11988
12016
|
.knobs-tl-mlabel{position:absolute;top:26px;left:3px;max-width:140px;padding:0 6px;border-radius:max(0px,calc(var(--_k-radius) - 3px));background:var(--_k-fill-selected);color:var(--_k-fg);
|
|
11989
|
-
font-size:var(--_k-text-meta);line-height:17px;white-space:nowrap;
|
|
12017
|
+
font-size:var(--_k-text-meta);line-height:17px;white-space:nowrap;pointer-events:auto;cursor:grab;transition:background .15s,color .15s}
|
|
12018
|
+
.knobs-tl-mtext{display:block;overflow:hidden;white-space:nowrap}
|
|
11990
12019
|
.knobs-tl-marker[data-selected]{--knobs-tl-c:var(--_k-accent)}
|
|
11991
12020
|
.knobs-tl-marker[data-selected] .knobs-tl-mlabel{background:color-mix(in srgb,var(--_k-accent) 24%,var(--_k-fill-selected))}
|
|
11992
12021
|
.knobs-tl-marker[data-selected] .knobs-tl-pin::after{scale:1.2}
|
|
@@ -12007,7 +12036,22 @@ var css = `
|
|
|
12007
12036
|
.knobs-timeline[data-scrubbing] .knobs-tl-hover{opacity:0}
|
|
12008
12037
|
@media(prefers-reduced-motion:reduce){.knobs-timeline :where(*,::before,::after){transition:none!important}}
|
|
12009
12038
|
@media(prefers-reduced-motion:reduce){:is(.knobs-tree,.knobs-split>.knobs-divider,.knobs-pane-head,.knobs-pane-rail) :where(*,::before,::after){transition:none!important}}
|
|
12010
|
-
|
|
12039
|
+
.knobs-tl-tag{position:absolute;left:0;bottom:2px;font-size:var(--_k-text-meta);line-height:16px;color:var(--_k-fg);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap;pointer-events:none;opacity:0}
|
|
12040
|
+
.knobs-tl-tag[data-on]{opacity:1}
|
|
12041
|
+
/* The lane (variant: "lane"): one slim track of ticks under a compare or a video; markers are
|
|
12042
|
+
faint chapter ticks, the current one in text colour; nothing to edit. */
|
|
12043
|
+
.knobs-ui.knobs-timeline[data-variant="lane"]{height:auto;min-height:0;padding:0;gap:var(--_k-gap)}
|
|
12044
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-track{height:var(--_k-control-h)}
|
|
12045
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-ruler{height:100%}
|
|
12046
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-lane{top:0}
|
|
12047
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-marker{top:0}
|
|
12048
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-marker::before{top:0;bottom:50%;left:-.75px;width:1.5px;background:var(--_k-fg-3)}
|
|
12049
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-marker[data-current]::before{background:var(--_k-fg)}
|
|
12050
|
+
.knobs-timeline[data-variant="lane"] :is(.knobs-tl-pin,.knobs-tl-mlabel,.knobs-tl-rlabel){display:none}
|
|
12051
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-head::before{top:0}
|
|
12052
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-head::after{content:none}
|
|
12053
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-tag{top:2px;bottom:auto}
|
|
12054
|
+
`, uiCss = () => aliased(css + readoutCss + overlayCss + bentoCss + activityCss + pickerCss + compareCss + selectionPillCss) + rolling_css_default;
|
|
12011
12055
|
function injectUiStyles(doc) {
|
|
12012
12056
|
if (injectTokens(doc), doc.querySelector("style[data-knobs-ui]"))
|
|
12013
12057
|
return;
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
writeSession,
|
|
10
10
|
injectStyles,
|
|
11
11
|
toggleLayer
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-0w1xk9jc.js";
|
|
13
13
|
|
|
14
14
|
// src/panel/attach.ts
|
|
15
15
|
function attach(controls, element, options = {}) {
|
|
@@ -85,7 +85,7 @@ function attach(controls, element, options = {}) {
|
|
|
85
85
|
return;
|
|
86
86
|
loading = !0;
|
|
87
87
|
try {
|
|
88
|
-
let { createPanel } = await (__preload("
|
|
88
|
+
let { createPanel } = await (__preload("76frnh2j"), import("./chunk-76frnh2j.js"));
|
|
89
89
|
if (disposed || !controls.enabled || panel)
|
|
90
90
|
return;
|
|
91
91
|
if (panel = createPanel(controls, element, close, { restored, chip }), remember)
|
package/dist/dev/index.js
CHANGED
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
urlFlag2,
|
|
77
77
|
storageKey
|
|
78
78
|
} from "./chunk-3ygqgy1x.js";
|
|
79
|
-
__chunks(import.meta.url,["
|
|
79
|
+
__chunks(import.meta.url,["0ytb6x87","76frnh2j","rem3qrhz","3ygqgy1x","0w1xk9jc"],[["./index.js",3],["./chunk-76frnh2j.js",3,4],["./chunk-rem3qrhz.js",3,4],["./chunk-3ygqgy1x.js"],["./chunk-0w1xk9jc.js",3]],0);
|
|
80
80
|
// src/core/random.ts
|
|
81
81
|
var lattice = (min, max, step, r) => min + Math.floor(r * (Math.floor((max - min) / step + 0.000000001) + 1)) * step, between = (min, max, r) => min + (max - min) * r;
|
|
82
82
|
function pick(field, random) {
|
|
@@ -1378,11 +1378,11 @@ function defineControls(id, input, options = {}) {
|
|
|
1378
1378
|
code: (format, values) => formatCode(values ?? get(), format),
|
|
1379
1379
|
variants,
|
|
1380
1380
|
attach(element, chip) {
|
|
1381
|
-
let load = options.ship ? () => options.ship().then((m) => m.attach) : () => (__preload("
|
|
1381
|
+
let load = options.ship ? () => options.ship().then((m) => m.attach) : () => (__preload("rem3qrhz"), import("./chunk-rem3qrhz.js")).then((m) => m.attach);
|
|
1382
1382
|
return live(load, (attach) => attach(controls, element, chip), (detach) => detach());
|
|
1383
1383
|
},
|
|
1384
1384
|
mount(container, mountOptions) {
|
|
1385
|
-
let load = options.ship ? () => options.ship().then((m) => m.mountPanel) : () => (__preload("
|
|
1385
|
+
let load = options.ship ? () => options.ship().then((m) => m.mountPanel) : () => (__preload("76frnh2j"), import("./chunk-76frnh2j.js")).then((m) => m.mountPanel);
|
|
1386
1386
|
return live(load, (mountPanel) => {
|
|
1387
1387
|
let panel = mountPanel(controls, container, mountOptions);
|
|
1388
1388
|
return mountOptions?.onReady?.(panel), panel;
|