@kitlangton/knobs 0.4.0-next.1 → 0.4.0-next.10
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 +164 -12
- package/dist/dev/{chunk-1qzffbpa.js → chunk-5pb7ymrd.js} +150 -46
- package/dist/dev/{chunk-ayb292zj.js → chunk-a7cjgy8x.js} +2 -2
- package/dist/dev/{chunk-8mabjeyk.js → chunk-dyq4m24m.js} +162 -1
- package/dist/dev/index.js +3 -3
- package/dist/panel.js +312 -46
- package/dist/review-react.js +18580 -0
- package/dist/review-solid.js +18482 -0
- package/dist/review.js +18488 -0
- package/dist/themes.js +281 -23
- package/dist/types/review/font.d.ts +13 -0
- package/dist/types/review/foundations.d.ts +175 -0
- package/dist/types/review/index.d.ts +13 -0
- package/dist/types/review/react.d.ts +1 -0
- package/dist/types/review/solid.d.ts +1 -0
- package/dist/types/themes/index.d.ts +7 -2
- package/dist/types/themes/review.d.ts +8 -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 +6 -6
- package/dist/types/ui/compare-model.d.ts +85 -2
- package/dist/types/ui/compare.d.ts +18 -4
- package/dist/types/ui/diff.d.ts +4 -5
- package/dist/types/ui/history-css.d.ts +1 -0
- package/dist/types/ui/history-model.d.ts +249 -0
- package/dist/types/ui/history.d.ts +38 -0
- package/dist/types/ui/icons.d.ts +40 -0
- package/dist/types/ui/index.d.ts +8 -4
- package/dist/types/ui/player-css.d.ts +1 -0
- package/dist/types/ui/player.d.ts +51 -0
- package/dist/types/ui/review-look.d.ts +6 -0
- package/dist/types/ui/review-options.d.ts +28 -0
- package/dist/types/ui/selection-pill-css.d.ts +1 -0
- package/dist/types/ui/selection-pill.d.ts +106 -0
- package/dist/types/ui/timeline-model.d.ts +27 -0
- package/dist/types/ui/timeline.d.ts +16 -1
- package/dist/types/ui/tree.d.ts +3 -2
- package/dist/types/ui/walkthrough-annotations.d.ts +42 -0
- package/dist/types/ui/walkthrough-blocks.d.ts +87 -0
- package/dist/types/ui/walkthrough-media.d.ts +30 -1
- package/dist/types/ui/walkthrough-model.d.ts +469 -5
- package/dist/types/ui/walkthrough.d.ts +27 -5
- package/dist/ui-react.js +5124 -1031
- package/dist/ui-solid.js +5136 -1043
- package/dist/ui.js +6411 -2269
- package/package.json +13 -1
package/dist/panel.js
CHANGED
|
@@ -1746,6 +1746,22 @@ var init_schema = __esm(() => {
|
|
|
1746
1746
|
source: css("var(--k-warn)"),
|
|
1747
1747
|
doc: "Modified lines."
|
|
1748
1748
|
},
|
|
1749
|
+
{
|
|
1750
|
+
name: "before",
|
|
1751
|
+
tier: "semantic",
|
|
1752
|
+
type: "color",
|
|
1753
|
+
group: "Data",
|
|
1754
|
+
source: css("var(--k-fg-3)"),
|
|
1755
|
+
doc: "Before in a comparison, and only Before: its label and side of the seam. Neutral unless a theme gives it a colour."
|
|
1756
|
+
},
|
|
1757
|
+
{
|
|
1758
|
+
name: "after",
|
|
1759
|
+
tier: "semantic",
|
|
1760
|
+
type: "color",
|
|
1761
|
+
group: "Data",
|
|
1762
|
+
source: css("var(--k-fg)"),
|
|
1763
|
+
doc: "After in a comparison, and only After."
|
|
1764
|
+
},
|
|
1749
1765
|
{
|
|
1750
1766
|
name: "series-1",
|
|
1751
1767
|
tier: "semantic",
|
|
@@ -1836,6 +1852,150 @@ var init_schema = __esm(() => {
|
|
|
1836
1852
|
source: value("288px"),
|
|
1837
1853
|
doc: "Panel width."
|
|
1838
1854
|
},
|
|
1855
|
+
{
|
|
1856
|
+
name: "space-inside",
|
|
1857
|
+
tier: "semantic",
|
|
1858
|
+
type: "length",
|
|
1859
|
+
group: "Space",
|
|
1860
|
+
source: css("var(--k-unit)"),
|
|
1861
|
+
doc: "Parts of one thing: an icon and its label, a meta line and its title."
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
name: "space-sibling",
|
|
1865
|
+
tier: "semantic",
|
|
1866
|
+
type: "length",
|
|
1867
|
+
group: "Space",
|
|
1868
|
+
source: css("calc(var(--k-unit) * 2)"),
|
|
1869
|
+
doc: "Siblings in a group: buttons in a row, a list item's lines."
|
|
1870
|
+
},
|
|
1871
|
+
{
|
|
1872
|
+
name: "space-title",
|
|
1873
|
+
tier: "semantic",
|
|
1874
|
+
type: "length",
|
|
1875
|
+
group: "Space",
|
|
1876
|
+
source: css("calc(var(--k-unit) * 3)"),
|
|
1877
|
+
doc: "A heading and what it heads."
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
name: "space-group",
|
|
1881
|
+
tier: "semantic",
|
|
1882
|
+
type: "length",
|
|
1883
|
+
group: "Space",
|
|
1884
|
+
source: css("calc(var(--k-unit) * 12)"),
|
|
1885
|
+
doc: "Groups inside a section (prose, video, diff), stacked media, feed items (a hairline in the middle)."
|
|
1886
|
+
},
|
|
1887
|
+
{
|
|
1888
|
+
name: "space-section",
|
|
1889
|
+
tier: "semantic",
|
|
1890
|
+
type: "length",
|
|
1891
|
+
group: "Space",
|
|
1892
|
+
source: css("calc(var(--k-unit) * 24)"),
|
|
1893
|
+
doc: "Sections of a page (the intro, the updates, each PR), a hairline in the middle."
|
|
1894
|
+
},
|
|
1895
|
+
{
|
|
1896
|
+
name: "space-column",
|
|
1897
|
+
tier: "semantic",
|
|
1898
|
+
type: "length",
|
|
1899
|
+
group: "Space",
|
|
1900
|
+
source: css("calc(var(--k-unit) * 6)"),
|
|
1901
|
+
doc: "Columns: a contents rail and the page, media side by side."
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
name: "pad-page",
|
|
1905
|
+
tier: "semantic",
|
|
1906
|
+
type: "length",
|
|
1907
|
+
group: "Space",
|
|
1908
|
+
source: css("calc(var(--k-unit) * 6)"),
|
|
1909
|
+
doc: "A page's edge; 16px under 640px wide."
|
|
1910
|
+
},
|
|
1911
|
+
{
|
|
1912
|
+
name: "pad-card",
|
|
1913
|
+
tier: "semantic",
|
|
1914
|
+
type: "length",
|
|
1915
|
+
group: "Space",
|
|
1916
|
+
source: css("calc(var(--k-unit) * 3)"),
|
|
1917
|
+
doc: "Inside a card or popover."
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
name: "type-heading",
|
|
1921
|
+
tier: "semantic",
|
|
1922
|
+
type: "length",
|
|
1923
|
+
group: "Type",
|
|
1924
|
+
source: value("20px"),
|
|
1925
|
+
doc: "A page's title, weight 500."
|
|
1926
|
+
},
|
|
1927
|
+
{
|
|
1928
|
+
name: "leading-heading",
|
|
1929
|
+
tier: "semantic",
|
|
1930
|
+
type: "length",
|
|
1931
|
+
group: "Type",
|
|
1932
|
+
source: value("28px"),
|
|
1933
|
+
doc: "Line height for type-heading."
|
|
1934
|
+
},
|
|
1935
|
+
{
|
|
1936
|
+
name: "type-title",
|
|
1937
|
+
tier: "semantic",
|
|
1938
|
+
type: "length",
|
|
1939
|
+
group: "Type",
|
|
1940
|
+
source: value("16px"),
|
|
1941
|
+
doc: "Section titles (under their kicker), weight 500."
|
|
1942
|
+
},
|
|
1943
|
+
{
|
|
1944
|
+
name: "leading-title",
|
|
1945
|
+
tier: "semantic",
|
|
1946
|
+
type: "length",
|
|
1947
|
+
group: "Type",
|
|
1948
|
+
source: value("24px"),
|
|
1949
|
+
doc: "Line height for type-title."
|
|
1950
|
+
},
|
|
1951
|
+
{
|
|
1952
|
+
name: "type-body",
|
|
1953
|
+
tier: "semantic",
|
|
1954
|
+
type: "length",
|
|
1955
|
+
group: "Type",
|
|
1956
|
+
source: value("13px"),
|
|
1957
|
+
doc: "Prose, questions, list rows, step titles; 400, or 500 for emphasis."
|
|
1958
|
+
},
|
|
1959
|
+
{
|
|
1960
|
+
name: "leading-body",
|
|
1961
|
+
tier: "semantic",
|
|
1962
|
+
type: "length",
|
|
1963
|
+
group: "Type",
|
|
1964
|
+
source: value("20px"),
|
|
1965
|
+
doc: "Line height for type-body."
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
name: "type-label",
|
|
1969
|
+
tier: "semantic",
|
|
1970
|
+
type: "length",
|
|
1971
|
+
group: "Type",
|
|
1972
|
+
source: value("12px"),
|
|
1973
|
+
doc: "Mono inside body text: code and paths."
|
|
1974
|
+
},
|
|
1975
|
+
{
|
|
1976
|
+
name: "leading-label",
|
|
1977
|
+
tier: "semantic",
|
|
1978
|
+
type: "length",
|
|
1979
|
+
group: "Type",
|
|
1980
|
+
source: value("16px"),
|
|
1981
|
+
doc: "Line height for type-label."
|
|
1982
|
+
},
|
|
1983
|
+
{
|
|
1984
|
+
name: "type-small",
|
|
1985
|
+
tier: "semantic",
|
|
1986
|
+
type: "length",
|
|
1987
|
+
group: "Type",
|
|
1988
|
+
source: value("11px"),
|
|
1989
|
+
doc: "Meta, controls, keys, timestamps; mono inside labels."
|
|
1990
|
+
},
|
|
1991
|
+
{
|
|
1992
|
+
name: "leading-small",
|
|
1993
|
+
tier: "semantic",
|
|
1994
|
+
type: "length",
|
|
1995
|
+
group: "Type",
|
|
1996
|
+
source: value("16px"),
|
|
1997
|
+
doc: "Line height for type-small."
|
|
1998
|
+
},
|
|
1839
1999
|
{
|
|
1840
2000
|
name: "font-size",
|
|
1841
2001
|
tier: "semantic",
|
|
@@ -2800,16 +2960,18 @@ function injectTokens(doc) {
|
|
|
2800
2960
|
style.textContent = rootCss;
|
|
2801
2961
|
doc.head.append(style);
|
|
2802
2962
|
}
|
|
2803
|
-
var ROOT_CLASS = "knobs-root", extras, spring, rootCss;
|
|
2963
|
+
var ROOT_CLASS = "knobs-root", extras, narrow, spring, rootCss;
|
|
2804
2964
|
var init_root = __esm(() => {
|
|
2805
2965
|
init_knobs();
|
|
2806
2966
|
init_css();
|
|
2807
2967
|
init_glide();
|
|
2808
2968
|
init_motion();
|
|
2809
2969
|
extras = `:where(.${ROOT_CLASS}){--_k-shadow-k:calc(var(--k-shadow-strength,calc(.48 - .32 * var(--_k-light,0))) / .48);--_k-glass-tone:var(--k-glass-tone,calc(.5 + .58 * var(--_k-light,0)));--_k-fill-base:var(--k-fill-base,var(--_k-fill-selected));--_k-fill-hover-mix:var(--k-fill-hover-mix,var(--k-fill-rest-mix,20%));--_k-reveal-ease:var(--k-ease,cubic-bezier(.2,.8,.2,1))}`;
|
|
2970
|
+
narrow = `@media(max-width:639.98px){:where(.${ROOT_CLASS}){--_k-pad-page:var(--k-pad-page,calc(var(--_k-unit) * 4))}}`;
|
|
2810
2971
|
spring = `:where(:root,:host){--k-fill-ease:${DEFAULT_LINEAR.easing};--k-fill-ms:${DEFAULT_LINEAR.ms}}`;
|
|
2811
2972
|
rootCss = `${tokensCss(knobs)}
|
|
2812
2973
|
${extras}
|
|
2974
|
+
${narrow}
|
|
2813
2975
|
${spring}
|
|
2814
2976
|
${DRIVERS}
|
|
2815
2977
|
${motionCss}`;
|
|
@@ -20907,14 +21069,23 @@ var compareCss = `
|
|
|
20907
21069
|
.knobs-ui.knobs-compare{--_ku-cmp-diff:var(--k-compare-diff,var(--_k-ok));--_ku-cmp-line:var(--_k-compare-divider);
|
|
20908
21070
|
--_ku-cmp-stage:var(--_k-compare-stage);
|
|
20909
21071
|
display:flex;flex-direction:column;gap:6px;width:100%;height:100%;min-height:160px;outline:none;user-select:none;-webkit-user-select:none;
|
|
20910
|
-
font:var(--_k-weight) var(--_k-
|
|
21072
|
+
font:var(--_k-weight) var(--_k-type-small)/var(--_k-leading-small) var(--_k-font);color:var(--_k-fg);letter-spacing:normal;text-align:left}
|
|
20911
21073
|
: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}
|
|
20912
|
-
.knobs-cmp-bar{flex:none;display:flex;align-items:center;gap:
|
|
20913
|
-
|
|
20914
|
-
|
|
20915
|
-
|
|
20916
|
-
.knobs-
|
|
20917
|
-
|
|
21074
|
+
.knobs-cmp-bar{flex:none;display:flex;align-items:center;gap:var(--_k-gap);height:var(--_k-control-h)}
|
|
21075
|
+
/* The modes: one fill, the selection pill on the one picked; a mode isn't brighter for being
|
|
21076
|
+
picked: the pill's bright copy is. */
|
|
21077
|
+
.knobs-cmp-modes{position:relative;display:inline-flex;height:var(--_k-control-h);border-radius:var(--_k-radius);background:var(--_k-fill)}
|
|
21078
|
+
.knobs-cmp-modes[hidden]{display:none}
|
|
21079
|
+
/* Hover is a quiet fill under the arrow cursor (no hand, no brightening), there at once. */
|
|
21080
|
+
.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:default;white-space:nowrap;
|
|
21081
|
+
transition:background calc(var(--_k-hover-out) * 1ms)}
|
|
21082
|
+
.knobs-ui .knobs-cmp-mode:not([aria-checked="true"]):is(:hover,:focus-visible){background:var(--_k-fill-hover);transition-duration:calc(var(--_k-hover-in) * 1ms)}
|
|
21083
|
+
/* Toggles: icon buttons, the accent's wash when on. */
|
|
21084
|
+
.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-2);cursor:default;
|
|
21085
|
+
transition:background calc(var(--_k-hover-out) * 1ms)}
|
|
21086
|
+
.knobs-ui .knobs-cmp-toggle:is(:hover,:focus-visible){background:var(--_k-fill-hover);transition-duration:calc(var(--_k-hover-in) * 1ms)}
|
|
21087
|
+
.knobs-ui .knobs-cmp-toggle[aria-pressed="true"]{color:var(--_k-accent-fg);background:var(--_k-accent-soft)}
|
|
21088
|
+
.knobs-cmp-toggle svg{display:block}
|
|
20918
21089
|
.knobs-cmp-fill{flex:1}
|
|
20919
21090
|
.knobs-cmp-toggle[hidden]{display:none}
|
|
20920
21091
|
/* One surface: on a card (a walkthrough's step, a split's pane, anything .knobs-surface) or marked
|
|
@@ -20927,49 +21098,96 @@ var compareCss = `
|
|
|
20927
21098
|
.knobs-compare[data-frame="flat"] .knobs-cmp-stage{border-radius:0}
|
|
20928
21099
|
.knobs-compare[data-mode="wipe"] .knobs-cmp-stage{cursor:ew-resize}
|
|
20929
21100
|
/* Unzoomed, a finger still scrolls the page up and down; zoomed, the stage takes every gesture. */
|
|
20930
|
-
.
|
|
20931
|
-
.knobs-compare[data-
|
|
20932
|
-
.knobs-compare[data-
|
|
21101
|
+
/* Zoomed, it pans: a move cursor, never a hand. */
|
|
21102
|
+
.knobs-compare[data-zoomed] .knobs-cmp-stage{cursor:move;touch-action:none}
|
|
21103
|
+
.knobs-compare[data-panning],.knobs-compare[data-panning] *{cursor:move!important}
|
|
21104
|
+
/* Wiping, the grip stands in for the cursor. */
|
|
21105
|
+
.knobs-compare[data-dragging],.knobs-compare[data-dragging] *{cursor:none!important}
|
|
20933
21106
|
.knobs-cmp-sizer{position:absolute;left:0;right:0;top:0;height:0;visibility:hidden;pointer-events:none}
|
|
20934
21107
|
.knobs-cmp-canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
|
|
20935
21108
|
.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}
|
|
20936
21109
|
.knobs-compare[data-renderer="gpu"] .knobs-cmp-media{opacity:0}
|
|
20937
|
-
/*
|
|
20938
|
-
.knobs-cmp-
|
|
20939
|
-
|
|
20940
|
-
|
|
20941
|
-
.knobs-cmp-label
|
|
20942
|
-
.
|
|
20943
|
-
|
|
20944
|
-
|
|
20945
|
-
.knobs-cmp-
|
|
20946
|
-
.knobs-cmp-
|
|
20947
|
-
|
|
20948
|
-
.knobs-cmp-
|
|
20949
|
-
|
|
20950
|
-
|
|
20951
|
-
.knobs-cmp-
|
|
21110
|
+
/* The media comes in with its first frames: a fade and a 4px blur on the default spring. */
|
|
21111
|
+
.knobs-cmp-canvas,.knobs-compare[data-renderer="dom"] .knobs-cmp-media{transition:opacity calc(var(--_k-motion-default-ms) * 1ms) var(--_k-motion-default),filter calc(var(--_k-motion-default-ms) * 1ms) var(--_k-motion-default)}
|
|
21112
|
+
.knobs-compare:not([data-ready]) :is(.knobs-cmp-canvas,.knobs-cmp-media){opacity:0;filter:blur(4px)}
|
|
21113
|
+
/* Over the pictures: a quiet scrim, dark in either appearance, blurred, with no ring. */
|
|
21114
|
+
.knobs-cmp-label,.knobs-cmp-zoom,.knobs-cmp-grip{background:var(--_ku-media-scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
|
|
21115
|
+
/* ✗ Before · ✓ After: Before quieter, After in full. Neutral: no colour of its own. */
|
|
21116
|
+
.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-weight:var(--_k-weight-label);
|
|
21117
|
+
white-space:nowrap;pointer-events:none;will-change:transform}
|
|
21118
|
+
.knobs-cmp-label[data-side="before"]{color:var(--_ku-on-media-2)}
|
|
21119
|
+
.knobs-cmp-label[data-side="after"]{color:var(--_ku-on-media)}
|
|
21120
|
+
/* Fusing, the mark folds away and the label is its name. */
|
|
21121
|
+
.knobs-cmp-mark{flex:none;display:flex;justify-content:flex-end;overflow:hidden}
|
|
21122
|
+
.knobs-cmp-mark svg{display:block;flex:none;width:12px;height:12px}
|
|
21123
|
+
/* The fuse's seam: a blurred strip over where the sides meet, soft at both sides. */
|
|
21124
|
+
.knobs-cmp-seam{position:absolute;left:0;top:0;width:8px;height:0;opacity:0;pointer-events:none;will-change:transform,opacity;
|
|
21125
|
+
-webkit-mask-image:linear-gradient(to right,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(to right,transparent,#000 35%,#000 65%,transparent)}
|
|
21126
|
+
/* The wipe: a hairline down the line with a raised grip in its middle (at the pointer's height
|
|
21127
|
+
while dragged); a wider strip takes the hand and the keys (a slider). It fades in with the
|
|
21128
|
+
fuse; wiping, line and grip brighten. */
|
|
21129
|
+
.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,opacity}
|
|
21130
|
+
.knobs-cmp-handle[data-on]{pointer-events:auto}
|
|
21131
|
+
.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 6px var(--_ku-media-scrim)}
|
|
21132
|
+
.knobs-compare[data-dragging] .knobs-cmp-handle::before{background:var(--_ku-cmp-line)}
|
|
21133
|
+
.knobs-cmp-grip{position:absolute;top:0;left:4px;width:16px;height:28px;border-radius:min(8px,calc(var(--_k-radius) * 999));will-change:transform}
|
|
21134
|
+
.knobs-cmp-grip::before,.knobs-cmp-grip::after{content:"";position:absolute;top:10px;width:1px;height:8px;background:var(--_ku-on-media-2);transition:background calc(var(--_k-hover-out) * 1ms)}
|
|
21135
|
+
.knobs-cmp-grip::before{left:6px}
|
|
21136
|
+
.knobs-cmp-grip::after{left:9px}
|
|
21137
|
+
.knobs-compare[data-dragging] .knobs-cmp-grip::before,.knobs-compare[data-dragging] .knobs-cmp-grip::after{background:var(--_ku-on-media)}
|
|
21138
|
+
.knobs-cmp-handle:focus-visible .knobs-cmp-grip,.knobs-compare[data-keyboard] .knobs-cmp-handle:focus .knobs-cmp-grip{box-shadow:0 0 0 2px var(--_k-accent)}
|
|
20952
21139
|
/* The split's hairline, down the middle side by side. */
|
|
20953
21140
|
.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}
|
|
20954
21141
|
/* Zoomed: how far, and a way back, in the stage's corner; it fades in and out, nothing shifts. */
|
|
20955
21142
|
.knobs-cmp-zoom{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:4px;height:26px;padding:0 3px 0 10px;border-radius:999px;
|
|
20956
|
-
color:var(--
|
|
21143
|
+
color:var(--_ku-on-media);font-variant-numeric:tabular-nums;font-feature-settings:var(--_kr-data,"tnum");white-space:nowrap;
|
|
20957
21144
|
opacity:0;scale:.96;pointer-events:none;transition:opacity .16s cubic-bezier(.4,0,1,1),scale .16s cubic-bezier(.4,0,1,1)}
|
|
20958
21145
|
.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)}
|
|
20959
21146
|
: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;
|
|
20960
|
-
height:20px;padding:0
|
|
20961
|
-
:where(.knobs-ui) .knobs-cmp-zoom-reset:is(:hover,:focus-visible){
|
|
20962
|
-
.knobs-cmp-note{position:absolute;left:50%;top:50%;translate:-50% -50%;color:var(--_k-fg-3);
|
|
21147
|
+
display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:999px;background:transparent;color:var(--_ku-on-media-2);cursor:default;transition:background calc(var(--_k-hover-out) * 1ms),color calc(var(--_k-hover-out) * 1ms)}
|
|
21148
|
+
:where(.knobs-ui) .knobs-cmp-zoom-reset:is(:hover,:focus-visible){background:color-mix(in srgb,var(--_ku-on-media) 16%,transparent);color:var(--_ku-on-media);transition-duration:calc(var(--_k-hover-in) * 1ms)}
|
|
21149
|
+
.knobs-cmp-note{position:absolute;left:50%;top:50%;translate:-50% -50%;color:var(--_k-fg-3);pointer-events:none}
|
|
20963
21150
|
.knobs-cmp-note:empty{display:none}
|
|
20964
21151
|
.knobs-cmp-strip-host{flex:none;height:60px;min-height:0}
|
|
20965
|
-
.knobs-cmp-timeline-host{flex:none;
|
|
21152
|
+
.knobs-cmp-timeline-host{flex:none;min-height:0}
|
|
20966
21153
|
/* The frame strip: Before over After per column, a difference bar under them, a dot where it peaks. */
|
|
20967
21154
|
.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;
|
|
20968
|
-
font:var(--_k-weight) var(--_k-
|
|
21155
|
+
font:var(--_k-weight) var(--_k-type-small)/var(--_k-leading-small) var(--_k-font);color:var(--_k-fg)}
|
|
20969
21156
|
.knobs-cmp-strip>canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
|
|
20970
21157
|
@media(prefers-reduced-motion:reduce){:is(.knobs-compare,.knobs-cmp-strip) :where(*,::before,::after){transition-duration:.12s!important}}
|
|
20971
21158
|
`;
|
|
20972
21159
|
|
|
21160
|
+
// src/ui/player-css.ts
|
|
21161
|
+
var playerCss = `
|
|
21162
|
+
:where(.knobs-player,.knobs-player *){box-sizing:border-box}
|
|
21163
|
+
.knobs-ui.knobs-player{--_kp-stage:var(--_k-compare-stage);display:flex;flex-direction:column;gap:6px;width:100%;outline:none;
|
|
21164
|
+
font:var(--_k-weight) var(--_k-type-small)/var(--_k-leading-small) var(--_k-font);color:var(--_k-fg);letter-spacing:normal;text-align:left}
|
|
21165
|
+
:where(.knobs-surface,.knobs-pane:not([data-nested])>.knobs-pane-clip) .knobs-ui.knobs-player,.knobs-ui.knobs-player[data-nested]{--_kp-stage:var(--k-compare-stage,transparent)}
|
|
21166
|
+
.knobs-player-frame{position:relative;width:100%;aspect-ratio:var(--kp-aspect,16/9);overflow:hidden;border-radius:var(--_k-radius-panel);background:var(--_kp-stage)}
|
|
21167
|
+
.knobs-player[data-frame="flat"] .knobs-player-frame{border-radius:0}
|
|
21168
|
+
.knobs-player-media{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;object-fit:contain;
|
|
21169
|
+
opacity:0;filter:blur(4px);transition:opacity calc(var(--_k-motion-default-ms) * 1ms) var(--_k-motion-default),filter calc(var(--_k-motion-default-ms) * 1ms) var(--_k-motion-default)}
|
|
21170
|
+
.knobs-player[data-ready] .knobs-player-media{opacity:1;filter:none}
|
|
21171
|
+
.knobs-player-line{flex:none;min-height:0}
|
|
21172
|
+
/* The timeline's own stylesheet is look.ts's; what the player's row and every timeline share
|
|
21173
|
+
about the hand is set here, after it. No hand cursor anywhere (the arrow, or a resize where it
|
|
21174
|
+
resizes); hover is a quiet fill (fill-hover), in at once (hover-in, 0 ms), out easing. */
|
|
21175
|
+
.knobs-ui .knobs-tl-play,.knobs-ui.knobs-timeline :is(.knobs-tl-pin,.knobs-tl-rlabel),
|
|
21176
|
+
.knobs-ui.knobs-timeline[data-dragging] .knobs-tl-marker :is(.knobs-tl-pin,.knobs-tl-mlabel){cursor:default}
|
|
21177
|
+
.knobs-ui .knobs-tl-play:hover,.knobs-tl-edge:hover::after,.knobs-tl-rlabel:hover,.knobs-tl-track:hover .knobs-tl-hover,
|
|
21178
|
+
.knobs-timeline[data-variant="line"] .knobs-tl-track:hover .knobs-tl-segs{transition-duration:calc(var(--_k-hover-in) * 1ms)}
|
|
21179
|
+
/* The line's row: a minimal play/pause (the filled pair, a 28px target, no fill at rest), then
|
|
21180
|
+
the line, centred on it. */
|
|
21181
|
+
.knobs-ui.knobs-timeline[data-variant="line"]{gap:4px;align-items:center}
|
|
21182
|
+
.knobs-timeline[data-variant="line"] .knobs-tl-transport{display:flex}
|
|
21183
|
+
.knobs-ui.knobs-timeline[data-variant="line"] .knobs-tl-play{width:28px;height:28px;min-width:28px;min-height:28px;border-radius:var(--_k-radius);background:transparent;color:var(--_k-fg-2);
|
|
21184
|
+
transition:background calc(var(--_k-hover-out) * 1ms),transform .15s var(--_ku-ease)}
|
|
21185
|
+
.knobs-ui.knobs-timeline[data-variant="line"][data-playing] .knobs-tl-play{background:transparent;color:var(--_k-fg-2)}
|
|
21186
|
+
.knobs-ui.knobs-timeline[data-variant="line"] .knobs-tl-play:hover{background:var(--_k-fill-hover);transition-duration:calc(var(--_k-hover-in) * 1ms)}
|
|
21187
|
+
.knobs-ui.knobs-timeline[data-variant="line"] .knobs-tl-track{cursor:default;transition:background calc(var(--_k-hover-out) * 1ms)}
|
|
21188
|
+
.knobs-ui.knobs-timeline[data-variant="line"] .knobs-tl-track:hover{background:var(--_k-fill-hover);transition-duration:calc(var(--_k-hover-in) * 1ms)}
|
|
21189
|
+
`;
|
|
21190
|
+
|
|
20973
21191
|
// src/ui/overlay-css.ts
|
|
20974
21192
|
var overlayCss = `
|
|
20975
21193
|
.knobs-layers{position:fixed;inset:0;z-index:2147480005;pointer-events:none}
|
|
@@ -21105,7 +21323,7 @@ var init_picker_css = __esm(() => {
|
|
|
21105
21323
|
.knobs-picker-suggested{flex:none;color:var(--_k-fg-3);font-size:var(--_k-text-meta)}
|
|
21106
21324
|
.knobs-picker-check{flex:none;display:flex;width:14px;height:14px;color:var(--_k-accent);opacity:0;scale:.6;filter:blur(2px);
|
|
21107
21325
|
transition:opacity .11s ease-in,scale .11s ease-in,filter .11s ease-in}
|
|
21108
|
-
.knobs-picker-check svg{display:block;width:
|
|
21326
|
+
.knobs-picker-check svg{display:block;width:12px;height:12px}
|
|
21109
21327
|
.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}
|
|
21110
21328
|
.knobs-picker-body{position:relative;overflow:visible}
|
|
21111
21329
|
.knobs-picker-body[data-moving]{overflow:hidden}
|
|
@@ -21209,6 +21427,15 @@ var readoutCss = `
|
|
|
21209
21427
|
@media(prefers-reduced-motion:reduce){.knobs-rd :where(*){transition:none!important}}
|
|
21210
21428
|
`;
|
|
21211
21429
|
|
|
21430
|
+
// src/ui/selection-pill-css.ts
|
|
21431
|
+
var selectionPillCss = `
|
|
21432
|
+
.knobs-pick-pill,.knobs-pick-copy{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;transition:opacity .1s linear}
|
|
21433
|
+
.knobs-pick-pill{background:var(--_k-fill-selected);will-change:transform}
|
|
21434
|
+
.knobs-pick-copy{overflow:hidden;will-change:transform}
|
|
21435
|
+
.knobs-pick-copy-rows{position:absolute;left:0;top:0;width:0;height:0}
|
|
21436
|
+
:is(.knobs-pick-pill,.knobs-pick-copy)[data-off]{opacity:0}
|
|
21437
|
+
`;
|
|
21438
|
+
|
|
21212
21439
|
// src/ui/look.ts
|
|
21213
21440
|
function injectUiStyles(doc) {
|
|
21214
21441
|
injectTokens(doc);
|
|
@@ -21271,6 +21498,9 @@ var css3 = `
|
|
|
21271
21498
|
--_ku-wash:var(--k-ui-wash,color-mix(in srgb,var(--_k-fill) 70%,transparent));
|
|
21272
21499
|
--_ku-wash-hi:var(--k-ui-wash-hi,var(--_k-fill-selected));
|
|
21273
21500
|
--_ku-ease:var(--_k-motion-snappy);--_ku-ease-ms:calc(var(--_k-motion-snappy-ms) * 1ms);
|
|
21501
|
+
/* Over a picture: a quiet dark scrim in either appearance (a picture is no lighter in light
|
|
21502
|
+
mode), light type on it, no ring. */
|
|
21503
|
+
--_ku-media-scrim:rgb(0 0 0/.5);--_ku-on-media:#fff;--_ku-on-media-2:color-mix(in srgb,var(--_ku-on-media) 64%,transparent);
|
|
21274
21504
|
/* The card frame (knobs' own look): every leaf pane a rounded card on the page, half a gap
|
|
21275
21505
|
inside its slot, so panes sit a gap apart with the dividers' grips between them; tree rows
|
|
21276
21506
|
inset as soft rounded washes. --k-frame: flat (labPreset) puts panes edge to edge on
|
|
@@ -21295,6 +21525,12 @@ var css3 = `
|
|
|
21295
21525
|
--_ku-pane-bg and --_ku-pane-ring so this reaches them. */
|
|
21296
21526
|
: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;
|
|
21297
21527
|
--_ku-divider:var(--_k-split-gutter);--_kd-bg:transparent}
|
|
21528
|
+
/* What draws its box without those: a picker's card keeps its fill as the highlight but drops its
|
|
21529
|
+
ring; a timeline's track drops its well for a hairline under the lane; an inline panel sheds its
|
|
21530
|
+
card (--k-chrome 0). A full-window step is the one raised exception (it is the surface). */
|
|
21531
|
+
:is(.knobs-surface,.knobs-pane:not([data-nested])>.knobs-pane-clip) .knobs-picker-card,.knobs-ui[data-nested] .knobs-picker-card{box-shadow:none}
|
|
21532
|
+
: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)}
|
|
21533
|
+
:where(.knobs-surface,.knobs-pane:not([data-nested])>.knobs-pane-clip) .knobs-panel.knobs-inline:not(.knobs-page){--k-chrome:0}
|
|
21298
21534
|
/* Only the pieces' own elements take their type and resets: what you put in a pane is yours. */
|
|
21299
21535
|
.knobs-ui{box-sizing:border-box}
|
|
21300
21536
|
: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}
|
|
@@ -21429,11 +21665,9 @@ var css3 = `
|
|
|
21429
21665
|
.knobs-tree:focus .knobs-tree-row[data-active][aria-selected="true"]::before{background:var(--_ku-select-focus)}
|
|
21430
21666
|
.knobs-tree-row[data-drop="into"]::before{opacity:1;background:color-mix(in srgb,var(--_k-accent) 30%,transparent)}
|
|
21431
21667
|
.knobs-tree-row[data-dragged]{opacity:.38}
|
|
21432
|
-
/* glide:
|
|
21433
|
-
.knobs-tree-
|
|
21434
|
-
|
|
21435
|
-
.knobs-tree-cursor[data-on]{opacity:1}
|
|
21436
|
-
.knobs-tree:focus .knobs-tree-cursor{background:var(--_ku-select-focus)}
|
|
21668
|
+
/* glide: the selection pill on the selected row, in the selection's colour (the row's own stays off). */
|
|
21669
|
+
.knobs-tree>.knobs-pick-pill{background:var(--_ku-select)}
|
|
21670
|
+
.knobs-tree:focus>.knobs-pick-pill{background:var(--_ku-select-focus)}
|
|
21437
21671
|
.knobs-tree[data-glide] .knobs-tree-row[aria-selected="true"]::before{opacity:0!important}
|
|
21438
21672
|
.knobs-tree-row>*{position:relative}
|
|
21439
21673
|
.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)}
|
|
@@ -21465,22 +21699,20 @@ var css3 = `
|
|
|
21465
21699
|
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)}
|
|
21466
21700
|
.knobs-tree-empty{padding:10px var(--_k-inset);color:var(--_k-fg-3)}
|
|
21467
21701
|
|
|
21468
|
-
/* Timeline:
|
|
21469
|
-
|
|
21702
|
+
/* Timeline: play beside a track: the ruler's canvas over a lane of markers, ranges as soft bands,
|
|
21703
|
+
and the playhead, a hairline in the accent with a cap. No clock: the time shows under the
|
|
21704
|
+
pointer on the track (the tag), in seconds, while hovering or scrubbing. */
|
|
21470
21705
|
:where(.knobs-timeline,.knobs-timeline *){box-sizing:border-box}
|
|
21471
21706
|
.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;
|
|
21472
21707
|
font:var(--_k-weight) var(--_k-font-size)/1.35 var(--_k-font);color:var(--_k-fg);letter-spacing:normal;text-align:left}
|
|
21473
21708
|
: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}
|
|
21474
|
-
.knobs-tl-transport{flex:none;display:flex;align-items:center
|
|
21709
|
+
.knobs-tl-transport{flex:none;display:flex;align-items:center}
|
|
21475
21710
|
.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);
|
|
21476
21711
|
background:var(--_k-fill-selected);color:var(--_k-fg);cursor:pointer;transition:background .15s,transform .15s var(--_ku-ease)}
|
|
21477
21712
|
.knobs-ui .knobs-tl-play:hover{background:color-mix(in srgb,var(--_k-fg) 16%,transparent)}
|
|
21478
21713
|
.knobs-ui .knobs-tl-play:active{transform:scale(.94)}
|
|
21479
21714
|
.knobs-tl-play svg{width:12px;height:12px}
|
|
21480
21715
|
.knobs-timeline[data-playing] .knobs-tl-play{background:var(--_k-accent);color:var(--_k-bg)}
|
|
21481
|
-
.knobs-tl-time{display:flex;flex-direction:column;line-height:1.2;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
|
|
21482
|
-
.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}
|
|
21483
|
-
.knobs-tl-sub{font-size:var(--_k-text-meta);color:var(--_k-fg-3);white-space:nowrap}
|
|
21484
21716
|
.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;
|
|
21485
21717
|
transition:background calc(var(--_k-hover-out) * 1ms)}
|
|
21486
21718
|
.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)}
|
|
@@ -21504,7 +21736,8 @@ var css3 = `
|
|
|
21504
21736
|
.knobs-tl-pin{position:absolute;top:13px;left:-5px;width:10px;height:10px;pointer-events:auto;cursor:grab}
|
|
21505
21737
|
.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)}
|
|
21506
21738
|
.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);
|
|
21507
|
-
font-size:var(--_k-text-meta);line-height:17px;white-space:nowrap;
|
|
21739
|
+
font-size:var(--_k-text-meta);line-height:17px;white-space:nowrap;pointer-events:auto;cursor:grab;transition:background .15s,color .15s}
|
|
21740
|
+
.knobs-tl-mtext{display:block;overflow:hidden;white-space:nowrap}
|
|
21508
21741
|
.knobs-tl-marker[data-selected]{--knobs-tl-c:var(--_k-accent)}
|
|
21509
21742
|
.knobs-tl-marker[data-selected] .knobs-tl-mlabel{background:color-mix(in srgb,var(--_k-accent) 24%,var(--_k-fill-selected))}
|
|
21510
21743
|
.knobs-tl-marker[data-selected] .knobs-tl-pin::after{scale:1.2}
|
|
@@ -21523,9 +21756,42 @@ var css3 = `
|
|
|
21523
21756
|
.knobs-tl-hover{position:absolute;left:0;top:0;bottom:0;width:1px;margin-left:-.5px;background:var(--_k-border-strong);transform:translateX(-100px);pointer-events:none;opacity:0;transition:opacity .15s}
|
|
21524
21757
|
.knobs-tl-track:hover .knobs-tl-hover{opacity:1}
|
|
21525
21758
|
.knobs-timeline[data-scrubbing] .knobs-tl-hover{opacity:0}
|
|
21759
|
+
.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}
|
|
21760
|
+
.knobs-tl-tag[data-on]{opacity:1}
|
|
21761
|
+
/* The lane (variant: "lane"): one slim track of ticks under a compare or a video; markers are
|
|
21762
|
+
faint chapter ticks, the current one in text colour; nothing to edit. */
|
|
21763
|
+
.knobs-ui.knobs-timeline[data-variant="lane"]{height:auto;min-height:0;padding:0;gap:var(--_k-gap)}
|
|
21764
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-track{height:var(--_k-control-h)}
|
|
21765
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-ruler{height:100%}
|
|
21766
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-lane{top:0}
|
|
21767
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-marker{top:0}
|
|
21768
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-marker::before{top:0;bottom:50%;left:-.75px;width:1.5px;background:var(--_k-fg-3)}
|
|
21769
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-marker[data-current]::before{background:var(--_k-fg)}
|
|
21770
|
+
.knobs-timeline[data-variant="lane"] :is(.knobs-tl-pin,.knobs-tl-mlabel,.knobs-tl-rlabel){display:none}
|
|
21771
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-head::before{top:0}
|
|
21772
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-head::after{content:none}
|
|
21773
|
+
.knobs-timeline[data-variant="lane"] .knobs-tl-tag{top:2px;bottom:auto}
|
|
21774
|
+
/* The line (variant: "line"): a player's progress under its media. One 2px line, fg-3 with fg
|
|
21775
|
+
filling it, a segment per chapter; it thickens under the pointer and while scrubbing. The
|
|
21776
|
+
chapter and time under the pointer float over it; nothing else shows. */
|
|
21777
|
+
.knobs-ui.knobs-timeline[data-variant="line"]{height:auto;min-height:0;padding:0;gap:0}
|
|
21778
|
+
.knobs-timeline[data-variant="line"] .knobs-tl-transport{display:none}
|
|
21779
|
+
.knobs-ui.knobs-timeline[data-variant="line"] .knobs-tl-track{height:16px;overflow:visible;border-radius:var(--_k-radius);background:transparent;box-shadow:none;cursor:pointer}
|
|
21780
|
+
.knobs-timeline[data-variant="line"] :is(.knobs-tl-ruler,.knobs-tl-lane,.knobs-tl-hover,.knobs-tl-head,.knobs-tl-rlabel){display:none}
|
|
21781
|
+
.knobs-tl-segs{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;pointer-events:none;transition:scale calc(var(--_k-hover-out) * 1ms) var(--_ku-ease)}
|
|
21782
|
+
.knobs-tl-seg{position:absolute;left:0;top:0;height:100%;overflow:hidden;border-radius:1px;background:var(--_k-fg-3);will-change:transform}
|
|
21783
|
+
.knobs-tl-seg-fill{position:absolute;inset:0;background:var(--_k-fg);transform-origin:0 0;will-change:transform}
|
|
21784
|
+
.knobs-timeline[data-variant="line"] .knobs-tl-track:hover .knobs-tl-segs,.knobs-timeline[data-variant="line"][data-scrubbing] .knobs-tl-segs{scale:1 2}
|
|
21785
|
+
.knobs-timeline[data-variant="line"] .knobs-tl-range{top:3px;bottom:3px;border-radius:3px}
|
|
21786
|
+
.knobs-timeline[data-variant="line"]:focus-visible .knobs-tl-track,.knobs-timeline[data-variant="line"][data-keyboard]:focus .knobs-tl-track{background:transparent;box-shadow:0 0 0 2px color-mix(in srgb,var(--_k-accent) 60%,transparent)}
|
|
21787
|
+
.knobs-timeline[data-variant="line"] .knobs-tl-tag{top:auto;bottom:calc(100% + 2px);display:flex;gap:6px;padding:0 6px;border-radius:calc(var(--_k-radius) * 999);background:var(--_ku-media-scrim);color:var(--_ku-on-media);
|
|
21788
|
+
font-size:var(--_k-type-small);line-height:var(--_k-leading-small);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
|
|
21789
|
+
.knobs-tl-tag-label{color:var(--_k-fg-2)}
|
|
21790
|
+
.knobs-timeline[data-variant="line"] .knobs-tl-tag-label{color:var(--_ku-on-media-2)}
|
|
21791
|
+
.knobs-tl-tag-label:empty{display:none}
|
|
21526
21792
|
@media(prefers-reduced-motion:reduce){.knobs-timeline :where(*,::before,::after){transition:none!important}}
|
|
21527
21793
|
@media(prefers-reduced-motion:reduce){:is(.knobs-tree,.knobs-split>.knobs-divider,.knobs-pane-head,.knobs-pane-rail) :where(*,::before,::after){transition:none!important}}
|
|
21528
|
-
`, uiCss = () => aliased(css3 + readoutCss + overlayCss + bentoCss + activityCss + pickerCss + compareCss) + rolling_css_default, lookDefaults, svg = (body, box = 16) => `<svg viewBox="0 0 ${box} ${box}" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">${body}</svg>`, ICONS2;
|
|
21794
|
+
`, uiCss = () => aliased(css3 + readoutCss + overlayCss + bentoCss + activityCss + pickerCss + compareCss + playerCss + selectionPillCss) + rolling_css_default, lookDefaults, svg = (body, box = 16) => `<svg viewBox="0 0 ${box} ${box}" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">${body}</svg>`, ICONS2;
|
|
21529
21795
|
var init_look = __esm(() => {
|
|
21530
21796
|
init_appearance();
|
|
21531
21797
|
init_activity_css();
|