@adukiorg/anza 0.4.1 → 0.4.2
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/bin/anza/anza-linux-arm64 +0 -0
- package/bin/anza/anza-linux-x64 +0 -0
- package/bin/anza/anza-macos-arm64 +0 -0
- package/bin/anza/anza-macos-x64 +0 -0
- package/bin/anza/anza-windows-x64.exe +0 -0
- package/package.json +1 -1
- package/src/core/api/index.js +2 -2
- package/src/core/offline/sync.js +2 -2
- package/src/core/router/cascade.js +15 -20
- package/src/core/router/container.js +4 -0
- package/src/core/router/graph.js +40 -12
- package/src/core/router/index.js +7 -1
- package/src/core/router/intercept.js +400 -100
- package/src/core/router/match.js +30 -0
- package/src/core/ui/define/element.js +58 -8
- package/src/core/ui/define/orchestrator.js +8 -4
- package/src/core/ui/defs/dock.js +18 -1
- package/src/core/ui/defs/page.js +75 -29
- package/src/core/ui/defs/spec.js +81 -11
- package/src/elements/data/list/style.css +1 -1
- package/src/elements/data/table/index.js +2 -1
- package/src/elements/data/table/style.css +1 -1
- package/src/elements/feedback/alert/style.css +1 -1
- package/src/styles/base.css +22 -21
- package/src/tokens/index.css +1 -4
- package/src/tokens/primitives/colors.css +9 -64
- package/src/tokens/primitives/motion.css +6 -18
- package/src/tokens/primitives/spacing.css +7 -12
- package/src/tokens/primitives/typography.css +12 -42
- package/src/tokens/registered/colors.css +5 -96
- package/src/tokens/registered/dimensions.css +6 -19
- package/src/tokens/semantic/contrast.css +8 -36
- package/src/tokens/semantic/dark.css +13 -48
- package/src/tokens/semantic/light.css +13 -44
- package/src/tokens/semantic/transitions.css +22 -12
- package/CHANGELOG.md +0 -360
- package/src/tokens/primitives/radius.css +0 -16
- package/src/tokens/primitives/shadow.css +0 -34
- package/src/tokens/primitives/zindex.css +0 -18
- package/src/tokens/semantic/components.css +0 -123
package/CHANGELOG.md
DELETED
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
<!-- markdownlint-disable MD024 -->
|
|
2
|
-
# Changelog
|
|
3
|
-
|
|
4
|
-
All notable changes to `@adukiorg/anza` will be documented here.
|
|
5
|
-
|
|
6
|
-
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
7
|
-
Versioning follows [Semantic Versioning](https://semver.org/).
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## [Unreleased]
|
|
12
|
-
|
|
13
|
-
### Planned
|
|
14
|
-
|
|
15
|
-
- Full element library documentation (`src/elements/`)
|
|
16
|
-
- Integration with external bundlers/compilers
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## [0.4.1] — 2026-06-14
|
|
21
|
-
|
|
22
|
-
### Fixed
|
|
23
|
-
|
|
24
|
-
- **URL Detection Bug**: Fixed a critical bug in both the JS runtime (`utils.js`, `element.js`) and the Rust compiler (`parse.rs`) where inline CSS strings starting with `/*` or `<!--` were mistakenly identified as file URLs. This bug was bypassing inline CSS injection when providing CSS string arrays.
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## [0.4.0] — 2026-06-14
|
|
29
|
-
|
|
30
|
-
### Added
|
|
31
|
-
|
|
32
|
-
- Natively support arrays of multiple CSS imports in component definitions (`template: { html, css: ['./a.css', './b.css'] }`) across both the JavaScript library runtime and the Rust compiler.
|
|
33
|
-
|
|
34
|
-
### Changed
|
|
35
|
-
|
|
36
|
-
- Replaced CSS Custom Highlight API implementation with PrismJS for `view-code` syntax highlighting.
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## [0.3.9] — 2026-06-13
|
|
41
|
-
|
|
42
|
-
### Changed
|
|
43
|
-
|
|
44
|
-
- Updated core component rendering to correctly process nested syntax logic and perform full syntax highlighting.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## [0.3.7] — 2026-06-13
|
|
49
|
-
|
|
50
|
-
### Changed
|
|
51
|
-
|
|
52
|
-
- Updated README and package descriptions to clarify the "instant" build step.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## [0.3.6] — 2026-06-13
|
|
57
|
-
|
|
58
|
-
### Fixed
|
|
59
|
-
|
|
60
|
-
- Resolved NPM publish collision for the watcher hotfix.
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## [0.3.5] — 2026-06-13
|
|
65
|
-
|
|
66
|
-
### Changed
|
|
67
|
-
|
|
68
|
-
- Prevent native browser tab loading spinner during client-side navigation.
|
|
69
|
-
- Removed unnecessary console logs in `boot.js`, `orchestrator.js`, and `element.js`.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## [0.3.3] — 2026-06-13
|
|
74
|
-
|
|
75
|
-
### Changed
|
|
76
|
-
|
|
77
|
-
- Removed `<main>` to `<dock-main>` compiler auto-alignment. Apps now use `<dock-main id="main">` natively in HTML templates.
|
|
78
|
-
- Update `boot.js` router error messages to correctly refer to `<dock-main id="main">`.
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## [0.3.2] — 2026-06-13
|
|
83
|
-
|
|
84
|
-
### Fixed
|
|
85
|
-
|
|
86
|
-
- Update scaffolding templates to use `<dock-main>` and ES module Service Worker registration (`{ type: 'module' }`)
|
|
87
|
-
- Fix CLI watcher to properly resolve Linux `inotify` absolute paths for CSS and JS Hot Module Reloading (HMR)
|
|
88
|
-
- Improve HMR client script with SSE auto-reconnect back-off
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## [0.3.1] — 2026-06-13
|
|
93
|
-
|
|
94
|
-
### Changed
|
|
95
|
-
|
|
96
|
-
- Soften library README tone — remove sarcastic framework comparisons
|
|
97
|
-
- Update dock() example to use simplified API (no parent parameter)
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## [0.3.0] — 2026-06-13
|
|
102
|
-
|
|
103
|
-
### Fixed
|
|
104
|
-
|
|
105
|
-
- Sync `tools/Cargo.toml` version with npm package version (0.2.1 → 0.3.0)
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## [0.2.8] — 2026-06-09
|
|
110
|
-
|
|
111
|
-
### Fixed
|
|
112
|
-
|
|
113
|
-
- Remove empty `importmap.json` from scaffold — HTML now points to `/dist/importmap.json`
|
|
114
|
-
- Category barrel files for generated doc pages (`docs/*/index.js`)
|
|
115
|
-
- Docs root route (`/docs`) uses `entry/` folder like other pages
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## [0.2.7] — 2026-06-09
|
|
120
|
-
|
|
121
|
-
### Fixed
|
|
122
|
-
|
|
123
|
-
- Scaffold structure: landing page moved to `src/pages/entry/` instead of `src/pages/index/`
|
|
124
|
-
- Node.js and Rust create commands generate consistent `src/pages/index.js` barrel file
|
|
125
|
-
- Docs conversion task (`tasks/docs.js`) for markdown-to-anza-page generation
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## [0.2.6] — 2026-06-09
|
|
130
|
-
|
|
131
|
-
### Fixed
|
|
132
|
-
|
|
133
|
-
- `bin/anza/index.js` wrapper now uses `realpathSync` to correctly detect CLI entry through npm bin symlinks
|
|
134
|
-
- `npm run dev` and `npx anza` now work from installed packages
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## [0.2.5] — 2026-06-09
|
|
139
|
-
|
|
140
|
-
### Fixed
|
|
141
|
-
|
|
142
|
-
- Add `./package.json` export to `@adukiorg/anza` so `npm create` resolver works
|
|
143
|
-
- Fix `@adukiorg/create-anza` fallback resolution for local development
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## [0.2.4] — 2026-06-09
|
|
148
|
-
|
|
149
|
-
### Added
|
|
150
|
-
|
|
151
|
-
- **`@adukiorg/create-anza`** package for `npm create @adukiorg/anza <name>`
|
|
152
|
-
- `./bin/create` export added to `@adukiorg/anza` for programmatic scaffold access
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## [0.2.3] — 2026-06-09
|
|
157
|
-
|
|
158
|
-
### Fixed
|
|
159
|
-
|
|
160
|
-
- CI release workflow artifact naming to prevent binary overwrites
|
|
161
|
-
- Windows runner shell compatibility (`shell: bash`)
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## [0.2.2] — 2026-06-09
|
|
166
|
-
|
|
167
|
-
### Added
|
|
168
|
-
|
|
169
|
-
- CI/CD workflows for GitHub Actions (build, typecheck, verify scaffolding, cross-platform release)
|
|
170
|
-
- Comprehensive documentation for all modules (animations, api, events, platform, router, security, state, storage, sw, ui, workers)
|
|
171
|
-
- `library/bin/` CLI wrappers for Node.js distribution
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
## [0.2.1] — 2026-06-09
|
|
176
|
-
|
|
177
|
-
### Added
|
|
178
|
-
|
|
179
|
-
#### Service Worker Toolkit — `@adukiorg/anza/sw`
|
|
180
|
-
|
|
181
|
-
- **New subpath export** `@adukiorg/anza/sw` — caching strategies, route interception, background sync, and push notifications
|
|
182
|
-
- **Seven caching strategies**: CacheFirst, NetworkFirst, StaleRevalidate, CacheThenNetwork, NetworkOnly, CacheOnly, OfflineFallback
|
|
183
|
-
- **URLPattern routing** inside the Service Worker via `router()` and `Router`
|
|
184
|
-
- **Install/activate helpers**: `precache()`, `pruneStale()`, `claim()`, `enableNavPreload()`
|
|
185
|
-
- **TTL expiry**: `pruneExpired()`, `setupAutoPrune()` with `x-expires-at` headers
|
|
186
|
-
- **Background sync**: `replayQueue()`, `requeueFailed()` with dead-letter queue
|
|
187
|
-
- **Request serialization**: `serializeRequest()`, `deserializeRequest()` for IndexedDB storage
|
|
188
|
-
- **Push notifications**: `subscribe()`, `notify()` with VAPID support
|
|
189
|
-
- **Scaffolded `src/sw.js`** generated by both `anza create` and `anza-create`
|
|
190
|
-
|
|
191
|
-
#### Theme Switching — `@adukiorg/anza/theme`
|
|
192
|
-
|
|
193
|
-
- **New subpath export** `@adukiorg/anza/theme`
|
|
194
|
-
- **Auto-init on import** — reads saved preference from `localStorage` or respects `prefers-color-scheme`
|
|
195
|
-
- **Attaches to `window.theme`** via `Object.defineProperty` (non-enumerable, non-configurable)
|
|
196
|
-
- **API**: `theme.get()`, `theme.set()`, `theme.toggle()` — all update the same global instance
|
|
197
|
-
- **No manual init required** — importing `@adukiorg/anza/ui` triggers it automatically
|
|
198
|
-
|
|
199
|
-
#### View Transition Tokens — `tokens/semantic/transitions.css`
|
|
200
|
-
|
|
201
|
-
- **New semantic token layer** connecting the CSS View Transitions API to the design token system
|
|
202
|
-
- **Tokens**: `--transition-bg`, `--transition-duration`, `--transition-easing`, `--transition-push`, `--transition-pop`, `--transition-replace`
|
|
203
|
-
- **Router `transitions.run()`** injects a token-aware stylesheet on first use
|
|
204
|
-
- **Dock `swap()`** reads directional easing from tokens (`--transition-push` vs `--transition-pop`) for physically different forward/back feel
|
|
205
|
-
- **High-contrast theme morphing** — `contrast.css` now declares `transition:` for smooth token interpolation
|
|
206
|
-
|
|
207
|
-
#### Documentation
|
|
208
|
-
|
|
209
|
-
- **Comprehensive `docs/index.md`** — master docs entry with all modules listed by usefulness
|
|
210
|
-
- **`docs/sw/`** — complete SW documentation: `index.md`, `start.md`, `strategies.md`, `routes.md`, `sync.md`, `api.md`
|
|
211
|
-
- **Updated `docs/intro/`** — SW toolkit in feature list, build output includes `dist/sw.js`
|
|
212
|
-
- **View Transition token docs** added to `docs/ui/transitions.md`, `docs/router/transitions.md`, `docs/animations/tokens.md`
|
|
213
|
-
|
|
214
|
-
#### Tooling
|
|
215
|
-
|
|
216
|
-
- **`tools/src/build/graph.rs` split** into focused modules:
|
|
217
|
-
- `cache.rs` — incremental build cache (`.anzacache.json`)
|
|
218
|
-
- `parse.rs` — ESM AST parsing with swc
|
|
219
|
-
- `entries.rs` — entry point discovery from HTML and `src/sw.js`
|
|
220
|
-
- `resolve.rs` — import map and filesystem resolution
|
|
221
|
-
- `html.rs` — HTML injection (importmap link, HMR script)
|
|
222
|
-
- `sw.rs` — Service Worker bare-specifier rewriting
|
|
223
|
-
- **Auto-discovery of `src/sw.js`** as a build entry point
|
|
224
|
-
- **Bare specifier rewriting in `dist/sw.js`** — `@adukiorg/anza/sw` → `./sw/index.js` (SW does not support import maps)
|
|
225
|
-
|
|
226
|
-
### Changed
|
|
227
|
-
|
|
228
|
-
- **Cache file renamed** from `.anza-build-cache.json` to `.anzacache.json`
|
|
229
|
-
- **Scaffolded `src/app.js`** now imports and auto-registers the Service Worker
|
|
230
|
-
- **Scaffolded `src/sw.js`** included in both Node.js and Rust `create` commands
|
|
231
|
-
|
|
232
|
-
### Fixed
|
|
233
|
-
|
|
234
|
-
- High-contrast theme (`contrast.css`) now animates token changes instead of snapping instantly
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## [0.2.0] — 2026-06-07
|
|
239
|
-
|
|
240
|
-
### Added
|
|
241
|
-
|
|
242
|
-
#### Compiler — `anza`
|
|
243
|
-
|
|
244
|
-
- **Dependency Graph Walking**: Automated dependency resolution of ESM imports/exports.
|
|
245
|
-
- **Tree-Shaking**: Outputs only referenced files to `dist/`, excluding unused code.
|
|
246
|
-
- **Automatic Inline Importmaps**: Optimal `<script type="importmap">` generated and injected inline into HTML entry points.
|
|
247
|
-
- **Relative Component Styles & Templates**: Parses relative template and stylesheet file paths referenced in `ui.element` relative to `import.meta.url`.
|
|
248
|
-
- **Concurrent File Watcher**: Recompiles output on file modifications.
|
|
249
|
-
- **SSE HMR Dev Server**: CSS hot-swapping and HTML/JS auto-reloading via Server-Sent Events (SSE).
|
|
250
|
-
- **Nested /dist Routing**: Added router nested service mapping in Axum dev server for development path parity.
|
|
251
|
-
|
|
252
|
-
#### Structure
|
|
253
|
-
|
|
254
|
-
- **Monorepo Split**: Reorganized files into `/library` (NPM package), `/sample` (demo application), and `/tools` (Rust compiler).
|
|
255
|
-
|
|
256
|
-
#### Sample
|
|
257
|
-
|
|
258
|
-
- **Cyberpunk Blog SPA**: Features reactive store, category filters, instant search, likes count persistence, details page with lightweight custom markdown renderer, post publishing, and post deletion.
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## [0.1.0] — 2026-05-27
|
|
263
|
-
|
|
264
|
-
### Added
|
|
265
|
-
|
|
266
|
-
#### Package
|
|
267
|
-
|
|
268
|
-
- Published as `@adukiorg/anza` — pure browser ESM, zero build step
|
|
269
|
-
- Scoped subpath exports for every core module (`/api`, `/state`, `/storage`, etc.)
|
|
270
|
-
- `"type": "module"` — fully native ESM, no CommonJS wrapper
|
|
271
|
-
- `npm test` via `@web/test-runner` (real Chromium, no jsdom)
|
|
272
|
-
- `npm run serve` via `@web/dev-server` on port 8080
|
|
273
|
-
|
|
274
|
-
#### Core — `@adukiorg/anza/api`
|
|
275
|
-
|
|
276
|
-
- `execute()` — fetch wrapper with AbortSignal, timeout, and `scheduler.postTask` integration
|
|
277
|
-
- `PlatformError` — unified error shape across all network failures
|
|
278
|
-
- `retry()` — exponential backoff with jitter and AbortSignal support
|
|
279
|
-
- `stream()` — async generator streaming over NDJSON responses
|
|
280
|
-
- `createNDJSONTransform()` — reusable `TransformStream` for NDJSON parsing
|
|
281
|
-
- `upload()` — multipart file upload with progress events
|
|
282
|
-
- `pipeline` — composable request/response middleware pipeline
|
|
283
|
-
- Cache strategies: `cache-first`, `network-first`, `stale-while-revalidate`
|
|
284
|
-
|
|
285
|
-
#### Core — `@adukiorg/anza/state`
|
|
286
|
-
|
|
287
|
-
- `ReactiveStore` — Proxy-based reactive state with microtask-batched notifications
|
|
288
|
-
- `setActiveSubscriber` / `getActiveSubscriber` — dependency tracking context
|
|
289
|
-
- `derived()` — auto-tracked computed values that re-evaluate on dependency changes
|
|
290
|
-
- `sync()` — BroadcastChannel cross-tab state synchronization
|
|
291
|
-
|
|
292
|
-
#### Core — `@adukiorg/anza/events`
|
|
293
|
-
|
|
294
|
-
- `EventBus` — typed pub/sub with wildcard patterns and AbortSignal cleanup
|
|
295
|
-
- `events` — singleton global event bus instance
|
|
296
|
-
|
|
297
|
-
#### Core — `@adukiorg/anza/router`
|
|
298
|
-
|
|
299
|
-
- `register()` / `match()` — URL pattern registration and matching
|
|
300
|
-
- `clear()` / `getRoutes()` — route registry management
|
|
301
|
-
- `addGuard()` — async navigation guard hooks
|
|
302
|
-
- `setNotFound()` — 404 handler
|
|
303
|
-
- `setup()` — bootstraps native Navigation API interception
|
|
304
|
-
- Full programmatic history API: `navigate`, `replace`, `back`, `forward`, `go`, `current`, `entries`
|
|
305
|
-
- `renderOutlet()` — declarative route outlet rendering
|
|
306
|
-
|
|
307
|
-
#### Core — `@adukiorg/anza/storage`
|
|
308
|
-
|
|
309
|
-
- `Database` — Promise-wrapped IndexedDB with sequential migrations
|
|
310
|
-
- `LRUCache` / `WeakLRUCache` — in-memory LRU caches with optional TTL
|
|
311
|
-
- `storage` — unified tiered facade: memory → IndexedDB → Cache API → OPFS
|
|
312
|
-
- `quota` — storage estimate and persistence request helpers
|
|
313
|
-
|
|
314
|
-
#### Core — `@adukiorg/anza/offline`
|
|
315
|
-
|
|
316
|
-
- `queue` — IndexedDB-backed offline operation queue with FIFO dequeue
|
|
317
|
-
- `check()` / `subscribe()` — connectivity detection and change subscriptions
|
|
318
|
-
|
|
319
|
-
#### Core — `@adukiorg/anza/animations`
|
|
320
|
-
|
|
321
|
-
- `animate()` — WAAPI wrapper with AbortSignal and easing controls
|
|
322
|
-
- `stagger()` — staggered multi-element animation groups with `finished` promise
|
|
323
|
-
|
|
324
|
-
#### Core — `@adukiorg/anza/workers`
|
|
325
|
-
|
|
326
|
-
- `lock()` — Web Locks API facade with timeout and AbortSignal support
|
|
327
|
-
- `WorkerPool` — managed pool of Web Workers with task queue and concurrency limits
|
|
328
|
-
|
|
329
|
-
#### Core — `@adukiorg/anza/security`
|
|
330
|
-
|
|
331
|
-
- `sanitize()` — XSS-safe HTML sanitizer using `DOMParser`
|
|
332
|
-
- `uuid()` — `crypto.randomUUID()` wrapper
|
|
333
|
-
- `hash()` — SHA-256/384/512 via Web Crypto API
|
|
334
|
-
- `generateKey()` / `deriveKey()` — AES-GCM key generation and PBKDF2 derivation
|
|
335
|
-
- `encrypt()` / `decrypt()` — AES-GCM symmetric encryption/decryption
|
|
336
|
-
|
|
337
|
-
#### Core — `@adukiorg/anza/platform`
|
|
338
|
-
|
|
339
|
-
- `supports` — feature detection registry for 30+ browser APIs
|
|
340
|
-
- `reset()` — cache reset utility (used in tests)
|
|
341
|
-
|
|
342
|
-
#### Core — `@adukiorg/anza/ui`
|
|
343
|
-
|
|
344
|
-
- `BaseElement` — Shadow DOM base class for all custom elements
|
|
345
|
-
- Design token cascade: primitive → semantic → component token layers
|
|
346
|
-
|
|
347
|
-
#### Tests
|
|
348
|
-
|
|
349
|
-
- 26 test suites, 70 assertions — all running in real Chromium via `@web/test-runner`
|
|
350
|
-
- Browser-native import maps injected per test run — no Node.js module resolution
|
|
351
|
-
|
|
352
|
-
#### Blog Demo
|
|
353
|
-
|
|
354
|
-
- `blog/` — sample SPA demonstrating state, storage, offline queue, and animations
|
|
355
|
-
- Import map mirrors the published `@adukiorg/anza/*` subpath exports exactly
|
|
356
|
-
|
|
357
|
-
[Unreleased]: https://github.com/aduki-org/anza/compare/v0.2.1...HEAD
|
|
358
|
-
[0.2.1]: https://github.com/aduki-org/anza/compare/v0.2.0...v0.2.1
|
|
359
|
-
[0.2.0]: https://github.com/aduki-org/anza/compare/v0.1.0...v0.2.0
|
|
360
|
-
[0.1.0]: https://github.com/aduki-org/anza/releases/tag/v0.1.0
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tokens/primitives/radius.css
|
|
3
|
-
*
|
|
4
|
-
* Border radius scale from none to full pill/circle shapes.
|
|
5
|
-
* Source: doc 26 §4
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
:root {
|
|
9
|
-
--radius-none: 0px;
|
|
10
|
-
--radius-sm: 0.125rem; /* 2px */
|
|
11
|
-
--radius-md: 0.375rem; /* 6px */
|
|
12
|
-
--radius-lg: 0.5rem; /* 8px */
|
|
13
|
-
--radius-xl: 0.75rem; /* 12px */
|
|
14
|
-
--radius-2xl: 1rem; /* 16px */
|
|
15
|
-
--radius-full: 9999px; /* Pill / Circle */
|
|
16
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tokens/primitives/shadow.css
|
|
3
|
-
*
|
|
4
|
-
* Elevation shadows using modern ambient + key light OKLCH alpha models.
|
|
5
|
-
* Dark mode shadows automatically increase opacity to counteract low contrast.
|
|
6
|
-
* Source: doc 26 §4
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
:root {
|
|
10
|
-
--shadow-xs: 0 1px 2px 0 oklch(0% 0 0 / 0.05);
|
|
11
|
-
--shadow-sm: 0 1px 3px 0 oklch(0% 0 0 / 0.1), 0 1px 2px -1px oklch(0% 0 0 / 0.1);
|
|
12
|
-
--shadow-md: 0 4px 6px -1px oklch(0% 0 0 / 0.1), 0 2px 4px -2px oklch(0% 0 0 / 0.1);
|
|
13
|
-
--shadow-lg: 0 10px 15px -3px oklch(0% 0 0 / 0.1), 0 4px 6px -4px oklch(0% 0 0 / 0.1);
|
|
14
|
-
--shadow-xl: 0 20px 25px -5px oklch(0% 0 0 / 0.1), 0 8px 10px -6px oklch(0% 0 0 / 0.1);
|
|
15
|
-
--shadow-none: 0 0 #0000;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
[data-theme="dark"] {
|
|
19
|
-
--shadow-xs: 0 1px 2px 0 oklch(0% 0 0 / 0.15);
|
|
20
|
-
--shadow-sm: 0 1px 3px 0 oklch(0% 0 0 / 0.3), 0 1px 2px -1px oklch(0% 0 0 / 0.3);
|
|
21
|
-
--shadow-md: 0 4px 6px -1px oklch(0% 0 0 / 0.3), 0 2px 4px -2px oklch(0% 0 0 / 0.3);
|
|
22
|
-
--shadow-lg: 0 10px 15px -3px oklch(0% 0 0 / 0.3), 0 4px 6px -4px oklch(0% 0 0 / 0.3);
|
|
23
|
-
--shadow-xl: 0 20px 25px -5px oklch(0% 0 0 / 0.3), 0 8px 10px -6px oklch(0% 0 0 / 0.3);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@media (prefers-color-scheme: dark) {
|
|
27
|
-
:root:not([data-theme="light"]) {
|
|
28
|
-
--shadow-xs: 0 1px 2px 0 oklch(0% 0 0 / 0.15);
|
|
29
|
-
--shadow-sm: 0 1px 3px 0 oklch(0% 0 0 / 0.3), 0 1px 2px -1px oklch(0% 0 0 / 0.3);
|
|
30
|
-
--shadow-md: 0 4px 6px -1px oklch(0% 0 0 / 0.3), 0 2px 4px -2px oklch(0% 0 0 / 0.3);
|
|
31
|
-
--shadow-lg: 0 10px 15px -3px oklch(0% 0 0 / 0.3), 0 4px 6px -4px oklch(0% 0 0 / 0.3);
|
|
32
|
-
--shadow-xl: 0 20px 25px -5px oklch(0% 0 0 / 0.3), 0 8px 10px -6px oklch(0% 0 0 / 0.3);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tokens/primitives/zindex.css
|
|
3
|
-
*
|
|
4
|
-
* Explicit layer indices to eliminate z-index escalation bugs.
|
|
5
|
-
* Source: doc 26 §4
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
:root {
|
|
9
|
-
--z-index-base: 0;
|
|
10
|
-
--z-index-raised: 10;
|
|
11
|
-
--z-index-dropdown: 100;
|
|
12
|
-
--z-index-sticky: 200;
|
|
13
|
-
--z-index-overlay: 300;
|
|
14
|
-
--z-index-modal: 400;
|
|
15
|
-
--z-index-popover: 500;
|
|
16
|
-
--z-index-toast: 600;
|
|
17
|
-
--z-index-tooltip: 700;
|
|
18
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tokens/semantic/components.css
|
|
3
|
-
*
|
|
4
|
-
* Semantic component-level design tokens.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
:root {
|
|
8
|
-
/* Form Controls */
|
|
9
|
-
--input-bg: var(--background);
|
|
10
|
-
--input-border: var(--border);
|
|
11
|
-
--input-border-focus: var(--border-focus);
|
|
12
|
-
--input-radius: var(--radius-md);
|
|
13
|
-
--input-font-size: var(--text-md);
|
|
14
|
-
--input-padding-y: var(--space-sm);
|
|
15
|
-
--input-padding-x: var(--space-md);
|
|
16
|
-
--input-text-color: var(--foreground);
|
|
17
|
-
|
|
18
|
-
--textarea-bg: var(--background);
|
|
19
|
-
--textarea-border: var(--border);
|
|
20
|
-
--textarea-border-focus: var(--border-focus);
|
|
21
|
-
--textarea-radius: var(--radius-md);
|
|
22
|
-
--textarea-font-size: var(--text-md);
|
|
23
|
-
--textarea-padding-y: var(--space-sm);
|
|
24
|
-
--textarea-padding-x: var(--space-md);
|
|
25
|
-
--textarea-text-color: var(--foreground);
|
|
26
|
-
|
|
27
|
-
--check-bg: var(--background);
|
|
28
|
-
--check-bg-checked: var(--primary);
|
|
29
|
-
--check-border: var(--border);
|
|
30
|
-
--check-border-focus: var(--border-focus);
|
|
31
|
-
--check-radius: var(--radius-sm);
|
|
32
|
-
--check-size: var(--space-lg);
|
|
33
|
-
--check-color: var(--primary-foreground);
|
|
34
|
-
|
|
35
|
-
--radio-bg: var(--background);
|
|
36
|
-
--radio-bg-checked: var(--primary);
|
|
37
|
-
--radio-border: var(--border);
|
|
38
|
-
--radio-border-focus: var(--border-focus);
|
|
39
|
-
--radio-radius: var(--radius-full);
|
|
40
|
-
--radio-size: var(--space-lg);
|
|
41
|
-
--radio-color: var(--primary-foreground);
|
|
42
|
-
|
|
43
|
-
--switch-bg: var(--border-strong);
|
|
44
|
-
--switch-bg-on: var(--primary);
|
|
45
|
-
--switch-thumb-color: var(--primary-foreground);
|
|
46
|
-
--switch-width: var(--space-xl);
|
|
47
|
-
--switch-height: var(--space-lg);
|
|
48
|
-
--switch-thumb-size: calc(var(--switch-height) - var(--space-xs));
|
|
49
|
-
|
|
50
|
-
--select-bg: var(--background);
|
|
51
|
-
--select-border: var(--border);
|
|
52
|
-
--select-border-focus: var(--border-focus);
|
|
53
|
-
--select-radius: var(--radius-md);
|
|
54
|
-
--select-font-size: var(--text-md);
|
|
55
|
-
--select-padding-y: var(--space-sm);
|
|
56
|
-
--select-padding-x: var(--space-md);
|
|
57
|
-
--select-text-color: var(--foreground);
|
|
58
|
-
|
|
59
|
-
--upload-bg: var(--background);
|
|
60
|
-
--upload-border: var(--border);
|
|
61
|
-
--upload-border-focus: var(--border-focus);
|
|
62
|
-
--upload-radius: var(--radius-lg);
|
|
63
|
-
--upload-padding: var(--space-xl);
|
|
64
|
-
--upload-color: var(--foreground-muted);
|
|
65
|
-
|
|
66
|
-
/* Feedback */
|
|
67
|
-
--alert-radius: var(--radius-md);
|
|
68
|
-
--alert-bg: var(--background-elevated);
|
|
69
|
-
--alert-color: var(--foreground);
|
|
70
|
-
--alert-border: var(--border);
|
|
71
|
-
|
|
72
|
-
--skeleton-bg: var(--foreground-disabled);
|
|
73
|
-
--skeleton-radius: var(--radius-md);
|
|
74
|
-
--skeleton-width: 100%;
|
|
75
|
-
--skeleton-height: var(--space-md);
|
|
76
|
-
|
|
77
|
-
/* Data Display */
|
|
78
|
-
--card-radius: var(--radius-lg);
|
|
79
|
-
|
|
80
|
-
--stat-label: var(--text-xs);
|
|
81
|
-
--stat-value: var(--text-3xl);
|
|
82
|
-
|
|
83
|
-
/* Navigation */
|
|
84
|
-
--link-color: var(--foreground-link);
|
|
85
|
-
--link-color-hover: var(--primary-hover);
|
|
86
|
-
--link-color-active: var(--primary-active);
|
|
87
|
-
|
|
88
|
-
/* Layout */
|
|
89
|
-
--stack-gap: var(--space-md);
|
|
90
|
-
|
|
91
|
-
--grid-gap: var(--space-md);
|
|
92
|
-
--grid-cols: repeat(auto-fit, minmax(250px, 1fr));
|
|
93
|
-
|
|
94
|
-
--surface-bg: var(--background);
|
|
95
|
-
--surface-border: transparent;
|
|
96
|
-
--surface-shadow: none;
|
|
97
|
-
--surface-radius: var(--radius-none);
|
|
98
|
-
|
|
99
|
-
/* Overlay */
|
|
100
|
-
--dialog-radius: var(--radius-lg);
|
|
101
|
-
--dialog-shadow: var(--shadow-xl);
|
|
102
|
-
|
|
103
|
-
--popover-bg: var(--background-elevated);
|
|
104
|
-
--popover-border: var(--border);
|
|
105
|
-
--popover-shadow: var(--shadow-lg);
|
|
106
|
-
--popover-radius: var(--radius-md);
|
|
107
|
-
|
|
108
|
-
--tooltip-bg: var(--background-inverse);
|
|
109
|
-
--tooltip-color: var(--foreground-inverse);
|
|
110
|
-
--tooltip-radius: var(--radius-sm);
|
|
111
|
-
|
|
112
|
-
--menu-bg: var(--background-elevated);
|
|
113
|
-
--menu-border: var(--border);
|
|
114
|
-
--menu-shadow: var(--shadow-lg);
|
|
115
|
-
--menu-radius: var(--radius-md);
|
|
116
|
-
|
|
117
|
-
--drawer-shadow: var(--shadow-xl);
|
|
118
|
-
--drawer-width: min(calc(var(--space-5xl) * 3), 85vw);
|
|
119
|
-
|
|
120
|
-
--sheet-radius: var(--radius-lg);
|
|
121
|
-
--sheet-shadow: var(--shadow-xl);
|
|
122
|
-
--sheet-max-width: min(calc(var(--space-5xl) * 6), 100vw);
|
|
123
|
-
}
|