@kolkrabbi/kol-theme 0.95.0 → 0.97.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 +91 -0
- package/kol-components-molecules.css +33 -0
- package/package.json +1 -1
package/kol-components-atoms.css
CHANGED
|
@@ -717,6 +717,97 @@
|
|
|
717
717
|
border: none;
|
|
718
718
|
}
|
|
719
719
|
|
|
720
|
+
/* ── Dual-thumb range (SliderDualThumbAndPlayhead, kol-mirror 2026-08-30) ────
|
|
721
|
+
* Two native ranges stacked on ONE track — the only way two thumbs share a
|
|
722
|
+
* rail. The INPUT takes `pointer-events: none` so the dead space between the
|
|
723
|
+
* thumbs does not swallow a track click, and each THUMB takes it back; without
|
|
724
|
+
* that pair the upper input covers the lower one entirely.
|
|
725
|
+
*
|
|
726
|
+
* The two must be tellable apart at a glance — you have to know which end you
|
|
727
|
+
* grabbed. In-mark is hollow (surface fill, ink ring), out-mark is solid, which
|
|
728
|
+
* is the treatment mirror's local copy proved over months.
|
|
729
|
+
*
|
|
730
|
+
* The playhead colour is a TOKEN. Mirror hardcoded `#2dd4bf`, which is the
|
|
731
|
+
* defect this move exists to end: a literal cannot follow a theme or a
|
|
732
|
+
* consumer's brand. `--kol-slider-playhead` defaults to the accent and is
|
|
733
|
+
* overridable per instance. */
|
|
734
|
+
.kol-slider-dual {
|
|
735
|
+
position: relative;
|
|
736
|
+
width: 100%;
|
|
737
|
+
height: 20px;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
.kol-slider-dual-rail {
|
|
741
|
+
position: absolute;
|
|
742
|
+
left: 0;
|
|
743
|
+
right: 0;
|
|
744
|
+
top: 9px;
|
|
745
|
+
height: 2px;
|
|
746
|
+
background: var(--kol-slider-track, var(--kol-surface-on-primary));
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
.kol-slider-dual-playhead {
|
|
750
|
+
position: absolute;
|
|
751
|
+
top: 0;
|
|
752
|
+
width: 3px;
|
|
753
|
+
height: 20px;
|
|
754
|
+
margin-left: -1.5px;
|
|
755
|
+
border-radius: 1px;
|
|
756
|
+
background: var(--kol-slider-playhead, var(--kol-accent-primary));
|
|
757
|
+
z-index: 4;
|
|
758
|
+
cursor: grab;
|
|
759
|
+
}
|
|
760
|
+
.kol-slider-dual-playhead:active { cursor: grabbing; }
|
|
761
|
+
|
|
762
|
+
.kol-slider-range {
|
|
763
|
+
position: absolute;
|
|
764
|
+
inset: 0;
|
|
765
|
+
width: 100%;
|
|
766
|
+
-webkit-appearance: none;
|
|
767
|
+
appearance: none;
|
|
768
|
+
background: transparent;
|
|
769
|
+
pointer-events: none;
|
|
770
|
+
}
|
|
771
|
+
.kol-slider-range::-webkit-slider-runnable-track { background: transparent; height: 2px; }
|
|
772
|
+
.kol-slider-range::-moz-range-track { background: transparent; height: 2px; }
|
|
773
|
+
|
|
774
|
+
.kol-slider-range::-webkit-slider-thumb {
|
|
775
|
+
-webkit-appearance: none;
|
|
776
|
+
appearance: none;
|
|
777
|
+
pointer-events: auto;
|
|
778
|
+
height: 12px;
|
|
779
|
+
width: 12px;
|
|
780
|
+
border-radius: 50%;
|
|
781
|
+
margin-top: -5px;
|
|
782
|
+
cursor: pointer;
|
|
783
|
+
}
|
|
784
|
+
.kol-slider-range::-moz-range-thumb {
|
|
785
|
+
appearance: none;
|
|
786
|
+
pointer-events: auto;
|
|
787
|
+
height: 12px;
|
|
788
|
+
width: 12px;
|
|
789
|
+
border-radius: 50%;
|
|
790
|
+
cursor: pointer;
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
/* in = hollow, out = solid */
|
|
794
|
+
.kol-slider-range--in::-webkit-slider-thumb {
|
|
795
|
+
background: var(--kol-surface-primary);
|
|
796
|
+
border: 1.5px solid var(--kol-surface-on-primary);
|
|
797
|
+
}
|
|
798
|
+
.kol-slider-range--in::-moz-range-thumb {
|
|
799
|
+
background: var(--kol-surface-primary);
|
|
800
|
+
border: 1.5px solid var(--kol-surface-on-primary);
|
|
801
|
+
}
|
|
802
|
+
.kol-slider-range--out::-webkit-slider-thumb {
|
|
803
|
+
background: var(--kol-surface-on-primary);
|
|
804
|
+
border: none;
|
|
805
|
+
}
|
|
806
|
+
.kol-slider-range--out::-moz-range-thumb {
|
|
807
|
+
background: var(--kol-surface-on-primary);
|
|
808
|
+
border: none;
|
|
809
|
+
}
|
|
810
|
+
|
|
720
811
|
|
|
721
812
|
/* ═══════════════════════════════════════════════════════════════
|
|
722
813
|
* Sidenav primitives — promoted from kol-framework.css 2026-04-30.
|
|
@@ -962,6 +962,39 @@
|
|
|
962
962
|
.kol-row--divided {
|
|
963
963
|
border-bottom: 1px solid var(--kol-fg-08);
|
|
964
964
|
}
|
|
965
|
+
/* `specs` — the row's trailing label/value column (RowVariantNamesAndSpecs,
|
|
966
|
+
* 2026-08-29). It rides every horizontal variant because year · material ·
|
|
967
|
+
* edition is a CONTENT difference, not a geometry one; a seventh page-named
|
|
968
|
+
* variant for it would repeat the mistake that ticket opens with.
|
|
969
|
+
* Type is declared HERE, not as `kol-mono-12` on the element — ARCHITECTURE §5:
|
|
970
|
+
* a utility class on the markup ties at specificity and loses to whichever
|
|
971
|
+
* sheet loads last. Values match the family's meta voice (kol-mono-12). */
|
|
972
|
+
.kol-row-specs {
|
|
973
|
+
display: flex;
|
|
974
|
+
flex-direction: column;
|
|
975
|
+
gap: var(--kol-spacing-1);
|
|
976
|
+
margin: 0;
|
|
977
|
+
}
|
|
978
|
+
.kol-row-specs > div {
|
|
979
|
+
display: flex;
|
|
980
|
+
justify-content: space-between;
|
|
981
|
+
gap: var(--kol-spacing-3);
|
|
982
|
+
}
|
|
983
|
+
.kol-row-specs dt,
|
|
984
|
+
.kol-row-specs dd {
|
|
985
|
+
margin: 0;
|
|
986
|
+
font-family: var(--kol-font-family-mono);
|
|
987
|
+
font-size: 12px;
|
|
988
|
+
line-height: 16px;
|
|
989
|
+
font-weight: 400;
|
|
990
|
+
}
|
|
991
|
+
.kol-row-specs dt {
|
|
992
|
+
color: var(--kol-fg-meta);
|
|
993
|
+
}
|
|
994
|
+
.kol-row-specs dd {
|
|
995
|
+
color: var(--kol-fg-emphasis);
|
|
996
|
+
text-align: right;
|
|
997
|
+
}
|
|
965
998
|
/* THE THUMB IS A FIXED SQUARE BOX (ContentRowsAndPrintCard, kol-website
|
|
966
999
|
* 2026-08-27 — user: "the image should not control height, image should fit
|
|
967
1000
|
* the row image placeholder"). Verbatim from the /stack + /prints tune: the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.97.0",
|
|
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",
|