@oneli8/react 1.0.0-beta.7 → 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 +39 -20
- package/ai-context.json +5 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,33 +1,57 @@
|
|
|
1
1
|
# @oneli8/react
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@oneli8/react)
|
|
4
|
+
[](https://github.com/Akshay007ad/OneLi8-Design-System/blob/main/LICENSE)
|
|
5
|
+
|
|
6
|
+
**OneLi8 means One Light.**
|
|
7
|
+
|
|
8
|
+
A design system created by Akshay Dhore, intended for broad human benefit and
|
|
9
|
+
conceived as service to Guruji Shrii Arnav, whose teachings inspire it. Service,
|
|
10
|
+
clarity, harmony, proportion, restraint and evolution guide its decisions.
|
|
11
|
+
|
|
12
|
+
The practical intention is narrower and easier to check. Most design systems
|
|
13
|
+
hand you components and hope you stay inside them. This one hands you the
|
|
14
|
+
reasoning as well, so when you need something it does not ship, you can build it
|
|
15
|
+
and have it still belong. The rules travel inside this package, not in a wiki
|
|
16
|
+
someone forgets to read.
|
|
4
17
|
|
|
5
18
|
```sh
|
|
6
19
|
npm install @oneli8/react
|
|
7
20
|
```
|
|
8
21
|
|
|
9
22
|
```jsx
|
|
10
|
-
import {
|
|
23
|
+
import { MultiSelectField } from '@oneli8/react';
|
|
11
24
|
import '@oneli8/react/styles.css';
|
|
12
25
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
26
|
+
<MultiSelectField
|
|
27
|
+
label="Skills"
|
|
28
|
+
options={skills}
|
|
29
|
+
values={chosen}
|
|
30
|
+
placeholder="Add skill…"
|
|
31
|
+
onRemoveValue={remove}
|
|
32
|
+
/>
|
|
16
33
|
```
|
|
17
34
|
|
|
18
|
-
|
|
35
|
+
Every component is drawn from a component set in the Figma source rather than
|
|
36
|
+
invented in code, and the two are checked against each other on every build.
|
|
19
37
|
|
|
20
|
-
|
|
21
|
-
|---|---|
|
|
22
|
-
| Atom | `Icon`, `SelectionIndicator`, `NavigationBadge` |
|
|
23
|
-
| Molecule | `Button`, `IconButton`, `Link`, `TextField`, `FormMessage`, `Select`, `ChoiceItem`, `SelectionOption`, `ChoiceChip`, `Token` |
|
|
24
|
-
| Organism | `Tabs`, `TabBar`, `SegmentedControl`, `RadioGroup`, `CheckboxGroup`, `SelectionPopup`, `Combobox`, `MultiSelectField`, `ChoicePicker` |
|
|
25
|
-
| Material | Gem, an attribute adapter rather than a tier |
|
|
38
|
+
## What is included
|
|
26
39
|
|
|
27
40
|
Twenty one components, matching `@oneli8/core` one for one. Both packages are
|
|
28
41
|
checked against each other on every build, so the two cannot answer differently
|
|
29
42
|
about a role, a name, a relationship or a state.
|
|
30
43
|
|
|
44
|
+
**Atoms** · `Icon` · `SelectionIndicator` · `NavigationBadge`
|
|
45
|
+
|
|
46
|
+
**Molecules** · `Button` · `IconButton` · `Link` · `TextField` · `FormMessage`
|
|
47
|
+
· `Select` · `ChoiceItem` · `SelectionOption` · `ChoiceChip` · `Token`
|
|
48
|
+
|
|
49
|
+
**Organisms** · `Tabs` · `TabBar` · `SegmentedControl` · `RadioGroup`
|
|
50
|
+
· `CheckboxGroup` · `SelectionPopup` · `Combobox` · `MultiSelectField`
|
|
51
|
+
· `ChoicePicker`
|
|
52
|
+
|
|
53
|
+
**Material** · Gem, an attribute adapter rather than a tier
|
|
54
|
+
|
|
31
55
|
## The system travels with the package
|
|
32
56
|
|
|
33
57
|
If you need a component OneLi8 does not ship, build it from these foundations
|
|
@@ -54,14 +78,9 @@ Read @oneli8/react/ai-context.json and PRINCIPLES.md before writing any OneLi8 U
|
|
|
54
78
|
|
|
55
79
|
## Why this exists
|
|
56
80
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
decisions. `PRINCIPLES.md` ships inside this package and sets them out in full.
|
|
61
|
-
|
|
62
|
-
The practical intention: most design systems hand you components and hope you
|
|
63
|
-
stay inside them. This one hands you the reasoning too, so when you need
|
|
64
|
-
something it does not ship you can build it and have it still belong.
|
|
81
|
+
`PRINCIPLES.md` ships inside this package and sets out the six values in full,
|
|
82
|
+
along with the three operating laws every component obeys. It is the document to
|
|
83
|
+
read before extending anything.
|
|
65
84
|
|
|
66
85
|
## Naming
|
|
67
86
|
|
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneli8/react",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.9",
|
|
4
4
|
"description": "OneLi8 Design System for React. Components, design tokens, the Gem material, and the design language they follow.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"NOTICE"
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@oneli8/tokens": "1.0.0-beta.
|
|
55
|
+
"@oneli8/tokens": "1.0.0-beta.9"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"react": ">=18"
|