@celestia-island/hikari 0.55.338 → 0.55.340
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/package.json
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
@use "../styles/polyfill" as *;
|
|
2
2
|
|
|
3
|
-
/* HkRangeRibbon —
|
|
4
|
-
Anatomy:
|
|
5
|
-
highlight + outside scrims + two edge
|
|
6
|
-
|
|
3
|
+
/* HkRangeRibbon — the two-layer sequence waterfall with a brushed window.
|
|
4
|
+
Anatomy: LAYER 1 (data-layer="minimap") is the thin OVERVIEW strip over
|
|
5
|
+
the full domain, always — the window highlight + outside scrims + two edge
|
|
6
|
+
handles ride over it and the reset seat sits on its field. LAYER 2
|
|
7
|
+
(data-layer="detail") is the lane list: the same segments shown either
|
|
8
|
+
across the full domain or mapped onto the window (0..100% of the track).
|
|
9
|
+
The minimap axis is the CALLER's domain (default `[0, 1]`; a host may
|
|
10
|
+
declare `[-0.1, 1]`, `[0, 2]` …), and `headroom` is the deprecated
|
|
11
|
+
`[0, 1 + headroom]` shorthand that IS the axis — no special tail-clamp.
|
|
12
|
+
Content outside the domain is clipped away; space inside it the content
|
|
13
|
+
does not fill stays blank. The detail layer is never rescaled on the
|
|
14
|
+
minimap axis: its axis is the selected window, or the caller's domain when
|
|
15
|
+
no window is selected. Minimal mode, which suppresses the lane rows and
|
|
16
|
+
the detail layer while the bare bar still lives in the minimap container,
|
|
17
|
+
draws the same domain axis.
|
|
7
18
|
|
|
8
19
|
Geometry is part of the contract and pinned by HkRangeRibbon.test.tsx:
|
|
9
20
|
the strip is 32px tall, a handle is an 8px half-overlapping grip
|
|
@@ -20,15 +31,17 @@
|
|
|
20
31
|
pending-segment breathe, registered in animation/registerAnimations.ts. */
|
|
21
32
|
|
|
22
33
|
.hk-range-ribbon {
|
|
23
|
-
// ONE label column for both
|
|
24
|
-
//
|
|
25
|
-
//
|
|
34
|
+
// ONE label column for both layers: the overview paints through an empty
|
|
35
|
+
// gutter of this width, so both layers always start at the same inline x.
|
|
36
|
+
// Their x% agree only in the full-domain view — a window re-normalizes the
|
|
37
|
+
// detail against the selected sub-domain, and a non-unit domain rescales
|
|
38
|
+
// the strip.
|
|
26
39
|
// Wave (2026-11-06 raw-records five): the label column is JS-MEASURED —
|
|
27
40
|
// the component publishes the widest rendered label as a px value on the
|
|
28
41
|
// root (two-phase free/measure/pin). THIS fixed column is the no-JS /
|
|
29
|
-
// pre-measure fallback: a shared width keeps
|
|
30
|
-
// before the measurement lands (a bare max-content here would
|
|
31
|
-
// 0px in the empty gutter and misalign everything).
|
|
42
|
+
// pre-measure fallback: a shared width keeps the two layers' inline START
|
|
43
|
+
// aligned before the measurement lands (a bare max-content here would
|
|
44
|
+
// resolve 0px in the empty gutter and misalign everything).
|
|
32
45
|
--hk-range-ribbon-label-col: minmax(48px, 84px);
|
|
33
46
|
|
|
34
47
|
display: flex;
|
|
@@ -38,7 +51,7 @@
|
|
|
38
51
|
min-width: 0;
|
|
39
52
|
}
|
|
40
53
|
|
|
41
|
-
// ──
|
|
54
|
+
// ── LAYER 1: overview strip (the full-domain minimap + brush surface) ───
|
|
42
55
|
.hk-range-ribbon-overview {
|
|
43
56
|
position: relative;
|
|
44
57
|
display: grid;
|
|
@@ -253,6 +266,18 @@
|
|
|
253
266
|
white-space: nowrap;
|
|
254
267
|
}
|
|
255
268
|
|
|
269
|
+
// ── Detail layer (the window-focused lane list) ─────────────────────────
|
|
270
|
+
// A plain column container, nothing else: it exists so the two layers are
|
|
271
|
+
// explicit in the DOM (and to the stylesheet contract) without disturbing
|
|
272
|
+
// the lane list's own gap/column layout. Its x-axis is the selected window
|
|
273
|
+
// mapped to 0..100% — the caller's domain axis lives on the minimap layer and
|
|
274
|
+
// only drives this layer's no-window (full-view) state.
|
|
275
|
+
.hk-range-ribbon-detail {
|
|
276
|
+
display: flex;
|
|
277
|
+
flex-direction: column;
|
|
278
|
+
min-width: 0;
|
|
279
|
+
}
|
|
280
|
+
|
|
256
281
|
// ── Lane list ───────────────────────────────────────────────────────────
|
|
257
282
|
.hk-range-ribbon-lanes {
|
|
258
283
|
display: flex;
|