@kolkrabbi/kol-framework 0.10.1 → 0.10.2

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-framework.css CHANGED
@@ -500,7 +500,9 @@ body {
500
500
  font-size: 12px;
501
501
  font-weight: 500;
502
502
  letter-spacing: 0.12em;
503
- text-transform: uppercase;
503
+ /* text-transform REMOVED 2026-07-30 — casing is a content-layer concern and
504
+ * components never auto-case (standing law). The label is authored as "Exit"
505
+ * at the call site; if a consumer wants EXIT they type EXIT. */
504
506
  text-decoration: none;
505
507
  cursor: pointer;
506
508
  transition: background 200ms ease, border-color 200ms ease;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-framework",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "KOL app shell — sidenav, layout, theme toggle, footer, heroes + brand color layer. SideNav takes nav data as props so the tree stays app-local.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -27,7 +27,7 @@
27
27
  "app-shell"
28
28
  ],
29
29
  "dependencies": {
30
- "@kolkrabbi/kol-component": "0.15.0",
30
+ "@kolkrabbi/kol-component": "0.15.1",
31
31
  "@kolkrabbi/kol-icons": "0.8.11"
32
32
  },
33
33
  "peerDependencies": {
@@ -45,17 +45,6 @@ import { useTheme } from './theme.js'
45
45
  * hop → button + fill subtle + fullWidth (old: chrome pinned md)
46
46
  * hop-bare → flush + fullWidth (old: 6/24 padding kept)
47
47
  *
48
- * NO INTERACTIVE STATES, ANY VARIANT (user ruling 2026-07-30): *"REMOVE ALL
49
- * STATES, no fucking hover… no variant at all should have an interactive state
50
- * — it's just a click 1-2, and it's themed."* It emitted `.kol-btn` +
51
- * `.kol-btn-nav`/`.kol-btn-primary`, which dragged the button state machine
52
- * along (base transition + focus ring, per-variant :hover wash, [aria-current]
53
- * shift). Those three were the only state sources; it now emits
54
- * `.kol-theme-toggle{,-none,-subtle,-flush}` instead, which declare the same
55
- * resting appearance and have no state rules to inherit. The SIZE classes
56
- * (`kol-btn-{sm,md,lg}`, `kol-btn-icon`) are pure padding/geometry and stay.
57
- * The glyph roll stays too — that animates a state CHANGE, it is not a state.
58
- *
59
48
  * Theme state lives in useTheme (./theme.js); this component is only the
60
49
  * glyph-roll UI on top of it.
61
50
  */
@@ -188,7 +177,7 @@ export default function ThemeToggle({
188
177
 
189
178
  /* variant === 'button' (default) — the padded rung. fill is the one bg
190
179
  * element: subtle = the grey fill, none = the invisible container. Geometry
191
- * identical; no hover wash on either — see the no-states note below. */
180
+ * identical; no hover on either — no variant carries an interactive state. */
192
181
  const fillCls = fill === 'none' ? 'kol-theme-toggle-none' : 'kol-theme-toggle-subtle'
193
182
  if (!label) {
194
183
  // icon-only pins the square box per rung — geometry condition, not a variant