aibos-design-system 1.0.0 → 1.0.1

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.
@@ -1,379 +1,379 @@
1
- # Neo-Analog Design System - API Reference
2
-
3
- **Quick Reference Guide for npm Package Users**
4
-
5
- This document provides a complete reference for all typography, spacing, colors, and component classes available in the Neo-Analog Design System.
6
-
7
- ---
8
-
9
- ## 📖 Table of Contents
10
-
11
- 1. [Typography Hierarchy](#typography-hierarchy)
12
- 2. [Spacing & Padding](#spacing--padding)
13
- 3. [Component Classes](#component-classes)
14
- 4. [Color Tokens](#color-tokens)
15
- 5. [Layout Classes](#layout-classes)
16
- 6. [Using Design Tokens](#using-design-tokens)
17
-
18
- ---
19
-
20
- ## Typography Hierarchy
21
-
22
- **⚠️ Important**: Always use semantic classes (`.na-h1` through `.na-h6`) instead of hardcoding font sizes. This prevents design drift.
23
-
24
- ### Heading Classes
25
-
26
- | Class | Size | Weight | Line Height | Usage |
27
- |-------|------|--------|-------------|-------|
28
- | `.na-h1` | **32px** (2rem) | **700** (bold) | 1.2 | Page titles (unique H1 per page) |
29
- | `.na-h2` | **24px** (1.5rem) | **600** (semibold) | 1.3 | Section titles (major page divisions) |
30
- | `.na-h3` | **20px** (1.25rem) | **600** (semibold) | 1.4 | Subsection titles (within sections) |
31
- | `.na-h4` | **18px** (1.125rem) | **600** (semibold) | 1.4 | Card titles (inside `.na-card`) |
32
- | `.na-h5` | **16px** (1rem) | **600** (semibold) | 1.5 | Small titles (minor groupings) |
33
- | `.na-h6` | **14px** (0.875rem) | **600** (semibold) | 1.5 | Micro titles (tooltips, tiny headers) |
34
-
35
- ### Data & Metadata Classes
36
-
37
- | Class | Size | Weight | Font | Usage |
38
- |-------|------|--------|------|-------|
39
- | `.na-data` | **14px** (0.875rem) | **400** (normal) | Monospace | Primary data values, table cells, user input |
40
- | `.na-data-large` | **30px** (1.875rem) | **500** (medium) | Serif | KPI values, hero numbers, dashboard stats |
41
- | `.na-metadata` | **11px** (0.6875rem) | **500** (medium) | Sans | Field labels, column headers (uppercase, tracked) |
42
- | `.na-metadata-small` | **10px** (0.625rem) | **400** (normal) | Sans | Timestamps, IDs, footnotes, secondary info |
43
-
44
- ### Typography Examples
45
-
46
- ```tsx
47
- // Headings
48
- <h1 className="na-h1">Page Title</h1>
49
- <h2 className="na-h2">Section Title</h2>
50
- <h3 className="na-h3">Subsection</h3>
51
- <h4 className="na-h4">Card Title</h4>
52
-
53
- // Data & Metadata
54
- <div className="na-data">$12,450.00</div>
55
- <div className="na-data-large">1,234,567</div>
56
- <div className="na-metadata">PO-88219 • Feed Supply</div>
57
- <div className="na-metadata-small">Updated 2m ago</div>
58
- ```
59
-
60
- ---
61
-
62
- ## Spacing & Padding
63
-
64
- The design system uses a **standard Tailwind spacing scale**. Use Tailwind's standard padding/margin classes (e.g., `p-4`, `p-6`, `m-8`).
65
-
66
- ### Standard Spacing Scale
67
-
68
- | Class | Value | Pixels |
69
- |-------|-------|--------|
70
- | `p-0`, `m-0` | 0 | 0px |
71
- | `p-1`, `m-1` | 0.25rem | 4px |
72
- | `p-2`, `m-2` | 0.5rem | 8px |
73
- | `p-4`, `m-4` | 1rem | **16px** |
74
- | `p-6`, `m-6` | 1.5rem | **24px** (standard) |
75
- | `p-8`, `m-8` | 2rem | **32px** |
76
- | `p-12`, `m-12` | 3rem | 48px |
77
- | `p-16`, `m-16` | 4rem | 64px |
78
- | `p-24`, `m-24` | 6rem | 96px |
79
-
80
- ### Common Spacing Patterns
81
-
82
- ```tsx
83
- // Standard card padding
84
- <div className="na-card p-6">Content</div>
85
-
86
- // Standard content padding
87
- <div className="na-content p-8">Content</div>
88
-
89
- // Spacing between elements
90
- <div className="space-y-6">
91
- <div>Item 1</div>
92
- <div>Item 2</div>
93
- </div>
94
-
95
- // Grid with standard gap
96
- <div className="na-grid gap-6">
97
- <div>Item 1</div>
98
- <div>Item 2</div>
99
- </div>
100
- ```
101
-
102
- ### Directional Spacing
103
-
104
- Use Tailwind's directional utilities:
105
- - `pt-*`, `pb-*`, `pl-*`, `pr-*` (padding)
106
- - `mt-*`, `mb-*`, `ml-*`, `mr-*` (margin)
107
- - `px-*`, `py-*` (padding horizontal/vertical)
108
- - `mx-*`, `my-*` (margin horizontal/vertical)
109
-
110
- ```tsx
111
- <div className="na-card p-6 mb-8">Card with bottom margin</div>
112
- <div className="flex gap-4">Items with gap</div>
113
- ```
114
-
115
- ---
116
-
117
- ## Component Classes
118
-
119
- ### Cards & Surfaces
120
-
121
- | Class | Description |
122
- |-------|-------------|
123
- | `.na-card` | Paper background, shadow, filament top border |
124
- | `.na-panel` | Muted background, internal separation |
125
- | `.na-content` | Standard 32px padding container |
126
-
127
- ### Buttons
128
-
129
- | Class | Description |
130
- |-------|-------------|
131
- | `.na-btn` | Standard button |
132
- | `.na-btn-primary` | Primary action button |
133
- | `.na-btn-secondary` | Secondary button |
134
- | `.na-iconbtn` | Icon-only button |
135
-
136
- ### Inputs
137
-
138
- | Class | Description |
139
- |-------|-------------|
140
- | `.na-input` | Text input (never use default borders) |
141
-
142
- ### Status Indicators
143
-
144
- | Class | Description |
145
- |-------|-------------|
146
- | `.na-status` | Base status badge |
147
- | `.na-status-ok` | Success status (green) |
148
- | `.na-status-pending` | Pending status (yellow) |
149
- | `.na-status-bad` | Error status (red) |
150
-
151
- ### Tables
152
-
153
- | Class | Description |
154
- |-------|-------------|
155
- | `.na-table-wrap` | Table container with scrolling |
156
- | `.na-table` | Table element |
157
- | `.na-th` | Table header cell |
158
- | `.na-td` | Table data cell |
159
- | `.na-tr` | Table row |
160
- | `.na-tabular` | Tabular numbers (for alignment) |
161
-
162
- ### Component Examples
163
-
164
- ```tsx
165
- // Card
166
- <div className="na-card p-6">
167
- <h3 className="na-h4">Card Title</h3>
168
- <div className="na-data">Content</div>
169
- </div>
170
-
171
- // Button
172
- <button className="na-btn na-btn-primary">Click Me</button>
173
-
174
- // Status
175
- <span className="na-status na-status-ok">Active</span>
176
-
177
- // Table
178
- <div className="na-table-wrap">
179
- <table className="na-table">
180
- <thead>
181
- <tr>
182
- <th className="na-th">Name</th>
183
- <th className="na-th">Price</th>
184
- </tr>
185
- </thead>
186
- <tbody>
187
- <tr className="na-tr">
188
- <td className="na-td">Product</td>
189
- <td className="na-td na-tabular">$1,234.56</td>
190
- </tr>
191
- </tbody>
192
- </table>
193
- </div>
194
- ```
195
-
196
- ---
197
-
198
- ## Color Tokens
199
-
200
- ### Base Colors
201
-
202
- | Token | Value | Usage |
203
- |-------|-------|-------|
204
- | `--color-void` | `#09090b` | Main background (Zinc-950) |
205
- | `--color-paper` | `#121214` | Panel background (Zinc-900) |
206
- | `--color-paper-2` | `#18181b` | Hover/Input background (Zinc-800) |
207
- | `--color-lux` | `#f4f4f5` | Primary text (Zinc-50) |
208
- | `--color-lux-dim` | `#a1a1aa` | Secondary text (Zinc-400) |
209
- | `--color-clay` | `#71717a` | Meta/Label text (Zinc-500) |
210
- | `--color-gold` | `#eab308` | Accent color (Amber-500) |
211
-
212
- ### Status Colors
213
-
214
- | Token | Value | Usage |
215
- |-------|-------|-------|
216
- | `--color-success` | `#10b981` | Success states (Emerald-500) |
217
- | `--color-warning` | `#f59e0b` | Warning states (Amber-500) |
218
- | `--color-error` | `#f43f5e` | Error states (Rose-500) |
219
- | `--color-info` | `#3b82f6` | Info states (Blue-500) |
220
-
221
- ### Using Color Tokens
222
-
223
- ```tsx
224
- // In CSS/CSS-in-JS
225
- import '@aibos/design-system/css';
226
-
227
- const style = {
228
- backgroundColor: 'var(--color-paper)',
229
- color: 'var(--color-lux)',
230
- borderColor: 'var(--color-stroke)',
231
- };
232
-
233
- // In TypeScript/JavaScript
234
- import tokens from '@aibos/design-system/tokens';
235
-
236
- const style = {
237
- backgroundColor: tokens.color.paper,
238
- color: tokens.color.lux,
239
- };
240
- ```
241
-
242
- ---
243
-
244
- ## Layout Classes
245
-
246
- ### Shell Layout
247
-
248
- | Class | Description |
249
- |-------|-------------|
250
- | `.na-shell` | Sidebar + Main area grid |
251
- | `.na-shell-omni` | Omni shell layout (grid-based) |
252
- | `.na-shell-head` | Shell header |
253
- | `.na-shell-rail` | Shell sidebar |
254
- | `.na-shell-main` | Shell main content area |
255
-
256
- ### Grid & Layout
257
-
258
- | Class | Description |
259
- |-------|-------------|
260
- | `.na-grid` | Standard grid with 24px gap |
261
- | `.na-grid-frozen` | Bi-directional sticky grid (frozen panes) |
262
- | `.na-table-frozen` | Frozen table (sticky columns/rows) |
263
-
264
- ### Layout Examples
265
-
266
- ```tsx
267
- // Standard shell
268
- <div className="na-shell">
269
- <aside className="na-shell-rail">Sidebar</aside>
270
- <main className="na-shell-main">Content</main>
271
- </div>
272
-
273
- // Standard grid
274
- <div className="na-grid gap-6">
275
- <div className="na-card p-6">Card 1</div>
276
- <div className="na-card p-6">Card 2</div>
277
- </div>
278
- ```
279
-
280
- ---
281
-
282
- ## Using Design Tokens
283
-
284
- ### Import Tokens
285
-
286
- ```typescript
287
- // CSS (main export)
288
- import '@aibos/design-system/css';
289
-
290
- // Tokens (JSON)
291
- import tokens from '@aibos/design-system/tokens';
292
-
293
- // Tokens (TypeScript)
294
- import type { DesignTokens } from '@aibos/design-system/tokens/typescript';
295
- ```
296
-
297
- ### Access Token Values
298
-
299
- ```typescript
300
- import tokens from '@aibos/design-system/tokens';
301
-
302
- // Colors
303
- tokens.color.void // '#09090b'
304
- tokens.color.paper // '#121214'
305
- tokens.color.lux // '#f4f4f5'
306
- tokens.color.gold // '#eab308'
307
-
308
- // Spacing
309
- tokens.spacing[4] // '1rem' (16px)
310
- tokens.spacing[6] // '1.5rem' (24px)
311
- tokens.spacing[8] // '2rem' (32px)
312
-
313
- // Typography
314
- tokens.typography.heading1.size // '2rem'
315
- tokens.typography.heading1.weight // 700
316
-
317
- // Border Radius
318
- tokens.radius.card // '0.75rem'
319
- tokens.radius.panel // '1rem'
320
- ```
321
-
322
- ### Using in Components
323
-
324
- ```tsx
325
- import tokens from '@aibos/design-system/tokens';
326
-
327
- export function CustomButton() {
328
- return (
329
- <button
330
- className="na-btn"
331
- style={{
332
- backgroundColor: tokens.color.gold,
333
- padding: `${tokens.spacing[4]} ${tokens.spacing[6]}`,
334
- borderRadius: tokens.radius.control,
335
- }}
336
- >
337
- Custom Button
338
- </button>
339
- );
340
- }
341
- ```
342
-
343
- ---
344
-
345
- ## Quick Reference Cheat Sheet
346
-
347
- ### Typography
348
- - **Page Title**: `.na-h1` (32px bold)
349
- - **Section**: `.na-h2` (24px semibold)
350
- - **Subsection**: `.na-h3` (20px semibold)
351
- - **Card Title**: `.na-h4` (18px semibold)
352
- - **Data**: `.na-data` (14px monospace)
353
- - **KPI**: `.na-data-large` (30px serif)
354
- - **Label**: `.na-metadata` (11px uppercase)
355
- - **Footnote**: `.na-metadata-small` (10px)
356
-
357
- ### Spacing
358
- - **Standard padding**: `p-6` (24px)
359
- - **Content padding**: `p-8` (32px)
360
- - **Standard gap**: `gap-6` (24px)
361
-
362
- ### Components
363
- - **Card**: `.na-card p-6`
364
- - **Button**: `.na-btn na-btn-primary`
365
- - **Status**: `.na-status na-status-ok`
366
- - **Input**: `.na-input`
367
-
368
- ---
369
-
370
- ## 📚 Additional Resources
371
-
372
- - **Full Documentation**: See [README.md](./README.md) for complete guide
373
- - **External Usage**: See [EXTERNAL_USAGE.md](./EXTERNAL_USAGE.md) for framework examples
374
- - **GitHub**: https://github.com/pohlai88/AIBOS-DESIGN-SYSTEM
375
-
376
- ---
377
-
378
- **Need Help?** Check the [README.md](./README.md) or open an issue on GitHub.
379
-
1
+ # Neo-Analog Design System - API Reference
2
+
3
+ **Quick Reference Guide for npm Package Users**
4
+
5
+ This document provides a complete reference for all typography, spacing, colors, and component classes available in the Neo-Analog Design System.
6
+
7
+ ---
8
+
9
+ ## 📖 Table of Contents
10
+
11
+ 1. [Typography Hierarchy](#typography-hierarchy)
12
+ 2. [Spacing & Padding](#spacing--padding)
13
+ 3. [Component Classes](#component-classes)
14
+ 4. [Color Tokens](#color-tokens)
15
+ 5. [Layout Classes](#layout-classes)
16
+ 6. [Using Design Tokens](#using-design-tokens)
17
+
18
+ ---
19
+
20
+ ## Typography Hierarchy
21
+
22
+ **⚠️ Important**: Always use semantic classes (`.na-h1` through `.na-h6`) instead of hardcoding font sizes. This prevents design drift.
23
+
24
+ ### Heading Classes
25
+
26
+ | Class | Size | Weight | Line Height | Usage |
27
+ |-------|------|--------|-------------|-------|
28
+ | `.na-h1` | **32px** (2rem) | **700** (bold) | 1.2 | Page titles (unique H1 per page) |
29
+ | `.na-h2` | **24px** (1.5rem) | **600** (semibold) | 1.3 | Section titles (major page divisions) |
30
+ | `.na-h3` | **20px** (1.25rem) | **600** (semibold) | 1.4 | Subsection titles (within sections) |
31
+ | `.na-h4` | **18px** (1.125rem) | **600** (semibold) | 1.4 | Card titles (inside `.na-card`) |
32
+ | `.na-h5` | **16px** (1rem) | **600** (semibold) | 1.5 | Small titles (minor groupings) |
33
+ | `.na-h6` | **14px** (0.875rem) | **600** (semibold) | 1.5 | Micro titles (tooltips, tiny headers) |
34
+
35
+ ### Data & Metadata Classes
36
+
37
+ | Class | Size | Weight | Font | Usage |
38
+ |-------|------|--------|------|-------|
39
+ | `.na-data` | **14px** (0.875rem) | **400** (normal) | Monospace | Primary data values, table cells, user input |
40
+ | `.na-data-large` | **30px** (1.875rem) | **500** (medium) | Serif | KPI values, hero numbers, dashboard stats |
41
+ | `.na-metadata` | **11px** (0.6875rem) | **500** (medium) | Sans | Field labels, column headers (uppercase, tracked) |
42
+ | `.na-metadata-small` | **10px** (0.625rem) | **400** (normal) | Sans | Timestamps, IDs, footnotes, secondary info |
43
+
44
+ ### Typography Examples
45
+
46
+ ```tsx
47
+ // Headings
48
+ <h1 className="na-h1">Page Title</h1>
49
+ <h2 className="na-h2">Section Title</h2>
50
+ <h3 className="na-h3">Subsection</h3>
51
+ <h4 className="na-h4">Card Title</h4>
52
+
53
+ // Data & Metadata
54
+ <div className="na-data">$12,450.00</div>
55
+ <div className="na-data-large">1,234,567</div>
56
+ <div className="na-metadata">PO-88219 • Feed Supply</div>
57
+ <div className="na-metadata-small">Updated 2m ago</div>
58
+ ```
59
+
60
+ ---
61
+
62
+ ## Spacing & Padding
63
+
64
+ The design system uses a **standard Tailwind spacing scale**. Use Tailwind's standard padding/margin classes (e.g., `p-4`, `p-6`, `m-8`).
65
+
66
+ ### Standard Spacing Scale
67
+
68
+ | Class | Value | Pixels |
69
+ |-------|-------|--------|
70
+ | `p-0`, `m-0` | 0 | 0px |
71
+ | `p-1`, `m-1` | 0.25rem | 4px |
72
+ | `p-2`, `m-2` | 0.5rem | 8px |
73
+ | `p-4`, `m-4` | 1rem | **16px** |
74
+ | `p-6`, `m-6` | 1.5rem | **24px** (standard) |
75
+ | `p-8`, `m-8` | 2rem | **32px** |
76
+ | `p-12`, `m-12` | 3rem | 48px |
77
+ | `p-16`, `m-16` | 4rem | 64px |
78
+ | `p-24`, `m-24` | 6rem | 96px |
79
+
80
+ ### Common Spacing Patterns
81
+
82
+ ```tsx
83
+ // Standard card padding
84
+ <div className="na-card p-6">Content</div>
85
+
86
+ // Standard content padding
87
+ <div className="na-content p-8">Content</div>
88
+
89
+ // Spacing between elements
90
+ <div className="space-y-6">
91
+ <div>Item 1</div>
92
+ <div>Item 2</div>
93
+ </div>
94
+
95
+ // Grid with standard gap
96
+ <div className="na-grid gap-6">
97
+ <div>Item 1</div>
98
+ <div>Item 2</div>
99
+ </div>
100
+ ```
101
+
102
+ ### Directional Spacing
103
+
104
+ Use Tailwind's directional utilities:
105
+ - `pt-*`, `pb-*`, `pl-*`, `pr-*` (padding)
106
+ - `mt-*`, `mb-*`, `ml-*`, `mr-*` (margin)
107
+ - `px-*`, `py-*` (padding horizontal/vertical)
108
+ - `mx-*`, `my-*` (margin horizontal/vertical)
109
+
110
+ ```tsx
111
+ <div className="na-card p-6 mb-8">Card with bottom margin</div>
112
+ <div className="flex gap-4">Items with gap</div>
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Component Classes
118
+
119
+ ### Cards & Surfaces
120
+
121
+ | Class | Description |
122
+ |-------|-------------|
123
+ | `.na-card` | Paper background, shadow, filament top border |
124
+ | `.na-panel` | Muted background, internal separation |
125
+ | `.na-content` | Standard 32px padding container |
126
+
127
+ ### Buttons
128
+
129
+ | Class | Description |
130
+ |-------|-------------|
131
+ | `.na-btn` | Standard button |
132
+ | `.na-btn-primary` | Primary action button |
133
+ | `.na-btn-secondary` | Secondary button |
134
+ | `.na-iconbtn` | Icon-only button |
135
+
136
+ ### Inputs
137
+
138
+ | Class | Description |
139
+ |-------|-------------|
140
+ | `.na-input` | Text input (never use default borders) |
141
+
142
+ ### Status Indicators
143
+
144
+ | Class | Description |
145
+ |-------|-------------|
146
+ | `.na-status` | Base status badge |
147
+ | `.na-status-ok` | Success status (green) |
148
+ | `.na-status-pending` | Pending status (yellow) |
149
+ | `.na-status-bad` | Error status (red) |
150
+
151
+ ### Tables
152
+
153
+ | Class | Description |
154
+ |-------|-------------|
155
+ | `.na-table-wrap` | Table container with scrolling |
156
+ | `.na-table` | Table element |
157
+ | `.na-th` | Table header cell |
158
+ | `.na-td` | Table data cell |
159
+ | `.na-tr` | Table row |
160
+ | `.na-tabular` | Tabular numbers (for alignment) |
161
+
162
+ ### Component Examples
163
+
164
+ ```tsx
165
+ // Card
166
+ <div className="na-card p-6">
167
+ <h3 className="na-h4">Card Title</h3>
168
+ <div className="na-data">Content</div>
169
+ </div>
170
+
171
+ // Button
172
+ <button className="na-btn na-btn-primary">Click Me</button>
173
+
174
+ // Status
175
+ <span className="na-status na-status-ok">Active</span>
176
+
177
+ // Table
178
+ <div className="na-table-wrap">
179
+ <table className="na-table">
180
+ <thead>
181
+ <tr>
182
+ <th className="na-th">Name</th>
183
+ <th className="na-th">Price</th>
184
+ </tr>
185
+ </thead>
186
+ <tbody>
187
+ <tr className="na-tr">
188
+ <td className="na-td">Product</td>
189
+ <td className="na-td na-tabular">$1,234.56</td>
190
+ </tr>
191
+ </tbody>
192
+ </table>
193
+ </div>
194
+ ```
195
+
196
+ ---
197
+
198
+ ## Color Tokens
199
+
200
+ ### Base Colors
201
+
202
+ | Token | Value | Usage |
203
+ |-------|-------|-------|
204
+ | `--color-void` | `#09090b` | Main background (Zinc-950) |
205
+ | `--color-paper` | `#121214` | Panel background (Zinc-900) |
206
+ | `--color-paper-2` | `#18181b` | Hover/Input background (Zinc-800) |
207
+ | `--color-lux` | `#f4f4f5` | Primary text (Zinc-50) |
208
+ | `--color-lux-dim` | `#a1a1aa` | Secondary text (Zinc-400) |
209
+ | `--color-clay` | `#71717a` | Meta/Label text (Zinc-500) |
210
+ | `--color-gold` | `#eab308` | Accent color (Amber-500) |
211
+
212
+ ### Status Colors
213
+
214
+ | Token | Value | Usage |
215
+ |-------|-------|-------|
216
+ | `--color-success` | `#10b981` | Success states (Emerald-500) |
217
+ | `--color-warning` | `#f59e0b` | Warning states (Amber-500) |
218
+ | `--color-error` | `#f43f5e` | Error states (Rose-500) |
219
+ | `--color-info` | `#3b82f6` | Info states (Blue-500) |
220
+
221
+ ### Using Color Tokens
222
+
223
+ ```tsx
224
+ // In CSS/CSS-in-JS
225
+ import 'aibos-design-system/css';
226
+
227
+ const style = {
228
+ backgroundColor: 'var(--color-paper)',
229
+ color: 'var(--color-lux)',
230
+ borderColor: 'var(--color-stroke)',
231
+ };
232
+
233
+ // In TypeScript/JavaScript
234
+ import tokens from 'aibos-design-system/tokens';
235
+
236
+ const style = {
237
+ backgroundColor: tokens.color.paper,
238
+ color: tokens.color.lux,
239
+ };
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Layout Classes
245
+
246
+ ### Shell Layout
247
+
248
+ | Class | Description |
249
+ |-------|-------------|
250
+ | `.na-shell` | Sidebar + Main area grid |
251
+ | `.na-shell-omni` | Omni shell layout (grid-based) |
252
+ | `.na-shell-head` | Shell header |
253
+ | `.na-shell-rail` | Shell sidebar |
254
+ | `.na-shell-main` | Shell main content area |
255
+
256
+ ### Grid & Layout
257
+
258
+ | Class | Description |
259
+ |-------|-------------|
260
+ | `.na-grid` | Standard grid with 24px gap |
261
+ | `.na-grid-frozen` | Bi-directional sticky grid (frozen panes) |
262
+ | `.na-table-frozen` | Frozen table (sticky columns/rows) |
263
+
264
+ ### Layout Examples
265
+
266
+ ```tsx
267
+ // Standard shell
268
+ <div className="na-shell">
269
+ <aside className="na-shell-rail">Sidebar</aside>
270
+ <main className="na-shell-main">Content</main>
271
+ </div>
272
+
273
+ // Standard grid
274
+ <div className="na-grid gap-6">
275
+ <div className="na-card p-6">Card 1</div>
276
+ <div className="na-card p-6">Card 2</div>
277
+ </div>
278
+ ```
279
+
280
+ ---
281
+
282
+ ## Using Design Tokens
283
+
284
+ ### Import Tokens
285
+
286
+ ```typescript
287
+ // CSS (main export)
288
+ import 'aibos-design-system/css';
289
+
290
+ // Tokens (JSON)
291
+ import tokens from 'aibos-design-system/tokens';
292
+
293
+ // Tokens (TypeScript)
294
+ import type { DesignTokens } from 'aibos-design-system/tokens/typescript';
295
+ ```
296
+
297
+ ### Access Token Values
298
+
299
+ ```typescript
300
+ import tokens from 'aibos-design-system/tokens';
301
+
302
+ // Colors
303
+ tokens.color.void // '#09090b'
304
+ tokens.color.paper // '#121214'
305
+ tokens.color.lux // '#f4f4f5'
306
+ tokens.color.gold // '#eab308'
307
+
308
+ // Spacing
309
+ tokens.spacing[4] // '1rem' (16px)
310
+ tokens.spacing[6] // '1.5rem' (24px)
311
+ tokens.spacing[8] // '2rem' (32px)
312
+
313
+ // Typography
314
+ tokens.typography.heading1.size // '2rem'
315
+ tokens.typography.heading1.weight // 700
316
+
317
+ // Border Radius
318
+ tokens.radius.card // '0.75rem'
319
+ tokens.radius.panel // '1rem'
320
+ ```
321
+
322
+ ### Using in Components
323
+
324
+ ```tsx
325
+ import tokens from 'aibos-design-system/tokens';
326
+
327
+ export function CustomButton() {
328
+ return (
329
+ <button
330
+ className="na-btn"
331
+ style={{
332
+ backgroundColor: tokens.color.gold,
333
+ padding: `${tokens.spacing[4]} ${tokens.spacing[6]}`,
334
+ borderRadius: tokens.radius.control,
335
+ }}
336
+ >
337
+ Custom Button
338
+ </button>
339
+ );
340
+ }
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Quick Reference Cheat Sheet
346
+
347
+ ### Typography
348
+ - **Page Title**: `.na-h1` (32px bold)
349
+ - **Section**: `.na-h2` (24px semibold)
350
+ - **Subsection**: `.na-h3` (20px semibold)
351
+ - **Card Title**: `.na-h4` (18px semibold)
352
+ - **Data**: `.na-data` (14px monospace)
353
+ - **KPI**: `.na-data-large` (30px serif)
354
+ - **Label**: `.na-metadata` (11px uppercase)
355
+ - **Footnote**: `.na-metadata-small` (10px)
356
+
357
+ ### Spacing
358
+ - **Standard padding**: `p-6` (24px)
359
+ - **Content padding**: `p-8` (32px)
360
+ - **Standard gap**: `gap-6` (24px)
361
+
362
+ ### Components
363
+ - **Card**: `.na-card p-6`
364
+ - **Button**: `.na-btn na-btn-primary`
365
+ - **Status**: `.na-status na-status-ok`
366
+ - **Input**: `.na-input`
367
+
368
+ ---
369
+
370
+ ## 📚 Additional Resources
371
+
372
+ - **Full Documentation**: See [README.md](./README.md) for complete guide
373
+ - **External Usage**: See [EXTERNAL_USAGE.md](./EXTERNAL_USAGE.md) for framework examples
374
+ - **GitHub**: https://github.com/pohlai88/AIBOS-DESIGN-SYSTEM
375
+
376
+ ---
377
+
378
+ **Need Help?** Check the [README.md](./README.md) or open an issue on GitHub.
379
+