@tomny-dev/uzi 0.5.0 → 0.6.0-pr.60.173.1.802e4f7

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 (279) hide show
  1. package/README.md +5 -2
  2. package/dist/components/card/Card.d.ts +7 -5
  3. package/dist/components/card/Card.d.ts.map +1 -1
  4. package/dist/components/page-container/PageContainer.d.ts +2 -1
  5. package/dist/components/page-container/PageContainer.d.ts.map +1 -1
  6. package/dist/components/surface/Surface.d.ts +16 -0
  7. package/dist/components/surface/Surface.d.ts.map +1 -0
  8. package/dist/components/toolbar/Toolbar.d.ts +13 -0
  9. package/dist/components/toolbar/Toolbar.d.ts.map +1 -0
  10. package/dist/index.cjs +36 -31
  11. package/dist/index.d.ts +4 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +34 -32
  14. package/dist/index10.cjs.map +1 -1
  15. package/dist/index10.js +19 -15
  16. package/dist/index10.js.map +1 -1
  17. package/dist/index11.cjs +21 -18
  18. package/dist/index11.cjs.map +1 -1
  19. package/dist/index11.js +8 -15
  20. package/dist/index11.js.map +1 -1
  21. package/dist/index12.cjs +7 -14
  22. package/dist/index12.cjs.map +1 -1
  23. package/dist/index12.js +15 -37
  24. package/dist/index12.js.map +1 -1
  25. package/dist/index13.cjs +18 -52
  26. package/dist/index13.cjs.map +1 -1
  27. package/dist/index13.js +15 -77
  28. package/dist/index13.js.map +1 -1
  29. package/dist/index14.cjs +15 -80
  30. package/dist/index14.cjs.map +1 -1
  31. package/dist/index14.js +37 -13
  32. package/dist/index14.js.map +1 -1
  33. package/dist/index15.cjs +52 -18
  34. package/dist/index15.cjs.map +1 -1
  35. package/dist/index15.js +77 -9
  36. package/dist/index15.js.map +1 -1
  37. package/dist/index16.cjs +79 -8
  38. package/dist/index16.cjs.map +1 -1
  39. package/dist/index16.js +13 -41
  40. package/dist/index16.js.map +1 -1
  41. package/dist/index17.cjs +18 -60
  42. package/dist/index17.cjs.map +1 -1
  43. package/dist/index17.js +9 -428
  44. package/dist/index17.js.map +1 -1
  45. package/dist/index18.cjs +8 -430
  46. package/dist/index18.cjs.map +1 -1
  47. package/dist/index18.js +42 -4
  48. package/dist/index18.js.map +1 -1
  49. package/dist/index19.cjs +61 -5
  50. package/dist/index19.cjs.map +1 -1
  51. package/dist/index19.js +430 -13
  52. package/dist/index19.js.map +1 -1
  53. package/dist/index20.cjs +430 -12
  54. package/dist/index20.cjs.map +1 -1
  55. package/dist/index20.js +4 -4
  56. package/dist/index20.js.map +1 -1
  57. package/dist/index21.cjs +5 -5
  58. package/dist/index21.cjs.map +1 -1
  59. package/dist/index21.js +12 -9
  60. package/dist/index21.js.map +1 -1
  61. package/dist/index22.cjs +12 -9
  62. package/dist/index22.cjs.map +1 -1
  63. package/dist/index22.js +4 -4
  64. package/dist/index22.js.map +1 -1
  65. package/dist/index23.cjs +5 -5
  66. package/dist/index23.cjs.map +1 -1
  67. package/dist/index23.js +9 -12
  68. package/dist/index23.js.map +1 -1
  69. package/dist/index24.cjs +9 -12
  70. package/dist/index24.cjs.map +1 -1
  71. package/dist/index24.js +4 -38
  72. package/dist/index24.js.map +1 -1
  73. package/dist/index25.cjs +5 -55
  74. package/dist/index25.cjs.map +1 -1
  75. package/dist/index25.js +11 -116
  76. package/dist/index25.js.map +1 -1
  77. package/dist/index26.cjs +10 -116
  78. package/dist/index26.cjs.map +1 -1
  79. package/dist/index26.js +31 -19
  80. package/dist/index26.js.map +1 -1
  81. package/dist/index27.cjs +42 -24
  82. package/dist/index27.cjs.map +1 -1
  83. package/dist/index27.js +106 -93
  84. package/dist/index27.js.map +1 -1
  85. package/dist/index28.cjs +106 -93
  86. package/dist/index28.cjs.map +1 -1
  87. package/dist/index28.js +26 -23
  88. package/dist/index28.js.map +1 -1
  89. package/dist/index29.cjs +37 -25
  90. package/dist/index29.cjs.map +1 -1
  91. package/dist/index29.js +107 -26
  92. package/dist/index29.js.map +1 -1
  93. package/dist/index30.cjs +110 -37
  94. package/dist/index30.cjs.map +1 -1
  95. package/dist/index30.js +21 -113
  96. package/dist/index30.js.map +1 -1
  97. package/dist/index31.cjs +19 -125
  98. package/dist/index31.cjs.map +1 -1
  99. package/dist/index31.js +26 -17
  100. package/dist/index31.js.map +1 -1
  101. package/dist/index32.cjs +37 -20
  102. package/dist/index32.cjs.map +1 -1
  103. package/dist/index32.js +108 -104
  104. package/dist/index32.js.map +1 -1
  105. package/dist/index33.cjs +122 -103
  106. package/dist/index33.cjs.map +1 -1
  107. package/dist/index33.js +17 -4
  108. package/dist/index33.js.map +1 -1
  109. package/dist/index34.cjs +20 -5
  110. package/dist/index34.cjs.map +1 -1
  111. package/dist/index34.js +106 -58
  112. package/dist/index34.js.map +1 -1
  113. package/dist/index35.cjs +106 -57
  114. package/dist/index35.cjs.map +1 -1
  115. package/dist/index35.js +4 -22
  116. package/dist/index35.js.map +1 -1
  117. package/dist/index36.cjs +5 -31
  118. package/dist/index36.cjs.map +1 -1
  119. package/dist/index36.js +55 -44
  120. package/dist/index36.js.map +1 -1
  121. package/dist/index37.cjs +55 -44
  122. package/dist/index37.cjs.map +1 -1
  123. package/dist/index37.js +21 -31
  124. package/dist/index37.js.map +1 -1
  125. package/dist/index38.cjs +30 -45
  126. package/dist/index38.cjs.map +1 -1
  127. package/dist/index38.js +46 -141
  128. package/dist/index38.js.map +1 -1
  129. package/dist/index39.cjs +46 -141
  130. package/dist/index39.cjs.map +1 -1
  131. package/dist/index39.js +31 -41
  132. package/dist/index39.js.map +1 -1
  133. package/dist/index40.cjs +45 -60
  134. package/dist/index40.cjs.map +1 -1
  135. package/dist/index40.js +139 -163
  136. package/dist/index40.js.map +1 -1
  137. package/dist/index41.cjs +137 -161
  138. package/dist/index41.cjs.map +1 -1
  139. package/dist/index41.js +41 -12
  140. package/dist/index41.js.map +1 -1
  141. package/dist/index42.cjs +60 -14
  142. package/dist/index42.cjs.map +1 -1
  143. package/dist/index42.js +167 -15
  144. package/dist/index42.js.map +1 -1
  145. package/dist/index43.cjs +166 -14
  146. package/dist/index43.cjs.map +1 -1
  147. package/dist/index43.js +12 -15
  148. package/dist/index43.js.map +1 -1
  149. package/dist/index44.cjs +14 -21
  150. package/dist/index44.cjs.map +1 -1
  151. package/dist/index44.js +15 -28
  152. package/dist/index44.js.map +1 -1
  153. package/dist/index45.cjs +14 -27
  154. package/dist/index45.cjs.map +1 -1
  155. package/dist/index45.js +10 -8
  156. package/dist/index45.js.map +1 -1
  157. package/dist/index46.cjs +11 -8
  158. package/dist/index46.cjs.map +1 -1
  159. package/dist/index46.js +22 -15
  160. package/dist/index46.js.map +1 -1
  161. package/dist/index47.cjs +22 -15
  162. package/dist/index47.cjs.map +1 -1
  163. package/dist/index47.js +9 -13
  164. package/dist/index47.js.map +1 -1
  165. package/dist/index48.cjs +10 -16
  166. package/dist/index48.cjs.map +1 -1
  167. package/dist/index48.js +18 -25
  168. package/dist/index48.js.map +1 -1
  169. package/dist/index49.cjs +18 -25
  170. package/dist/index49.cjs.map +1 -1
  171. package/dist/index49.js +17 -14
  172. package/dist/index49.js.map +1 -1
  173. package/dist/index50.cjs +24 -17
  174. package/dist/index50.cjs.map +1 -1
  175. package/dist/index50.js +28 -28
  176. package/dist/index50.js.map +1 -1
  177. package/dist/index51.cjs +27 -28
  178. package/dist/index51.cjs.map +1 -1
  179. package/dist/index51.js +14 -17
  180. package/dist/index51.js.map +1 -1
  181. package/dist/index52.cjs +17 -22
  182. package/dist/index52.cjs.map +1 -1
  183. package/dist/index52.js +23 -23
  184. package/dist/index52.js.map +1 -1
  185. package/dist/index53.cjs +23 -23
  186. package/dist/index53.cjs.map +1 -1
  187. package/dist/index53.js +17 -10
  188. package/dist/index53.js.map +1 -1
  189. package/dist/index54.cjs +22 -11
  190. package/dist/index54.cjs.map +1 -1
  191. package/dist/index54.js +28 -14
  192. package/dist/index54.js.map +1 -1
  193. package/dist/index55.cjs +28 -13
  194. package/dist/index55.cjs.map +1 -1
  195. package/dist/index55.js +17 -11
  196. package/dist/index55.js.map +1 -1
  197. package/dist/index56.cjs +23 -13
  198. package/dist/index56.cjs.map +1 -1
  199. package/dist/index56.js +24 -16
  200. package/dist/index56.js.map +1 -1
  201. package/dist/index57.cjs +24 -15
  202. package/dist/index57.cjs.map +1 -1
  203. package/dist/index57.js +10 -9
  204. package/dist/index57.js.map +1 -1
  205. package/dist/index58.cjs +11 -12
  206. package/dist/index58.cjs.map +1 -1
  207. package/dist/index58.js +12 -87
  208. package/dist/index58.js.map +1 -1
  209. package/dist/index59.cjs +12 -89
  210. package/dist/index59.cjs.map +1 -1
  211. package/dist/index59.js +11 -21
  212. package/dist/index59.js.map +1 -1
  213. package/dist/index60.cjs +13 -30
  214. package/dist/index60.cjs.map +1 -1
  215. package/dist/index60.js +17 -43
  216. package/dist/index60.js.map +1 -1
  217. package/dist/index61.cjs +16 -44
  218. package/dist/index61.cjs.map +1 -1
  219. package/dist/index61.js +9 -57
  220. package/dist/index61.js.map +1 -1
  221. package/dist/index62.cjs +11 -83
  222. package/dist/index62.cjs.map +1 -1
  223. package/dist/index62.js +83 -426
  224. package/dist/index62.js.map +1 -1
  225. package/dist/index63.cjs +82 -427
  226. package/dist/index63.cjs.map +1 -1
  227. package/dist/index63.js +21 -59
  228. package/dist/index63.js.map +1 -1
  229. package/dist/index64.cjs +30 -87
  230. package/dist/index64.cjs.map +1 -1
  231. package/dist/index64.js +44 -240
  232. package/dist/index64.js.map +1 -1
  233. package/dist/index65.cjs +43 -239
  234. package/dist/index65.cjs.map +1 -1
  235. package/dist/index65.js +57 -43
  236. package/dist/index65.js.map +1 -1
  237. package/dist/index66.cjs +84 -63
  238. package/dist/index66.cjs.map +1 -1
  239. package/dist/index66.js +426 -73
  240. package/dist/index66.js.map +1 -1
  241. package/dist/index67.cjs +426 -71
  242. package/dist/index67.cjs.map +1 -1
  243. package/dist/index67.js +59 -21
  244. package/dist/index67.js.map +1 -1
  245. package/dist/index68.cjs +87 -30
  246. package/dist/index68.cjs.map +1 -1
  247. package/dist/index68.js +233 -88
  248. package/dist/index68.js.map +1 -1
  249. package/dist/index69.cjs +232 -89
  250. package/dist/index69.cjs.map +1 -1
  251. package/dist/index69.js +40 -16
  252. package/dist/index69.js.map +1 -1
  253. package/dist/index70.cjs +56 -20
  254. package/dist/index70.cjs.map +1 -1
  255. package/dist/index70.js +72 -145
  256. package/dist/index70.js.map +1 -1
  257. package/dist/index71.cjs +72 -145
  258. package/dist/index71.cjs.map +1 -1
  259. package/dist/index71.js +25 -0
  260. package/dist/index71.js.map +1 -0
  261. package/dist/index72.cjs +34 -0
  262. package/dist/index72.cjs.map +1 -0
  263. package/dist/index72.js +101 -0
  264. package/dist/index72.js.map +1 -0
  265. package/dist/index73.cjs +105 -0
  266. package/dist/index73.cjs.map +1 -0
  267. package/dist/index73.js +23 -0
  268. package/dist/index73.js.map +1 -0
  269. package/dist/index74.cjs +31 -0
  270. package/dist/index74.cjs.map +1 -0
  271. package/dist/index74.js +159 -0
  272. package/dist/index74.js.map +1 -0
  273. package/dist/index75.cjs +161 -0
  274. package/dist/index75.cjs.map +1 -0
  275. package/dist/index8.js.map +1 -1
  276. package/dist/index9.cjs.map +1 -1
  277. package/dist/index9.js.map +1 -1
  278. package/dist/style.css +216 -45
  279. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index9.cjs","names":[],"sources":["../src/components/card/card.module.css"],"sourcesContent":[".card {\n position: relative;\n overflow: visible;\n border-radius: var(--ts-card-radius, 12px);\n border: 1px solid var(--ts-card-border, var(--border));\n background: var(--ts-card-bg, var(--panel));\n color: var(--ts-card-fg, var(--foreground));\n box-shadow: var(--ts-card-shadow, 0 16px 36px rgba(0, 0, 0, 0.28));\n padding: var(--ts-card-padding, 16px);\n transition:\n transform 140ms ease,\n box-shadow 140ms ease,\n border-color 140ms ease,\n background-color 140ms ease;\n}\n\n.tone-default {\n --ts-card-bg: var(--panel);\n --ts-card-border: var(--border);\n --ts-card-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);\n}\n\n.tone-muted {\n --ts-card-bg: var(--muted);\n --ts-card-border: var(--border);\n --ts-card-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);\n}\n\n.tone-contrast {\n --ts-card-bg: var(--ts-card-contrast-bg, color-mix(in srgb, var(--background) 60%, black));\n --ts-card-border: var(--border);\n --ts-card-shadow: 0 18px 50px rgba(0, 0, 0, 0.32);\n}\n\n.interactive {\n cursor: default;\n}\n\n.interactive:hover {\n transform: translateY(-1px);\n box-shadow: 0 22px 60px rgba(0, 0, 0, 0.32);\n border-color: var(--ts-card-hover-border, color-mix(in srgb, var(--primary) 40%, transparent));\n}\n\n.interactive:focus-within {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n}\n\n.padding-none { --ts-card-padding: 0; }\n.padding-sm { --ts-card-padding: 10px; }\n.padding-md { --ts-card-padding: 16px; }\n.padding-lg { --ts-card-padding: 20px; }\n"],"mappings":""}
1
+ {"version":3,"file":"index9.cjs","names":[],"sources":["../src/components/card/card.module.css"],"sourcesContent":[".card {\n position: relative;\n overflow: visible;\n border-radius: var(--ts-card-radius, var(--uzi-radius-lg, 12px));\n border: 1px solid var(--ts-card-border, var(--uzi-border-subtle, var(--border)));\n background: var(--ts-card-bg, var(--uzi-surface-1, var(--panel)));\n color: var(--ts-card-fg, var(--uzi-text-primary, var(--foreground)));\n box-shadow: var(--ts-card-shadow, var(--uzi-shadow-none, none));\n padding: var(--ts-card-padding, 16px);\n transition:\n transform 140ms ease,\n box-shadow 140ms ease,\n border-color 140ms ease,\n background-color 140ms ease;\n}\n\n.tone-default {\n --ts-card-bg: var(--uzi-surface-1, var(--panel));\n --ts-card-border: var(--uzi-border-subtle, var(--border));\n --ts-card-shadow: var(--uzi-shadow-none, none);\n}\n\n.tone-muted {\n --ts-card-bg: var(--uzi-surface-2, var(--muted));\n --ts-card-border: var(--uzi-border-subtle, var(--border));\n --ts-card-shadow: var(--uzi-shadow-none, none);\n}\n\n.tone-contrast {\n --ts-card-bg: var(--ts-card-contrast-bg, color-mix(in srgb, var(--background) 60%, black));\n --ts-card-border: var(--uzi-border-default, var(--border));\n --ts-card-shadow: var(--uzi-shadow-lg, 0 18px 50px rgba(0, 0, 0, 0.32));\n}\n\n.interactive {\n cursor: default;\n}\n\n.interactive:hover {\n transform: translateY(-1px);\n box-shadow: var(--uzi-shadow-sm, 0 4px 12px rgba(0, 0, 0, 0.12));\n border-color: var(--ts-card-hover-border, var(--uzi-border-accent, color-mix(in srgb, var(--primary) 40%, transparent)));\n}\n\n.interactive:focus-within {\n outline: var(--focus-ring);\n outline-offset: var(--focus-ring-offset);\n}\n\n.padding-none { --ts-card-padding: 0; }\n.padding-sm { --ts-card-padding: 10px; }\n.padding-md { --ts-card-padding: 16px; }\n.padding-lg { --ts-card-padding: 20px; }\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index9.js","names":[],"sources":["../src/components/card/Card.tsx"],"sourcesContent":["/**\n * Lightweight container component used for panels across the app.\n *\n * @remarks\n * Supports tone variants, padding presets, and an optional interactive affordance.\n *\n * @param props.as - Semantic element to render (defaults to `div`).\n * @param props.tone - Visual tone variant.\n * @param props.padding - Padding preset.\n * @param props.interactive - Enables hover/focus affordance.\n */\nimport type { HTMLAttributes } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./card.module.css\";\n\nexport type CardTone = \"default\" | \"muted\" | \"contrast\";\nexport type CardPadding = \"none\" | \"sm\" | \"md\" | \"lg\";\n\ntype CardElement = \"div\" | \"section\" | \"article\";\n\nexport type CardProps = HTMLAttributes<HTMLElement> & {\n /** Optional semantic element type. Defaults to `div`. */\n as?: CardElement;\n /** Visual tone; drives background/border CSS vars. */\n tone?: CardTone;\n /** Padding preset; maps to CSS variables so consumers can override globally. */\n padding?: CardPadding;\n /** Adds hover/focus affordance (lift + outline). */\n interactive?: boolean;\n};\n\nexport function Card({\n as,\n tone = \"default\",\n padding = \"md\",\n interactive = false,\n className,\n children,\n ...rest\n}: CardProps) {\n const Component: CardElement = as ?? \"div\";\n const TONE_CLASS: Record<CardTone, string | null> = { default: null, muted: \"tone-muted\", contrast: \"tone-contrast\" };\n const PADDING_CLASS: Record<CardPadding, string> = { none: \"padding-none\", sm: \"padding-sm\", md: \"padding-md\", lg: \"padding-lg\" };\n const classes = cx(\n styles.card,\n TONE_CLASS[tone] ? styles[TONE_CLASS[tone]] : null,\n styles[PADDING_CLASS[padding]],\n interactive && styles.interactive,\n className,\n );\n\n return (\n <Component className={classes} {...rest}>\n {children}\n </Component>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,KAAK,EACnB,IACA,OAAO,WACP,UAAU,MACV,cAAc,OACd,WACA,UACA,GAAG,QACS;CACZ,MAAM,YAAyB,MAAM;CACrC,MAAM,aAA8C;EAAE,SAAS;EAAM,OAAO;EAAc,UAAU;CAAgB;CAUpH,OACE,oBAAC,WAAD;EAAW,WATG,GACd,oBAAO,MACP,WAAW,QAAQ,oBAAO,WAAW,SAAS,MAC9C,oBAAO;GAJ4C,MAAM;GAAgB,IAAI;GAAc,IAAI;GAAc,IAAI;EAI1G,EAAc,WACrB,eAAe,oBAAO,aACtB,SAIsB;EAAS,GAAI;EAChC;CACQ,CAAA;AAEf"}
1
+ {"version":3,"file":"index9.js","names":[],"sources":["../src/components/card/Card.tsx"],"sourcesContent":["/**\n * Lightweight container for discrete content objects across the app.\n *\n * @remarks\n * Supports tone variants, padding presets, and an optional interactive affordance.\n * Use Surface for visual grouping that does not represent a discrete object.\n *\n * @param props.as - Semantic element to render (defaults to `div`).\n * @param props.tone - Visual tone variant.\n * @param props.padding - Padding preset.\n * @param props.interactive - Enables hover/focus affordance.\n */\nimport type { ComponentPropsWithoutRef, ElementType } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./card.module.css\";\n\nexport type CardTone = \"default\" | \"muted\" | \"contrast\";\nexport type CardPadding = \"none\" | \"sm\" | \"md\" | \"lg\";\n\ntype CardElement = \"div\" | \"section\" | \"article\";\n\ntype CardOwnProps<T extends CardElement> = {\n /** Optional semantic element type. Defaults to `div`. */\n as?: T;\n /** Visual tone; drives background/border CSS vars. */\n tone?: CardTone;\n /** Padding preset; maps to CSS variables so consumers can override globally. */\n padding?: CardPadding;\n /** Adds hover/focus affordance (lift + outline). */\n interactive?: boolean;\n};\n\nexport type CardProps<T extends CardElement = \"div\"> =\n CardOwnProps<T> &\n Omit<ComponentPropsWithoutRef<T>, keyof CardOwnProps<T>>;\n\nexport function Card<T extends CardElement = \"div\">({\n as,\n tone = \"default\",\n padding = \"md\",\n interactive = false,\n className,\n children,\n ...rest\n}: CardProps<T>) {\n const Component = (as ?? \"div\") as ElementType;\n const TONE_CLASS: Record<CardTone, string | null> = { default: null, muted: \"tone-muted\", contrast: \"tone-contrast\" };\n const PADDING_CLASS: Record<CardPadding, string> = { none: \"padding-none\", sm: \"padding-sm\", md: \"padding-md\", lg: \"padding-lg\" };\n const classes = cx(\n styles.card,\n TONE_CLASS[tone] ? styles[TONE_CLASS[tone]] : null,\n styles[PADDING_CLASS[padding]],\n interactive && styles.interactive,\n className,\n );\n\n return (\n <Component className={classes} {...rest}>\n {children}\n </Component>\n );\n}\n"],"mappings":";;;;AAoCA,SAAgB,KAAoC,EAClD,IACA,OAAO,WACP,UAAU,MACV,cAAc,OACd,WACA,UACA,GAAG,QACY;CACf,MAAM,YAAa,MAAM;CACzB,MAAM,aAA8C;EAAE,SAAS;EAAM,OAAO;EAAc,UAAU;CAAgB;CAUpH,OACE,oBAAC,WAAD;EAAW,WATG,GACd,oBAAO,MACP,WAAW,QAAQ,oBAAO,WAAW,SAAS,MAC9C,oBAAO;GAJ4C,MAAM;GAAgB,IAAI;GAAc,IAAI;GAAc,IAAI;EAI1G,EAAc,WACrB,eAAe,oBAAO,aACtB,SAIsB;EAAS,GAAI;EAChC;CACQ,CAAA;AAEf"}
package/dist/style.css CHANGED
@@ -43,6 +43,28 @@ body {
43
43
  --uzi-modal-z-index: 1000;
44
44
  --uzi-popover-z-index: 1100;
45
45
  --uzi-toast-z-index: 2147483000;
46
+
47
+ /* Shared visual hierarchy */
48
+ --uzi-space-1: 0.25rem;
49
+ --uzi-space-2: 0.5rem;
50
+ --uzi-space-3: 0.75rem;
51
+ --uzi-space-4: 1rem;
52
+ --uzi-space-5: 1.5rem;
53
+ --uzi-space-6: 2rem;
54
+ --uzi-space-7: 3rem;
55
+ --uzi-radius-sm: 0.375rem;
56
+ --uzi-radius-md: 0.625rem;
57
+ --uzi-radius-lg: 0.875rem;
58
+ --uzi-font-display: clamp(1.875rem, 3vw, 2.5rem);
59
+ --uzi-font-title: clamp(1.375rem, 2.5vw, 1.875rem);
60
+ --uzi-font-heading: clamp(1.25rem, 2vw, 1.625rem);
61
+ --uzi-font-body: 0.9375rem;
62
+ --uzi-font-small: 0.8125rem;
63
+ --uzi-font-caption: 0.75rem;
64
+ --uzi-shadow-none: none;
65
+ --uzi-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.06);
66
+ --uzi-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.12);
67
+ --uzi-shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.18);
46
68
  }
47
69
 
48
70
  :root,
@@ -67,6 +89,21 @@ body {
67
89
  --input: hsl(214 32% 88%);
68
90
  --panel: var(--card);
69
91
  --text: var(--foreground);
92
+ --uzi-surface-canvas: var(--background);
93
+ --uzi-surface-1: var(--card);
94
+ --uzi-surface-2: color-mix(in srgb, var(--secondary) 72%, var(--background));
95
+ --uzi-surface-raised: var(--card);
96
+ --uzi-surface-selected: color-mix(in srgb, var(--primary) 9%, var(--card));
97
+ --uzi-text-primary: var(--foreground);
98
+ --uzi-text-secondary: color-mix(in srgb, var(--foreground) 72%, var(--muted-foreground));
99
+ --uzi-text-muted: var(--muted-foreground);
100
+ --uzi-text-disabled: color-mix(in srgb, var(--muted-foreground) 65%, transparent);
101
+ --uzi-border-subtle: color-mix(in srgb, var(--border) 68%, transparent);
102
+ --uzi-border-default: var(--border);
103
+ --uzi-border-strong: color-mix(in srgb, var(--border) 72%, var(--foreground));
104
+ --uzi-border-accent: color-mix(in srgb, var(--primary) 55%, var(--border));
105
+ --surface-elevated: var(--uzi-surface-raised);
106
+ --surface-topbar: color-mix(in srgb, var(--uzi-surface-canvas) 85%, transparent);
70
107
  }
71
108
 
72
109
  :root[data-uzi-theme="dark"],
@@ -95,9 +132,33 @@ body {
95
132
  --border: #1f2937;
96
133
  --input: #1f2937;
97
134
  --panel: #111827;
135
+ --text: #e2e8f0;
136
+ --uzi-surface-canvas: var(--background);
137
+ --uzi-surface-1: var(--panel);
138
+ --uzi-surface-2: #152036;
139
+ --uzi-surface-raised: color-mix(in srgb, var(--panel) 88%, white);
140
+ --uzi-surface-selected: color-mix(in srgb, var(--primary) 12%, var(--panel));
141
+ --uzi-text-primary: var(--foreground);
142
+ --uzi-text-secondary: color-mix(in srgb, var(--foreground) 72%, var(--muted-foreground));
143
+ --uzi-text-muted: var(--muted-foreground);
144
+ --uzi-text-disabled: color-mix(in srgb, var(--muted-foreground) 65%, transparent);
145
+ --uzi-border-subtle: color-mix(in srgb, var(--border) 72%, transparent);
146
+ --uzi-border-default: var(--border);
147
+ --uzi-border-strong: color-mix(in srgb, var(--border) 76%, var(--foreground));
148
+ --uzi-border-accent: color-mix(in srgb, var(--primary) 55%, var(--border));
149
+ --uzi-shadow-sm:
150
+ inset 0 1px 0 rgba(255, 255, 255, 0.025),
151
+ 0 1px 2px rgba(0, 0, 0, 0.18),
152
+ 0 4px 12px rgba(0, 0, 0, 0.12);
153
+ --uzi-shadow-md:
154
+ inset 0 1px 0 rgba(255, 255, 255, 0.03),
155
+ 0 10px 28px rgba(0, 0, 0, 0.24);
156
+ --uzi-shadow-lg:
157
+ inset 0 1px 0 rgba(255, 255, 255, 0.035),
158
+ 0 20px 56px rgba(0, 0, 0, 0.32);
159
+ /* Preserve the legacy alias value while new components use semantic Uzi tokens. */
98
160
  --surface-elevated: #0b1224;
99
161
  --surface-topbar: color-mix(in srgb, var(--background, #0b1224) 85%, transparent);
100
- --text: #e2e8f0;
101
162
  }
102
163
 
103
164
  :root,
@@ -323,11 +384,11 @@ body {
323
384
  .uzi-card-module__card__ZPFTz {
324
385
  position: relative;
325
386
  overflow: visible;
326
- border-radius: var(--ts-card-radius, 12px);
327
- border: 1px solid var(--ts-card-border, var(--border));
328
- background: var(--ts-card-bg, var(--panel));
329
- color: var(--ts-card-fg, var(--foreground));
330
- box-shadow: var(--ts-card-shadow, 0 16px 36px rgba(0, 0, 0, 0.28));
387
+ border-radius: var(--ts-card-radius, var(--uzi-radius-lg, 12px));
388
+ border: 1px solid var(--ts-card-border, var(--uzi-border-subtle, var(--border)));
389
+ background: var(--ts-card-bg, var(--uzi-surface-1, var(--panel)));
390
+ color: var(--ts-card-fg, var(--uzi-text-primary, var(--foreground)));
391
+ box-shadow: var(--ts-card-shadow, var(--uzi-shadow-none, none));
331
392
  padding: var(--ts-card-padding, 16px);
332
393
  transition:
333
394
  transform 140ms ease,
@@ -337,21 +398,21 @@ body {
337
398
  }
338
399
 
339
400
  .uzi-card-module__tone-default__7Ujf9 {
340
- --ts-card-bg: var(--panel);
341
- --ts-card-border: var(--border);
342
- --ts-card-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
401
+ --ts-card-bg: var(--uzi-surface-1, var(--panel));
402
+ --ts-card-border: var(--uzi-border-subtle, var(--border));
403
+ --ts-card-shadow: var(--uzi-shadow-none, none);
343
404
  }
344
405
 
345
406
  .uzi-card-module__tone-muted__RQy5B {
346
- --ts-card-bg: var(--muted);
347
- --ts-card-border: var(--border);
348
- --ts-card-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);
407
+ --ts-card-bg: var(--uzi-surface-2, var(--muted));
408
+ --ts-card-border: var(--uzi-border-subtle, var(--border));
409
+ --ts-card-shadow: var(--uzi-shadow-none, none);
349
410
  }
350
411
 
351
412
  .uzi-card-module__tone-contrast__JpFxL {
352
413
  --ts-card-bg: var(--ts-card-contrast-bg, color-mix(in srgb, var(--background) 60%, black));
353
- --ts-card-border: var(--border);
354
- --ts-card-shadow: 0 18px 50px rgba(0, 0, 0, 0.32);
414
+ --ts-card-border: var(--uzi-border-default, var(--border));
415
+ --ts-card-shadow: var(--uzi-shadow-lg, 0 18px 50px rgba(0, 0, 0, 0.32));
355
416
  }
356
417
 
357
418
  .uzi-card-module__interactive__zlPML {
@@ -360,8 +421,8 @@ body {
360
421
 
361
422
  .uzi-card-module__interactive__zlPML:hover {
362
423
  transform: translateY(-1px);
363
- box-shadow: 0 22px 60px rgba(0, 0, 0, 0.32);
364
- border-color: var(--ts-card-hover-border, color-mix(in srgb, var(--primary) 40%, transparent));
424
+ box-shadow: var(--uzi-shadow-sm, 0 4px 12px rgba(0, 0, 0, 0.12));
425
+ border-color: var(--ts-card-hover-border, var(--uzi-border-accent, color-mix(in srgb, var(--primary) 40%, transparent)));
365
426
  }
366
427
 
367
428
  .uzi-card-module__interactive__zlPML:focus-within {
@@ -373,6 +434,43 @@ body {
373
434
  .uzi-card-module__padding-sm__-Ub1s { --ts-card-padding: 10px; }
374
435
  .uzi-card-module__padding-md__kUf46 { --ts-card-padding: 16px; }
375
436
  .uzi-card-module__padding-lg__a5mWP { --ts-card-padding: 20px; }
437
+ .uzi-surface-module__surface__wbqff {
438
+ min-width: 0;
439
+ color: var(--uzi-text-primary, var(--foreground));
440
+ }
441
+
442
+ .uzi-surface-module__level-base__2lWS2 { background: var(--uzi-surface-1, var(--panel)); }
443
+ .uzi-surface-module__level-subtle__njIb4 { background: var(--uzi-surface-2, var(--muted)); }
444
+
445
+ .uzi-surface-module__level-raised__VT9mt {
446
+ background: var(--uzi-surface-raised, var(--panel));
447
+ box-shadow: var(--uzi-shadow-md, 0 8px 24px rgba(0, 0, 0, 0.12));
448
+ }
449
+
450
+ .uzi-surface-module__level-selected__7z3bI {
451
+ background: var(--uzi-surface-selected, var(--accent));
452
+ }
453
+
454
+ .uzi-surface-module__level-selected__7z3bI:not(.uzi-surface-module__bordered__aPP-x) {
455
+ box-shadow: inset 0 0 0 1px var(--uzi-border-accent, var(--primary));
456
+ }
457
+
458
+ .uzi-surface-module__bordered__aPP-x {
459
+ border: 1px solid var(--uzi-border-subtle, var(--border));
460
+ }
461
+
462
+ .uzi-surface-module__level-selected__7z3bI.uzi-surface-module__bordered__aPP-x {
463
+ border-color: var(--uzi-border-accent, var(--primary));
464
+ }
465
+
466
+ .uzi-surface-module__padding-none__swBED { padding: 0; }
467
+ .uzi-surface-module__padding-sm__0qdV8 { padding: var(--uzi-space-2, 0.5rem); }
468
+ .uzi-surface-module__padding-md__Xq3P7 { padding: var(--uzi-space-4, 1rem); }
469
+ .uzi-surface-module__padding-lg__beXmJ { padding: var(--uzi-space-5, 1.5rem); }
470
+ .uzi-surface-module__radius-none__DbXCZ { border-radius: 0; }
471
+ .uzi-surface-module__radius-sm__vMEbI { border-radius: var(--uzi-radius-sm, 0.375rem); }
472
+ .uzi-surface-module__radius-md__cS0Cp { border-radius: var(--uzi-radius-md, 0.625rem); }
473
+ .uzi-surface-module__radius-lg__T6MVA { border-radius: var(--uzi-radius-lg, 0.875rem); }
376
474
  .uzi-pill-module__pill__uCKcP {
377
475
  display: inline-flex;
378
476
  align-items: center;
@@ -1961,6 +2059,7 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
1961
2059
  width: 100%;
1962
2060
  margin-inline: auto;
1963
2061
  padding-inline: var(--uzi-page-gutter, clamp(1rem, 3vw, 2rem));
2062
+ padding-block: var(--uzi-page-padding-block, clamp(1.5rem, 3vw, 2rem));
1964
2063
  }
1965
2064
 
1966
2065
  .uzi-page-container-module__width-sm__8Mpln { max-width: 48rem; }
@@ -1976,37 +2075,37 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
1976
2075
  display: flex;
1977
2076
  align-items: flex-start;
1978
2077
  justify-content: space-between;
1979
- gap: 1.5rem;
2078
+ gap: var(--uzi-space-5, 1.5rem);
1980
2079
  }
1981
2080
 
1982
2081
  .uzi-page-header-module__content__lJh9C {
1983
2082
  min-width: 0;
1984
2083
  display: grid;
1985
- gap: 0.5rem;
2084
+ gap: var(--uzi-space-2, 0.5rem);
1986
2085
  }
1987
2086
 
1988
2087
  .uzi-page-header-module__eyebrow__xP-Qr {
1989
2088
  display: flex;
1990
2089
  flex-wrap: wrap;
1991
2090
  align-items: center;
1992
- gap: 0.5rem;
1993
- color: var(--muted-foreground);
1994
- font-size: 0.8125rem;
2091
+ gap: var(--uzi-space-2, 0.5rem);
2092
+ color: var(--uzi-text-secondary, var(--muted-foreground));
2093
+ font-size: var(--uzi-font-small, 0.8125rem);
1995
2094
  font-weight: 600;
1996
2095
  }
1997
2096
 
1998
2097
  .uzi-page-header-module__title__kkZon {
1999
2098
  margin: 0;
2000
- color: var(--foreground);
2001
- font-size: clamp(1.75rem, 3vw, 2.5rem);
2099
+ color: var(--uzi-text-primary, var(--foreground));
2100
+ font-size: var(--uzi-font-display, clamp(1.875rem, 3vw, 2.5rem));
2002
2101
  line-height: 1.12;
2003
2102
  letter-spacing: -0.025em;
2004
2103
  }
2005
2104
 
2006
2105
  .uzi-page-header-module__description__zNQ1m {
2007
2106
  max-width: 48rem;
2008
- color: var(--muted-foreground);
2009
- font-size: 0.95rem;
2107
+ color: var(--uzi-text-secondary, var(--muted-foreground));
2108
+ font-size: var(--uzi-font-body, 0.9375rem);
2010
2109
  line-height: 1.65;
2011
2110
  }
2012
2111
 
@@ -2033,7 +2132,7 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
2033
2132
  display: flex;
2034
2133
  align-items: flex-end;
2035
2134
  justify-content: space-between;
2036
- gap: 1rem;
2135
+ gap: var(--uzi-space-4, 1rem);
2037
2136
  }
2038
2137
 
2039
2138
  .uzi-section-header-module__content__6prWG {
@@ -2044,16 +2143,16 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
2044
2143
 
2045
2144
  .uzi-section-header-module__title__7ddbh {
2046
2145
  margin: 0;
2047
- color: var(--foreground);
2048
- font-size: clamp(1.25rem, 2vw, 1.625rem);
2146
+ color: var(--uzi-text-primary, var(--foreground));
2147
+ font-size: var(--uzi-font-heading, clamp(1.25rem, 2vw, 1.625rem));
2049
2148
  line-height: 1.2;
2050
2149
  letter-spacing: -0.015em;
2051
2150
  }
2052
2151
 
2053
2152
  .uzi-section-header-module__description__T8tck {
2054
2153
  max-width: 44rem;
2055
- color: var(--muted-foreground);
2056
- font-size: 0.875rem;
2154
+ color: var(--uzi-text-secondary, var(--muted-foreground));
2155
+ font-size: var(--uzi-font-body, 0.9375rem);
2057
2156
  line-height: 1.6;
2058
2157
  }
2059
2158
 
@@ -2063,7 +2162,7 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
2063
2162
  flex-wrap: wrap;
2064
2163
  align-items: center;
2065
2164
  justify-content: flex-end;
2066
- gap: 0.5rem;
2165
+ gap: var(--uzi-space-2, 0.5rem);
2067
2166
  }
2068
2167
 
2069
2168
  @media (max-width: 40rem) {
@@ -2138,11 +2237,11 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
2138
2237
  flex-wrap: nowrap;
2139
2238
  }
2140
2239
 
2141
- .uzi-layout-primitives-module__gap-xs__e3Tkz { gap: 0.25rem; }
2142
- .uzi-layout-primitives-module__gap-sm__9ng-- { gap: 0.5rem; }
2143
- .uzi-layout-primitives-module__gap-md__tHIwH { gap: 1rem; }
2144
- .uzi-layout-primitives-module__gap-lg__iUm9X { gap: 1.5rem; }
2145
- .uzi-layout-primitives-module__gap-xl__O-6Na { gap: 2rem; }
2240
+ .uzi-layout-primitives-module__gap-xs__e3Tkz { gap: var(--uzi-space-1, 0.25rem); }
2241
+ .uzi-layout-primitives-module__gap-sm__9ng-- { gap: var(--uzi-space-2, 0.5rem); }
2242
+ .uzi-layout-primitives-module__gap-md__tHIwH { gap: var(--uzi-space-4, 1rem); }
2243
+ .uzi-layout-primitives-module__gap-lg__iUm9X { gap: var(--uzi-space-5, 1.5rem); }
2244
+ .uzi-layout-primitives-module__gap-xl__O-6Na { gap: var(--uzi-space-6, 2rem); }
2146
2245
  .uzi-stat-module__stat__R4Ke6 {
2147
2246
  min-width: 0;
2148
2247
  display: grid;
@@ -2150,29 +2249,27 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
2150
2249
  }
2151
2250
 
2152
2251
  .uzi-stat-module__label__MSJ0Q {
2153
- color: var(--muted-foreground);
2154
- font-size: 0.75rem;
2252
+ color: var(--uzi-text-secondary, var(--muted-foreground));
2253
+ font-size: var(--uzi-font-small, 0.8125rem);
2155
2254
  font-weight: 600;
2156
- letter-spacing: 0.025em;
2157
- text-transform: uppercase;
2158
2255
  }
2159
2256
 
2160
2257
  .uzi-stat-module__value__nSd-e {
2161
- color: var(--foreground);
2162
- font-size: clamp(1.25rem, 2.5vw, 1.75rem);
2258
+ color: var(--uzi-text-primary, var(--foreground));
2259
+ font-size: var(--uzi-font-title, clamp(1.375rem, 2.5vw, 1.875rem));
2163
2260
  font-weight: 700;
2164
2261
  line-height: 1.15;
2165
2262
  }
2166
2263
 
2167
2264
  .uzi-stat-module__detail__eB2As {
2168
- color: var(--muted-foreground);
2169
- font-size: 0.8125rem;
2265
+ color: var(--uzi-text-muted, var(--muted-foreground));
2266
+ font-size: var(--uzi-font-small, 0.8125rem);
2170
2267
  line-height: 1.5;
2171
2268
  }
2172
2269
 
2173
2270
  .uzi-stat-module__group__Hb6Bh {
2174
2271
  display: grid;
2175
- gap: 1rem;
2272
+ gap: var(--uzi-space-4, 1rem);
2176
2273
  }
2177
2274
 
2178
2275
  .uzi-stat-module__columns-1__HYln2 { grid-template-columns: 1fr; }
@@ -2194,6 +2291,80 @@ button.uzi-sidebar-nav-module__item__uMHkJ {
2194
2291
  grid-template-columns: 1fr;
2195
2292
  }
2196
2293
  }
2294
+ .uzi-toolbar-module__toolbar__IXW3o {
2295
+ display: flex;
2296
+ min-width: 0;
2297
+ align-items: center;
2298
+ flex-wrap: wrap;
2299
+ gap: var(--uzi-space-2, 0.5rem);
2300
+ border: 1px solid var(--uzi-border-subtle, var(--border));
2301
+ border-radius: var(--uzi-radius-md, 0.625rem);
2302
+ background: var(--uzi-surface-1, var(--panel));
2303
+ }
2304
+
2305
+ .uzi-toolbar-module__density-compact__qqXRT { padding: var(--uzi-space-2, 0.5rem); }
2306
+
2307
+ .uzi-toolbar-module__density-default__rGiHv {
2308
+ padding: var(--uzi-space-3, 0.75rem);
2309
+ gap: var(--uzi-space-3, 0.75rem);
2310
+ }
2311
+
2312
+ .uzi-toolbar-module__sticky__PxGot {
2313
+ position: sticky;
2314
+ top: var(--uzi-toolbar-sticky-offset, 0);
2315
+ z-index: 20;
2316
+ background: color-mix(in srgb, var(--uzi-surface-1, var(--panel)) 90%, transparent);
2317
+ -webkit-backdrop-filter: blur(12px);
2318
+ backdrop-filter: blur(12px);
2319
+ }
2320
+
2321
+ .uzi-toolbar-module__group__Cw0lk {
2322
+ display: flex;
2323
+ min-width: 0;
2324
+ align-items: center;
2325
+ gap: var(--uzi-space-2, 0.5rem);
2326
+ }
2327
+
2328
+ .uzi-toolbar-module__group__Cw0lk + .uzi-toolbar-module__group__Cw0lk {
2329
+ margin-left: var(--uzi-space-1, 0.25rem);
2330
+ padding-left: var(--uzi-space-3, 0.75rem);
2331
+ border-left: 1px solid var(--uzi-border-subtle, var(--border));
2332
+ }
2333
+
2334
+ .uzi-toolbar-module__grow__8oFpY { flex: 1 1 16rem; }
2335
+
2336
+ .uzi-toolbar-module__label__H1fT1 {
2337
+ flex: 0 0 auto;
2338
+ color: var(--uzi-text-secondary, var(--muted-foreground));
2339
+ font-size: var(--uzi-font-small, 0.8125rem);
2340
+ font-weight: 600;
2341
+ white-space: nowrap;
2342
+ }
2343
+
2344
+ .uzi-toolbar-module__controls__EOiOk {
2345
+ display: flex;
2346
+ min-width: 0;
2347
+ align-items: center;
2348
+ flex-wrap: wrap;
2349
+ gap: var(--uzi-space-2, 0.5rem);
2350
+ }
2351
+
2352
+ @media (max-width: 40rem) {
2353
+ .uzi-toolbar-module__toolbar__IXW3o { align-items: stretch; }
2354
+
2355
+ .uzi-toolbar-module__group__Cw0lk,
2356
+ .uzi-toolbar-module__grow__8oFpY { flex: 1 1 100%; }
2357
+
2358
+ .uzi-toolbar-module__group__Cw0lk + .uzi-toolbar-module__group__Cw0lk {
2359
+ margin-left: 0;
2360
+ padding-top: var(--uzi-space-2, 0.5rem);
2361
+ padding-left: 0;
2362
+ border-top: 1px solid var(--uzi-border-subtle, var(--border));
2363
+ border-left: 0;
2364
+ }
2365
+
2366
+ .uzi-toolbar-module__controls__EOiOk { flex: 1 1 auto; }
2367
+ }
2197
2368
  .uzi-skeleton-module__skeleton__fula5 {
2198
2369
  background: color-mix(in srgb, var(--muted-foreground) 14%, var(--background));
2199
2370
  animation: uzi-skeleton-module__skeleton-pulse__Yp45W 1.6s ease-in-out infinite;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomny-dev/uzi",
3
- "version": "0.5.0",
3
+ "version": "0.6.0-pr.60.173.1.802e4f7",
4
4
  "description": "Rapid-fire React UI components. Ship faster, build more.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -80,7 +80,7 @@
80
80
  "typescript": "^5.4.3",
81
81
  "vite": "^8.0.0",
82
82
  "vite-plugin-css-injected-by-js": "^5.0.1",
83
- "vitest": "^4.1.9"
83
+ "vitest": "^5.0.0"
84
84
  },
85
85
  "types": "./dist/index.d.ts"
86
86
  }