@kolkrabbi/kol-theme 0.182.0 → 0.184.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/kol-components-atoms.css
CHANGED
|
@@ -1024,6 +1024,15 @@ a:hover .icon-hover,
|
|
|
1024
1024
|
* is the accent's alone, on hover and on its on-state; spending it on every
|
|
1025
1025
|
* hover left the on-state with nothing of its own to say. */
|
|
1026
1026
|
.kol-inline-control:hover { color: var(--kol-oq-96); }
|
|
1027
|
+
/* THE TAP TARGET ON TOUCH (HubHomeContract's mobile pass, apps/hub at 390 — 2026-10-23): the `app` card's
|
|
1028
|
+
* cog and trash measured 16 × 16 on a coarse pointer, under the ladder's touch rung (32, kol-base-tokens).
|
|
1029
|
+
* The glyph stays 16 — the card reserves the actions column from the control's box, so growing the box
|
|
1030
|
+
* narrows every plate — and the finger gets 32: a pseudo-element 8px past each edge, drawn by nothing,
|
|
1031
|
+
* hit by the browser. A pinned control grows its box on touch; a bare glyph grows its reach. */
|
|
1032
|
+
@media (pointer: coarse) {
|
|
1033
|
+
.kol-inline-control { position: relative; }
|
|
1034
|
+
.kol-inline-control::after { content: ''; position: absolute; inset: -8px; }
|
|
1035
|
+
}
|
|
1027
1036
|
|
|
1028
1037
|
.kol-inline-control--accent:hover,
|
|
1029
1038
|
.kol-inline-control--on,
|
|
@@ -1283,6 +1292,20 @@ a.kol-icon-frame {
|
|
|
1283
1292
|
* Same cure as IconFrame above: own your classes, inherit no states.
|
|
1284
1293
|
* ═══════════════════════════════════════════════════════════════ */
|
|
1285
1294
|
|
|
1295
|
+
/* THE INK STEP (user 2026-10-23, on the settings rail's footer and close: *"give them both oq-80, then full on
|
|
1296
|
+
* hover, just to give it slight elevated state"*). A bare control with no wash steps its INK instead: oq-80 at rest,
|
|
1297
|
+
* oq-96 on hover. `.kol-ink-step` on the control itself (CloseButton `hover={false}`), or on a row of them
|
|
1298
|
+
* (SettingsFooter) — it reaches the frame, the theme toggle and an icon-only button inside. */
|
|
1299
|
+
:is(.kol-ink-step, .kol-ink-step > *) :is(.kol-icon-frame, .kol-theme-toggle, .kol-btn:not(.kol-dd-trigger)),
|
|
1300
|
+
:is(.kol-icon-frame, .kol-theme-toggle, .kol-btn:not(.kol-dd-trigger)).kol-ink-step {
|
|
1301
|
+
--kol-tone-fg: var(--kol-oq-80);
|
|
1302
|
+
transition: color var(--kol-transition-fast, 150ms) ease;
|
|
1303
|
+
}
|
|
1304
|
+
:is(.kol-ink-step, .kol-ink-step > *) :is(.kol-icon-frame, .kol-theme-toggle, .kol-btn:not(.kol-dd-trigger)):hover,
|
|
1305
|
+
:is(.kol-icon-frame, .kol-theme-toggle, .kol-btn:not(.kol-dd-trigger)).kol-ink-step:hover {
|
|
1306
|
+
--kol-tone-fg: var(--kol-oq-96);
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1286
1309
|
.kol-theme-toggle {
|
|
1287
1310
|
display: inline-flex;
|
|
1288
1311
|
align-items: center;
|
|
@@ -2442,10 +2442,8 @@ img.kol-quicklook-media--fill { width: var(--kol-ql-max-w); height: auto; max-he
|
|
|
2442
2442
|
* drawn inside the radius so nothing reflows. Scoped to the CARD (2026-09-23): the bare
|
|
2443
2443
|
* `[role="button"][data-selected]` also matched the grid's MediaTile and boxed every selected tile
|
|
2444
2444
|
* in a square on top of its wash and pill. */
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
box-shadow: inset 0 0 0 2px var(--kol-fg-32);
|
|
2448
|
-
}
|
|
2445
|
+
/* RING REMOVED 2026-10-22 (user: *"remove this card border on toggle box select"*): the card's select
|
|
2446
|
+
* checkbox is the mark; `data-selected` stays on the element as the hook. */
|
|
2449
2447
|
/* FOCUS WEARS THE SAME RING (user 2026-09-23: the blue double border after Quick Look). Closing
|
|
2450
2448
|
* the overlay hands focus back to the card, and the browser drew its own outline around the
|
|
2451
2449
|
* selected ring. Keyboard focus keeps a visible mark — it is just the DS one. */
|
|
@@ -554,7 +554,8 @@
|
|
|
554
554
|
width: 100%;
|
|
555
555
|
border: 0;
|
|
556
556
|
border-radius: 0;
|
|
557
|
-
|
|
557
|
+
/* no bottom pad on the phone (user 2026-10-23): the body scrolls to the edge, a pad read as a clipped last row */
|
|
558
|
+
padding: var(--kol-spacing-12) var(--kol-spacing-4) 0;
|
|
558
559
|
}
|
|
559
560
|
}
|
|
560
561
|
|
package/kol-components-shell.css
CHANGED
|
@@ -50,6 +50,9 @@
|
|
|
50
50
|
/* less the phone bar (`--kol-shell-bar-h`, set by AppShell `touch="bar"`): the content column
|
|
51
51
|
* already pads for it, so a full-height page ends above the bar, not under it (2026-09-29) */
|
|
52
52
|
min-height: calc(100vh - var(--kol-shell-bar-h, 0px));
|
|
53
|
+
/* the VISIBLE viewport (studio-hub review 2, § 7.4): on iOS Safari 100vh is taller than what shows under the
|
|
54
|
+
* browser chrome, so a fixed page's foot sat under it and the page scrolled. dvh where supported, vh above it */
|
|
55
|
+
min-height: calc(100dvh - var(--kol-shell-bar-h, 0px));
|
|
53
56
|
padding: var(--kol-shell-page-pad);
|
|
54
57
|
/* PageShellScrollbarGutter (kol-monitor 2026-08-28): in `fixed` mode this
|
|
55
58
|
* element IS the scroll container and reserves the gutter; in `scroll` mode
|
|
@@ -66,7 +69,7 @@
|
|
|
66
69
|
}
|
|
67
70
|
/* `mode="fixed"` — the element is the scroll container; pair with a
|
|
68
71
|
* `flex:1 overflow:auto` body (the settings idiom) */
|
|
69
|
-
.kol-shell-page--fixed { min-height: 0; height: calc(100vh - var(--kol-shell-bar-h, 0px)); overflow: hidden; }
|
|
72
|
+
.kol-shell-page--fixed { min-height: 0; height: calc(100vh - var(--kol-shell-bar-h, 0px)); height: calc(100dvh - var(--kol-shell-bar-h, 0px)); overflow: hidden; }
|
|
70
73
|
/* `width="capped"` — the SITE tier: the framework container ladder, centred.
|
|
71
74
|
* `bleed` (the default, unclassed) fills the window — the app tier. The one
|
|
72
75
|
* real difference between a shell page and a `.kol-page`, and it is a prop
|
|
@@ -238,21 +241,25 @@
|
|
|
238
241
|
padding: 0;
|
|
239
242
|
cursor: default;
|
|
240
243
|
}
|
|
244
|
+
/* THE SHEET'S CHROME (user 2026-10-23: "match rounding better"): the pill's ground and hairline, a rounding near the
|
|
245
|
+
* folded circle's. One class on whatever holds `MoreRows` — the phone bar's sheet, Home's masthead popover. */
|
|
246
|
+
.kol-more-sheet {
|
|
247
|
+
display: flex;
|
|
248
|
+
flex-direction: column;
|
|
249
|
+
gap: 2px;
|
|
250
|
+
padding: 8px;
|
|
251
|
+
border-radius: 24px;
|
|
252
|
+
background: var(--kol-surface-secondary);
|
|
253
|
+
border: 1px solid var(--kol-oq-08);
|
|
254
|
+
}
|
|
241
255
|
.kol-phone-nav-more {
|
|
242
256
|
position: fixed;
|
|
243
257
|
left: 12px;
|
|
244
258
|
right: 12px;
|
|
245
259
|
bottom: calc(56px + env(safe-area-inset-bottom, 0px) + 8px);
|
|
246
260
|
z-index: var(--kol-z-sticky);
|
|
247
|
-
display: flex;
|
|
248
|
-
flex-direction: column;
|
|
249
|
-
gap: 2px;
|
|
250
261
|
max-height: 60dvh;
|
|
251
262
|
overflow-y: auto;
|
|
252
|
-
padding: 8px;
|
|
253
|
-
border-radius: var(--kol-radius-sm);
|
|
254
|
-
background: var(--kol-surface-primary);
|
|
255
|
-
border: 1px solid var(--kol-oq-08);
|
|
256
263
|
}
|
|
257
264
|
|
|
258
265
|
/* ── THE TAP OPENER IS THE LINE (ShellRailCollapsedWithTapOpen, kol-mirror
|