@krizaka/tokens 2.8.0 → 2.10.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/BRAND.md +17 -3
- package/README.md +2 -2
- package/dist/brands/scoped.css +43 -0
- package/dist/brands/yororis.css +46 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +40 -0
- package/dist/native.d.ts +1 -1
- package/dist/native.js +40 -0
- package/dist/tokens.css +1 -1
- package/package.json +7 -6
package/BRAND.md
CHANGED
|
@@ -13,6 +13,7 @@ overrides). A product never re-invents its values: it imports its brand.
|
|
|
13
13
|
| **Orazaka** (sovereign AI) | **Orange**, hue 26 — the accent and the mark share it. | Hue 38 (amber) is `--kz-warning`: a primary button, and since 2.1.0 the mark, must never read as a warning. The light theme's accent is the deep orange `#b45309`, also the first stop of the mark. `info` stays blue (an orange "info" would read as a warning). |
|
|
14
14
|
| **Orochia** (creators) | **Velvet violet → magenta**, the serpent of its mark (unchanged). | The values of `@krizaka/orochia-design-system`, already adjusted to AA. |
|
|
15
15
|
| **Yazakia** (dating, talk first) | **Emerald → turquoise.** The accent is the turquoise (hue 174); the emerald (hue 152–156) is the mark's first stop and `accent-2`. | Green is the family's free colour and takes the opposite view of the red and pink of dating apps. `--kz-success` is emerald (hue 160): a primary button must never read as a success, so the accent sits 14° away on the turquoise (a test) and the emerald stays in the mark and the gradients. Dark: light turquoise under near-black text (11:1); light: deep turquoise under white (5.9:1). `info` stays blue. |
|
|
16
|
+
| **Yororis** (a listening space) | **Sand → sage.** A warm neutral that slides into a soft grey green: calm. The accent is the sage (hue 98–100); the sand (hue 34–36) is the mark's first stop, the core's light and `accent-2`. | Apart from every other brand (Yazakia's emerald and turquoise, the blue, the orange, the violet) and from every status: the sage sits ≥ 60° from `--kz-success` (160) and `--kz-warning` (38). The sand shares the warning's hue family, so it is told apart by its chroma — at most half the warning's saturation (≤ 40 % vs 92 %, a test) — and it never fills a primary button alone. Dark: light sage under near-black text (8.6:1); light: deep sage under white (6.9:1). `info` stays blue. |
|
|
16
17
|
|
|
17
18
|
### Palette (the accent family)
|
|
18
19
|
|
|
@@ -29,6 +30,18 @@ overrides). A product never re-invents its values: it imports its brand.
|
|
|
29
30
|
| `ring` | = accent | = accent | = accent | = accent | #a78bfa | #7c3aed | = accent | = accent |
|
|
30
31
|
| `info` | = accent | = accent | `hsl(217 92% 60%)` | `hsl(217 92% 50%)` | = accent | = accent | `hsl(217 92% 60%)` | `hsl(217 92% 50%)` |
|
|
31
32
|
|
|
33
|
+
Yororis (a table of its own so the row above stays readable):
|
|
34
|
+
|
|
35
|
+
| Role | Yororis dark | Yororis light |
|
|
36
|
+
| :-- | :-- | :-- |
|
|
37
|
+
| `accent` | `hsl(98 24% 62%)` #98b587 | `hsl(100 28% 30%)` #456237 |
|
|
38
|
+
| `accent-hover` | `hsl(98 26% 70%)` (lightens) | `hsl(100 30% 25%)` |
|
|
39
|
+
| `on-accent` | near-black (8.6:1) | white (6.9:1) |
|
|
40
|
+
| `accent-text` | `hsl(98 28% 68%)` #a7c497 | `hsl(100 28% 28%)` #415b33 |
|
|
41
|
+
| `accent-2` | sand `hsl(36 38% 62%)` #c3a579 | `hsl(34 38% 33%)` #745834 |
|
|
42
|
+
| `ring` | = accent | = accent |
|
|
43
|
+
| `info` | `hsl(217 92% 60%)` | `hsl(217 92% 50%)` |
|
|
44
|
+
|
|
32
45
|
Every pair is a test (`test/tokens.test.ts`, "brands"): `on-accent` ≥ 4.5:1 on `accent`, `accent-hover` and
|
|
33
46
|
`accent-2`; `accent-text` ≥ 4.5:1 on surfaces 0–3 and on every section-gradient stop; `ring` ≥ 3:1 on the page;
|
|
34
47
|
`text-primary` / `text-secondary` ≥ 4.5:1 on every section-gradient stop — in dark **and** light.
|
|
@@ -70,10 +83,11 @@ after in Storybook, *Brand/Evolution*):
|
|
|
70
83
|
| Krizaka | An **ink** hexagonal shield, open at its upper-right vertex where a **blue node** breaks out, around a blue core. | Before: hairline strokes and five hard-coded blues that vanished below 48 px and did not crop. Now the weight, crop and grammar of Orochia; ink + one blue, the brand palette. |
|
|
71
84
|
| Orazaka | Three **solid** hexagonal shards in the brand's orange gradient, orbiting a core. | Before: two grey outlines and one amber, 3.5-unit strokes — the mark read grey and thin next to Orochia. Same idea, now solid, with the family's crop. **2.1.0:** amber (`#b45309 → #f59e0b`, hues 26 → 38) becomes the brand's orange — deep orange `hsl(26 90.5% 37.1%)` #b45309 → orange `hsl(26 92% 45%)` #dc6509, one hue: the old light stop was the warning's hue and read at 2:1 on a light page; every stop now reads ≥ 3:1 on surfaces 0–2 in dark and light (a test). |
|
|
72
85
|
| Orochia | The serpent coiled into an "O" around the flame. | Unchanged. |
|
|
73
|
-
| Yazakia | Two **solid**
|
|
86
|
+
| Yazakia | **Two voices**: two **solid** speech bubbles, mirrored, that overlap — the left a shade deeper, each tail pointing down and out. Where they overlap, what the two share once they have talked, is the bright core: a lens lit from above that breathes, set apart by a thin gap. The pair, two nodes, rides the dashed orbit. | New (3rd product, 2026-10). Emerald `hsl(156 92% 32%)` #079d61 → turquoise `hsl(178 90% 32%)` #089b96, mid-tones chosen so that every stop reads ≥ 3:1 on surfaces 0–2 in dark and light (a test): one mark for both themes. **2.9:** the first mark (a "Y" of two thin arms ending in heads) read as a plain thin "Y" at 16–24 px, weak next to Orochia; the bubbles are a filled glyph of Orochia's weight, readable in a nav chip, and say the product — talk first, both ways — without a heart. |
|
|
87
|
+
| Yororis | **The hold**: two **filled** leaves — open hands — rise from one stem into a "Y" and cup a warm core that rests *inside* them (not on the junction): held, given room, listened to. A vein of light runs along each leaf (depth, like the serpent's scales); one node, the moment, rides the dashed orbit — it comes round, then it goes. The slowest breath of the family (4.2 s). | New (4th product, 2026-10). Chosen over a standing crane and a bowing crane (captures in the pull request): the only one that stays a clear "Y" with its core at 20 px. Sand `hsl(34 46% 44%)` #a4773d → sage `hsl(104 28% 42%)` #5d894d, every stop ≥ 3:1 on surfaces 0–2 in dark and light (a test); the core rises from the sand to a light sand #e6c993. |
|
|
74
88
|
|
|
75
|
-
Web: `KrizakaLogo`, `OrazakaLogo`, `OrochiaLogo`, `YazakiaLogo`, `ProductLogo id` (`@krizaka/ui`). Native: `KrizakaMark`,
|
|
76
|
-
`OrazakaMark`, `OrochiaMark`, `YazakiaMark`, `ProductMark id` (`@krizaka/ui/native`). The geometry is shared
|
|
89
|
+
Web: `KrizakaLogo`, `OrazakaLogo`, `OrochiaLogo`, `YazakiaLogo`, `YororisLogo`, `ProductLogo id` (`@krizaka/ui`). Native: `KrizakaMark`,
|
|
90
|
+
`OrazakaMark`, `OrochiaMark`, `YazakiaMark`, `YororisMark`, `ProductMark id` (`@krizaka/ui/native`). The geometry is shared
|
|
77
91
|
(`packages/ui/src/marks/*-geometry.ts`); the emblem gradients are **brand tokens** — `$extensions["com.krizaka"].mark` of
|
|
78
92
|
each `src/brands/<id>.brand.json`, exported as `marks.<id>` (`@krizaka/tokens`, `/native`) — read by the geometry, never
|
|
79
93
|
copied. A mark is the same in both themes: its stops are chosen to read on dark and light pages.
|
package/README.md
CHANGED
|
@@ -28,8 +28,8 @@ npm install @krizaka/tokens
|
|
|
28
28
|
| `@krizaka/tokens/tokens.css` | Web (imported once, usually through `@krizaka/tailwind`) | The `--kz-*` custom properties. |
|
|
29
29
|
| `@krizaka/tokens` | TS / JS on the web (canvas, charts, e-mails, inline styles) | `tokens` (`var(--kz-…)` references, camelCase keys), `values.dark` / `values.light` (raw CSS, aliases resolved), `TokenName`. |
|
|
30
30
|
| `@krizaka/tokens/native` | React Native / Expo | `themes.dark` / `themes.light` (hex, `rgba()` when translucent), `radius` (dp), `typography`, `motion.ease`, type `Theme`; `brands.<id>` (ThemeProvider overrides); `marks.<id>` (the mark's emblem gradient, `[offset, #rrggbb]` stops). |
|
|
31
|
-
| `@krizaka/tokens/brands/<id>.css` | A product app (`krizaka`, `orazaka`, `orochia`, `yazakia`), after the tokens | The brand's accent family and section gradient, dark and light. |
|
|
32
|
-
| `@krizaka/tokens/brands/scoped.css` | A page showing several brands | `.brand-krizaka`, `.brand-orazaka`, `.brand-orochia`, `.brand-yazakia`. |
|
|
31
|
+
| `@krizaka/tokens/brands/<id>.css` | A product app (`krizaka`, `orazaka`, `orochia`, `yazakia`, `yororis`), after the tokens | The brand's accent family and section gradient, dark and light. |
|
|
32
|
+
| `@krizaka/tokens/brands/scoped.css` | A page showing several brands | `.brand-krizaka`, `.brand-orazaka`, `.brand-orochia`, `.brand-yazakia`, `.brand-yororis`. |
|
|
33
33
|
|
|
34
34
|
**Brands:** one colour per brand, its marks, icons and page language are in [`BRAND.md`](./BRAND.md).
|
|
35
35
|
|
package/dist/brands/scoped.css
CHANGED
|
@@ -172,3 +172,46 @@ html .theme-dark .brand-yazakia, html .brand-yazakia.theme-dark {
|
|
|
172
172
|
--kz-brand-gradient-via: hsl(180 35% 7%);
|
|
173
173
|
--kz-brand-gradient-to: var(--kz-surface-0);
|
|
174
174
|
}
|
|
175
|
+
|
|
176
|
+
.brand-yororis {
|
|
177
|
+
--kz-accent: hsl(98 24% 62%);
|
|
178
|
+
--kz-accent-hover: hsl(98 26% 70%);
|
|
179
|
+
--kz-accent-soft: hsl(98 24% 62% / 0.12);
|
|
180
|
+
--kz-accent-text: hsl(98 28% 68%);
|
|
181
|
+
--kz-accent-2: hsl(36 38% 62%);
|
|
182
|
+
--kz-on-accent: hsl(240 6% 5%);
|
|
183
|
+
--kz-ring: var(--kz-accent);
|
|
184
|
+
--kz-info: hsl(217 92% 60%);
|
|
185
|
+
--kz-info-text: hsl(217 92% 68%);
|
|
186
|
+
--kz-brand-gradient-from: hsl(36 22% 9%);
|
|
187
|
+
--kz-brand-gradient-via: hsl(98 14% 7%);
|
|
188
|
+
--kz-brand-gradient-to: var(--kz-surface-0);
|
|
189
|
+
}
|
|
190
|
+
html.light .brand-yororis, html .theme-light .brand-yororis, html .brand-yororis.theme-light {
|
|
191
|
+
--kz-accent: hsl(100 28% 30%);
|
|
192
|
+
--kz-accent-hover: hsl(100 30% 25%);
|
|
193
|
+
--kz-accent-soft: hsl(100 28% 30% / 0.08);
|
|
194
|
+
--kz-accent-text: hsl(100 28% 28%);
|
|
195
|
+
--kz-accent-2: hsl(34 38% 33%);
|
|
196
|
+
--kz-on-accent: hsl(0 0% 100%);
|
|
197
|
+
--kz-ring: var(--kz-accent);
|
|
198
|
+
--kz-info: hsl(217 92% 50%);
|
|
199
|
+
--kz-info-text: hsl(217 92% 42%);
|
|
200
|
+
--kz-brand-gradient-from: hsl(38 45% 93%);
|
|
201
|
+
--kz-brand-gradient-via: hsl(96 30% 95%);
|
|
202
|
+
--kz-brand-gradient-to: var(--kz-surface-0);
|
|
203
|
+
}
|
|
204
|
+
html .theme-dark .brand-yororis, html .brand-yororis.theme-dark {
|
|
205
|
+
--kz-accent: hsl(98 24% 62%);
|
|
206
|
+
--kz-accent-hover: hsl(98 26% 70%);
|
|
207
|
+
--kz-accent-soft: hsl(98 24% 62% / 0.12);
|
|
208
|
+
--kz-accent-text: hsl(98 28% 68%);
|
|
209
|
+
--kz-accent-2: hsl(36 38% 62%);
|
|
210
|
+
--kz-on-accent: hsl(240 6% 5%);
|
|
211
|
+
--kz-ring: var(--kz-accent);
|
|
212
|
+
--kz-info: hsl(217 92% 60%);
|
|
213
|
+
--kz-info-text: hsl(217 92% 68%);
|
|
214
|
+
--kz-brand-gradient-from: hsl(36 22% 9%);
|
|
215
|
+
--kz-brand-gradient-via: hsl(98 14% 7%);
|
|
216
|
+
--kz-brand-gradient-to: var(--kz-surface-0);
|
|
217
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* @krizaka/tokens — GÉNÉRÉ depuis src/brands/yororis.brand.json par scripts/build.mjs : ne pas éditer.
|
|
2
|
+
Yororis — sable → sauge, un neutre chaud qui glisse vers un vert gris doux : apaisant, distinct de l'émeraude de Yazakia, du bleu de Krizaka, de l'orange d'Orazaka et du violet d'Orochia. L'accent (boutons, liens, anneau) est la sauge, teinte 98 : à 60° de --kz-success (160) et de --kz-warning (38), pour qu'un bouton principal ne se lise jamais comme un statut. Dark : sauge claire sous texte quasi noir ; light : sauge profonde sous texte blanc. accent-2 est le sable (teinte 36), le second temps du dégradé des boutons et de la mascotte, jamais un statut : sa teinte est voisine de --kz-warning, il s'en sépare par la saturation (≤ 40 %, contre 92 % pour l'ambre des avertissements — un test). info reste bleu. Le logo (mark) est un dégradé sable (34) → sauge (104) de teinte moyenne, identique dans les deux thèmes et ≥ 3:1 sur les surfaces 0–2 des deux thèmes.
|
|
3
|
+
Importé après tokens.css (ou @krizaka/tailwind) : l'identité yororis sur toute l'app, dans les deux thèmes. */
|
|
4
|
+
|
|
5
|
+
:root, .theme-dark {
|
|
6
|
+
--kz-accent: hsl(98 24% 62%);
|
|
7
|
+
--kz-accent-hover: hsl(98 26% 70%);
|
|
8
|
+
--kz-accent-soft: hsl(98 24% 62% / 0.12);
|
|
9
|
+
--kz-accent-text: hsl(98 28% 68%);
|
|
10
|
+
--kz-accent-2: hsl(36 38% 62%);
|
|
11
|
+
--kz-on-accent: hsl(240 6% 5%);
|
|
12
|
+
--kz-ring: var(--kz-accent);
|
|
13
|
+
--kz-info: hsl(217 92% 60%);
|
|
14
|
+
--kz-info-text: hsl(217 92% 68%);
|
|
15
|
+
--kz-brand-gradient-from: hsl(36 22% 9%);
|
|
16
|
+
--kz-brand-gradient-via: hsl(98 14% 7%);
|
|
17
|
+
--kz-brand-gradient-to: var(--kz-surface-0);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
html.light {
|
|
21
|
+
--kz-accent: hsl(100 28% 30%);
|
|
22
|
+
--kz-accent-hover: hsl(100 30% 25%);
|
|
23
|
+
--kz-accent-soft: hsl(100 28% 30% / 0.08);
|
|
24
|
+
--kz-accent-text: hsl(100 28% 28%);
|
|
25
|
+
--kz-accent-2: hsl(34 38% 33%);
|
|
26
|
+
--kz-on-accent: hsl(0 0% 100%);
|
|
27
|
+
--kz-info: hsl(217 92% 50%);
|
|
28
|
+
--kz-info-text: hsl(217 92% 42%);
|
|
29
|
+
--kz-brand-gradient-from: hsl(38 45% 93%);
|
|
30
|
+
--kz-brand-gradient-via: hsl(96 30% 95%);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.theme-light {
|
|
34
|
+
--kz-accent: hsl(100 28% 30%);
|
|
35
|
+
--kz-accent-hover: hsl(100 30% 25%);
|
|
36
|
+
--kz-accent-soft: hsl(100 28% 30% / 0.08);
|
|
37
|
+
--kz-accent-text: hsl(100 28% 28%);
|
|
38
|
+
--kz-accent-2: hsl(34 38% 33%);
|
|
39
|
+
--kz-on-accent: hsl(0 0% 100%);
|
|
40
|
+
--kz-ring: var(--kz-accent);
|
|
41
|
+
--kz-info: hsl(217 92% 50%);
|
|
42
|
+
--kz-info-text: hsl(217 92% 42%);
|
|
43
|
+
--kz-brand-gradient-from: hsl(38 45% 93%);
|
|
44
|
+
--kz-brand-gradient-via: hsl(96 30% 95%);
|
|
45
|
+
--kz-brand-gradient-to: var(--kz-surface-0);
|
|
46
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -159,7 +159,7 @@ export interface TypeStep {
|
|
|
159
159
|
export declare const typeScale: readonly TypeStep[];
|
|
160
160
|
|
|
161
161
|
/** A Krizaka brand. */
|
|
162
|
-
export type BrandId = "krizaka" | "orazaka" | "orochia" | "yazakia";
|
|
162
|
+
export type BrandId = "krizaka" | "orazaka" | "orochia" | "yazakia" | "yororis";
|
|
163
163
|
/** The roles a brand theme sets. */
|
|
164
164
|
export type BrandRole = "accent" | "accentHover" | "accentSoft" | "accentText" | "accent2" | "onAccent" | "ring" | "info" | "infoText" | "brandGradientFrom" | "brandGradientVia" | "brandGradientTo";
|
|
165
165
|
/** The brand themes: the accent family of each Krizaka brand, raw CSS per theme (aliases resolved). */
|
package/dist/index.js
CHANGED
|
@@ -653,6 +653,36 @@ export const brands = /* @__PURE__ */ Object.freeze({
|
|
|
653
653
|
"brandGradientVia": "hsl(176 70% 95%)",
|
|
654
654
|
"brandGradientTo": "hsl(0 0% 98%)"
|
|
655
655
|
}
|
|
656
|
+
},
|
|
657
|
+
"yororis": {
|
|
658
|
+
"dark": {
|
|
659
|
+
"accent": "hsl(98 24% 62%)",
|
|
660
|
+
"accentHover": "hsl(98 26% 70%)",
|
|
661
|
+
"accentSoft": "hsl(98 24% 62% / 0.12)",
|
|
662
|
+
"accentText": "hsl(98 28% 68%)",
|
|
663
|
+
"accent2": "hsl(36 38% 62%)",
|
|
664
|
+
"onAccent": "hsl(240 6% 5%)",
|
|
665
|
+
"ring": "hsl(98 24% 62%)",
|
|
666
|
+
"info": "hsl(217 92% 60%)",
|
|
667
|
+
"infoText": "hsl(217 92% 68%)",
|
|
668
|
+
"brandGradientFrom": "hsl(36 22% 9%)",
|
|
669
|
+
"brandGradientVia": "hsl(98 14% 7%)",
|
|
670
|
+
"brandGradientTo": "hsl(240 6% 5%)"
|
|
671
|
+
},
|
|
672
|
+
"light": {
|
|
673
|
+
"accent": "hsl(100 28% 30%)",
|
|
674
|
+
"accentHover": "hsl(100 30% 25%)",
|
|
675
|
+
"accentSoft": "hsl(100 28% 30% / 0.08)",
|
|
676
|
+
"accentText": "hsl(100 28% 28%)",
|
|
677
|
+
"accent2": "hsl(34 38% 33%)",
|
|
678
|
+
"onAccent": "hsl(0 0% 100%)",
|
|
679
|
+
"ring": "hsl(100 28% 30%)",
|
|
680
|
+
"info": "hsl(217 92% 50%)",
|
|
681
|
+
"infoText": "hsl(217 92% 42%)",
|
|
682
|
+
"brandGradientFrom": "hsl(38 45% 93%)",
|
|
683
|
+
"brandGradientVia": "hsl(96 30% 95%)",
|
|
684
|
+
"brandGradientTo": "hsl(0 0% 98%)"
|
|
685
|
+
}
|
|
656
686
|
}
|
|
657
687
|
});
|
|
658
688
|
/** The marks' emblem gradients: [offset, colour] stops, the same in both themes (raw CSS). */
|
|
@@ -700,5 +730,15 @@ export const marks = /* @__PURE__ */ Object.freeze({
|
|
|
700
730
|
"100%",
|
|
701
731
|
"hsl(178 90% 32%)"
|
|
702
732
|
]
|
|
733
|
+
],
|
|
734
|
+
"yororis": [
|
|
735
|
+
[
|
|
736
|
+
"0%",
|
|
737
|
+
"hsl(34 46% 44%)"
|
|
738
|
+
],
|
|
739
|
+
[
|
|
740
|
+
"100%",
|
|
741
|
+
"hsl(104 28% 42%)"
|
|
742
|
+
]
|
|
703
743
|
]
|
|
704
744
|
});
|
package/dist/native.d.ts
CHANGED
|
@@ -101,7 +101,7 @@ export declare const shadows: { readonly dark: Shadows; readonly light: Shadows
|
|
|
101
101
|
export declare const cut: { readonly size: number };
|
|
102
102
|
|
|
103
103
|
/** A Krizaka brand. */
|
|
104
|
-
export type BrandId = "krizaka" | "orazaka" | "orochia" | "yazakia";
|
|
104
|
+
export type BrandId = "krizaka" | "orazaka" | "orochia" | "yazakia" | "yororis";
|
|
105
105
|
/** The colour roles a brand theme sets, per theme. */
|
|
106
106
|
export type BrandTheme = { readonly dark: { readonly [R in "accent" | "accentHover" | "accentSoft" | "accentText" | "accent2" | "onAccent" | "ring" | "info" | "infoText" | "brandGradientFrom" | "brandGradientVia" | "brandGradientTo"]: string }; readonly light: { readonly [R in "accent" | "accentHover" | "accentSoft" | "accentText" | "accent2" | "onAccent" | "ring" | "info" | "infoText" | "brandGradientFrom" | "brandGradientVia" | "brandGradientTo"]: string } };
|
|
107
107
|
/** The brand themes as ThemeProvider overrides (`overrides={brands.orazaka}`): the accent family per theme. */
|
package/dist/native.js
CHANGED
|
@@ -367,6 +367,36 @@ export const brands = /* @__PURE__ */ Object.freeze({
|
|
|
367
367
|
"brandGradientVia": "#e9fbfa",
|
|
368
368
|
"brandGradientTo": "#fafafa"
|
|
369
369
|
}
|
|
370
|
+
},
|
|
371
|
+
"yororis": {
|
|
372
|
+
"dark": {
|
|
373
|
+
"accent": "#98b587",
|
|
374
|
+
"accentHover": "#adc69f",
|
|
375
|
+
"accentSoft": "rgba(152,181,135,0.12)",
|
|
376
|
+
"accentText": "#a7c497",
|
|
377
|
+
"accent2": "#c3a579",
|
|
378
|
+
"onAccent": "#0c0c0e",
|
|
379
|
+
"ring": "#98b587",
|
|
380
|
+
"info": "#3b83f7",
|
|
381
|
+
"infoText": "#629cf8",
|
|
382
|
+
"brandGradientFrom": "#1c1812",
|
|
383
|
+
"brandGradientVia": "#11140f",
|
|
384
|
+
"brandGradientTo": "#0c0c0e"
|
|
385
|
+
},
|
|
386
|
+
"light": {
|
|
387
|
+
"accent": "#456237",
|
|
388
|
+
"accentHover": "#39532d",
|
|
389
|
+
"accentSoft": "rgba(69,98,55,0.08)",
|
|
390
|
+
"accentText": "#415b33",
|
|
391
|
+
"accent2": "#745834",
|
|
392
|
+
"onAccent": "#ffffff",
|
|
393
|
+
"ring": "#456237",
|
|
394
|
+
"info": "#0a64f5",
|
|
395
|
+
"infoText": "#0954ce",
|
|
396
|
+
"brandGradientFrom": "#f5efe5",
|
|
397
|
+
"brandGradientVia": "#f1f6ee",
|
|
398
|
+
"brandGradientTo": "#fafafa"
|
|
399
|
+
}
|
|
370
400
|
}
|
|
371
401
|
});
|
|
372
402
|
/** The marks' emblem gradients: [offset, #rrggbb] stops, the same in both themes. */
|
|
@@ -414,5 +444,15 @@ export const marks = /* @__PURE__ */ Object.freeze({
|
|
|
414
444
|
"100%",
|
|
415
445
|
"#089b96"
|
|
416
446
|
]
|
|
447
|
+
],
|
|
448
|
+
"yororis": [
|
|
449
|
+
[
|
|
450
|
+
"0%",
|
|
451
|
+
"#a4773d"
|
|
452
|
+
],
|
|
453
|
+
[
|
|
454
|
+
"100%",
|
|
455
|
+
"#5d894d"
|
|
456
|
+
]
|
|
417
457
|
]
|
|
418
458
|
});
|
package/dist/tokens.css
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
--kz-text-secondary: hsl(240 4% 64%); /* Texte d'appui, libellés */
|
|
23
23
|
--kz-text-muted: hsl(240 4% 47%); /* Métadonnées, placeholders, désactivé (≥ 3:1) */
|
|
24
24
|
|
|
25
|
-
/* Accent : l'identité de la marque (Krizaka par défaut ; Orazaka, Orochia, Yazakia dans src/brands). Surchargé par un thème de marque, jamais par un composant. */
|
|
25
|
+
/* Accent : l'identité de la marque (Krizaka par défaut ; Orazaka, Orochia, Yazakia, Yororis dans src/brands). Surchargé par un thème de marque, jamais par un composant. */
|
|
26
26
|
--kz-accent: hsl(217 92% 53%); /* Action principale, lien, sélection */
|
|
27
27
|
--kz-accent-hover: hsl(217 88% 45%); /* Accent au survol */
|
|
28
28
|
--kz-accent-soft: hsl(217 92% 53% / 0.10); /* Fond teinté (sélection, badge) */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krizaka/tokens",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "The Krizaka semantic design tokens (--kz-*) and the brand themes (Krizaka, Orazaka, Orochia, Yazakia): one DTCG source compiled to CSS (dark, light, media invariants), typed constants and React Native themes.",
|
|
3
|
+
"version": "2.10.0",
|
|
4
|
+
"description": "The Krizaka semantic design tokens (--kz-*) and the brand themes (Krizaka, Orazaka, Orochia, Yazakia, Yororis): one DTCG source compiled to CSS (dark, light, media invariants), typed constants and React Native themes.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"krizaka",
|
|
7
7
|
"design-tokens",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"./brands/orazaka.css": "./dist/brands/orazaka.css",
|
|
38
38
|
"./brands/orochia.css": "./dist/brands/orochia.css",
|
|
39
39
|
"./brands/yazakia.css": "./dist/brands/yazakia.css",
|
|
40
|
+
"./brands/yororis.css": "./dist/brands/yororis.css",
|
|
40
41
|
"./brands/scoped.css": "./dist/brands/scoped.css",
|
|
41
42
|
"./native": {
|
|
42
43
|
"types": "./dist/native.d.ts",
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
"size-limit": "^14.2.0",
|
|
63
64
|
"typescript": "^5.9.0",
|
|
64
65
|
"vitest": "^4.1.11",
|
|
65
|
-
"@krizaka/config": "0.
|
|
66
|
+
"@krizaka/config": "0.2.0"
|
|
66
67
|
},
|
|
67
68
|
"engines": {
|
|
68
69
|
"node": ">=20"
|
|
@@ -95,13 +96,13 @@
|
|
|
95
96
|
{
|
|
96
97
|
"name": ".",
|
|
97
98
|
"path": "dist/index.js",
|
|
98
|
-
"limit": "3.
|
|
99
|
+
"limit": "3.7 kB",
|
|
99
100
|
"gzip": true
|
|
100
101
|
},
|
|
101
102
|
{
|
|
102
103
|
"name": "./native",
|
|
103
104
|
"path": "dist/native.js",
|
|
104
|
-
"limit": "
|
|
105
|
+
"limit": "2 kB",
|
|
105
106
|
"gzip": true
|
|
106
107
|
}
|
|
107
108
|
],
|
|
@@ -111,6 +112,6 @@
|
|
|
111
112
|
"typecheck": "tsc --noEmit",
|
|
112
113
|
"test": "vitest run",
|
|
113
114
|
"size": "size-limit",
|
|
114
|
-
"publint": "publint && attw --pack . --profile esm-only --exclude-entrypoints ./tokens.css ./brands/krizaka.css ./brands/orazaka.css ./brands/orochia.css ./brands/yazakia.css ./brands/scoped.css"
|
|
115
|
+
"publint": "publint && attw --pack . --profile esm-only --exclude-entrypoints ./tokens.css ./brands/krizaka.css ./brands/orazaka.css ./brands/orochia.css ./brands/yazakia.css ./brands/yororis.css ./brands/scoped.css"
|
|
115
116
|
}
|
|
116
117
|
}
|