@oneli8/tokens 1.0.0-beta.8 → 1.0.0-beta.9
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 +10 -4
- package/ai-context.json +5 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,10 +22,16 @@ import '@oneli8/tokens/css'; // every token as a :root custom proper
|
|
|
22
22
|
import { tokens } from '@oneli8/tokens'; // flat { 'color-text-primary': '#151817', ... }
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
The names follow a grammar, and the grammar is borrowed from Sanskrit rather
|
|
26
|
+
than from a CSS convention. A compound that names one thing is written as one
|
|
27
|
+
word, and a qualifier stays separate from what it qualifies. That is the whole
|
|
28
|
+
rule, and the Naming section below works through it.
|
|
29
|
+
|
|
30
|
+
Figma is the authority on the result. Every variable there carries an explicit
|
|
31
|
+
code syntax, recorded verbatim in `src/figma-code-syntax.txt`, so a component
|
|
32
|
+
reads the spelling the designer set rather than one re-derived from the grammar.
|
|
33
|
+
Where the file spells two siblings differently, this package reproduces both
|
|
34
|
+
rather than tidying one. The grammar is the rule; the record is the spelling.
|
|
29
35
|
|
|
30
36
|
The vocabulary is authored across `src/primitive.json`, `src/semantic.json`,
|
|
31
37
|
`src/component.json` and `src/themes.json`, each value carrying its own
|
package/ai-context.json
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$comment": "GENERATED by packages/sync/src/build-package-context.mjs — do not edit.",
|
|
3
3
|
"system": "OneLi8",
|
|
4
|
-
"version": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.9",
|
|
5
5
|
"meaning": "OneLi8 means One Light.",
|
|
6
6
|
"foundations": {
|
|
7
7
|
"package": "@oneli8/tokens",
|
|
8
8
|
"css": "@oneli8/tokens/css",
|
|
9
9
|
"tokenPrefix": "--ol8-",
|
|
10
|
-
"
|
|
10
|
+
"naming": {
|
|
11
|
+
"grammar": "Sanskrit grammar, not a CSS convention. Two rules follow from it and together they explain every name in the system. First, a compound that names ONE thing is written as one word: actionprimary is a single role rather than action plus primary, and cutedge is one feature of the Gem material, so action-primary would suggest two things where there is one. Second, a qualifier stays SEPARATE from what it qualifies: in --ol8-material-control-gem--primary-hover-start, hover is a state applied to start, two grammatical roles, so they stay apart. That is why disabledcontent is joined while hover-start is not. Hyphens separate levels of the hierarchy, never words inside a level. Words stay readable: no abbreviations, no truncation, no btn where button will do.",
|
|
12
|
+
"authority": "Figma is the authority on the result. Every variable there carries an explicit codeSyntax, copied verbatim into packages/tokens/src/figma-code-syntax.txt. Read a name from that record rather than re-deriving it from the grammar, because the file is not perfectly regular between siblings and guessing is how code and design drifted apart before. The grammar is the rule; the record is the spelling."
|
|
13
|
+
},
|
|
11
14
|
"rules": [
|
|
12
15
|
"Components consume SEMANTIC roles only. Primitives (color-<family>-<step>) are hidden from pickers in Figma and must not appear in component code.",
|
|
13
16
|
"color-primary-* is an alias ramp onto color-blue-* — identical values, distinct names. Prefer the semantic role over either.",
|
package/package.json
CHANGED