@kolkrabbi/kol-theme 0.163.0 → 0.164.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/kol-components-atoms.css
CHANGED
|
@@ -1324,9 +1324,14 @@ a.kol-icon-frame {
|
|
|
1324
1324
|
/* THE TOUCH RUNG (D5, 2026-09-29 — see kol-base-tokens.css): every text control types 16 / 22 on
|
|
1325
1325
|
* touch, so a derived box grows exactly as the pinned tokens do — xs/sm 4+4+22+2 = 32, md
|
|
1326
1326
|
* 6+6+22+2 = 36, lg 40. Two classes, so it outranks the size's own kol-mono-* class. */
|
|
1327
|
-
|
|
1327
|
+
/* NOT INSIDE A HARDWARE PANEL (2026-10-02, kol-monitor's Patch module): a module is drawn at the
|
|
1328
|
+
* rack's own zoom, and its `xs` controls are the PANEL rung — 8px type in a 22px box on a 96px
|
|
1329
|
+
* plate. The rung lifted its dropdown to 16 / 32 and it no longer fitted. `.kol-hw-panel` marks
|
|
1330
|
+
* the plate (ModuleFrame) and a list portalled out of one (Dropdown); `:where()` keeps the
|
|
1331
|
+
* rule's specificity where it was. The box tokens are pinned back in kol-components-controls.css. */
|
|
1332
|
+
:is(.kol-btn.kol-btn-xs, .kol-btn.kol-btn-sm, .kol-btn.kol-btn-md, .kol-btn.kol-btn-lg,
|
|
1328
1333
|
.kol-control.kol-control-xs, .kol-control.kol-control-sm, .kol-control.kol-control-md, .kol-control.kol-control-lg,
|
|
1329
|
-
.kol-seg .kol-seg-cell, .kol-menu-btn.kol-menu-btn {
|
|
1334
|
+
.kol-seg .kol-seg-cell, .kol-menu-btn.kol-menu-btn):where(:not(.kol-hw-panel, .kol-hw-panel *)) {
|
|
1330
1335
|
font-size: 16px;
|
|
1331
1336
|
line-height: 22px;
|
|
1332
1337
|
}
|
|
@@ -34,3 +34,28 @@
|
|
|
34
34
|
--kol-ctl-signal-input: #4ade80;
|
|
35
35
|
--kol-ctl-cv-attenuate: #497DA2;
|
|
36
36
|
}
|
|
37
|
+
|
|
38
|
+
/* A HARDWARE PANEL KEEPS ITS DESK SIZES ON TOUCH (2026-10-02). The touch rung (kol-base-tokens.css)
|
|
39
|
+
* grows every control box on a coarse pointer — xs 22 → 32 — so a finger can hit app chrome. A
|
|
40
|
+
* module is not app chrome: it is drawn at the rack's zoom, which is how it is made reachable, and
|
|
41
|
+
* its controls are sized to the plate. `.kol-hw-panel` is ModuleFrame's root, and Dropdown puts it
|
|
42
|
+
* on a list it portals out of one. The type half of the rung skips the same marker
|
|
43
|
+
* (kol-components-atoms.css). */
|
|
44
|
+
@media (pointer: coarse) {
|
|
45
|
+
.kol-hw-panel {
|
|
46
|
+
--kol-ctl-xs: 22px;
|
|
47
|
+
--kol-ctl-sm: 26px;
|
|
48
|
+
--kol-ctl-md: 32px;
|
|
49
|
+
--kol-ctl-lg: 40px;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* THE PLATE IS THE GROUND (2026-10-02, kol-monitor's Patch module). An outline or ghost dropdown
|
|
54
|
+
* paints its list in `--kol-tone-ground` — "the ground it sits on", `surface-primary` unless
|
|
55
|
+
* something says otherwise (kol-components-molecules.css, TONE). A module's plate is
|
|
56
|
+
* `surface-secondary`, so the list came out page-coloured, darker than the trigger above it. The
|
|
57
|
+
* default plate says what it is; a consumer that passes its own plate class sets the ground with it. */
|
|
58
|
+
.kol-hw-panel.bg-surface-secondary {
|
|
59
|
+
--kol-tone-ground: var(--kol-surface-secondary);
|
|
60
|
+
}
|
|
61
|
+
|
|
@@ -142,6 +142,12 @@
|
|
|
142
142
|
* variables on the panel; the list scrolls at the ceiling as it always could. */
|
|
143
143
|
.kol-dd-list {
|
|
144
144
|
padding: var(--kol-spacing-1);
|
|
145
|
+
/* THE ROWS SIT ON THE TRIGGER'S TEXT EDGE (2026-10-02). The trigger always carries a 1px border
|
|
146
|
+
* (transparent on a filled tone); the panel carries one only on outline. So a filled panel's
|
|
147
|
+
* rows stood 1px left of the trigger's text. The list makes up the difference: 4px, plus the
|
|
148
|
+
* trigger's 1, less whatever border the panel has. (`0px`, not `0`, in the tone bundles — a
|
|
149
|
+
* unitless zero cannot be subtracted from a length.) */
|
|
150
|
+
padding-inline: calc(var(--kol-spacing-1) + 1px - var(--kol-tone-panel-border-w, 0px));
|
|
145
151
|
overflow-y: auto;
|
|
146
152
|
min-height: 0;
|
|
147
153
|
max-height: calc(var(--kol-dd-max-rows, 10) * var(--kol-dd-row-h, 2rem) + var(--kol-spacing-1) * 2);
|
|
@@ -1986,7 +1992,7 @@
|
|
|
1986
1992
|
--kol-tone-pressed-image: none;
|
|
1987
1993
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
1988
1994
|
--kol-tone-panel-bg: var(--kol-surface-secondary);
|
|
1989
|
-
--kol-tone-panel-border-w:
|
|
1995
|
+
--kol-tone-panel-border-w: 0px;
|
|
1990
1996
|
--kol-tone-panel-border: transparent;
|
|
1991
1997
|
}
|
|
1992
1998
|
/* `secondary` PAINTS THE PAGE SURFACE (tone-secondary-is-inverse, kol-client-olina
|
|
@@ -2011,7 +2017,7 @@
|
|
|
2011
2017
|
--kol-tone-pressed-image: none;
|
|
2012
2018
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2013
2019
|
--kol-tone-panel-bg: var(--kol-surface-primary);
|
|
2014
|
-
--kol-tone-panel-border-w:
|
|
2020
|
+
--kol-tone-panel-border-w: 0px;
|
|
2015
2021
|
--kol-tone-panel-border: transparent;
|
|
2016
2022
|
}
|
|
2017
2023
|
/* `inverted` — the text color as fill: Button's / IconFrame's `secondary`
|
|
@@ -2035,7 +2041,7 @@
|
|
|
2035
2041
|
--kol-tone-pressed-image: none;
|
|
2036
2042
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2037
2043
|
--kol-tone-panel-bg: var(--kol-surface-on-primary);
|
|
2038
|
-
--kol-tone-panel-border-w:
|
|
2044
|
+
--kol-tone-panel-border-w: 0px;
|
|
2039
2045
|
--kol-tone-panel-border: transparent;
|
|
2040
2046
|
}
|
|
2041
2047
|
.kol-tone-outline,
|
|
@@ -2073,7 +2079,7 @@
|
|
|
2073
2079
|
--kol-tone-pressed-image: none;
|
|
2074
2080
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2075
2081
|
--kol-tone-panel-bg: var(--kol-tone-ground, var(--kol-surface-primary));
|
|
2076
|
-
--kol-tone-panel-border-w:
|
|
2082
|
+
--kol-tone-panel-border-w: 0px;
|
|
2077
2083
|
--kol-tone-panel-border: transparent;
|
|
2078
2084
|
}
|
|
2079
2085
|
.kol-tone-grey,
|
|
@@ -2092,7 +2098,7 @@
|
|
|
2092
2098
|
--kol-tone-pressed-image: none;
|
|
2093
2099
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2094
2100
|
--kol-tone-panel-bg: var(--kol-oq-12);
|
|
2095
|
-
--kol-tone-panel-border-w:
|
|
2101
|
+
--kol-tone-panel-border-w: 0px;
|
|
2096
2102
|
--kol-tone-panel-border: transparent;
|
|
2097
2103
|
}
|
|
2098
2104
|
.kol-tone-sunken,
|
|
@@ -2111,7 +2117,7 @@
|
|
|
2111
2117
|
--kol-tone-pressed-image: linear-gradient(var(--kol-fg-08), var(--kol-fg-08));
|
|
2112
2118
|
--kol-tone-pressed-fg: var(--kol-fg-96);
|
|
2113
2119
|
--kol-tone-panel-bg: var(--kol-surface-sunken);
|
|
2114
|
-
--kol-tone-panel-border-w:
|
|
2120
|
+
--kol-tone-panel-border-w: 0px;
|
|
2115
2121
|
--kol-tone-panel-border: transparent;
|
|
2116
2122
|
}
|
|
2117
2123
|
:where(.kol-btn-nav) {
|
|
@@ -2129,7 +2135,7 @@
|
|
|
2129
2135
|
--kol-tone-pressed-image: none;
|
|
2130
2136
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2131
2137
|
--kol-tone-panel-bg: var(--kol-tone-ground, var(--kol-surface-primary));
|
|
2132
|
-
--kol-tone-panel-border-w:
|
|
2138
|
+
--kol-tone-panel-border-w: 0px;
|
|
2133
2139
|
--kol-tone-panel-border: transparent;
|
|
2134
2140
|
}
|
|
2135
2141
|
:where(.kol-icon-frame-nav) {
|
|
@@ -2147,7 +2153,7 @@
|
|
|
2147
2153
|
--kol-tone-pressed-image: none;
|
|
2148
2154
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2149
2155
|
--kol-tone-panel-bg: var(--kol-tone-ground, var(--kol-surface-primary));
|
|
2150
|
-
--kol-tone-panel-border-w:
|
|
2156
|
+
--kol-tone-panel-border-w: 0px;
|
|
2151
2157
|
--kol-tone-panel-border: transparent;
|
|
2152
2158
|
}
|
|
2153
2159
|
:where(.kol-control--plain) {
|
|
@@ -2165,7 +2171,7 @@
|
|
|
2165
2171
|
--kol-tone-pressed-image: none;
|
|
2166
2172
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2167
2173
|
--kol-tone-panel-bg: var(--kol-tone-ground, var(--kol-surface-primary));
|
|
2168
|
-
--kol-tone-panel-border-w:
|
|
2174
|
+
--kol-tone-panel-border-w: 0px;
|
|
2169
2175
|
--kol-tone-panel-border: transparent;
|
|
2170
2176
|
}
|
|
2171
2177
|
:where(.kol-btn-danger, .kol-icon-frame-danger) {
|
|
@@ -2183,7 +2189,7 @@
|
|
|
2183
2189
|
--kol-tone-pressed-image: none;
|
|
2184
2190
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2185
2191
|
--kol-tone-panel-bg: var(--ui-error);
|
|
2186
|
-
--kol-tone-panel-border-w:
|
|
2192
|
+
--kol-tone-panel-border-w: 0px;
|
|
2187
2193
|
--kol-tone-panel-border: transparent;
|
|
2188
2194
|
}
|
|
2189
2195
|
:where(.kol-btn-accent, .kol-icon-frame-accent) {
|
|
@@ -2201,7 +2207,7 @@
|
|
|
2201
2207
|
--kol-tone-pressed-image: none;
|
|
2202
2208
|
--kol-tone-pressed-fg: var(--kol-surface-primary);
|
|
2203
2209
|
--kol-tone-panel-bg: var(--kol-accent-primary);
|
|
2204
|
-
--kol-tone-panel-border-w:
|
|
2210
|
+
--kol-tone-panel-border-w: 0px;
|
|
2205
2211
|
--kol-tone-panel-border: transparent;
|
|
2206
2212
|
}
|
|
2207
2213
|
|
|
@@ -168,6 +168,19 @@
|
|
|
168
168
|
min-width: 0;
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
+
/* A `.kol-page` INSIDE THE SHELL YIELDS ITS X (kol-website, 2026-10-02). "Pages do not pad
|
|
172
|
+
* themselves on x" was written above on 2026-09-28 and kol-framework's `PageSection` never heard
|
|
173
|
+
* it: `.kol-page` pads `--kol-pad-section-x` again, so a section sat 48 + 48 = 96px off the rail
|
|
174
|
+
* at 1440 — and kol-workshop's own `ExhibitPage` / `ExhibitOverview` are built from it. The cap
|
|
175
|
+
* goes with the pad: inside the shell the width is the page's call, made once in `MainColumn`
|
|
176
|
+
* (canvas · shell · none), and `.kol-page`'s own `--kol-container-max` + auto margin was a
|
|
177
|
+
* second answer that re-capped and re-centred a `none` page. The block padding stays. */
|
|
178
|
+
.shell-main .kol-page {
|
|
179
|
+
padding-inline: 0;
|
|
180
|
+
max-width: none;
|
|
181
|
+
margin-inline: 0;
|
|
182
|
+
}
|
|
183
|
+
|
|
171
184
|
/* THE TYPED WORDMARK — the shell's second mark as live type in the Tight cut
|
|
172
185
|
* (2026-09-28), sized so its caps stand as tall as the drawn KOLKRABBI mark
|
|
173
186
|
* beside it (h-6). The display voice is uppercase by contract. */
|