@kolkrabbi/kol-theme 0.7.2 → 0.7.3

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.
@@ -813,11 +813,6 @@ a:hover .icon-hover,
813
813
  }
814
814
 
815
815
  /* ─────────────────────────────────────────────────────────────────────
816
- * Type-specimen kit — TARGET: packages/theme/kol-components-atoms.css
817
- * (the two .kol-prose-* rules may alternatively land in the prose
818
- * section of packages/theme/kol-typography.css per the ProsePreview
819
- * lobby spec — pick one home, not both.)
820
- *
821
816
  * Ported from kol-monorepo apps/brand/src/components/framework/
822
817
  * kol-framework.css. NOT ported (already in kol-typography.css, richer
823
818
  * DS versions win): .kol-prose pre, .kol-prose code, .kol-prose pre code.
@@ -826,21 +821,11 @@ a:hover .icon-hover,
826
821
  * No text-transform rules existed in the source CSS; the components'
827
822
  * Tailwind `uppercase` classes were dropped per the KOL no-auto-casing
828
823
  * rule — author labels/pullouts in their final case.
824
+ * The type-specimen kit rules (TypeSample / TypeSpecCard / TextPressure)
825
+ * moved to kol-components-foundry.css 2026-07-09 with the components'
826
+ * move to @kolkrabbi/kol-foundry.
829
827
  * ───────────────────────────────────────────────────────────────────── */
830
828
 
831
- /* ─── TypeSample — atoms/TypeSample.jsx ───
832
- Wrapper padding inlined in the component; adjacent-sibling hairline
833
- separates stacked samples. */
834
- .kol-type-sample + .kol-type-sample {
835
- border-top: 1px solid var(--kol-fg-08);
836
- }
837
-
838
- /* ─── TypeSpecCard — atoms/TypeSpecCard.jsx ───
839
- Layout inlined in the component; descendant <p> overrides give sample
840
- prose 16px rhythm (Preflight zeroes <p> margin). */
841
- .kol-type-spec-sample p { margin: 0 0 16px; }
842
- .kol-type-spec-sample p:last-child { margin-bottom: 0; }
843
-
844
829
  /* ─── ProsePreview — atoms/ProsePreview.jsx ───
845
830
  Prose chrome beyond the base .kol-prose contract. */
846
831
  .kol-prose-indented {
@@ -854,29 +839,3 @@ a:hover .icon-hover,
854
839
  border-top: 1px solid var(--kol-fg-08);
855
840
  border-bottom: 1px solid var(--kol-fg-08);
856
841
  }
857
-
858
- /* =============================================================================
859
- * TextPressure (atom)
860
- * append to packages/theme/kol-components-atoms.css
861
- *
862
- * Only the outlined-ghost layer lives here — it needs a ::after pseudo-element
863
- * and -webkit-text-stroke, neither expressible in Tailwind or inline style.
864
- * Everything else (layout, sizing, weight) is Tailwind utilities / inline vars
865
- * on the JSX. Stroke color comes in through the inline `--kol-text-pressure-
866
- * stroke` custom property (defaulted here so the rule is standalone-safe).
867
- * ============================================================================= */
868
-
869
- .kol-text-pressure--stroke .kol-text-pressure-char {
870
- position: relative;
871
- }
872
-
873
- .kol-text-pressure--stroke .kol-text-pressure-char::after {
874
- content: attr(data-char);
875
- position: absolute;
876
- left: 0;
877
- top: 0;
878
- color: transparent;
879
- z-index: -1;
880
- -webkit-text-stroke-width: 3px;
881
- -webkit-text-stroke-color: var(--kol-text-pressure-stroke, var(--kol-accent-primary));
882
- }
@@ -0,0 +1,49 @@
1
+ /* =============================================================================
2
+ * KOL components — foundry (@kolkrabbi/kol-foundry)
3
+ * =============================================================================
4
+ * Component CSS for the type-specimen apparatus. Recreated 2026-07-09 when the
5
+ * type-specimen kit + live-font effects (TypeSample, TypeSpecCard, TextPressure,
6
+ * ColorLoader) moved from @kolkrabbi/kol-component into @kolkrabbi/kol-foundry;
7
+ * their rules moved here from kol-components-atoms.css with them. CSS always
8
+ * lives in kol-theme — the foundry package ships JS only.
9
+ *
10
+ * Layer: this file ships unlayered; kol-theme.css assigns the layer at import —
11
+ * @import "./kol-components-foundry.css" layer(components);
12
+ * placing it in the `components` cascade layer alongside the rest of KOL chrome,
13
+ * so consumer utilities (a later Tailwind layer) still override it.
14
+ * ============================================================================= */
15
+
16
+ /* ─── TypeSample — TypeSample.jsx ───
17
+ Wrapper padding inlined in the component; adjacent-sibling hairline
18
+ separates stacked samples. */
19
+ .kol-type-sample + .kol-type-sample {
20
+ border-top: 1px solid var(--kol-fg-08);
21
+ }
22
+
23
+ /* ─── TypeSpecCard — TypeSpecCard.jsx ───
24
+ Layout inlined in the component; descendant <p> overrides give sample
25
+ prose 16px rhythm (Preflight zeroes <p> margin). */
26
+ .kol-type-spec-sample p { margin: 0 0 16px; }
27
+ .kol-type-spec-sample p:last-child { margin-bottom: 0; }
28
+
29
+ /* ─── TextPressure — TextPressure.jsx ───
30
+ Only the outlined-ghost layer lives here — it needs a ::after pseudo-element
31
+ and -webkit-text-stroke, neither expressible in Tailwind or inline style.
32
+ Everything else (layout, sizing, weight) is Tailwind utilities / inline vars
33
+ on the JSX. Stroke color comes in through the inline `--kol-text-pressure-
34
+ stroke` custom property (defaulted here so the rule is standalone-safe).
35
+ ColorLoader composes TextPressure and needs no rules of its own. */
36
+ .kol-text-pressure--stroke .kol-text-pressure-char {
37
+ position: relative;
38
+ }
39
+
40
+ .kol-text-pressure--stroke .kol-text-pressure-char::after {
41
+ content: attr(data-char);
42
+ position: absolute;
43
+ left: 0;
44
+ top: 0;
45
+ color: transparent;
46
+ z-index: -1;
47
+ -webkit-text-stroke-width: 3px;
48
+ -webkit-text-stroke-color: var(--kol-text-pressure-stroke, var(--kol-accent-primary));
49
+ }
package/kol-theme.css CHANGED
@@ -44,6 +44,7 @@
44
44
  @import "./kol-components-dashboards.css" layer(components);
45
45
  @import "./kol-components-chess.css" layer(components);
46
46
  @import "./kol-components-workshop.css" layer(components);
47
+ @import "./kol-components-foundry.css" layer(components);
47
48
 
48
49
  /* Theme-level design tokens */
49
50
  @layer components {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
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",