@tomny-dev/uzi 0.5.0 → 0.6.0-pr.60.171.1.16c745f

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
package/README.md CHANGED
@@ -129,7 +129,8 @@ In practice, `uzi` should spend its complexity budget on reusable app scaffoldin
129
129
  |---|---|
130
130
  | `Avatar` | Profile image with fallback states |
131
131
  | `Button` | Primary, secondary, outline, ghost variants |
132
- | `Card` | Surface container with tone/padding control |
132
+ | `Card` | Discrete object container with tone/padding control |
133
+ | `Surface` | Semantic visual grouping with base/subtle/raised/selected hierarchy |
133
134
  | `Checkbox` | Checkbox form primitive |
134
135
  | `Input` | Text input primitive |
135
136
  | `Label` | Form label primitive |
@@ -142,12 +143,13 @@ In practice, `uzi` should spend its complexity budget on reusable app scaffoldin
142
143
  | `AppShell` | Responsive layout with collapsible sidebar |
143
144
  | `SidebarNav` | Sidebar navigation list |
144
145
  | `TopBar` | Composable header shell for brand, nav triggers, and actions |
145
- | `PageContainer` | Centered responsive page-width container with configurable max width |
146
+ | `PageContainer` | Centered responsive page wrapper with standard horizontal and vertical gutters |
146
147
  | `PageHeader` | Page title, eyebrow, description, and action composition |
147
148
  | `SectionHeader` | Reusable section title, description, and actions |
148
149
  | `EmptyState` | Empty-result/resource state with visual and action slots |
149
150
  | `Stack` / `Inline` | Small gap/alignment layout helpers for common composition |
150
151
  | `Stat` / `StatGroup` | Domain-agnostic summary value and responsive stat grouping |
152
+ | `Toolbar` / `ToolbarGroup` | Responsive compact filter/action workspace |
151
153
  | `ThemeToggleButton` | Reusable light/dark toggle wired to `ThemeProvider` |
152
154
  | `ThemeProvider` / `useTheme` | Light/dark + accent palette theming |
153
155
  | `ToastProvider` / `useToast` | Radix-backed toast notification system |
@@ -165,6 +167,7 @@ In practice, `uzi` should spend its complexity budget on reusable app scaffoldin
165
167
  - [Theming](docs/theming.md) — ThemeProvider, useTheme, accent palettes, CSS overrides
166
168
  - [Layout Patterns](docs/guides/layout-patterns.md) — Dashboard, full-width header, center-branded
167
169
  - [Application Scaffolding](docs/guides/application-scaffolding.md) — Page containers, headers, empty states, stats, and layout composition
170
+ - [Visual Hierarchy](docs/guides/visual-hierarchy.md) — Surface levels, typography, borders, shadows, and toolbar conventions
168
171
  - [Form Patterns](docs/guides/form-patterns.md) — Input, Select, MultiSelect, SegmentedToggle patterns
169
172
 
170
173
  ## SSR Notes
@@ -1,21 +1,22 @@
1
1
  /**
2
- * Lightweight container component used for panels across the app.
2
+ * Lightweight container for discrete content objects across the app.
3
3
  *
4
4
  * @remarks
5
5
  * Supports tone variants, padding presets, and an optional interactive affordance.
6
+ * Use Surface for visual grouping that does not represent a discrete object.
6
7
  *
7
8
  * @param props.as - Semantic element to render (defaults to `div`).
8
9
  * @param props.tone - Visual tone variant.
9
10
  * @param props.padding - Padding preset.
10
11
  * @param props.interactive - Enables hover/focus affordance.
11
12
  */
12
- import type { HTMLAttributes } from "react";
13
+ import type { ComponentPropsWithoutRef } from "react";
13
14
  export type CardTone = "default" | "muted" | "contrast";
14
15
  export type CardPadding = "none" | "sm" | "md" | "lg";
15
16
  type CardElement = "div" | "section" | "article";
16
- export type CardProps = HTMLAttributes<HTMLElement> & {
17
+ type CardOwnProps<T extends CardElement> = {
17
18
  /** Optional semantic element type. Defaults to `div`. */
18
- as?: CardElement;
19
+ as?: T;
19
20
  /** Visual tone; drives background/border CSS vars. */
20
21
  tone?: CardTone;
21
22
  /** Padding preset; maps to CSS variables so consumers can override globally. */
@@ -23,6 +24,7 @@ export type CardProps = HTMLAttributes<HTMLElement> & {
23
24
  /** Adds hover/focus affordance (lift + outline). */
24
25
  interactive?: boolean;
25
26
  };
26
- export declare function Card({ as, tone, padding, interactive, className, children, ...rest }: CardProps): import("react/jsx-runtime").JSX.Element;
27
+ export type CardProps<T extends CardElement = "div"> = CardOwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof CardOwnProps<T>>;
28
+ export declare function Card<T extends CardElement = "div">({ as, tone, padding, interactive, className, children, ...rest }: CardProps<T>): import("react/jsx-runtime").JSX.Element;
27
29
  export {};
28
30
  //# sourceMappingURL=Card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,KAAK,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACpD,yDAAyD;IACzD,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gFAAgF;IAChF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,IAAI,CAAC,EACnB,EAAE,EACF,IAAgB,EAChB,OAAc,EACd,WAAmB,EACnB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,SAAS,2CAiBX"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAe,MAAM,OAAO,CAAC;AAInE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,KAAK,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjD,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI;IACzC,yDAAyD;IACzD,EAAE,CAAC,EAAE,CAAC,CAAC;IACP,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gFAAgF;IAChF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,IACjD,YAAY,CAAC,CAAC,CAAC,GACf,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D,wBAAgB,IAAI,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EAClD,EAAE,EACF,IAAgB,EAChB,OAAc,EACd,WAAmB,EACnB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,SAAS,CAAC,CAAC,CAAC,2CAiBd"}
@@ -1,9 +1,10 @@
1
1
  import type { HTMLAttributes } from "react";
2
2
  export type PageContainerWidth = "sm" | "md" | "lg" | "xl" | "full";
3
+ /** Standard page container with responsive horizontal and vertical gutters. */
3
4
  export type PageContainerProps = HTMLAttributes<HTMLDivElement> & {
4
5
  /** Maximum content width. Defaults to `lg`. */
5
6
  maxWidth?: PageContainerWidth;
6
- /** Removes the responsive horizontal gutters. */
7
+ /** Removes only the responsive horizontal gutters; standard vertical page spacing remains. */
7
8
  bleed?: boolean;
8
9
  };
9
10
  export declare function PageContainer({ maxWidth, bleed, className, children, ...rest }: PageContainerProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"PageContainer.d.ts","sourceRoot":"","sources":["../../../src/components/page-container/PageContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAChE,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAUF,wBAAgB,aAAa,CAAC,EAC5B,QAAe,EACf,KAAa,EACb,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,kBAAkB,2CASpB"}
1
+ {"version":3,"file":"PageContainer.d.ts","sourceRoot":"","sources":["../../../src/components/page-container/PageContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAEpE,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAChE,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,8FAA8F;IAC9F,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAUF,wBAAgB,aAAa,CAAC,EAC5B,QAAe,EACf,KAAa,EACb,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,kBAAkB,2CASpB"}
@@ -0,0 +1,16 @@
1
+ import type { ComponentPropsWithoutRef } from "react";
2
+ export type SurfaceLevel = "base" | "subtle" | "raised" | "selected";
3
+ export type SurfacePadding = "none" | "sm" | "md" | "lg";
4
+ export type SurfaceRadius = "none" | "sm" | "md" | "lg";
5
+ type SurfaceElement = "div" | "section" | "article" | "aside";
6
+ type SurfaceOwnProps<T extends SurfaceElement> = {
7
+ as?: T;
8
+ level?: SurfaceLevel;
9
+ padding?: SurfacePadding;
10
+ radius?: SurfaceRadius;
11
+ bordered?: boolean;
12
+ };
13
+ export type SurfaceProps<T extends SurfaceElement = "div"> = SurfaceOwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof SurfaceOwnProps<T>>;
14
+ export declare function Surface<T extends SurfaceElement = "div">({ as, level, padding, radius, bordered, className, children, ...rest }: SurfaceProps<T>): import("react/jsx-runtime").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=Surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Surface.d.ts","sourceRoot":"","sources":["../../../src/components/surface/Surface.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAe,MAAM,OAAO,CAAC;AAInE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AACrE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExD,KAAK,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9D,KAAK,eAAe,CAAC,CAAC,SAAS,cAAc,IAAI;IAC/C,EAAE,CAAC,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,GAAG,KAAK,IACvD,eAAe,CAAC,CAAC,CAAC,GAClB,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,KAAK,EAAE,EACxD,EAAE,EACF,KAAc,EACd,OAAc,EACd,MAAa,EACb,QAAgB,EAChB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,YAAY,CAAC,CAAC,CAAC,2CAkBjB"}
@@ -0,0 +1,13 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ export type ToolbarDensity = "compact" | "default";
3
+ export type ToolbarProps = HTMLAttributes<HTMLDivElement> & {
4
+ density?: ToolbarDensity;
5
+ sticky?: boolean;
6
+ };
7
+ export declare function Toolbar({ density, sticky, role, className, children, ...rest }: ToolbarProps): import("react/jsx-runtime").JSX.Element;
8
+ export type ToolbarGroupProps = HTMLAttributes<HTMLDivElement> & {
9
+ label?: ReactNode;
10
+ grow?: boolean;
11
+ };
12
+ export declare function ToolbarGroup({ label, grow, role, "aria-label": ariaLabel, className, children, ...rest }: ToolbarGroupProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC1D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,OAAmB,EACnB,MAAc,EACd,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,YAAY,2CAUd;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC/D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAY,EACZ,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,iBAAiB,2CAenB"}
package/dist/index.cjs CHANGED
@@ -5,37 +5,39 @@ const require_cx = require("./index4.cjs");
5
5
  const require_Button = require("./index6.cjs");
6
6
  const require_Avatar = require("./index8.cjs");
7
7
  const require_Card = require("./index10.cjs");
8
- const require_Pill = require("./index12.cjs");
9
- const require_Modal = require("./index14.cjs");
10
- const require_Alert = require("./index16.cjs");
11
- const require_ToastContext = require("./index18.cjs");
12
- const require_Input = require("./index20.cjs");
13
- const require_Label = require("./index22.cjs");
14
- const require_Checkbox = require("./index24.cjs");
15
- const require_MultiSelect = require("./index26.cjs");
16
- const require_Select = require("./index28.cjs");
17
- const require_Dropdown = require("./index29.cjs");
18
- const require_DropdownMenu = require("./index31.cjs");
19
- const require_ThemeProvider = require("./index33.cjs");
20
- const require_ThemeToggleButton = require("./index35.cjs");
21
- const require_TopBar = require("./index37.cjs");
22
- const require_AppShell = require("./index39.cjs");
23
- const require_SidebarNav = require("./index41.cjs");
24
- const require_PageContainer = require("./index43.cjs");
25
- const require_PageHeader = require("./index45.cjs");
26
- const require_SectionHeader = require("./index47.cjs");
27
- const require_EmptyState = require("./index49.cjs");
28
- const require_LayoutPrimitives = require("./index51.cjs");
29
- const require_Stat = require("./index53.cjs");
30
- const require_Skeleton = require("./index55.cjs");
31
- const require_Progress = require("./index57.cjs");
32
- const require_SegmentedToggle = require("./index59.cjs");
33
- const require_AuthCard = require("./index61.cjs");
34
- const require_AuthPages = require("./index63.cjs");
35
- const require_DataTable = require("./index65.cjs");
36
- const require_SettingsPage = require("./index67.cjs");
37
- const require_ErrorPage = require("./index69.cjs");
38
- const require_EmptyStatePage = require("./index71.cjs");
8
+ const require_Surface = require("./index12.cjs");
9
+ const require_Pill = require("./index14.cjs");
10
+ const require_Modal = require("./index16.cjs");
11
+ const require_Alert = require("./index18.cjs");
12
+ const require_ToastContext = require("./index20.cjs");
13
+ const require_Input = require("./index22.cjs");
14
+ const require_Label = require("./index24.cjs");
15
+ const require_Checkbox = require("./index26.cjs");
16
+ const require_MultiSelect = require("./index28.cjs");
17
+ const require_Select = require("./index30.cjs");
18
+ const require_Dropdown = require("./index31.cjs");
19
+ const require_DropdownMenu = require("./index33.cjs");
20
+ const require_ThemeProvider = require("./index35.cjs");
21
+ const require_ThemeToggleButton = require("./index37.cjs");
22
+ const require_TopBar = require("./index39.cjs");
23
+ const require_AppShell = require("./index41.cjs");
24
+ const require_SidebarNav = require("./index43.cjs");
25
+ const require_PageContainer = require("./index45.cjs");
26
+ const require_PageHeader = require("./index47.cjs");
27
+ const require_SectionHeader = require("./index49.cjs");
28
+ const require_EmptyState = require("./index51.cjs");
29
+ const require_LayoutPrimitives = require("./index53.cjs");
30
+ const require_Stat = require("./index55.cjs");
31
+ const require_Toolbar = require("./index57.cjs");
32
+ const require_Skeleton = require("./index59.cjs");
33
+ const require_Progress = require("./index61.cjs");
34
+ const require_SegmentedToggle = require("./index63.cjs");
35
+ const require_AuthCard = require("./index65.cjs");
36
+ const require_AuthPages = require("./index67.cjs");
37
+ const require_DataTable = require("./index69.cjs");
38
+ const require_SettingsPage = require("./index71.cjs");
39
+ const require_ErrorPage = require("./index73.cjs");
40
+ const require_EmptyStatePage = require("./index75.cjs");
39
41
  exports.Alert = require_Alert.Alert;
40
42
  exports.AppShell = require_AppShell.AppShell;
41
43
  exports.AuthCard = require_AuthCard.AuthCard;
@@ -88,9 +90,12 @@ exports.Skeleton = require_Skeleton.Skeleton;
88
90
  exports.Stack = require_LayoutPrimitives.Stack;
89
91
  exports.Stat = require_Stat.Stat;
90
92
  exports.StatGroup = require_Stat.StatGroup;
93
+ exports.Surface = require_Surface.Surface;
91
94
  exports.ThemeProvider = require_ThemeProvider.ThemeProvider;
92
95
  exports.ThemeToggleButton = require_ThemeToggleButton.ThemeToggleButton;
93
96
  exports.ToastProvider = require_ToastContext.ToastProvider;
97
+ exports.Toolbar = require_Toolbar.Toolbar;
98
+ exports.ToolbarGroup = require_Toolbar.ToolbarGroup;
94
99
  exports.TopBar = require_TopBar.TopBar;
95
100
  exports.cx = require_cx.cx;
96
101
  exports.useTheme = require_ThemeProvider.useTheme;
package/dist/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export type { AvatarProps, AvatarSize } from "./components/avatar/Avatar";
5
5
  export { Avatar, AvatarFallback, AvatarImage } from "./components/avatar/Avatar";
6
6
  export type { CardProps, CardPadding, CardTone } from "./components/card/Card";
7
7
  export { Card } from "./components/card/Card";
8
+ export type { SurfaceLevel, SurfacePadding, SurfaceProps, SurfaceRadius, } from "./components/surface/Surface";
9
+ export { Surface } from "./components/surface/Surface";
8
10
  export type { PillProps, PillSize, PillTone } from "./components/pill/Pill";
9
11
  export { Pill } from "./components/pill/Pill";
10
12
  export type { ModalOverlayProps, ModalProps, ModalSize } from "./components/modal/Modal";
@@ -42,6 +44,8 @@ export type { InlineAlign, InlineJustify, InlineProps, LayoutGap, StackProps, }
42
44
  export { Inline, Stack } from "./components/layout-primitives/LayoutPrimitives";
43
45
  export type { StatGroupProps, StatProps } from "./components/stat/Stat";
44
46
  export { Stat, StatGroup } from "./components/stat/Stat";
47
+ export type { ToolbarDensity, ToolbarGroupProps, ToolbarProps } from "./components/toolbar/Toolbar";
48
+ export { Toolbar, ToolbarGroup } from "./components/toolbar/Toolbar";
45
49
  export type { ThemeToggleButtonProps } from "./components/theme-toggle-button/ThemeToggleButton";
46
50
  export { ThemeToggleButton } from "./components/theme-toggle-button/ThemeToggleButton";
47
51
  export type { UziAccent, UziResolvedTheme, UziTheme } from "./theme/ThemeProvider";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,35 +4,37 @@ import { cx } from "./index3.js";
4
4
  import { Button } from "./index5.js";
5
5
  import { Avatar, AvatarFallback, AvatarImage } from "./index7.js";
6
6
  import { Card } from "./index9.js";
7
- import { Pill } from "./index11.js";
8
- import { Modal, ModalOverlay } from "./index13.js";
9
- import { Alert } from "./index15.js";
10
- import { ToastProvider, useToast } from "./index17.js";
11
- import { Input } from "./index19.js";
12
- import { Label } from "./index21.js";
13
- import { Checkbox } from "./index23.js";
14
- import { MultiSelect } from "./index25.js";
15
- import { Select } from "./index27.js";
16
- import { Dropdown } from "./index28.js";
17
- import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./index30.js";
18
- import { ThemeProvider, useTheme } from "./index32.js";
19
- import { ThemeToggleButton } from "./index34.js";
20
- import { TopBar } from "./index36.js";
21
- import { AppShell } from "./index38.js";
22
- import { SidebarNav } from "./index40.js";
23
- import { PageContainer } from "./index42.js";
24
- import { PageHeader } from "./index44.js";
25
- import { SectionHeader } from "./index46.js";
26
- import { EmptyState } from "./index48.js";
27
- import { Inline, Stack } from "./index50.js";
28
- import { Stat, StatGroup } from "./index52.js";
29
- import { Skeleton } from "./index54.js";
30
- import { Progress } from "./index56.js";
31
- import { SegmentedToggle } from "./index58.js";
32
- import { AuthCard } from "./index60.js";
33
- import { ForgotPasswordPage, SignInPage, SignUpPage } from "./index62.js";
34
- import { DataTable } from "./index64.js";
35
- import { SettingsPage } from "./index66.js";
36
- import { ErrorPage, MaintenancePage, NotFoundPage } from "./index68.js";
37
- import { EmptyStatePage } from "./index70.js";
38
- export { Alert, AppShell, AuthCard, Avatar, AvatarFallback, AvatarImage, Button, Card, Checkbox, DataTable, Dropdown, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStatePage, ErrorPage, ForgotPasswordPage, Inline, Input, Label, MaintenancePage, Modal, ModalOverlay, MultiSelect, NotFoundPage, PageContainer, PageHeader, Pill, Progress, SectionHeader, SegmentedToggle, Select, SettingsPage, SidebarNav, SignInPage, SignUpPage, Skeleton, Stack, Stat, StatGroup, ThemeProvider, ThemeToggleButton, ToastProvider, TopBar, cx, useTheme, useToast };
7
+ import { Surface } from "./index11.js";
8
+ import { Pill } from "./index13.js";
9
+ import { Modal, ModalOverlay } from "./index15.js";
10
+ import { Alert } from "./index17.js";
11
+ import { ToastProvider, useToast } from "./index19.js";
12
+ import { Input } from "./index21.js";
13
+ import { Label } from "./index23.js";
14
+ import { Checkbox } from "./index25.js";
15
+ import { MultiSelect } from "./index27.js";
16
+ import { Select } from "./index29.js";
17
+ import { Dropdown } from "./index30.js";
18
+ import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./index32.js";
19
+ import { ThemeProvider, useTheme } from "./index34.js";
20
+ import { ThemeToggleButton } from "./index36.js";
21
+ import { TopBar } from "./index38.js";
22
+ import { AppShell } from "./index40.js";
23
+ import { SidebarNav } from "./index42.js";
24
+ import { PageContainer } from "./index44.js";
25
+ import { PageHeader } from "./index46.js";
26
+ import { SectionHeader } from "./index48.js";
27
+ import { EmptyState } from "./index50.js";
28
+ import { Inline, Stack } from "./index52.js";
29
+ import { Stat, StatGroup } from "./index54.js";
30
+ import { Toolbar, ToolbarGroup } from "./index56.js";
31
+ import { Skeleton } from "./index58.js";
32
+ import { Progress } from "./index60.js";
33
+ import { SegmentedToggle } from "./index62.js";
34
+ import { AuthCard } from "./index64.js";
35
+ import { ForgotPasswordPage, SignInPage, SignUpPage } from "./index66.js";
36
+ import { DataTable } from "./index68.js";
37
+ import { SettingsPage } from "./index70.js";
38
+ import { ErrorPage, MaintenancePage, NotFoundPage } from "./index72.js";
39
+ import { EmptyStatePage } from "./index74.js";
40
+ export { Alert, AppShell, AuthCard, Avatar, AvatarFallback, AvatarImage, Button, Card, Checkbox, DataTable, Dropdown, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStatePage, ErrorPage, ForgotPasswordPage, Inline, Input, Label, MaintenancePage, Modal, ModalOverlay, MultiSelect, NotFoundPage, PageContainer, PageHeader, Pill, Progress, SectionHeader, SegmentedToggle, Select, SettingsPage, SidebarNav, SignInPage, SignUpPage, Skeleton, Stack, Stat, StatGroup, Surface, ThemeProvider, ThemeToggleButton, ToastProvider, Toolbar, ToolbarGroup, TopBar, cx, useTheme, useToast };
@@ -1 +1 @@
1
- {"version":3,"file":"index10.cjs","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,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;EAAW,WATG,WAAA,GACd,oBAAA,QAAO,MACP,WAAW,QAAQ,oBAAA,QAAO,WAAW,SAAS,MAC9C,oBAAA,QAAO;GAJ4C,MAAM;GAAgB,IAAI;GAAc,IAAI;GAAc,IAAI;EAI1G,EAAc,WACrB,eAAe,oBAAA,QAAO,aACtB,SAIsB;EAAS,GAAI;EAChC;CACQ,CAAA;AAEf"}
1
+ {"version":3,"file":"index10.cjs","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,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;EAAW,WATG,WAAA,GACd,oBAAA,QAAO,MACP,WAAW,QAAQ,oBAAA,QAAO,WAAW,SAAS,MAC9C,oBAAA,QAAO;GAJ4C,MAAM;GAAgB,IAAI;GAAc,IAAI;GAAc,IAAI;EAI1G,EAAc,WACrB,eAAe,oBAAA,QAAO,aACtB,SAIsB;EAAS,GAAI;EAChC;CACQ,CAAA;AAEf"}
package/dist/index10.js CHANGED
@@ -1,19 +1,23 @@
1
- //#region src/components/pill/pill.module.css
2
- var pill = "uzi-pill-module__pill__uCKcP";
3
- var icon = "uzi-pill-module__icon__KQ8zg";
4
- var content = "uzi-pill-module__content__T7AG1";
5
- var pill_module_default = {
6
- pill,
7
- "size-sm": "uzi-pill-module__size-sm__JANOQ",
8
- "size-md": "uzi-pill-module__size-md__fdsqR",
9
- "tone-success": "uzi-pill-module__tone-success__kW2Kf",
10
- "tone-warning": "uzi-pill-module__tone-warning__Rc5-s",
11
- "tone-info": "uzi-pill-module__tone-info__0vQrj",
12
- "tone-danger": "uzi-pill-module__tone-danger__gzNOa",
13
- icon,
14
- content
1
+ //#region src/components/surface/surface.module.css
2
+ var surface = "uzi-surface-module__surface__wbqff";
3
+ var bordered = "uzi-surface-module__bordered__aPP-x";
4
+ var surface_module_default = {
5
+ surface,
6
+ "level-base": "uzi-surface-module__level-base__2lWS2",
7
+ "level-subtle": "uzi-surface-module__level-subtle__njIb4",
8
+ "level-raised": "uzi-surface-module__level-raised__VT9mt",
9
+ "level-selected": "uzi-surface-module__level-selected__7z3bI",
10
+ bordered,
11
+ "padding-none": "uzi-surface-module__padding-none__swBED",
12
+ "padding-sm": "uzi-surface-module__padding-sm__0qdV8",
13
+ "padding-md": "uzi-surface-module__padding-md__Xq3P7",
14
+ "padding-lg": "uzi-surface-module__padding-lg__beXmJ",
15
+ "radius-none": "uzi-surface-module__radius-none__DbXCZ",
16
+ "radius-sm": "uzi-surface-module__radius-sm__vMEbI",
17
+ "radius-md": "uzi-surface-module__radius-md__cS0Cp",
18
+ "radius-lg": "uzi-surface-module__radius-lg__T6MVA"
15
19
  };
16
20
  //#endregion
17
- export { content, pill_module_default as default, icon, pill };
21
+ export { bordered, surface_module_default as default, surface };
18
22
 
19
23
  //# sourceMappingURL=index10.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index10.js","names":[],"sources":["../src/components/pill/pill.module.css"],"sourcesContent":[".pill {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 999px;\n border: 1px solid var(--ts-pill-border, var(--border));\n background: var(--ts-pill-bg, color-mix(in srgb, var(--foreground) 4%, transparent));\n color: var(--ts-pill-fg, var(--muted-foreground));\n font-size: 12px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n line-height: 1.2;\n white-space: nowrap;\n}\n\n.size-sm {\n padding: 3px 8px;\n font-size: 11px;\n}\n\n.size-md {\n padding: 4px 10px;\n}\n\n.tone-success {\n color: var(--success);\n border-color: color-mix(in srgb, var(--success) 45%, transparent);\n background: color-mix(in srgb, var(--success) 12%, transparent);\n}\n\n.tone-warning {\n color: var(--warning);\n border-color: color-mix(in srgb, var(--warning) 45%, transparent);\n background: color-mix(in srgb, var(--warning) 12%, transparent);\n}\n\n.tone-info {\n color: var(--primary);\n border-color: color-mix(in srgb, var(--primary) 50%, transparent);\n background: color-mix(in srgb, var(--primary) 12%, transparent);\n}\n\n.tone-danger {\n color: var(--destructive);\n border-color: color-mix(in srgb, var(--destructive) 45%, transparent);\n background: color-mix(in srgb, var(--destructive) 12%, transparent);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n}\n\n.content {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"index10.js","names":[],"sources":["../src/components/surface/surface.module.css"],"sourcesContent":[".surface {\n min-width: 0;\n color: var(--uzi-text-primary, var(--foreground));\n}\n\n.level-base { background: var(--uzi-surface-1, var(--panel)); }\n.level-subtle { background: var(--uzi-surface-2, var(--muted)); }\n\n.level-raised {\n background: var(--uzi-surface-raised, var(--panel));\n box-shadow: var(--uzi-shadow-md, 0 8px 24px rgba(0, 0, 0, 0.12));\n}\n\n.level-selected {\n background: var(--uzi-surface-selected, var(--accent));\n}\n\n.level-selected:not(.bordered) {\n box-shadow: inset 0 0 0 1px var(--uzi-border-accent, var(--primary));\n}\n\n.bordered {\n border: 1px solid var(--uzi-border-subtle, var(--border));\n}\n\n.level-selected.bordered {\n border-color: var(--uzi-border-accent, var(--primary));\n}\n\n.padding-none { padding: 0; }\n.padding-sm { padding: var(--uzi-space-2, 0.5rem); }\n.padding-md { padding: var(--uzi-space-4, 1rem); }\n.padding-lg { padding: var(--uzi-space-5, 1.5rem); }\n.radius-none { border-radius: 0; }\n.radius-sm { border-radius: var(--uzi-radius-sm, 0.375rem); }\n.radius-md { border-radius: var(--uzi-radius-md, 0.625rem); }\n.radius-lg { border-radius: var(--uzi-radius-lg, 0.875rem); }\n"],"mappings":""}
package/dist/index11.cjs CHANGED
@@ -1,22 +1,25 @@
1
- //#region src/components/pill/pill.module.css
2
- var pill = "uzi-pill-module__pill__uCKcP";
3
- var icon = "uzi-pill-module__icon__KQ8zg";
4
- var content = "uzi-pill-module__content__T7AG1";
5
- var pill_module_default = {
6
- pill,
7
- "size-sm": "uzi-pill-module__size-sm__JANOQ",
8
- "size-md": "uzi-pill-module__size-md__fdsqR",
9
- "tone-success": "uzi-pill-module__tone-success__kW2Kf",
10
- "tone-warning": "uzi-pill-module__tone-warning__Rc5-s",
11
- "tone-info": "uzi-pill-module__tone-info__0vQrj",
12
- "tone-danger": "uzi-pill-module__tone-danger__gzNOa",
13
- icon,
14
- content
1
+ //#region src/components/surface/surface.module.css
2
+ var surface = "uzi-surface-module__surface__wbqff";
3
+ var bordered = "uzi-surface-module__bordered__aPP-x";
4
+ var surface_module_default = {
5
+ surface,
6
+ "level-base": "uzi-surface-module__level-base__2lWS2",
7
+ "level-subtle": "uzi-surface-module__level-subtle__njIb4",
8
+ "level-raised": "uzi-surface-module__level-raised__VT9mt",
9
+ "level-selected": "uzi-surface-module__level-selected__7z3bI",
10
+ bordered,
11
+ "padding-none": "uzi-surface-module__padding-none__swBED",
12
+ "padding-sm": "uzi-surface-module__padding-sm__0qdV8",
13
+ "padding-md": "uzi-surface-module__padding-md__Xq3P7",
14
+ "padding-lg": "uzi-surface-module__padding-lg__beXmJ",
15
+ "radius-none": "uzi-surface-module__radius-none__DbXCZ",
16
+ "radius-sm": "uzi-surface-module__radius-sm__vMEbI",
17
+ "radius-md": "uzi-surface-module__radius-md__cS0Cp",
18
+ "radius-lg": "uzi-surface-module__radius-lg__T6MVA"
15
19
  };
16
20
  //#endregion
17
- exports.content = content;
18
- exports.default = pill_module_default;
19
- exports.icon = icon;
20
- exports.pill = pill;
21
+ exports.bordered = bordered;
22
+ exports.default = surface_module_default;
23
+ exports.surface = surface;
21
24
 
22
25
  //# sourceMappingURL=index11.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index11.cjs","names":[],"sources":["../src/components/pill/pill.module.css"],"sourcesContent":[".pill {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n border-radius: 999px;\n border: 1px solid var(--ts-pill-border, var(--border));\n background: var(--ts-pill-bg, color-mix(in srgb, var(--foreground) 4%, transparent));\n color: var(--ts-pill-fg, var(--muted-foreground));\n font-size: 12px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n line-height: 1.2;\n white-space: nowrap;\n}\n\n.size-sm {\n padding: 3px 8px;\n font-size: 11px;\n}\n\n.size-md {\n padding: 4px 10px;\n}\n\n.tone-success {\n color: var(--success);\n border-color: color-mix(in srgb, var(--success) 45%, transparent);\n background: color-mix(in srgb, var(--success) 12%, transparent);\n}\n\n.tone-warning {\n color: var(--warning);\n border-color: color-mix(in srgb, var(--warning) 45%, transparent);\n background: color-mix(in srgb, var(--warning) 12%, transparent);\n}\n\n.tone-info {\n color: var(--primary);\n border-color: color-mix(in srgb, var(--primary) 50%, transparent);\n background: color-mix(in srgb, var(--primary) 12%, transparent);\n}\n\n.tone-danger {\n color: var(--destructive);\n border-color: color-mix(in srgb, var(--destructive) 45%, transparent);\n background: color-mix(in srgb, var(--destructive) 12%, transparent);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n}\n\n.content {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"index11.cjs","names":[],"sources":["../src/components/surface/surface.module.css"],"sourcesContent":[".surface {\n min-width: 0;\n color: var(--uzi-text-primary, var(--foreground));\n}\n\n.level-base { background: var(--uzi-surface-1, var(--panel)); }\n.level-subtle { background: var(--uzi-surface-2, var(--muted)); }\n\n.level-raised {\n background: var(--uzi-surface-raised, var(--panel));\n box-shadow: var(--uzi-shadow-md, 0 8px 24px rgba(0, 0, 0, 0.12));\n}\n\n.level-selected {\n background: var(--uzi-surface-selected, var(--accent));\n}\n\n.level-selected:not(.bordered) {\n box-shadow: inset 0 0 0 1px var(--uzi-border-accent, var(--primary));\n}\n\n.bordered {\n border: 1px solid var(--uzi-border-subtle, var(--border));\n}\n\n.level-selected.bordered {\n border-color: var(--uzi-border-accent, var(--primary));\n}\n\n.padding-none { padding: 0; }\n.padding-sm { padding: var(--uzi-space-2, 0.5rem); }\n.padding-md { padding: var(--uzi-space-4, 1rem); }\n.padding-lg { padding: var(--uzi-space-5, 1.5rem); }\n.radius-none { border-radius: 0; }\n.radius-sm { border-radius: var(--uzi-radius-sm, 0.375rem); }\n.radius-md { border-radius: var(--uzi-radius-md, 0.625rem); }\n.radius-lg { border-radius: var(--uzi-radius-lg, 0.875rem); }\n"],"mappings":""}
package/dist/index11.js CHANGED
@@ -1,22 +1,15 @@
1
1
  import { cx } from "./index3.js";
2
- import pill_module_default from "./index10.js";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
- //#region src/components/pill/Pill.tsx
5
- function Pill({ as, tone = "neutral", size = "md", icon, className, children, ...rest }) {
6
- return /* @__PURE__ */ jsxs(as ?? "span", {
7
- className: cx(pill_module_default.pill, pill_module_default[`tone-${tone}`], pill_module_default[`size-${size}`], className),
2
+ import surface_module_default from "./index10.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/surface/Surface.tsx
5
+ function Surface({ as, level = "base", padding = "md", radius = "md", bordered = false, className, children, ...rest }) {
6
+ return /* @__PURE__ */ jsx(as ?? "div", {
7
+ className: cx(surface_module_default.surface, surface_module_default[`level-${level}`], surface_module_default[`padding-${padding}`], surface_module_default[`radius-${radius}`], bordered && surface_module_default.bordered, className),
8
8
  ...rest,
9
- children: [icon ? /* @__PURE__ */ jsx("span", {
10
- className: pill_module_default.icon,
11
- "aria-hidden": "true",
12
- children: icon
13
- }) : null, /* @__PURE__ */ jsx("span", {
14
- className: pill_module_default.content,
15
- children
16
- })]
9
+ children
17
10
  });
18
11
  }
19
12
  //#endregion
20
- export { Pill };
13
+ export { Surface };
21
14
 
22
15
  //# sourceMappingURL=index11.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index11.js","names":[],"sources":["../src/components/pill/Pill.tsx"],"sourcesContent":["/**\n * Compact label component for status chips and tags.\n *\n * @remarks\n * Supports tone and size presets, and can render any inline element.\n *\n * @param props.as - Element to render (defaults to `span`).\n * @param props.tone - Visual tone variant.\n * @param props.size - Size preset.\n * @param props.icon - Optional leading icon.\n */\nimport type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./pill.module.css\";\n\nexport type PillTone = \"neutral\" | \"success\" | \"warning\" | \"info\" | \"danger\";\nexport type PillSize = \"sm\" | \"md\";\n\ntype PillElement = \"span\" | \"div\" | \"button\";\n\nexport type PillProps = HTMLAttributes<HTMLElement> & {\n /** Optional rendered element; defaults to `span`. */\n as?: PillElement;\n /** Visual tone; adjusts color and border. */\n tone?: PillTone;\n /** Size preset. */\n size?: PillSize;\n /** Leading icon node (not focusable). */\n icon?: ReactNode;\n};\n\nexport function Pill({\n as,\n tone = \"neutral\",\n size = \"md\",\n icon,\n className,\n children,\n ...rest\n}: PillProps) {\n const Component: PillElement = as ?? \"span\";\n const classes = cx(styles.pill, styles[`tone-${tone}`], styles[`size-${size}`], className);\n\n return (\n <Component className={classes} {...rest}>\n {icon ? (\n <span className={styles.icon} aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n <span className={styles.content}>{children}</span>\n </Component>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,KAAK,EACnB,IACA,OAAO,WACP,OAAO,MACP,MACA,WACA,UACA,GAAG,QACS;CAIZ,OACE,qBAJ6B,MAAM,QAInC;EAAW,WAHG,GAAG,oBAAO,MAAM,oBAAO,QAAQ,SAAS,oBAAO,QAAQ,SAAS,SAGxD;EAAS,GAAI;YAAnC,CACG,OACC,oBAAC,QAAD;GAAM,WAAW,oBAAO;GAAM,eAAY;aACvC;EACG,CAAA,IACJ,MACJ,oBAAC,QAAD;GAAM,WAAW,oBAAO;GAAU;EAAe,CAAA,CACxC;;AAEf"}
1
+ {"version":3,"file":"index11.js","names":[],"sources":["../src/components/surface/Surface.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ElementType } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./surface.module.css\";\n\nexport type SurfaceLevel = \"base\" | \"subtle\" | \"raised\" | \"selected\";\nexport type SurfacePadding = \"none\" | \"sm\" | \"md\" | \"lg\";\nexport type SurfaceRadius = \"none\" | \"sm\" | \"md\" | \"lg\";\n\ntype SurfaceElement = \"div\" | \"section\" | \"article\" | \"aside\";\n\ntype SurfaceOwnProps<T extends SurfaceElement> = {\n as?: T;\n level?: SurfaceLevel;\n padding?: SurfacePadding;\n radius?: SurfaceRadius;\n bordered?: boolean;\n};\n\nexport type SurfaceProps<T extends SurfaceElement = \"div\"> =\n SurfaceOwnProps<T> &\n Omit<ComponentPropsWithoutRef<T>, keyof SurfaceOwnProps<T>>;\n\nexport function Surface<T extends SurfaceElement = \"div\">({\n as,\n level = \"base\",\n padding = \"md\",\n radius = \"md\",\n bordered = false,\n className,\n children,\n ...rest\n}: SurfaceProps<T>) {\n const Component = (as ?? \"div\") as ElementType;\n\n return (\n <Component\n className={cx(\n styles.surface,\n styles[`level-${level}`],\n styles[`padding-${padding}`],\n styles[`radius-${radius}`],\n bordered && styles.bordered,\n className,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n}\n"],"mappings":";;;;AAsBA,SAAgB,QAA0C,EACxD,IACA,QAAQ,QACR,UAAU,MACV,SAAS,MACT,WAAW,OACX,WACA,UACA,GAAG,QACe;CAGlB,OACE,oBAHiB,MAAM,OAGvB;EACE,WAAW,GACT,uBAAO,SACP,uBAAO,SAAS,UAChB,uBAAO,WAAW,YAClB,uBAAO,UAAU,WACjB,YAAY,uBAAO,UACnB,SACF;EACA,GAAI;EAEH;CACQ,CAAA;AAEf"}
package/dist/index12.cjs CHANGED
@@ -1,22 +1,15 @@
1
1
  const require_cx = require("./index4.cjs");
2
- const require_pill_module = require("./index11.cjs");
2
+ const require_surface_module = require("./index11.cjs");
3
3
  let react_jsx_runtime = require("react/jsx-runtime");
4
- //#region src/components/pill/Pill.tsx
5
- function Pill({ as, tone = "neutral", size = "md", icon, className, children, ...rest }) {
6
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(as ?? "span", {
7
- className: require_cx.cx(require_pill_module.default.pill, require_pill_module.default[`tone-${tone}`], require_pill_module.default[`size-${size}`], className),
4
+ //#region src/components/surface/Surface.tsx
5
+ function Surface({ as, level = "base", padding = "md", radius = "md", bordered = false, className, children, ...rest }) {
6
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(as ?? "div", {
7
+ className: require_cx.cx(require_surface_module.default.surface, require_surface_module.default[`level-${level}`], require_surface_module.default[`padding-${padding}`], require_surface_module.default[`radius-${radius}`], bordered && require_surface_module.default.bordered, className),
8
8
  ...rest,
9
- children: [icon ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
10
- className: require_pill_module.default.icon,
11
- "aria-hidden": "true",
12
- children: icon
13
- }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
14
- className: require_pill_module.default.content,
15
- children
16
- })]
9
+ children
17
10
  });
18
11
  }
19
12
  //#endregion
20
- exports.Pill = Pill;
13
+ exports.Surface = Surface;
21
14
 
22
15
  //# sourceMappingURL=index12.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index12.cjs","names":[],"sources":["../src/components/pill/Pill.tsx"],"sourcesContent":["/**\n * Compact label component for status chips and tags.\n *\n * @remarks\n * Supports tone and size presets, and can render any inline element.\n *\n * @param props.as - Element to render (defaults to `span`).\n * @param props.tone - Visual tone variant.\n * @param props.size - Size preset.\n * @param props.icon - Optional leading icon.\n */\nimport type { HTMLAttributes, ReactNode } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./pill.module.css\";\n\nexport type PillTone = \"neutral\" | \"success\" | \"warning\" | \"info\" | \"danger\";\nexport type PillSize = \"sm\" | \"md\";\n\ntype PillElement = \"span\" | \"div\" | \"button\";\n\nexport type PillProps = HTMLAttributes<HTMLElement> & {\n /** Optional rendered element; defaults to `span`. */\n as?: PillElement;\n /** Visual tone; adjusts color and border. */\n tone?: PillTone;\n /** Size preset. */\n size?: PillSize;\n /** Leading icon node (not focusable). */\n icon?: ReactNode;\n};\n\nexport function Pill({\n as,\n tone = \"neutral\",\n size = \"md\",\n icon,\n className,\n children,\n ...rest\n}: PillProps) {\n const Component: PillElement = as ?? \"span\";\n const classes = cx(styles.pill, styles[`tone-${tone}`], styles[`size-${size}`], className);\n\n return (\n <Component className={classes} {...rest}>\n {icon ? (\n <span className={styles.icon} aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n <span className={styles.content}>{children}</span>\n </Component>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,KAAK,EACnB,IACA,OAAO,WACP,OAAO,MACP,MACA,WACA,UACA,GAAG,QACS;CAIZ,OACE,iBAAA,GAAA,kBAAA,KAAA,CAJ6B,MAAM,QAInC;EAAW,WAHG,WAAA,GAAG,oBAAA,QAAO,MAAM,oBAAA,QAAO,QAAQ,SAAS,oBAAA,QAAO,QAAQ,SAAS,SAGxD;EAAS,GAAI;YAAnC,CACG,OACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAW,oBAAA,QAAO;GAAM,eAAY;aACvC;EACG,CAAA,IACJ,MACJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAW,oBAAA,QAAO;GAAU;EAAe,CAAA,CACxC;;AAEf"}
1
+ {"version":3,"file":"index12.cjs","names":[],"sources":["../src/components/surface/Surface.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ElementType } from \"react\";\nimport { cx } from \"../../utils/cx\";\nimport styles from \"./surface.module.css\";\n\nexport type SurfaceLevel = \"base\" | \"subtle\" | \"raised\" | \"selected\";\nexport type SurfacePadding = \"none\" | \"sm\" | \"md\" | \"lg\";\nexport type SurfaceRadius = \"none\" | \"sm\" | \"md\" | \"lg\";\n\ntype SurfaceElement = \"div\" | \"section\" | \"article\" | \"aside\";\n\ntype SurfaceOwnProps<T extends SurfaceElement> = {\n as?: T;\n level?: SurfaceLevel;\n padding?: SurfacePadding;\n radius?: SurfaceRadius;\n bordered?: boolean;\n};\n\nexport type SurfaceProps<T extends SurfaceElement = \"div\"> =\n SurfaceOwnProps<T> &\n Omit<ComponentPropsWithoutRef<T>, keyof SurfaceOwnProps<T>>;\n\nexport function Surface<T extends SurfaceElement = \"div\">({\n as,\n level = \"base\",\n padding = \"md\",\n radius = \"md\",\n bordered = false,\n className,\n children,\n ...rest\n}: SurfaceProps<T>) {\n const Component = (as ?? \"div\") as ElementType;\n\n return (\n <Component\n className={cx(\n styles.surface,\n styles[`level-${level}`],\n styles[`padding-${padding}`],\n styles[`radius-${radius}`],\n bordered && styles.bordered,\n className,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n}\n"],"mappings":";;;;AAsBA,SAAgB,QAA0C,EACxD,IACA,QAAQ,QACR,UAAU,MACV,SAAS,MACT,WAAW,OACX,WACA,UACA,GAAG,QACe;CAGlB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAHiB,MAAM,OAGvB;EACE,WAAW,WAAA,GACT,uBAAA,QAAO,SACP,uBAAA,QAAO,SAAS,UAChB,uBAAA,QAAO,WAAW,YAClB,uBAAA,QAAO,UAAU,WACjB,YAAY,uBAAA,QAAO,UACnB,SACF;EACA,GAAI;EAEH;CACQ,CAAA;AAEf"}