@kolkrabbi/kol-theme 0.13.4 → 0.13.5
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 +49 -0
- package/package.json +1 -1
package/kol-components-atoms.css
CHANGED
|
@@ -939,3 +939,52 @@ a:hover .icon-hover,
|
|
|
939
939
|
color: var(--kol-color-absolute-white);
|
|
940
940
|
border: 1px solid transparent;
|
|
941
941
|
}
|
|
942
|
+
|
|
943
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
944
|
+
* ThemeToggle — .kol-theme-toggle
|
|
945
|
+
*
|
|
946
|
+
* A two-position switch, NOT a button (user ruling 2026-07-30):
|
|
947
|
+
* *"REMOVE ALL STATES, no fucking hover… no variant at all should have an
|
|
948
|
+
* interactive state — it's just a click 1-2, and it's themed."*
|
|
949
|
+
*
|
|
950
|
+
* It used to emit `.kol-btn` + `.kol-btn-nav`/`.kol-btn-primary`, which dragged
|
|
951
|
+
* the whole button state machine along: the base transition + focus ring, and
|
|
952
|
+
* the per-variant :hover wash and [aria-current] shift. Those three classes are
|
|
953
|
+
* the only state sources — the SIZE classes are pure padding and stay.
|
|
954
|
+
*
|
|
955
|
+
* Same disease IconFrame was cured of above: borrow geometry, inherit states.
|
|
956
|
+
* Resting appearance is byte-identical to what it replaced, so no consumer
|
|
957
|
+
* shifts a pixel; there is simply nothing to transition to.
|
|
958
|
+
* ═══════════════════════════════════════════════════════════════ */
|
|
959
|
+
|
|
960
|
+
.kol-theme-toggle {
|
|
961
|
+
display: inline-flex;
|
|
962
|
+
align-items: center;
|
|
963
|
+
justify-content: center;
|
|
964
|
+
border-radius: var(--kol-radius-sm);
|
|
965
|
+
white-space: nowrap;
|
|
966
|
+
cursor: pointer;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
/* fill="none" — mirrors .kol-btn-nav at rest */
|
|
970
|
+
.kol-theme-toggle-none {
|
|
971
|
+
background: transparent;
|
|
972
|
+
color: var(--kol-oq-64);
|
|
973
|
+
border: 1px solid transparent;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
/* fill="subtle" — mirrors .kol-btn-primary at rest */
|
|
977
|
+
.kol-theme-toggle-subtle {
|
|
978
|
+
background: var(--kol-surface-secondary);
|
|
979
|
+
color: var(--kol-surface-on-primary);
|
|
980
|
+
border: 1px solid transparent;
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
/* flush — no pad, no radius, no fill, ever */
|
|
984
|
+
.kol-theme-toggle-flush {
|
|
985
|
+
background: transparent;
|
|
986
|
+
color: var(--kol-surface-on-primary);
|
|
987
|
+
border: 0;
|
|
988
|
+
border-radius: 0;
|
|
989
|
+
padding: 0;
|
|
990
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.5",
|
|
4
4
|
"description": "KOL (Kolkrabbi) design-system tokens + base CSS — brand-neutral. The canonical token/cascade layer every other KOL package and consumer builds on.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|