@kolkrabbi/kol-framework 0.6.3 → 0.7.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.
Files changed (2) hide show
  1. package/kol-framework.css +30 -144
  2. package/package.json +2 -2
package/kol-framework.css CHANGED
@@ -76,6 +76,11 @@ body {
76
76
  }
77
77
 
78
78
  @media (min-width: 1280px) { :root { --kol-container-max: 1600px; } }
79
+ /* The ladder's last rung is the law's frame itself: --kol-container-max is the
80
+ * responsive RESOLUTION of --kol-content-shell (kol-theme), not a second width
81
+ * family. Before 2026-07-30 the ladder stopped at 1600 while the stated law
82
+ * said 1800 — same element, two answers (lobby/WidthSystemContradictions). */
83
+ @media (min-width: 1920px) { :root { --kol-container-max: var(--kol-content-shell, 1800px); } }
79
84
 
80
85
  /* :root[data-sidenav="collapsed"] removed 2026-07-29 — the manual collapse
81
86
  * feature died with the editor's exit (brand ruling); the responsive rail
@@ -159,6 +164,20 @@ body {
159
164
  flex-direction: column;
160
165
  }
161
166
 
167
+ /* ───── Full-bleed (THE one mechanism, 2026-07-30) ─────
168
+ * Cancels the page inset with a negative margin — container-relative, so it is
169
+ * correct inside any layout, including .kol-brand-layout's sidenav grid.
170
+ * Promoted from kol-website's local `@utility full-bleed`; the DS owns the
171
+ * inset (--kol-pad-section-x), so it owns the cancellation.
172
+ *
173
+ * NEVER use the viewport trick (`width:100vw; margin-left: calc(50% - 50vw)`):
174
+ * 50vw measures the VIEWPORT, and inside a sidenav grid the content track is
175
+ * not viewport-centred — the element overhangs left by ~half the sidenav width
176
+ * and any `overflow:hidden` ancestor clips it (the /review slice bug). */
177
+ .kol-full-bleed {
178
+ margin-inline: calc(-1 * var(--kol-pad-section-x));
179
+ }
180
+
162
181
  /* ───── Standard 4-col content grid ─────
163
182
  The page-wide grid all chapter content lays out against. Always 4 cols.
164
183
  Rows size to content; children control their own height via aspect-ratio
@@ -238,43 +257,13 @@ body {
238
257
  /* Type-sample rule removed 2026-07-09 — was drift-flagged duplicate of the
239
258
  theme-owned rule (now packages/theme/kol-components-foundry.css). */
240
259
 
241
- /* Prose moved to DS typography — see kol-typography-mono.css.
242
- See docs/documentation/06-framework/06-amendments.md 2026-04-23. */
243
-
244
- .kol-prose-indented {
245
- padding-left: 32px;
246
- border-left: 1px solid var(--kol-fg-16);
247
- }
248
-
249
- .kol-prose pre {
250
- margin: 0 0 24px;
251
- padding: 16px;
252
- border-radius: 4px;
253
- font-family: 'Right Grotesk Mono', monospace;
254
- font-size: 16px;
255
- line-height: 24px;
256
- overflow-x: auto;
257
- }
258
-
259
- .kol-prose code {
260
- font-family: var(--kol-font-family-mono, monospace);
261
- font-size: 0.9em;
262
- padding: 1px 4px;
263
- border-radius: 3px;
264
- }
265
-
266
- .kol-prose pre code {
267
- padding: 0;
268
- background: none;
269
- border-radius: 0;
270
- }
271
-
272
- .kol-prose-pullout {
273
- padding: 16px 0;
274
- margin: 32px 0;
275
- border-top: 1px solid var(--kol-fg-08);
276
- border-bottom: 1px solid var(--kol-fg-08);
277
- }
260
+ /* Prose chrome lives in kol-theme, ONE home (task 8, 2026-07-30). The copies
261
+ that stood here (.kol-prose-indented, .kol-prose-pullout, .kol-prose
262
+ pre/code) duplicated theme selectors exactly, so whichever sheet loaded last
263
+ won — and the `pre` copy hardcoded 'Right Grotesk Mono' instead of the mono
264
+ token, so when framework won, prose code rendered in the wrong family.
265
+ Owners: kol-type-roles.css (pre/code) · kol-components-atoms.css
266
+ (-indented / -pullout). Do not re-add them here. */
278
267
 
279
268
  /* ───── Fullscreen overlay ───── */
280
269
 
@@ -586,114 +575,11 @@ body {
586
575
 
587
576
  /* .kol-combo-* (+ @keyframes kol-combo-fade) relocated to kol-theme/kol-components-styleguide.css 2026-07-10 */
588
577
 
589
- /* ═════════════════════════════════════════════════════════════════════
590
- SpectrumGrid — matrix color-token grid (9 ramps × 10 stops)
591
- ═════════════════════════════════════════════════════════════════════ */
592
-
593
- .kol-spectrum-grid {
594
- display: grid;
595
- grid-template-columns: 100px repeat(10, minmax(0, 1fr));
596
- gap: 4px;
597
- width: 100%;
598
- }
599
-
600
- .kol-spectrum-grid--loading {
601
- min-height: 400px;
602
- background: var(--kol-fg-02);
603
- border-radius: 6px;
604
- }
605
-
606
- .kol-spectrum-grid-head {
607
- display: contents;
608
- }
609
-
610
- .kol-spectrum-grid-corner {
611
- grid-column: 1;
612
- }
613
-
614
- .kol-spectrum-grid-stop-label {
615
- font-family: var(--kol-font-family-mono, monospace);
616
- font-size: 11px;
617
- text-transform: uppercase;
618
- letter-spacing: 0.08em;
619
- color: var(--kol-fg-48);
620
- padding: 4px 6px;
621
- text-align: center;
622
- }
623
-
624
- .kol-spectrum-grid-row {
625
- display: contents;
626
- }
627
-
628
- .kol-spectrum-grid-row-label {
629
- font-family: var(--kol-font-family-mono, monospace);
630
- font-size: 12px;
631
- font-weight: 500;
632
- letter-spacing: 0.02em;
633
- color: var(--kol-surface-on-primary);
634
- align-self: center;
635
- padding-right: 12px;
636
- }
637
-
638
- .kol-spectrum-grid-row-label::first-letter {
639
- text-transform: uppercase;
640
- }
641
-
642
- .kol-spectrum-grid-cell {
643
- position: relative;
644
- aspect-ratio: 5 / 3;
645
- min-width: 0;
646
- border-radius: 4px;
647
- padding: 6px 8px;
648
- display: flex;
649
- flex-direction: column;
650
- justify-content: space-between;
651
- transition: transform 120ms ease;
652
- }
653
-
654
- .kol-spectrum-grid-cell-marker {
655
- position: absolute;
656
- top: 50%;
657
- left: 50%;
658
- transform: translate(-50%, -50%);
659
- width: 10px;
660
- height: 10px;
661
- border-radius: 50%;
662
- background: currentColor;
663
- opacity: 0.85;
664
- pointer-events: none;
665
- }
666
-
667
- .kol-spectrum-grid-cell:hover {
668
- transform: scale(1.04);
669
- }
670
-
671
- .kol-spectrum-grid-cell-stop {
672
- font-family: var(--kol-font-family-mono, monospace);
673
- font-weight: 700;
674
- font-size: 12px;
675
- letter-spacing: 0.04em;
676
- }
578
+ /* SpectrumGrid chrome moved to kol-theme/kol-components-molecules.css
579
+ 2026-07-30 (task 8): it was defined in BOTH packages, so the cascade picked
580
+ a winner by load order and a consumer editing the theme copy saw nothing.
581
+ Theme owns component chrome. */
677
582
 
678
- .kol-spectrum-grid-cell-hex {
679
- font-family: var(--kol-font-family-mono, monospace);
680
- font-size: 9px;
681
- text-transform: uppercase;
682
- opacity: 0.78;
683
- }
684
-
685
- @media (max-width: 900px) {
686
- .kol-spectrum-grid {
687
- grid-template-columns: 72px repeat(10, minmax(0, 1fr));
688
- gap: 2px;
689
- }
690
- .kol-spectrum-grid-cell {
691
- padding: 4px;
692
- }
693
- .kol-spectrum-grid-cell-hex {
694
- display: none;
695
- }
696
- }
697
583
 
698
584
 
699
585
  /* .kol-anatomy-sample-* relocated to kol-theme/kol-components-styleguide.css 2026-07-10 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-framework",
3
- "version": "0.6.3",
3
+ "version": "0.7.0",
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.12.19",
30
+ "@kolkrabbi/kol-component": "0.14.0",
31
31
  "@kolkrabbi/kol-icons": "0.8.10"
32
32
  },
33
33
  "peerDependencies": {