@adukiorg/anza 0.2.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.
Files changed (349) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +215 -0
  3. package/bin/anza.js +63 -0
  4. package/bin/create.js +150 -0
  5. package/importmap.json +72 -0
  6. package/package.json +100 -0
  7. package/src/core/animations/index.js +55 -0
  8. package/src/core/animations/play.js +111 -0
  9. package/src/core/animations/registry.js +54 -0
  10. package/src/core/animations/scroll.js +50 -0
  11. package/src/core/animations/tokens.js +58 -0
  12. package/src/core/animations/usage.md +301 -0
  13. package/src/core/animations/waapi.js +86 -0
  14. package/src/core/api/cache.js +120 -0
  15. package/src/core/api/caches/glob.js +24 -0
  16. package/src/core/api/caches/index.js +118 -0
  17. package/src/core/api/events/index.js +75 -0
  18. package/src/core/api/fetch.js +99 -0
  19. package/src/core/api/index.js +158 -0
  20. package/src/core/api/pipeline.js +98 -0
  21. package/src/core/api/plan.md +209 -0
  22. package/src/core/api/prefixes/index.js +66 -0
  23. package/src/core/api/retry.js +69 -0
  24. package/src/core/api/stream.js +127 -0
  25. package/src/core/api/upload.js +180 -0
  26. package/src/core/api/usage.md +206 -0
  27. package/src/core/events/bus.js +38 -0
  28. package/src/core/events/delegate.js +79 -0
  29. package/src/core/events/index.js +26 -0
  30. package/src/core/events/listen.js +50 -0
  31. package/src/core/events/missing.md +103 -0
  32. package/src/core/events/once.js +49 -0
  33. package/src/core/events/plan.md +177 -0
  34. package/src/core/events/types/index.js +34 -0
  35. package/src/core/events/usage.md +107 -0
  36. package/src/core/offline/bridge.js +51 -0
  37. package/src/core/offline/clock.js +100 -0
  38. package/src/core/offline/connectivity.js +116 -0
  39. package/src/core/offline/index.js +41 -0
  40. package/src/core/offline/missing.md +89 -0
  41. package/src/core/offline/plan.md +143 -0
  42. package/src/core/offline/queue.js +168 -0
  43. package/src/core/offline/state.js +18 -0
  44. package/src/core/offline/sync.js +106 -0
  45. package/src/core/offline/usage.md +273 -0
  46. package/src/core/platform/guard.js +104 -0
  47. package/src/core/platform/index.js +42 -0
  48. package/src/core/platform/missing.md +119 -0
  49. package/src/core/platform/platform.d.ts +88 -0
  50. package/src/core/platform/polyfills/anchor.js +79 -0
  51. package/src/core/platform/polyfills/navigation.js +142 -0
  52. package/src/core/platform/polyfills/popover.js +142 -0
  53. package/src/core/platform/polyfills/scheduler.js +194 -0
  54. package/src/core/platform/polyfills/shadow.js +35 -0
  55. package/src/core/platform/polyfills/urlpattern.js +119 -0
  56. package/src/core/platform/supports.js +186 -0
  57. package/src/core/platform/usage.md +287 -0
  58. package/src/core/router/cache.js +95 -0
  59. package/src/core/router/container.js +146 -0
  60. package/src/core/router/handler.js +52 -0
  61. package/src/core/router/history.js +120 -0
  62. package/src/core/router/index.js +158 -0
  63. package/src/core/router/intercept.js +376 -0
  64. package/src/core/router/match.js +145 -0
  65. package/src/core/router/missing.md +716 -0
  66. package/src/core/router/outlet.js +139 -0
  67. package/src/core/router/plan.md +370 -0
  68. package/src/core/router/sync/index.js +16 -0
  69. package/src/core/router/sync/tab.js +115 -0
  70. package/src/core/router/sync/transport.js +139 -0
  71. package/src/core/router/transitions.js +59 -0
  72. package/src/core/router/usage.md +773 -0
  73. package/src/core/security/crypto.js +159 -0
  74. package/src/core/security/index.js +49 -0
  75. package/src/core/security/missing.md +97 -0
  76. package/src/core/security/permissions.js +64 -0
  77. package/src/core/security/sanitize.js +100 -0
  78. package/src/core/security/usage.md +283 -0
  79. package/src/core/state/derived.js +117 -0
  80. package/src/core/state/index.js +23 -0
  81. package/src/core/state/missing.md +165 -0
  82. package/src/core/state/persist.js +284 -0
  83. package/src/core/state/store.js +308 -0
  84. package/src/core/state/sync.js +46 -0
  85. package/src/core/state/usage.md +440 -0
  86. package/src/core/storage/cache.js +83 -0
  87. package/src/core/storage/idb.js +196 -0
  88. package/src/core/storage/index.js +373 -0
  89. package/src/core/storage/lru.js +107 -0
  90. package/src/core/storage/missing.md +165 -0
  91. package/src/core/storage/opfs.js +190 -0
  92. package/src/core/storage/plan.md +69 -0
  93. package/src/core/storage/quota.js +69 -0
  94. package/src/core/storage/usage.md +226 -0
  95. package/src/core/ui/base.js +50 -0
  96. package/src/core/ui/define/container.js +82 -0
  97. package/src/core/ui/define/define.js +12 -0
  98. package/src/core/ui/define/element.js +390 -0
  99. package/src/core/ui/define/index.js +9 -0
  100. package/src/core/ui/define/orchestrator.js +105 -0
  101. package/src/core/ui/define/proxy.js +644 -0
  102. package/src/core/ui/define/state.js +6 -0
  103. package/src/core/ui/define/utils.js +134 -0
  104. package/src/core/ui/implementation.md +170 -0
  105. package/src/core/ui/index.js +41 -0
  106. package/src/core/ui/observe.js +117 -0
  107. package/src/core/ui/plan.md +510 -0
  108. package/src/core/ui/schedule.js +60 -0
  109. package/src/core/ui/template.js +37 -0
  110. package/src/core/ui/transitions.js +37 -0
  111. package/src/core/ui/ui.types.md +890 -0
  112. package/src/core/ui/usage.md +1124 -0
  113. package/src/core/ui/watch.md +346 -0
  114. package/src/core/workers/broadcast.js +138 -0
  115. package/src/core/workers/dedicated.js +153 -0
  116. package/src/core/workers/index.js +169 -0
  117. package/src/core/workers/locks.js +160 -0
  118. package/src/core/workers/offscreen.js +166 -0
  119. package/src/core/workers/plan.md +381 -0
  120. package/src/core/workers/pool.js +267 -0
  121. package/src/core/workers/shared.js +137 -0
  122. package/src/core/workers/usage.md +622 -0
  123. package/src/elements/base.js +12 -0
  124. package/src/elements/data/card/index.html +9 -0
  125. package/src/elements/data/card/index.js +19 -0
  126. package/src/elements/data/card/index.tags.json +1 -0
  127. package/src/elements/data/card/style.css +46 -0
  128. package/src/elements/data/chart/index.html +1 -0
  129. package/src/elements/data/chart/index.js +143 -0
  130. package/src/elements/data/chart/index.tags.json +1 -0
  131. package/src/elements/data/chart/style.css +13 -0
  132. package/src/elements/data/list/index.html +3 -0
  133. package/src/elements/data/list/index.js +19 -0
  134. package/src/elements/data/list/index.tags.json +1 -0
  135. package/src/elements/data/list/style.css +39 -0
  136. package/src/elements/data/stat/index.html +9 -0
  137. package/src/elements/data/stat/index.js +19 -0
  138. package/src/elements/data/stat/index.tags.json +1 -0
  139. package/src/elements/data/stat/style.css +50 -0
  140. package/src/elements/data/table/index.html +1 -0
  141. package/src/elements/data/table/index.js +16 -0
  142. package/src/elements/data/table/index.tags.json +1 -0
  143. package/src/elements/data/table/style.css +50 -0
  144. package/src/elements/feedback/alert/index.html +11 -0
  145. package/src/elements/feedback/alert/index.js +28 -0
  146. package/src/elements/feedback/alert/index.tags.json +1 -0
  147. package/src/elements/feedback/alert/style.css +75 -0
  148. package/src/elements/feedback/empty/index.html +13 -0
  149. package/src/elements/feedback/empty/index.js +34 -0
  150. package/src/elements/feedback/empty/index.tags.json +1 -0
  151. package/src/elements/feedback/empty/style.css +45 -0
  152. package/src/elements/feedback/progress/index.html +7 -0
  153. package/src/elements/feedback/progress/index.js +46 -0
  154. package/src/elements/feedback/progress/index.tags.json +1 -0
  155. package/src/elements/feedback/progress/style.css +36 -0
  156. package/src/elements/feedback/skeleton/index.html +1 -0
  157. package/src/elements/feedback/skeleton/index.js +78 -0
  158. package/src/elements/feedback/skeleton/index.tags.json +1 -0
  159. package/src/elements/feedback/skeleton/style.css +28 -0
  160. package/src/elements/feedback/toast/index.html +3 -0
  161. package/src/elements/feedback/toast/index.js +65 -0
  162. package/src/elements/feedback/toast/index.tags.json +1 -0
  163. package/src/elements/feedback/toast/style.css +36 -0
  164. package/src/elements/forms/checkbox/index.html +7 -0
  165. package/src/elements/forms/checkbox/index.js +104 -0
  166. package/src/elements/forms/checkbox/index.tags.json +1 -0
  167. package/src/elements/forms/checkbox/style.css +86 -0
  168. package/src/elements/forms/field/index.html +13 -0
  169. package/src/elements/forms/field/index.js +42 -0
  170. package/src/elements/forms/field/index.tags.json +1 -0
  171. package/src/elements/forms/field/style.css +42 -0
  172. package/src/elements/forms/form/index.html +3 -0
  173. package/src/elements/forms/form/index.js +122 -0
  174. package/src/elements/forms/form/index.tags.json +1 -0
  175. package/src/elements/forms/form/style.css +11 -0
  176. package/src/elements/forms/input/index.html +4 -0
  177. package/src/elements/forms/input/index.js +103 -0
  178. package/src/elements/forms/input/index.tags.json +1 -0
  179. package/src/elements/forms/input/style.css +39 -0
  180. package/src/elements/forms/radio/index.html +4 -0
  181. package/src/elements/forms/radio/index.js +109 -0
  182. package/src/elements/forms/radio/index.tags.json +1 -0
  183. package/src/elements/forms/radio/style.css +65 -0
  184. package/src/elements/forms/select/index.html +9 -0
  185. package/src/elements/forms/select/index.js +114 -0
  186. package/src/elements/forms/select/index.tags.json +1 -0
  187. package/src/elements/forms/select/style.css +95 -0
  188. package/src/elements/forms/textarea/index.html +4 -0
  189. package/src/elements/forms/textarea/index.js +115 -0
  190. package/src/elements/forms/textarea/index.tags.json +1 -0
  191. package/src/elements/forms/textarea/style.css +46 -0
  192. package/src/elements/forms/toggle/index.html +4 -0
  193. package/src/elements/forms/toggle/index.js +89 -0
  194. package/src/elements/forms/toggle/index.tags.json +1 -0
  195. package/src/elements/forms/toggle/style.css +63 -0
  196. package/src/elements/forms/upload/index.html +13 -0
  197. package/src/elements/forms/upload/index.js +120 -0
  198. package/src/elements/forms/upload/index.tags.json +1 -0
  199. package/src/elements/forms/upload/style.css +61 -0
  200. package/src/elements/index.js +71 -0
  201. package/src/elements/layout/app/index.html +7 -0
  202. package/src/elements/layout/app/index.js +16 -0
  203. package/src/elements/layout/app/index.tags.json +1 -0
  204. package/src/elements/layout/app/style.css +41 -0
  205. package/src/elements/layout/grid/index.html +3 -0
  206. package/src/elements/layout/grid/index.js +41 -0
  207. package/src/elements/layout/grid/index.tags.json +1 -0
  208. package/src/elements/layout/grid/style.css +12 -0
  209. package/src/elements/layout/header/index.html +8 -0
  210. package/src/elements/layout/header/index.js +16 -0
  211. package/src/elements/layout/header/index.tags.json +1 -0
  212. package/src/elements/layout/header/style.css +28 -0
  213. package/src/elements/layout/scroll/index.html +3 -0
  214. package/src/elements/layout/scroll/index.js +19 -0
  215. package/src/elements/layout/scroll/index.tags.json +1 -0
  216. package/src/elements/layout/scroll/style.css +24 -0
  217. package/src/elements/layout/sidebar/index.html +3 -0
  218. package/src/elements/layout/sidebar/index.js +24 -0
  219. package/src/elements/layout/sidebar/index.tags.json +1 -0
  220. package/src/elements/layout/sidebar/style.css +30 -0
  221. package/src/elements/layout/split/index.html +3 -0
  222. package/src/elements/layout/split/index.js +18 -0
  223. package/src/elements/layout/split/index.tags.json +1 -0
  224. package/src/elements/layout/split/style.css +28 -0
  225. package/src/elements/layout/stack/index.html +3 -0
  226. package/src/elements/layout/stack/index.js +31 -0
  227. package/src/elements/layout/stack/index.tags.json +1 -0
  228. package/src/elements/layout/stack/style.css +15 -0
  229. package/src/elements/layout/surface/index.html +3 -0
  230. package/src/elements/layout/surface/index.js +19 -0
  231. package/src/elements/layout/surface/index.tags.json +1 -0
  232. package/src/elements/layout/surface/style.css +29 -0
  233. package/src/elements/navigation/breadcrumb/index.html +5 -0
  234. package/src/elements/navigation/breadcrumb/index.js +16 -0
  235. package/src/elements/navigation/breadcrumb/index.tags.json +1 -0
  236. package/src/elements/navigation/breadcrumb/style.css +36 -0
  237. package/src/elements/navigation/nav/index.html +3 -0
  238. package/src/elements/navigation/nav/index.js +24 -0
  239. package/src/elements/navigation/nav/index.tags.json +1 -0
  240. package/src/elements/navigation/nav/style.css +38 -0
  241. package/src/elements/navigation/pagination/index.html +3 -0
  242. package/src/elements/navigation/pagination/index.js +94 -0
  243. package/src/elements/navigation/pagination/index.tags.json +1 -0
  244. package/src/elements/navigation/pagination/style.css +39 -0
  245. package/src/elements/navigation/steps/index.html +6 -0
  246. package/src/elements/navigation/steps/index.js +64 -0
  247. package/src/elements/navigation/steps/index.tags.json +1 -0
  248. package/src/elements/navigation/steps/style.css +78 -0
  249. package/src/elements/navigation/tabs/index.html +6 -0
  250. package/src/elements/navigation/tabs/index.js +132 -0
  251. package/src/elements/navigation/tabs/index.tags.json +1 -0
  252. package/src/elements/navigation/tabs/style.css +52 -0
  253. package/src/elements/overlay/dialog/index.html +5 -0
  254. package/src/elements/overlay/dialog/index.js +57 -0
  255. package/src/elements/overlay/dialog/index.tags.json +1 -0
  256. package/src/elements/overlay/dialog/style.css +31 -0
  257. package/src/elements/overlay/drawer/index.html +3 -0
  258. package/src/elements/overlay/drawer/index.js +56 -0
  259. package/src/elements/overlay/drawer/index.tags.json +1 -0
  260. package/src/elements/overlay/drawer/style.css +48 -0
  261. package/src/elements/overlay/menu/index.html +3 -0
  262. package/src/elements/overlay/menu/index.js +107 -0
  263. package/src/elements/overlay/menu/index.tags.json +1 -0
  264. package/src/elements/overlay/menu/style.css +43 -0
  265. package/src/elements/overlay/popover/index.html +3 -0
  266. package/src/elements/overlay/popover/index.js +44 -0
  267. package/src/elements/overlay/popover/index.tags.json +1 -0
  268. package/src/elements/overlay/popover/style.css +21 -0
  269. package/src/elements/overlay/sheet/index.html +8 -0
  270. package/src/elements/overlay/sheet/index.js +105 -0
  271. package/src/elements/overlay/sheet/index.tags.json +1 -0
  272. package/src/elements/overlay/sheet/style.css +64 -0
  273. package/src/elements/overlay/tooltip/index.html +6 -0
  274. package/src/elements/overlay/tooltip/index.js +16 -0
  275. package/src/elements/overlay/tooltip/index.tags.json +1 -0
  276. package/src/elements/overlay/tooltip/style.css +41 -0
  277. package/src/elements/primitives/avatar/index.html +2 -0
  278. package/src/elements/primitives/avatar/index.js +79 -0
  279. package/src/elements/primitives/avatar/index.tags.json +1 -0
  280. package/src/elements/primitives/avatar/style.css +36 -0
  281. package/src/elements/primitives/badge/index.html +3 -0
  282. package/src/elements/primitives/badge/index.js +20 -0
  283. package/src/elements/primitives/badge/index.tags.json +1 -0
  284. package/src/elements/primitives/badge/style.css +67 -0
  285. package/src/elements/primitives/button/index.html +3 -0
  286. package/src/elements/primitives/button/index.js +61 -0
  287. package/src/elements/primitives/button/index.tags.json +1 -0
  288. package/src/elements/primitives/button/style.css +66 -0
  289. package/src/elements/primitives/divider/index.html +1 -0
  290. package/src/elements/primitives/divider/index.js +43 -0
  291. package/src/elements/primitives/divider/index.tags.json +1 -0
  292. package/src/elements/primitives/divider/style.css +39 -0
  293. package/src/elements/primitives/icon/index.html +3 -0
  294. package/src/elements/primitives/icon/index.js +66 -0
  295. package/src/elements/primitives/icon/index.tags.json +1 -0
  296. package/src/elements/primitives/icon/style.css +20 -0
  297. package/src/elements/primitives/link/index.html +3 -0
  298. package/src/elements/primitives/link/index.js +129 -0
  299. package/src/elements/primitives/link/index.tags.json +1 -0
  300. package/src/elements/primitives/link/style.css +40 -0
  301. package/src/elements/primitives/spinner/index.html +1 -0
  302. package/src/elements/primitives/spinner/index.js +62 -0
  303. package/src/elements/primitives/spinner/index.tags.json +1 -0
  304. package/src/elements/primitives/spinner/style.css +20 -0
  305. package/src/elements/primitives/text/index.html +1 -0
  306. package/src/elements/primitives/text/index.js +79 -0
  307. package/src/elements/primitives/text/index.tags.json +1 -0
  308. package/src/elements/primitives/text/style.css +25 -0
  309. package/src/index.js +23 -0
  310. package/src/styles/base.css +66 -0
  311. package/src/styles/index.css +10 -0
  312. package/src/styles/layers.css +9 -0
  313. package/src/styles/reset.css +66 -0
  314. package/src/sw/activate.js +51 -0
  315. package/src/sw/expire.js +47 -0
  316. package/src/sw/index.js +28 -0
  317. package/src/sw/install.js +35 -0
  318. package/src/sw/push.js +58 -0
  319. package/src/sw/queue.js +60 -0
  320. package/src/sw/routes.js +71 -0
  321. package/src/sw/strategies.js +247 -0
  322. package/src/sw/sync.js +80 -0
  323. package/src/tokens/index.css +26 -0
  324. package/src/tokens/primitives/colors.css +54 -0
  325. package/src/tokens/primitives/motion.css +34 -0
  326. package/src/tokens/primitives/radius.css +16 -0
  327. package/src/tokens/primitives/shadow.css +34 -0
  328. package/src/tokens/primitives/spacing.css +27 -0
  329. package/src/tokens/primitives/typography.css +46 -0
  330. package/src/tokens/primitives/zindex.css +18 -0
  331. package/src/tokens/registered/colors.css +133 -0
  332. package/src/tokens/registered/dimensions.css +31 -0
  333. package/src/tokens/semantic/components.css +125 -0
  334. package/src/tokens/semantic/contrast.css +33 -0
  335. package/src/tokens/semantic/dark.css +61 -0
  336. package/src/tokens/semantic/light.css +64 -0
  337. package/types/core/animations/index.d.ts +52 -0
  338. package/types/core/api/index.d.ts +68 -0
  339. package/types/core/events/index.d.ts +50 -0
  340. package/types/core/offline/index.d.ts +68 -0
  341. package/types/core/platform/index.d.ts +60 -0
  342. package/types/core/router/index.d.ts +203 -0
  343. package/types/core/security/index.d.ts +33 -0
  344. package/types/core/state/index.d.ts +68 -0
  345. package/types/core/storage/index.d.ts +40 -0
  346. package/types/core/ui/index.d.ts +446 -0
  347. package/types/core/workers/index.d.ts +221 -0
  348. package/types/elements/index.d.ts +150 -0
  349. package/types/index.d.ts +18 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * tokens/registered/colors.css
3
+ *
4
+ * Houdini @property registrations for animatable semantic color tokens.
5
+ * This permits smooth, GPU-accelerated theme transition morphs.
6
+ * Source: doc 26 §5
7
+ */
8
+
9
+ @property --color-surface-page {
10
+ syntax: '<color>';
11
+ inherits: true;
12
+ initial-value: oklch(97% 0 0);
13
+ }
14
+
15
+ @property --color-surface-card {
16
+ syntax: '<color>';
17
+ inherits: true;
18
+ initial-value: oklch(100% 0 0);
19
+ }
20
+
21
+ @property --color-surface-elevated {
22
+ syntax: '<color>';
23
+ inherits: true;
24
+ initial-value: oklch(100% 0 0);
25
+ }
26
+
27
+ @property --color-surface-inverse {
28
+ syntax: '<color>';
29
+ inherits: true;
30
+ initial-value: oklch(10% 0 0);
31
+ }
32
+
33
+ @property --color-content-primary {
34
+ syntax: '<color>';
35
+ inherits: true;
36
+ initial-value: oklch(10% 0 0);
37
+ }
38
+
39
+ @property --color-content-secondary {
40
+ syntax: '<color>';
41
+ inherits: true;
42
+ initial-value: oklch(38% 0 0);
43
+ }
44
+
45
+ @property --color-content-disabled {
46
+ syntax: '<color>';
47
+ inherits: true;
48
+ initial-value: oklch(64% 0 0);
49
+ }
50
+
51
+ @property --color-content-inverse {
52
+ syntax: '<color>';
53
+ inherits: true;
54
+ initial-value: oklch(97% 0 0);
55
+ }
56
+
57
+ @property --color-content-link {
58
+ syntax: '<color>';
59
+ inherits: true;
60
+ initial-value: oklch(55% 0.22 250);
61
+ }
62
+
63
+ @property --color-interactive {
64
+ syntax: '<color>';
65
+ inherits: true;
66
+ initial-value: oklch(55% 0.22 250);
67
+ }
68
+
69
+ @property --color-interactive-hover {
70
+ syntax: '<color>';
71
+ inherits: true;
72
+ initial-value: oklch(46% 0.20 250);
73
+ }
74
+
75
+ @property --color-interactive-active {
76
+ syntax: '<color>';
77
+ inherits: true;
78
+ initial-value: oklch(38% 0.18 250);
79
+ }
80
+
81
+ @property --color-interactive-focus {
82
+ syntax: '<color>';
83
+ inherits: true;
84
+ initial-value: oklch(55% 0.22 250);
85
+ }
86
+
87
+ @property --color-interactive-disabled {
88
+ syntax: '<color>';
89
+ inherits: true;
90
+ initial-value: oklch(88% 0 0);
91
+ }
92
+
93
+ @property --color-feedback-success {
94
+ syntax: '<color>';
95
+ inherits: true;
96
+ initial-value: oklch(63% 0.19 145);
97
+ }
98
+
99
+ @property --color-feedback-warning {
100
+ syntax: '<color>';
101
+ inherits: true;
102
+ initial-value: oklch(75% 0.18 65);
103
+ }
104
+
105
+ @property --color-feedback-error {
106
+ syntax: '<color>';
107
+ inherits: true;
108
+ initial-value: oklch(58% 0.22 25);
109
+ }
110
+
111
+ @property --color-feedback-info {
112
+ syntax: '<color>';
113
+ inherits: true;
114
+ initial-value: oklch(60% 0.18 230);
115
+ }
116
+
117
+ @property --color-border-default {
118
+ syntax: '<color>';
119
+ inherits: true;
120
+ initial-value: oklch(88% 0 0);
121
+ }
122
+
123
+ @property --color-border-strong {
124
+ syntax: '<color>';
125
+ inherits: true;
126
+ initial-value: oklch(64% 0 0);
127
+ }
128
+
129
+ @property --color-border-focus {
130
+ syntax: '<color>';
131
+ inherits: true;
132
+ initial-value: oklch(55% 0.22 250);
133
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * tokens/registered/dimensions.css
3
+ *
4
+ * Houdini @property registrations for animatable dimension/spacing tokens.
5
+ * This permits smooth, type-checked transitions on spacing and layout.
6
+ * Source: doc 26 §5
7
+ */
8
+
9
+ @property --space-4 {
10
+ syntax: '<length>';
11
+ inherits: true;
12
+ initial-value: 1rem;
13
+ }
14
+
15
+ @property --radius-md {
16
+ syntax: '<length>';
17
+ inherits: true;
18
+ initial-value: 0.375rem;
19
+ }
20
+
21
+ @property --font-size-base {
22
+ syntax: '<length>';
23
+ inherits: true;
24
+ initial-value: 1rem;
25
+ }
26
+
27
+ @property --duration-normal {
28
+ syntax: '<time>';
29
+ inherits: true;
30
+ initial-value: 200ms;
31
+ }
@@ -0,0 +1,125 @@
1
+ /**
2
+ * tokens/semantic/components.css
3
+ *
4
+ * Semantic component-level design tokens.
5
+ * Consolidates recurring component-specific tokens from individual elements
6
+ * into a shared semantic layer for consistency across the design system.
7
+ */
8
+
9
+ :root {
10
+ /* Form Controls */
11
+ --input-bg: var(--color-surface-page);
12
+ --input-border: var(--color-border-default);
13
+ --input-border-focus: var(--color-border-focus);
14
+ --input-radius: var(--radius-md);
15
+ --input-font-size: var(--font-size-base);
16
+ --input-padding-y: var(--space-2);
17
+ --input-padding-x: var(--space-3);
18
+ --input-text-color: var(--color-content-primary);
19
+
20
+ --textarea-bg: var(--color-surface-page);
21
+ --textarea-border: var(--color-border-default);
22
+ --textarea-border-focus: var(--color-border-focus);
23
+ --textarea-radius: var(--radius-md);
24
+ --textarea-font-size: var(--font-size-base);
25
+ --textarea-padding-y: var(--space-2);
26
+ --textarea-padding-x: var(--space-3);
27
+ --textarea-text-color: var(--color-content-primary);
28
+
29
+ --check-bg: var(--color-surface-page);
30
+ --check-bg-checked: var(--color-interactive);
31
+ --check-border: var(--color-border-default);
32
+ --check-border-focus: var(--color-border-focus);
33
+ --check-radius: var(--radius-sm);
34
+ --check-size: var(--space-5);
35
+ --check-color: var(--color-content-inverse);
36
+
37
+ --radio-bg: var(--color-surface-page);
38
+ --radio-bg-checked: var(--color-interactive);
39
+ --radio-border: var(--color-border-default);
40
+ --radio-border-focus: var(--color-border-focus);
41
+ --radio-radius: var(--radius-full);
42
+ --radio-size: var(--space-5);
43
+ --radio-color: var(--color-content-inverse);
44
+
45
+ --switch-bg: var(--color-border-strong);
46
+ --switch-bg-on: var(--color-interactive);
47
+ --switch-thumb-color: var(--color-content-inverse);
48
+ --switch-width: var(--space-10);
49
+ --switch-height: var(--space-6);
50
+ --switch-thumb-size: calc(var(--switch-height) - var(--space-1));
51
+
52
+ --select-bg: var(--color-surface-page);
53
+ --select-border: var(--color-border-default);
54
+ --select-border-focus: var(--color-border-focus);
55
+ --select-radius: var(--radius-md);
56
+ --select-font-size: var(--font-size-base);
57
+ --select-padding-y: var(--space-2);
58
+ --select-padding-x: var(--space-3);
59
+ --select-text-color: var(--color-content-primary);
60
+
61
+ --upload-bg: var(--color-surface-page);
62
+ --upload-border: var(--color-border-default);
63
+ --upload-border-focus: var(--color-border-focus);
64
+ --upload-radius: var(--radius-lg);
65
+ --upload-padding: var(--space-8);
66
+ --upload-color: var(--color-content-secondary);
67
+
68
+ /* Feedback */
69
+ --alert-radius: var(--radius-md);
70
+ --alert-bg: var(--color-surface-elevated);
71
+ --alert-color: var(--color-content-primary);
72
+ --alert-border: var(--color-border-default);
73
+
74
+ --skeleton-bg: var(--color-interactive-disabled);
75
+ --skeleton-radius: var(--radius-md);
76
+ --skeleton-width: 100%;
77
+ --skeleton-height: var(--space-4);
78
+
79
+ /* Data Display */
80
+ --card-radius: var(--radius-lg);
81
+
82
+ --stat-label: var(--font-size-xs);
83
+ --stat-value: var(--font-size-3xl);
84
+
85
+ /* Navigation */
86
+ --link-color: var(--color-content-link);
87
+ --link-color-hover: var(--color-interactive-hover);
88
+ --link-color-active: var(--color-interactive-active);
89
+
90
+ /* Layout */
91
+ --stack-gap: var(--space-4);
92
+
93
+ --grid-gap: var(--space-4);
94
+ --grid-cols: repeat(auto-fit, minmax(250px, 1fr));
95
+
96
+ --surface-bg: var(--color-surface-page);
97
+ --surface-border: transparent;
98
+ --surface-shadow: none;
99
+ --surface-radius: var(--radius-none);
100
+
101
+ /* Overlay */
102
+ --dialog-radius: var(--radius-lg);
103
+ --dialog-shadow: var(--shadow-2xl);
104
+
105
+ --popover-bg: var(--color-surface-elevated);
106
+ --popover-border: var(--color-border-default);
107
+ --popover-shadow: var(--shadow-xl);
108
+ --popover-radius: var(--radius-md);
109
+
110
+ --tooltip-bg: var(--color-surface-inverse);
111
+ --tooltip-color: var(--color-content-inverse);
112
+ --tooltip-radius: var(--radius-sm);
113
+
114
+ --menu-bg: var(--color-surface-elevated);
115
+ --menu-border: var(--color-border-default);
116
+ --menu-shadow: var(--shadow-lg);
117
+ --menu-radius: var(--radius-md);
118
+
119
+ --drawer-shadow: var(--shadow-2xl);
120
+ --drawer-width: min(calc(var(--space-32) * 3), 85vw);
121
+
122
+ --sheet-radius: var(--radius-lg);
123
+ --sheet-shadow: var(--shadow-2xl);
124
+ --sheet-max-width: min(calc(var(--space-32) * 6), 100vw);
125
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * tokens/semantic/contrast.css
3
+ *
4
+ * WCAG AAA compliant high-contrast semantic token overrides.
5
+ * Enhances readability for visually impaired users.
6
+ * Source: doc 26 §3, library2.md §Phase 1-B
7
+ */
8
+
9
+ [data-theme="high-contrast"] {
10
+ /* Surfaces */
11
+ --color-surface-page: var(--color-neutral-0);
12
+ --color-surface-card: var(--color-neutral-0);
13
+ --color-surface-elevated: var(--color-neutral-0);
14
+ --color-surface-inverse: var(--color-neutral-1000);
15
+
16
+ /* Content */
17
+ --color-content-primary: var(--color-neutral-1000);
18
+ --color-content-secondary: var(--color-neutral-900);
19
+ --color-content-disabled: var(--color-neutral-700);
20
+ --color-content-inverse: var(--color-neutral-0);
21
+ --color-content-link: var(--color-brand-900);
22
+
23
+ /* Interactive Elements */
24
+ --color-interactive: var(--color-brand-900);
25
+ --color-interactive-hover: var(--color-neutral-1000);
26
+ --color-interactive-active: var(--color-neutral-1000);
27
+ --color-interactive-disabled: var(--color-neutral-600);
28
+
29
+ /* Borders */
30
+ --color-border-default: var(--color-neutral-1000);
31
+ --color-border-strong: var(--color-neutral-1000);
32
+ --color-border-focus: var(--color-brand-900);
33
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * tokens/semantic/dark.css
3
+ *
4
+ * Semantic design token overrides for the Dark theme.
5
+ * Integrates with data-theme attribute and OS media preference (guarded to respect user selection).
6
+ * Source: doc 26 §3
7
+ */
8
+
9
+ [data-theme="dark"] {
10
+ /* Surfaces */
11
+ --color-surface-page: var(--color-neutral-950);
12
+ --color-surface-card: var(--color-neutral-900);
13
+ --color-surface-elevated: var(--color-neutral-800);
14
+ --color-surface-inverse: var(--color-neutral-50);
15
+
16
+ /* Content (Text & Icons) */
17
+ --color-content-primary: var(--color-neutral-5);
18
+ --color-content-secondary: var(--color-neutral-400);
19
+ --color-content-disabled: var(--color-neutral-600);
20
+ --color-content-inverse: var(--color-neutral-900);
21
+ --color-content-link: var(--color-brand-300);
22
+
23
+ /* Interactive Elements */
24
+ --color-interactive: var(--color-brand-400);
25
+ --color-interactive-hover: var(--color-brand-300);
26
+ --color-interactive-active: var(--color-brand-200);
27
+ --color-interactive-disabled: var(--color-neutral-700);
28
+
29
+ /* Borders */
30
+ --color-border-default: var(--color-neutral-800);
31
+ --color-border-strong: var(--color-neutral-600);
32
+ --color-border-focus: var(--color-brand-400);
33
+ }
34
+
35
+ @media (prefers-color-scheme: dark) {
36
+ :root:not([data-theme="light"]) {
37
+ /* Surfaces */
38
+ --color-surface-page: var(--color-neutral-950);
39
+ --color-surface-card: var(--color-neutral-900);
40
+ --color-surface-elevated: var(--color-neutral-800);
41
+ --color-surface-inverse: var(--color-neutral-50);
42
+
43
+ /* Content (Text & Icons) */
44
+ --color-content-primary: var(--color-neutral-5);
45
+ --color-content-secondary: var(--color-neutral-400);
46
+ --color-content-disabled: var(--color-neutral-600);
47
+ --color-content-inverse: var(--color-neutral-900);
48
+ --color-content-link: var(--color-brand-300);
49
+
50
+ /* Interactive Elements */
51
+ --color-interactive: var(--color-brand-400);
52
+ --color-interactive-hover: var(--color-brand-300);
53
+ --color-interactive-active: var(--color-brand-200);
54
+ --color-interactive-disabled: var(--color-neutral-700);
55
+
56
+ /* Borders */
57
+ --color-border-default: var(--color-neutral-800);
58
+ --color-border-strong: var(--color-neutral-600);
59
+ --color-border-focus: var(--color-brand-400);
60
+ }
61
+ }
@@ -0,0 +1,64 @@
1
+ /**
2
+ * tokens/semantic/light.css
3
+ *
4
+ * Semantic design token assignments for the default Light theme.
5
+ * Standardizes semantic mapping to primitives and sets up GPU-accelerated theme transition rules on :root.
6
+ * Source: doc 26 §3, §6
7
+ */
8
+
9
+ :root {
10
+ /* Surfaces */
11
+ --color-surface-page: var(--color-neutral-50);
12
+ --color-surface-card: var(--color-neutral-0);
13
+ --color-surface-elevated: var(--color-neutral-0);
14
+ --color-surface-inverse: var(--color-neutral-900);
15
+
16
+ /* Content (Text & Icons) */
17
+ --color-content-primary: var(--color-neutral-900);
18
+ --color-content-secondary: var(--color-neutral-600);
19
+ --color-content-disabled: var(--color-neutral-400);
20
+ --color-content-inverse: var(--color-neutral-50);
21
+ --color-content-link: var(--color-brand-600);
22
+
23
+ /* Interactive Elements */
24
+ --color-interactive: var(--color-brand-500);
25
+ --color-interactive-hover: var(--color-brand-600);
26
+ --color-interactive-active: var(--color-brand-700);
27
+ --color-interactive-focus: var(--color-brand-500);
28
+ --color-interactive-disabled: var(--color-neutral-300);
29
+
30
+ /* Feedback Semantics */
31
+ --color-feedback-success: var(--color-success-500);
32
+ --color-feedback-warning: var(--color-warning-500);
33
+ --color-feedback-error: var(--color-error-500);
34
+ --color-feedback-info: var(--color-info-500);
35
+
36
+ /* Borders */
37
+ --color-border-default: var(--color-neutral-200);
38
+ --color-border-strong: var(--color-neutral-400);
39
+ --color-border-focus: var(--color-brand-500);
40
+
41
+ /* Automatic theme morph configuration */
42
+ transition:
43
+ --color-surface-page 220ms var(--ease-out),
44
+ --color-surface-card 220ms var(--ease-out),
45
+ --color-surface-elevated 220ms var(--ease-out),
46
+ --color-surface-inverse 220ms var(--ease-out),
47
+ --color-content-primary 180ms var(--ease-out),
48
+ --color-content-secondary 180ms var(--ease-out),
49
+ --color-content-disabled 180ms var(--ease-out),
50
+ --color-content-inverse 180ms var(--ease-out),
51
+ --color-content-link 180ms var(--ease-out),
52
+ --color-interactive 180ms var(--ease-out),
53
+ --color-interactive-hover 180ms var(--ease-out),
54
+ --color-interactive-active 180ms var(--ease-out),
55
+ --color-border-default 180ms var(--ease-out),
56
+ --color-border-strong 180ms var(--ease-out),
57
+ --color-border-focus 180ms var(--ease-out);
58
+ }
59
+
60
+ @media (prefers-reduced-motion: reduce) {
61
+ :root {
62
+ transition: none !important;
63
+ }
64
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * types/core/animations/index.d.ts
3
+ *
4
+ * TypeScript declarations for the WAAPI animations and staggers layer.
5
+ */
6
+
7
+ export interface StaggerGroup {
8
+ animations: Animation[];
9
+ cancel(): void;
10
+ finish(): void;
11
+ finished: Promise<Animation[]>;
12
+ }
13
+
14
+ export function animate(
15
+ el: HTMLElement,
16
+ animationInput: string | Keyframe[] | PropertyIndexedKeyframes,
17
+ options?: KeyframeAnimationOptions & { signal?: AbortSignal }
18
+ ): Animation;
19
+
20
+ export function stagger(
21
+ elements: HTMLElement[] | NodeListOf<HTMLElement>,
22
+ animationInput: string | Keyframe[] | PropertyIndexedKeyframes,
23
+ options?: KeyframeAnimationOptions & { staggerDelay?: number; signal?: AbortSignal }
24
+ ): StaggerGroup;
25
+
26
+ export function scroll(
27
+ el: HTMLElement,
28
+ animationInput: string | Keyframe[] | PropertyIndexedKeyframes,
29
+ options?: any
30
+ ): Animation;
31
+
32
+ export function view(
33
+ el: HTMLElement,
34
+ animationInput: string | Keyframe[] | PropertyIndexedKeyframes,
35
+ options?: any
36
+ ): Animation;
37
+
38
+ export const registry: {
39
+ register(name: string, keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: KeyframeAnimationOptions): void;
40
+ get(name: string): { keyframes: Keyframe[] | PropertyIndexedKeyframes; options: KeyframeAnimationOptions } | null;
41
+ };
42
+
43
+ export const animations: {
44
+ register: typeof registry.register;
45
+ animate: typeof animate;
46
+ stagger: typeof stagger;
47
+ scroll: typeof scroll;
48
+ view: typeof view;
49
+ Timing: any;
50
+ timing: any;
51
+ keyframes: any;
52
+ };
@@ -0,0 +1,68 @@
1
+ /**
2
+ * types/core/api/index.d.ts
3
+ *
4
+ * TypeScript declarations for the native-first networking layer.
5
+ */
6
+
7
+ export class PlatformError extends Error {
8
+ constructor(message: string, status?: number, code?: string);
9
+ status?: number;
10
+ code?: string;
11
+ }
12
+
13
+ export interface RequestDescriptor {
14
+ url: string;
15
+ method: string;
16
+ headers: Headers;
17
+ body?: any;
18
+ signal?: AbortSignal;
19
+ priority?: 'user-blocking' | 'user-visible' | 'background';
20
+ timeout?: number;
21
+ cache?: 'cache-first' | 'network-first' | 'stale-while-revalidate';
22
+ retries?: number;
23
+ }
24
+
25
+ export interface RequestOptions {
26
+ headers?: Record<string, string> | Headers;
27
+ signal?: AbortSignal;
28
+ priority?: 'user-blocking' | 'user-visible' | 'background';
29
+ timeout?: number;
30
+ cache?: 'cache-first' | 'network-first' | 'stale-while-revalidate';
31
+ retries?: number;
32
+ }
33
+
34
+ export const pipeline: {
35
+ use(fn: (desc: RequestDescriptor, next: (desc: RequestDescriptor) => Promise<Response>) => Promise<Response>): void;
36
+ run(desc: RequestDescriptor, last: (desc: RequestDescriptor) => Promise<Response>): Promise<Response>;
37
+ };
38
+
39
+ export function execute(desc: RequestDescriptor): Promise<Response>;
40
+
41
+ export interface RetryOptions {
42
+ attempts?: number;
43
+ delay?: number;
44
+ backoff?: 'exponential' | 'linear';
45
+ signal?: AbortSignal;
46
+ }
47
+
48
+ export function retry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
49
+
50
+ export function createNDJSONTransform(): TransformStream<Uint8Array, any>;
51
+
52
+ export function stream(
53
+ url: string,
54
+ onChunk: (payload: any) => void,
55
+ options?: RequestOptions
56
+ ): Promise<void>;
57
+
58
+ export const api: {
59
+ get(url: string, opts?: RequestOptions): Promise<any>;
60
+ post(url: string, body?: any, opts?: RequestOptions): Promise<any>;
61
+ put(url: string, body?: any, opts?: RequestOptions): Promise<any>;
62
+ patch(url: string, body?: any, opts?: RequestOptions): Promise<any>;
63
+ delete(url: string, opts?: RequestOptions): Promise<any>;
64
+ stream: typeof stream;
65
+ upload(url: string, files: FileList | File[], options?: RequestOptions): Promise<any>;
66
+ pipeline: typeof pipeline;
67
+ PlatformError: typeof PlatformError;
68
+ };
@@ -0,0 +1,50 @@
1
+ /**
2
+ * types/core/events/index.d.ts
3
+ *
4
+ * TypeScript declarations for the native event orchestration layer.
5
+ */
6
+
7
+ export class EventBus extends EventTarget {
8
+ on(type: string, fn: (event: CustomEvent) => void, signal?: AbortSignal): () => void;
9
+ emit(type: string, detail?: any): void;
10
+ }
11
+
12
+ export const bus: EventBus;
13
+
14
+ export function delegate(
15
+ root: HTMLElement | ShadowRoot,
16
+ selector: string,
17
+ type: string,
18
+ fn: (event: Event, target: HTMLElement) => void,
19
+ options?: boolean | AddEventListenerOptions
20
+ ): () => void;
21
+
22
+ export function once(
23
+ target: EventTarget,
24
+ type: string,
25
+ options?: boolean | AddEventListenerOptions
26
+ ): Promise<Event>;
27
+
28
+ export function listen(
29
+ target: EventTarget,
30
+ type: string,
31
+ fn: (event: Event) => void,
32
+ options?: boolean | AddEventListenerOptions
33
+ ): () => void;
34
+
35
+ export const names: {
36
+ auth: { signedin: string; signedout: string; refreshed: string };
37
+ connectivity: { online: string; offline: string };
38
+ preference: { changed: string };
39
+ sw: { updated: string; message: string };
40
+ };
41
+
42
+ export const events: {
43
+ emit(type: string, detail?: any): void;
44
+ on(type: string, fn: (event: CustomEvent) => void, signal?: AbortSignal): () => void;
45
+ delegate: typeof delegate;
46
+ once: typeof once;
47
+ listen: typeof listen;
48
+ names: typeof names;
49
+ };
50
+
@@ -0,0 +1,68 @@
1
+ /**
2
+ * types/core/offline/index.d.ts
3
+ *
4
+ * TypeScript declarations for offline synchronization and background operations.
5
+ */
6
+
7
+ import { ReactiveStore } from '../state';
8
+
9
+ export interface OfflineTask {
10
+ id: string;
11
+ task: string;
12
+ payload: any;
13
+ timestamp: number;
14
+ retries: number;
15
+ maxRetries: number;
16
+ }
17
+
18
+ export class OfflineQueue {
19
+ push(taskName: string, payload?: any, options?: { idempotencyKey?: string; maxRetries?: number }): Promise<string>;
20
+ list(): Promise<OfflineTask[]>;
21
+ update(task: OfflineTask): Promise<void>;
22
+ delete(id: string): Promise<void>;
23
+ clear(): Promise<void>;
24
+ }
25
+
26
+ export const queue: OfflineQueue;
27
+
28
+ export function check(force?: boolean): Promise<boolean>;
29
+ export function subscribe(fn: (isOnline: boolean) => void, signal?: AbortSignal): () => void;
30
+
31
+ export const sync: {
32
+ register(tag: string): Promise<void>;
33
+ };
34
+
35
+ export const bridge: {
36
+ send(task: string, payload?: any): Promise<any>;
37
+ onMessage(fn: (msg: any) => void): () => void;
38
+ };
39
+
40
+ export interface OfflineState {
41
+ online: boolean;
42
+ status: 'online' | 'offline' | 'unknown';
43
+ pending: number;
44
+ }
45
+
46
+ export const state: ReactiveStore<OfflineState>;
47
+
48
+ export interface ClockStamp {
49
+ actor: string;
50
+ clock: number;
51
+ }
52
+
53
+ export const clock: {
54
+ actor(): Promise<string>;
55
+ tick(): Promise<number>;
56
+ sync(remoteTime: number): Promise<number>;
57
+ stamp(): Promise<ClockStamp>;
58
+ };
59
+
60
+ export const offline: {
61
+ check: typeof check;
62
+ subscribe: typeof subscribe;
63
+ queue: OfflineQueue;
64
+ sync: typeof sync;
65
+ state: ReactiveStore<OfflineState>;
66
+ clock: typeof clock;
67
+ send(task: string, payload?: any): Promise<any>;
68
+ };