@kolkrabbi/kol-styleguide 0.5.2 → 0.5.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.
- package/README.md +1 -1
- package/package.json +5 -5
- package/src/AssetCard.jsx +1 -1
- package/src/AssetTable.jsx +2 -2
- package/src/Brand.jsx +1 -1
- package/src/BrandBook.jsx +1 -1
- package/src/SocialMocks.jsx +2 -2
- package/src/Swatch.jsx +2 -2
- package/src/TypeBlock.jsx +4 -4
- package/src/brandBook.js +2 -2
- package/src/index.js +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The KOL **style-guide / brand-guide** component set — the visual specimens a brand manual is built from. Raided from the monorepo `apps/brand` styleguide and assembled here because a brand guide is a shared capability with its own cadence, distinct from the core UI atoms.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Color anatomy + the **combination lab** (60/30/10 palette × layout × logo, incl. applied-brand mockups), **logo** construction / clearspace / scaling, **mood tiles**, **type blocks**, and **asset spec tables** — plus the color/type specimen primitives (`ColorRamp`, `ColorSwatch`, `SpectrumGrid`, `TypeSample`, `TypeSpecCard`, `ProsePreview`, `AssetGrid`, `FeatureSplit`) gathered from the core packages.
|
|
6
6
|
|
|
7
7
|
```js
|
|
8
8
|
import { ComboLab, MoodTile, LogoCard, TypeBlock } from '@kolkrabbi/kol-styleguide'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-styleguide",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "KOL style-guide / brand-guide component set — the visual specimens a brand manual is built from: color anatomy + combination lab, logo construction / clearspace / scaling, mood tiles, type blocks, and asset spec tables. Raided from the apps/brand styleguide. Also the brand tool itself — `Brand` (BrandBook ⇄ BrandAssets) renders a whole brand book from one brand manifest. Sits above @kolkrabbi/kol-{theme,icons,component,framework}.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"react-dom": "^18.3.0 || ^19.0.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@kolkrabbi/kol-
|
|
23
|
-
"@kolkrabbi/kol-
|
|
24
|
-
"@kolkrabbi/kol-
|
|
25
|
-
"@kolkrabbi/kol-
|
|
22
|
+
"@kolkrabbi/kol-component": "^0.230.0",
|
|
23
|
+
"@kolkrabbi/kol-framework": "^0.46.0",
|
|
24
|
+
"@kolkrabbi/kol-theme": "^0.157.0",
|
|
25
|
+
"@kolkrabbi/kol-icons": "^0.29.1"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"src",
|
package/src/AssetCard.jsx
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* no text-transform beyond the `uppercase` the original carried.
|
|
24
24
|
*
|
|
25
25
|
* @param {ReactNode} caption - Label above the frame; omitted, no figcaption renders
|
|
26
|
-
* @param {string} backdrop - CSS
|
|
26
|
+
* @param {string} backdrop - CSS color for the frame ground (default: the fg-04 wash)
|
|
27
27
|
* @param {string} className - Extra classes on the <figure>
|
|
28
28
|
* @param {ReactNode} children - The mock
|
|
29
29
|
*/
|
package/src/AssetTable.jsx
CHANGED
|
@@ -3,7 +3,7 @@ import { Table } from '@kolkrabbi/kol-component'
|
|
|
3
3
|
import { Icon } from '@kolkrabbi/kol-icons'
|
|
4
4
|
|
|
5
5
|
/* Resolve a CSS custom property off the document root. The download seam is
|
|
6
|
-
* handed a
|
|
6
|
+
* handed a COLOR, not a token — a consumer swapping `currentColor` in raw SVG
|
|
7
7
|
* cannot use `var(--x)`, and resolving it at the call site is how two brand
|
|
8
8
|
* apps ended up with the same four-line helper. SSR-safe: '' when no document. */
|
|
9
9
|
function resolveToken(token) {
|
|
@@ -34,7 +34,7 @@ function resolveToken(token) {
|
|
|
34
34
|
* button. The consumer opens its own overlay (`FullscreenOverlay` in both
|
|
35
35
|
* brand apps) at the ink it is handed.
|
|
36
36
|
* - **`row.onDownload(row, resolvedInk)`** — the second argument is the
|
|
37
|
-
* COMPUTED
|
|
37
|
+
* COMPUTED color, not the token, so a consumer can swap `currentColor` for
|
|
38
38
|
* it and hand back a white mark that downloads white.
|
|
39
39
|
*
|
|
40
40
|
* Columns adapt to the data: Preview appears only when a row carries a
|
package/src/Brand.jsx
CHANGED
|
@@ -10,7 +10,7 @@ import { BRAND_VIEWS, brandToc, scrollToAnchor } from './brandBook.js'
|
|
|
10
10
|
* Brand — the whole brand tool: the brand book's two pages over one manifest, BRAND (the identity)
|
|
11
11
|
* and ASSETS (what you download or reproduce), a switch between them, and the page's sections on a
|
|
12
12
|
* rail. ONE component so every app that carries a brand renders the same tool (apps/brand alone,
|
|
13
|
-
* media-
|
|
13
|
+
* media-hub's Brand tab) — kol-notes' `Notes` shape.
|
|
14
14
|
*
|
|
15
15
|
* The manifest is `@kolkrabbi/kol-brand-template`'s schema; its `book` field carries the copy. The
|
|
16
16
|
* marks come from `Logo` (a component taking `variant`) or `logoSources` (id → raw SVG, which the
|
package/src/BrandBook.jsx
CHANGED
|
@@ -114,7 +114,7 @@ export function SectionIndex({ sections }) {
|
|
|
114
114
|
)
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
/*
|
|
117
|
+
/* Color — the copy, then one swatch row per ramp under its label and note. The first ramp's
|
|
118
118
|
* heading sits in the copy's own prose block (olina's Concept + Greyscale were one block); each
|
|
119
119
|
* further ramp opens its own, as kol-website's hue ramps did. */
|
|
120
120
|
function ColorSection({ s, ramps }) {
|
package/src/SocialMocks.jsx
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* - `KolLogo` imported from the app → the `mark` node.
|
|
12
12
|
* - A seven-stop client palette (champagne / sand / burgundy / maroon / wine)
|
|
13
13
|
* → `palette`, defaulting to the theme's own ink and paper. A brand supplies
|
|
14
|
-
* its own; the DS ships no
|
|
14
|
+
* its own; the DS ships no color.
|
|
15
15
|
* - `'Bricolage Grotesque'` and `'JetBrains Mono'` by name → `fonts`,
|
|
16
16
|
* defaulting to `--kol-font-family-sans-narrow` / `--kol-font-family-mono`.
|
|
17
17
|
* A foreign family by name in a package is how a consumer's type silently
|
|
@@ -248,7 +248,7 @@ export function StoryType({ mark, palette, fonts, quote = 'Your line here.', cla
|
|
|
248
248
|
*
|
|
249
249
|
* @param {ReactNode} mark - The brand mark
|
|
250
250
|
* @param {Object} palette - Partial override of DEFAULT_MOCK_PALETTE
|
|
251
|
-
* @param {string} bg - Ground
|
|
251
|
+
* @param {string} bg - Ground color; unset, the `paper` stop
|
|
252
252
|
* @param {'dark'|'light'} polarity - Which way the mark inks against that ground (default: 'dark')
|
|
253
253
|
* @param {string} className - Extra classes on the frame
|
|
254
254
|
*/
|
package/src/Swatch.jsx
CHANGED
|
@@ -5,7 +5,7 @@ import { ColorSwatch } from '@kolkrabbi/kol-component'
|
|
|
5
5
|
* with an optional canonical-anchor dot.
|
|
6
6
|
*
|
|
7
7
|
* `ColorSwatch` (kol-component) is the chip alone — a fixed-size pressable atom
|
|
8
|
-
* for paint bars and inspectors. A
|
|
8
|
+
* for paint bars and inspectors. A color PAGE needs the specimen plus its label
|
|
9
9
|
* and value, which is the form both brand apps had built locally
|
|
10
10
|
* (`brand-book-mocks-two-consumers`, 2026-09-03: 23 lines, byte-identical in
|
|
11
11
|
* kol-client-olina and kol-website). This composes the atom rather than
|
|
@@ -31,7 +31,7 @@ import { ColorSwatch } from '@kolkrabbi/kol-component'
|
|
|
31
31
|
* The hex is uppercased — that is value formatting, not a text-transform on
|
|
32
32
|
* copy; `name` renders exactly as authored.
|
|
33
33
|
*
|
|
34
|
-
* @param {string} hex - The
|
|
34
|
+
* @param {string} hex - The color, e.g. '#131316' (required — it is both the paint and the printed value)
|
|
35
35
|
* @param {ReactNode} name - Label beside the value; omitted, only the hex renders
|
|
36
36
|
* @param {boolean} anchor - Mark this stop as the palette's canonical anchor — a difference-blended dot centred on the chip (default: false)
|
|
37
37
|
* @param {number|string} height - Specimen depth, the forks' `.kol-swatch-chip` height (default: 96)
|
package/src/TypeBlock.jsx
CHANGED
|
@@ -5,12 +5,12 @@ import { familyFor } from './typographyCuts'
|
|
|
5
5
|
*
|
|
6
6
|
* Renders one sample string with a fully consumer-controlled type treatment:
|
|
7
7
|
* cut (Right Grotesk width / mono), weight, italic, size, tracking,
|
|
8
|
-
* line-height, case, alignment,
|
|
8
|
+
* line-height, case, alignment, color, and an optional stroke. A pure,
|
|
9
9
|
* stateless render — feed it props, it draws the specimen. Defaults land on
|
|
10
10
|
* Right Grotesk regular so a bare `<TypeBlock />` shows a legible baseline.
|
|
11
11
|
*
|
|
12
|
-
* **Position +
|
|
13
|
-
* container, outline, or drag chrome, and inherits
|
|
12
|
+
* **Position + color are the consumer's job.** TypeBlock owns no positioned
|
|
13
|
+
* container, outline, or drag chrome, and inherits color by default
|
|
14
14
|
* (`currentColor`) so the surrounding surface / theme drives ink. Wrap it in
|
|
15
15
|
* whatever tile, row, or frame the specimen page needs.
|
|
16
16
|
*
|
|
@@ -38,7 +38,7 @@ import { familyFor } from './typographyCuts'
|
|
|
38
38
|
* align text-align
|
|
39
39
|
* color ink (default 'currentColor' — inherit from surface / theme)
|
|
40
40
|
* strokeWidth outline width in px (0 = none)
|
|
41
|
-
* strokeColor outline
|
|
41
|
+
* strokeColor outline color (required for stroke to render)
|
|
42
42
|
* className extra classes on the sample element
|
|
43
43
|
* style inline-style overrides merged last
|
|
44
44
|
*/
|
package/src/brandBook.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* or reproduce — each a stack of sections. The section ids, eyebrows, titles and ledes below are
|
|
7
7
|
* that app's, verbatim — except the Logos and Branded ledes, which named files in that repo and are
|
|
8
8
|
* left for its manifest to set; anything that was the CLIENT's copy (About, Tone, Look, the logo concept,
|
|
9
|
-
* the
|
|
9
|
+
* the color concept) is not here — it comes from the manifest's `book` field, section by section
|
|
10
10
|
* (`@kolkrabbi/kol-brand-template` schema). A manifest key overrides the default of the same name.
|
|
11
11
|
*/
|
|
12
12
|
|
|
@@ -100,7 +100,7 @@ export const BRANDED_ASSET_ROWS = [
|
|
|
100
100
|
]
|
|
101
101
|
|
|
102
102
|
/** An in-page anchor click that scrolls instead of setting the hash — the host may route on the hash
|
|
103
|
-
* (media-
|
|
103
|
+
* (media-hub does; apps/brand keeps its page there), so an anchor must not replace it. */
|
|
104
104
|
export function scrollToAnchor(e) {
|
|
105
105
|
e.preventDefault()
|
|
106
106
|
const id = e.currentTarget.getAttribute('href')?.slice(1)
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @kolkrabbi/kol-styleguide — the brand style-guide component set.
|
|
2
2
|
//
|
|
3
|
-
// Visual specimens a brand manual is built from —
|
|
3
|
+
// Visual specimens a brand manual is built from — color anatomy + the
|
|
4
4
|
// combination lab, logo construction / clearspace / scaling, mood tiles,
|
|
5
5
|
// type blocks, asset spec tables. Raided from the monorepo apps/brand
|
|
6
6
|
// styleguide (2026-07). Styling ships in @kolkrabbi/kol-theme
|