@giddaa-housing/ui 0.1.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/README.md +18 -6
  2. package/css/base.css +37 -0
  3. package/css/components.css +135 -0
  4. package/css/generated/shared.css +1 -0
  5. package/css/giddaa.css +402 -0
  6. package/css/preset.css +77 -0
  7. package/css/styles.css +2 -0
  8. package/css/theme.css +255 -0
  9. package/dist/accordion.d.ts +9 -10
  10. package/dist/accordion.js +41 -117
  11. package/dist/activity-timeline.d.ts +29 -0
  12. package/dist/activity-timeline.js +97 -0
  13. package/dist/alert.d.ts +8 -9
  14. package/dist/alert.js +53 -141
  15. package/dist/auth-layout.d.ts +23 -0
  16. package/dist/auth-layout.js +153 -0
  17. package/dist/avatar.d.ts +6 -6
  18. package/dist/avatar.js +40 -142
  19. package/dist/badge.d.ts +12 -13
  20. package/dist/badge.js +66 -114
  21. package/dist/bar-chart.d.ts +136 -114
  22. package/dist/bar-chart.js +244 -297
  23. package/dist/breadcrumb.d.ts +5 -5
  24. package/dist/breadcrumb.js +56 -148
  25. package/dist/bullet-chart.d.ts +33 -33
  26. package/dist/bullet-chart.js +123 -183
  27. package/dist/button-BZIeyUw6.d.ts +17 -0
  28. package/dist/button-group.d.ts +13 -16
  29. package/dist/button-group.js +38 -163
  30. package/dist/button.d.ts +2 -19
  31. package/dist/button.js +90 -142
  32. package/dist/calendar.d.ts +6 -6
  33. package/dist/calendar.js +134 -288
  34. package/dist/card.d.ts +14 -16
  35. package/dist/card.js +58 -174
  36. package/dist/carousel.d.ts +34 -35
  37. package/dist/carousel.js +319 -378
  38. package/dist/chart.d.ts +58 -59
  39. package/dist/chart.js +350 -466
  40. package/dist/checkbox.d.ts +10 -12
  41. package/dist/checkbox.js +84 -84
  42. package/dist/cn-BI_4DMBf.js +23 -0
  43. package/dist/collapsible.d.ts +7 -8
  44. package/dist/collapsible.js +23 -77
  45. package/dist/combobox.d.ts +10 -10
  46. package/dist/combobox.js +220 -696
  47. package/dist/cta.d.ts +64 -0
  48. package/dist/cta.js +192 -0
  49. package/dist/currency-selector.d.ts +41 -0
  50. package/dist/currency-selector.js +114 -0
  51. package/dist/data-table.d.ts +164 -0
  52. package/dist/data-table.js +673 -0
  53. package/dist/date-picker.d.ts +27 -20
  54. package/dist/date-picker.js +122 -520
  55. package/dist/details-card.d.ts +19 -0
  56. package/dist/details-card.js +118 -0
  57. package/dist/dialog.d.ts +13 -14
  58. package/dist/dialog.js +117 -320
  59. package/dist/dropdown-menu.d.ts +14 -14
  60. package/dist/dropdown-menu.js +170 -365
  61. package/dist/dropzone.d.ts +55 -55
  62. package/dist/dropzone.js +328 -467
  63. package/dist/editorial-card.d.ts +27 -0
  64. package/dist/editorial-card.js +144 -0
  65. package/dist/empty-state.d.ts +8 -9
  66. package/dist/empty-state.js +48 -135
  67. package/dist/field.d.ts +23 -25
  68. package/dist/field.js +111 -327
  69. package/dist/filter.d.ts +118 -0
  70. package/dist/filter.js +775 -0
  71. package/dist/footer.d.ts +40 -0
  72. package/dist/footer.js +227 -0
  73. package/dist/funnel-chart.d.ts +38 -41
  74. package/dist/funnel-chart.js +168 -563
  75. package/dist/gallery-indicator.d.ts +17 -0
  76. package/dist/gallery-indicator.js +75 -0
  77. package/dist/heatmap-chart.d.ts +95 -0
  78. package/dist/heatmap-chart.js +197 -0
  79. package/dist/infotip.d.ts +10 -0
  80. package/dist/infotip.js +40 -0
  81. package/dist/input-CfoEJ8A6.d.ts +12 -0
  82. package/dist/input-group.d.ts +16 -19
  83. package/dist/input-group.js +92 -372
  84. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  85. package/dist/input-size-context.d.ts +2 -11
  86. package/dist/input-size-context.js +14 -20
  87. package/dist/input.d.ts +2 -13
  88. package/dist/input.js +23 -79
  89. package/dist/item.d.ts +7 -8
  90. package/dist/item.js +22 -89
  91. package/dist/kpi-card.d.ts +18 -20
  92. package/dist/kpi-card.js +84 -232
  93. package/dist/label.d.ts +6 -6
  94. package/dist/label.js +39 -66
  95. package/dist/line-chart.d.ts +88 -89
  96. package/dist/line-chart.js +143 -262
  97. package/dist/logo.d.ts +4 -4
  98. package/dist/logo.js +87 -141
  99. package/dist/map-indicator.d.ts +13 -0
  100. package/dist/map-indicator.js +83 -0
  101. package/dist/match.d.ts +15 -0
  102. package/dist/match.js +68 -0
  103. package/dist/media-gallery-hero.d.ts +58 -0
  104. package/dist/media-gallery-hero.js +201 -0
  105. package/dist/media-player.d.ts +60 -0
  106. package/dist/media-player.js +919 -0
  107. package/dist/multi-step-form.d.ts +56 -0
  108. package/dist/multi-step-form.js +342 -0
  109. package/dist/number-input.d.ts +34 -34
  110. package/dist/number-input.js +62 -413
  111. package/dist/page-header.d.ts +10 -11
  112. package/dist/page-header.js +34 -107
  113. package/dist/pagination.d.ts +17 -20
  114. package/dist/pagination.js +132 -341
  115. package/dist/password-input.d.ts +5 -12
  116. package/dist/password-input.js +32 -354
  117. package/dist/phone-input.d.ts +19 -19
  118. package/dist/phone-input.js +232 -561
  119. package/dist/photo-gallery.d.ts +20 -20
  120. package/dist/photo-gallery.js +314 -746
  121. package/dist/picker-lzgmsNfG.js +32 -0
  122. package/dist/pie-chart.d.ts +60 -60
  123. package/dist/pie-chart.js +141 -184
  124. package/dist/popover.d.ts +9 -9
  125. package/dist/popover.js +60 -156
  126. package/dist/price-tag.d.ts +34 -0
  127. package/dist/price-tag.js +118 -0
  128. package/dist/progress.d.ts +18 -16
  129. package/dist/progress.js +156 -300
  130. package/dist/property-listing-card.d.ts +29 -0
  131. package/dist/property-listing-card.js +117 -0
  132. package/dist/radar-chart.d.ts +108 -0
  133. package/dist/radar-chart.js +172 -0
  134. package/dist/radio-group.d.ts +11 -13
  135. package/dist/radio-group.js +47 -96
  136. package/dist/review-block.d.ts +18 -0
  137. package/dist/review-block.js +154 -0
  138. package/dist/rich-text-editor.d.ts +30 -14
  139. package/dist/rich-text-editor.js +594 -979
  140. package/dist/scatter-chart.d.ts +140 -0
  141. package/dist/scatter-chart.js +248 -0
  142. package/dist/search-input.d.ts +8 -15
  143. package/dist/search-input.js +58 -408
  144. package/dist/select.d.ts +8 -8
  145. package/dist/select.js +131 -291
  146. package/dist/separator.d.ts +8 -9
  147. package/dist/separator.js +31 -70
  148. package/dist/sheet.d.ts +11 -11
  149. package/dist/sheet.js +84 -262
  150. package/dist/sidebar.d.ts +32 -37
  151. package/dist/sidebar.js +380 -1055
  152. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  153. package/dist/size-context.d.ts +2 -11
  154. package/dist/size-context.js +14 -18
  155. package/dist/skeleton.d.ts +4 -5
  156. package/dist/skeleton.js +9 -45
  157. package/dist/slider.d.ts +27 -0
  158. package/dist/slider.js +81 -0
  159. package/dist/sparkline.d.ts +43 -46
  160. package/dist/sparkline.js +223 -561
  161. package/dist/stepper.d.ts +23 -24
  162. package/dist/stepper.js +149 -276
  163. package/dist/styles.css +9995 -2
  164. package/dist/switch.d.ts +10 -12
  165. package/dist/switch.js +49 -106
  166. package/dist/table-card.d.ts +35 -0
  167. package/dist/table-card.js +125 -0
  168. package/dist/table.d.ts +18 -14
  169. package/dist/table.js +114 -182
  170. package/dist/tabs.d.ts +23 -15
  171. package/dist/tabs.js +62 -149
  172. package/dist/tag.d.ts +22 -23
  173. package/dist/tag.js +104 -156
  174. package/dist/testimonial-block.d.ts +33 -0
  175. package/dist/testimonial-block.js +208 -0
  176. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  177. package/dist/textarea.d.ts +2 -12
  178. package/dist/textarea.js +20 -74
  179. package/dist/time-picker.d.ts +11 -11
  180. package/dist/time-picker.js +247 -464
  181. package/dist/toast.d.ts +16 -18
  182. package/dist/toast.js +154 -310
  183. package/dist/tooltip.d.ts +9 -10
  184. package/dist/tooltip.js +33 -91
  185. package/dist/tree-map.d.ts +54 -57
  186. package/dist/tree-map.js +231 -646
  187. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  188. package/dist/waterfall-chart.d.ts +126 -0
  189. package/dist/waterfall-chart.js +480 -0
  190. package/package.json +123 -34
  191. package/dist/accordion.js.map +0 -1
  192. package/dist/alert.js.map +0 -1
  193. package/dist/avatar.js.map +0 -1
  194. package/dist/badge.js.map +0 -1
  195. package/dist/bar-chart.js.map +0 -1
  196. package/dist/base.css +0 -32
  197. package/dist/breadcrumb.js.map +0 -1
  198. package/dist/bullet-chart.js.map +0 -1
  199. package/dist/button-group.js.map +0 -1
  200. package/dist/button.js.map +0 -1
  201. package/dist/calendar.js.map +0 -1
  202. package/dist/card.js.map +0 -1
  203. package/dist/carousel.js.map +0 -1
  204. package/dist/chart.js.map +0 -1
  205. package/dist/checkbox.js.map +0 -1
  206. package/dist/collapsible.js.map +0 -1
  207. package/dist/combobox.js.map +0 -1
  208. package/dist/date-picker.js.map +0 -1
  209. package/dist/dialog.js.map +0 -1
  210. package/dist/dropdown-menu.js.map +0 -1
  211. package/dist/dropzone.js.map +0 -1
  212. package/dist/empty-state.js.map +0 -1
  213. package/dist/field.js.map +0 -1
  214. package/dist/files/red-hat-display-latin-300-italic.woff +0 -0
  215. package/dist/files/red-hat-display-latin-300-italic.woff2 +0 -0
  216. package/dist/files/red-hat-display-latin-300-normal.woff +0 -0
  217. package/dist/files/red-hat-display-latin-300-normal.woff2 +0 -0
  218. package/dist/files/red-hat-display-latin-400-italic.woff +0 -0
  219. package/dist/files/red-hat-display-latin-400-italic.woff2 +0 -0
  220. package/dist/files/red-hat-display-latin-400-normal.woff +0 -0
  221. package/dist/files/red-hat-display-latin-400-normal.woff2 +0 -0
  222. package/dist/files/red-hat-display-latin-500-italic.woff +0 -0
  223. package/dist/files/red-hat-display-latin-500-italic.woff2 +0 -0
  224. package/dist/files/red-hat-display-latin-500-normal.woff +0 -0
  225. package/dist/files/red-hat-display-latin-500-normal.woff2 +0 -0
  226. package/dist/files/red-hat-display-latin-600-italic.woff +0 -0
  227. package/dist/files/red-hat-display-latin-600-italic.woff2 +0 -0
  228. package/dist/files/red-hat-display-latin-600-normal.woff +0 -0
  229. package/dist/files/red-hat-display-latin-600-normal.woff2 +0 -0
  230. package/dist/files/red-hat-display-latin-700-italic.woff +0 -0
  231. package/dist/files/red-hat-display-latin-700-italic.woff2 +0 -0
  232. package/dist/files/red-hat-display-latin-700-normal.woff +0 -0
  233. package/dist/files/red-hat-display-latin-700-normal.woff2 +0 -0
  234. package/dist/files/red-hat-display-latin-800-italic.woff +0 -0
  235. package/dist/files/red-hat-display-latin-800-italic.woff2 +0 -0
  236. package/dist/files/red-hat-display-latin-800-normal.woff +0 -0
  237. package/dist/files/red-hat-display-latin-800-normal.woff2 +0 -0
  238. package/dist/files/red-hat-display-latin-900-italic.woff +0 -0
  239. package/dist/files/red-hat-display-latin-900-italic.woff2 +0 -0
  240. package/dist/files/red-hat-display-latin-900-normal.woff +0 -0
  241. package/dist/files/red-hat-display-latin-900-normal.woff2 +0 -0
  242. package/dist/files/red-hat-display-latin-ext-300-italic.woff +0 -0
  243. package/dist/files/red-hat-display-latin-ext-300-italic.woff2 +0 -0
  244. package/dist/files/red-hat-display-latin-ext-300-normal.woff +0 -0
  245. package/dist/files/red-hat-display-latin-ext-300-normal.woff2 +0 -0
  246. package/dist/files/red-hat-display-latin-ext-400-italic.woff +0 -0
  247. package/dist/files/red-hat-display-latin-ext-400-italic.woff2 +0 -0
  248. package/dist/files/red-hat-display-latin-ext-400-normal.woff +0 -0
  249. package/dist/files/red-hat-display-latin-ext-400-normal.woff2 +0 -0
  250. package/dist/files/red-hat-display-latin-ext-500-italic.woff +0 -0
  251. package/dist/files/red-hat-display-latin-ext-500-italic.woff2 +0 -0
  252. package/dist/files/red-hat-display-latin-ext-500-normal.woff +0 -0
  253. package/dist/files/red-hat-display-latin-ext-500-normal.woff2 +0 -0
  254. package/dist/files/red-hat-display-latin-ext-600-italic.woff +0 -0
  255. package/dist/files/red-hat-display-latin-ext-600-italic.woff2 +0 -0
  256. package/dist/files/red-hat-display-latin-ext-600-normal.woff +0 -0
  257. package/dist/files/red-hat-display-latin-ext-600-normal.woff2 +0 -0
  258. package/dist/files/red-hat-display-latin-ext-700-italic.woff +0 -0
  259. package/dist/files/red-hat-display-latin-ext-700-italic.woff2 +0 -0
  260. package/dist/files/red-hat-display-latin-ext-700-normal.woff +0 -0
  261. package/dist/files/red-hat-display-latin-ext-700-normal.woff2 +0 -0
  262. package/dist/files/red-hat-display-latin-ext-800-italic.woff +0 -0
  263. package/dist/files/red-hat-display-latin-ext-800-italic.woff2 +0 -0
  264. package/dist/files/red-hat-display-latin-ext-800-normal.woff +0 -0
  265. package/dist/files/red-hat-display-latin-ext-800-normal.woff2 +0 -0
  266. package/dist/files/red-hat-display-latin-ext-900-italic.woff +0 -0
  267. package/dist/files/red-hat-display-latin-ext-900-italic.woff2 +0 -0
  268. package/dist/files/red-hat-display-latin-ext-900-normal.woff +0 -0
  269. package/dist/files/red-hat-display-latin-ext-900-normal.woff2 +0 -0
  270. package/dist/funnel-chart.js.map +0 -1
  271. package/dist/index.d.ts +0 -87
  272. package/dist/index.js +0 -10448
  273. package/dist/index.js.map +0 -1
  274. package/dist/input-group.js.map +0 -1
  275. package/dist/input-size-context.js.map +0 -1
  276. package/dist/input.js.map +0 -1
  277. package/dist/item.js.map +0 -1
  278. package/dist/kpi-card.js.map +0 -1
  279. package/dist/label.js.map +0 -1
  280. package/dist/line-chart.js.map +0 -1
  281. package/dist/logo.js.map +0 -1
  282. package/dist/number-input.js.map +0 -1
  283. package/dist/page-header.js.map +0 -1
  284. package/dist/pagination.js.map +0 -1
  285. package/dist/password-input.js.map +0 -1
  286. package/dist/phone-input.js.map +0 -1
  287. package/dist/photo-gallery.js.map +0 -1
  288. package/dist/pie-chart.js.map +0 -1
  289. package/dist/popover.js.map +0 -1
  290. package/dist/progress.js.map +0 -1
  291. package/dist/radio-group.js.map +0 -1
  292. package/dist/red-hat-display.css +0 -2
  293. package/dist/rich-text-editor.js.map +0 -1
  294. package/dist/search-input.js.map +0 -1
  295. package/dist/select.js.map +0 -1
  296. package/dist/separator.js.map +0 -1
  297. package/dist/sheet.js.map +0 -1
  298. package/dist/sidebar.js.map +0 -1
  299. package/dist/size-context.js.map +0 -1
  300. package/dist/skeleton.js.map +0 -1
  301. package/dist/sparkline.js.map +0 -1
  302. package/dist/stepper.js.map +0 -1
  303. package/dist/switch.js.map +0 -1
  304. package/dist/tab-list.d.ts +0 -38
  305. package/dist/tab-list.js +0 -394
  306. package/dist/tab-list.js.map +0 -1
  307. package/dist/table.js.map +0 -1
  308. package/dist/tabs.js.map +0 -1
  309. package/dist/tag.js.map +0 -1
  310. package/dist/textarea.js.map +0 -1
  311. package/dist/theme/giddaa.css +0 -2
  312. package/dist/time-picker.js.map +0 -1
  313. package/dist/toast.js.map +0 -1
  314. package/dist/tooltip.js.map +0 -1
  315. package/dist/tree-map.js.map +0 -1
@@ -0,0 +1,27 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ import { VariantProps } from "class-variance-authority";
3
+ //#region src/editorial-card.d.ts
4
+ declare const editorialCardVariants: (props?: ({
5
+ size?: "lg" | "md" | "sm" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ type EditorialCardProps = useRender.ComponentProps<"article"> & VariantProps<typeof editorialCardVariants>;
8
+ declare function EditorialCard({ className, render, size, ...props }: EditorialCardProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
9
+ declare function EditorialCardHeader({ className, render, ...props }: useRender.ComponentProps<"div">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
10
+ declare function EditorialCardMeta({ className, render, ...props }: useRender.ComponentProps<"p">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
11
+ declare function EditorialCardTitle({ className, render, ...props }: useRender.ComponentProps<"h3">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
12
+ declare function EditorialCardMedia({ className, render, ...props }: useRender.ComponentProps<"div">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
13
+ declare function EditorialCardCategory({ className, render, ...props }: useRender.ComponentProps<"span">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
14
+ declare function EditorialCardPlayButton({ className, render, children, "aria-label": ariaLabel, ...props }: useRender.ComponentProps<"button">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
15
+ type EditorialCardAttributionProps = Omit<useRender.ComponentProps<"div">, "children"> & {
16
+ authorName: string;
17
+ brand?: {
18
+ name?: string;
19
+ photo?: string;
20
+ };
21
+ prefix?: string;
22
+ };
23
+ declare function EditorialCardAttribution({ authorName, brand, className, prefix, render, ...props }: EditorialCardAttributionProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
24
+ declare function EditorialCardExcerpt({ className, render, ...props }: useRender.ComponentProps<"p">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
25
+ declare function EditorialCardLink({ className, render, children, ...props }: useRender.ComponentProps<"a">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
26
+ //#endregion
27
+ export { EditorialCard, EditorialCardAttribution, type EditorialCardAttributionProps, EditorialCardCategory, EditorialCardExcerpt, EditorialCardHeader, EditorialCardLink, EditorialCardMedia, EditorialCardMeta, EditorialCardPlayButton, type EditorialCardProps, EditorialCardTitle, editorialCardVariants };
@@ -0,0 +1,144 @@
1
+ import { t as cn } from "./cn-BI_4DMBf.js";
2
+ import { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
3
+ import { buttonVariants } from "./button.js";
4
+ import { ArrowRight, Play } from "lucide-react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { mergeProps } from "@base-ui/react/merge-props";
7
+ import { useRender } from "@base-ui/react/use-render";
8
+ import { cva } from "class-variance-authority";
9
+ //#region src/editorial-card.tsx
10
+ const editorialCardVariants = cva("group/editorial-card relative flex w-full min-w-0 flex-col overflow-hidden rounded-2xl border border-line-subtle bg-surface text-fg-primary transition-[background-color,border-color,box-shadow]", {
11
+ variants: { size: {
12
+ sm: "gap-2.5 p-4",
13
+ md: "gap-3 p-4.5",
14
+ lg: "gap-3.5 p-5"
15
+ } },
16
+ defaultVariants: { size: "md" }
17
+ });
18
+ function EditorialCard({ className, render, size = "md", ...props }) {
19
+ return useRender({
20
+ defaultTagName: "article",
21
+ props: mergeProps({ className: cn(editorialCardVariants({ size }), className) }, props),
22
+ render,
23
+ state: {
24
+ slot: "editorial-card",
25
+ size
26
+ }
27
+ });
28
+ }
29
+ function EditorialCardHeader({ className, render, ...props }) {
30
+ return useRender({
31
+ defaultTagName: "div",
32
+ props: mergeProps({ className: cn("flex min-w-0 flex-col gap-2 group-data-[size=lg]/editorial-card:gap-3", className) }, props),
33
+ render,
34
+ state: { slot: "editorial-card-header" }
35
+ });
36
+ }
37
+ function getInitials(name) {
38
+ return name.trim().split(/\s+/).slice(0, 2).map((part) => part[0]?.toUpperCase()).join("");
39
+ }
40
+ function EditorialCardMeta({ className, render, ...props }) {
41
+ return useRender({
42
+ defaultTagName: "p",
43
+ props: mergeProps({ className: cn("text-fg-secondary text-gdt-xs group-data-[size=lg]/editorial-card:text-gdt-sm", className) }, props),
44
+ render,
45
+ state: { slot: "editorial-card-meta" }
46
+ });
47
+ }
48
+ function EditorialCardTitle({ className, render, ...props }) {
49
+ return useRender({
50
+ defaultTagName: "h3",
51
+ props: mergeProps({ className: cn("text-fg-primary text-gdt-md font-extrabold group-data-[size=md]/editorial-card:text-gdt-lg", "group-data-[size=lg]/editorial-card:text-gdt-h5", className) }, props),
52
+ render,
53
+ state: { slot: "editorial-card-title" }
54
+ });
55
+ }
56
+ function EditorialCardMedia({ className, render, ...props }) {
57
+ return useRender({
58
+ defaultTagName: "div",
59
+ props: mergeProps({ className: cn("relative isolate flex min-w-0 items-center justify-center overflow-hidden rounded-xl bg-surface-raised", "min-h-28 group-data-[size=md]/editorial-card:min-h-40 group-data-[size=lg]/editorial-card:min-h-56", "[&>img]:absolute [&>img]:inset-0 [&>img]:size-full [&>img]:object-cover", className) }, props),
60
+ render,
61
+ state: { slot: "editorial-card-media" }
62
+ });
63
+ }
64
+ function EditorialCardCategory({ className, render, ...props }) {
65
+ return useRender({
66
+ defaultTagName: "span",
67
+ props: mergeProps({ className: cn("absolute top-2 left-2 z-10 inline-flex w-fit items-center rounded-full bg-surface-brand px-2 py-1", "text-gdt-capitalized font-bold text-fg-on-brand uppercase", "group-data-[size=lg]/editorial-card:top-3 group-data-[size=sm]/editorial-card:left-3 group-data-[size=sm]/editorial-card:py-0.5 group-data-[size=lg]/editorial-card:px-3", className) }, props),
68
+ render,
69
+ state: { slot: "editorial-card-category" }
70
+ });
71
+ }
72
+ function EditorialCardPlayButton({ className, render, children, "aria-label": ariaLabel = "Play media", ...props }) {
73
+ return useRender({
74
+ defaultTagName: "button",
75
+ props: mergeProps({
76
+ "aria-label": ariaLabel,
77
+ className: cn("absolute top-1/2 left-1/2 z-10 -translate-x-1/2 -translate-y-1/2 active:-translate-y-1/2", buttonVariants({
78
+ variant: "glass-overlay",
79
+ size: "icon-lg"
80
+ }), "size-12 group-data-[size=md]/editorial-card:size-16 group-data-[size=lg]/editorial-card:size-20", "[&>svg]:ml-1 [&>svg]:size-5 group-data-[size=md]/editorial-card:[&>svg]:size-7 group-data-[size=lg]/editorial-card:[&>svg]:size-8", className),
81
+ children: children ?? /* @__PURE__ */ jsx(Play, {
82
+ "aria-hidden": "true",
83
+ fill: "currentColor"
84
+ })
85
+ }, props),
86
+ render,
87
+ state: { slot: "editorial-card-play-button" }
88
+ });
89
+ }
90
+ function EditorialCardAttribution({ authorName, brand, className, prefix = "By", render, ...props }) {
91
+ const brandName = brand?.name?.trim();
92
+ const brandPhoto = brand?.photo;
93
+ const showBrandAvatar = Boolean(brandName || brandPhoto);
94
+ return useRender({
95
+ defaultTagName: "div",
96
+ props: mergeProps({
97
+ className: cn("flex min-w-0 items-center gap-2 text-gdt-xs text-fg-secondary", "group-data-[size=lg]/editorial-card:text-gdt-sm", className),
98
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [
99
+ prefix ? /* @__PURE__ */ jsx("span", { children: prefix }) : null,
100
+ showBrandAvatar ? /* @__PURE__ */ jsxs(Avatar, {
101
+ size: "sm",
102
+ className: "size-6 group-data-[size=lg]/editorial-card:size-7",
103
+ children: [brandPhoto ? /* @__PURE__ */ jsx(AvatarImage, {
104
+ alt: brandName ?? "",
105
+ src: brandPhoto
106
+ }) : null, brandName ? /* @__PURE__ */ jsx(AvatarFallback, {
107
+ className: "text-gdt-capitalized bg-surface-brand text-fg-on-brand",
108
+ children: getInitials(brandName)
109
+ }) : null]
110
+ }) : null,
111
+ /* @__PURE__ */ jsx("span", {
112
+ className: "truncate font-bold text-fg-primary",
113
+ children: authorName
114
+ })
115
+ ] })
116
+ }, props),
117
+ render,
118
+ state: { slot: "editorial-card-attribution" }
119
+ });
120
+ }
121
+ function EditorialCardExcerpt({ className, render, ...props }) {
122
+ return useRender({
123
+ defaultTagName: "p",
124
+ props: mergeProps({ className: cn("line-clamp-3 text-gdt-xs text-fg-secondary group-data-[size=md]/editorial-card:text-gdt-md group-data-[size=lg]/editorial-card:text-gdt-lg", className) }, props),
125
+ render,
126
+ state: { slot: "editorial-card-excerpt" }
127
+ });
128
+ }
129
+ function EditorialCardLink({ className, render, children, ...props }) {
130
+ return useRender({
131
+ defaultTagName: "a",
132
+ props: mergeProps({
133
+ className: cn("inline-flex w-fit items-center gap-gdt-sm text-gdt-xs font-bold text-fg-brand underline underline-offset-2", "group-data-[size=lg]/editorial-card:text-gdt-sm hover:opacity-80 focus-visible:outline-none", "focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)]", className),
134
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(ArrowRight, {
135
+ "aria-hidden": "true",
136
+ className: "size-5 shrink-0"
137
+ }), /* @__PURE__ */ jsx("span", { children })] })
138
+ }, props),
139
+ render,
140
+ state: { slot: "editorial-card-link" }
141
+ });
142
+ }
143
+ //#endregion
144
+ export { EditorialCard, EditorialCardAttribution, EditorialCardCategory, EditorialCardExcerpt, EditorialCardHeader, EditorialCardLink, EditorialCardMedia, EditorialCardMeta, EditorialCardPlayButton, EditorialCardTitle, editorialCardVariants };
@@ -1,17 +1,16 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import { VariantProps } from 'class-variance-authority';
3
- import * as React from 'react';
4
-
1
+ import { VariantProps } from "class-variance-authority";
2
+ import * as React from "react";
3
+ //#region src/empty-state.d.ts
5
4
  declare function Empty({ className, variant, ...props }: React.ComponentProps<"div"> & {
6
- variant?: "filled" | "outline" | "default";
5
+ variant?: "filled" | "outline" | "default";
7
6
  }): React.JSX.Element;
8
7
  declare function EmptyHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
9
8
  declare const emptyMediaVariants: (props?: ({
10
- variant?: "default" | "icon" | null | undefined;
11
- } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ variant?: "default" | "icon" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
11
  declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): React.JSX.Element;
13
12
  declare function EmptyTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
14
13
  declare function EmptyDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
15
14
  declare function EmptyContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
16
-
17
- export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };
15
+ //#endregion
16
+ export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };
@@ -1,146 +1,59 @@
1
- // src/components/ui/empty-state.tsx
2
- import { cva } from "class-variance-authority";
3
-
4
- // src/lib/cn.ts
5
- import { clsx } from "clsx";
6
- import { extendTailwindMerge } from "tailwind-merge";
7
- var twMerge = extendTailwindMerge({
8
- extend: {
9
- classGroups: {
10
- "font-size": [
11
- {
12
- text: [
13
- "gdt-display",
14
- "gdt-h1",
15
- "gdt-h2",
16
- "gdt-h3",
17
- "gdt-h4",
18
- "gdt-h5",
19
- "gdt-xl",
20
- "gdt-lg",
21
- "gdt-md",
22
- "gdt-sm",
23
- "gdt-xs",
24
- "gdt-subtext",
25
- "gdt-capitalized"
26
- ]
27
- }
28
- ]
29
- }
30
- }
31
- });
32
- function cn(...inputs) {
33
- return twMerge(clsx(inputs));
34
- }
35
-
36
- // src/components/ui/empty-state.tsx
1
+ import { t as cn } from "./cn-BI_4DMBf.js";
37
2
  import { jsx } from "react/jsx-runtime";
38
- function Empty({
39
- className,
40
- variant = "default",
41
- ...props
42
- }) {
43
- return /* @__PURE__ */ jsx(
44
- "div",
45
- {
46
- "data-slot": "empty",
47
- className: cn(
48
- "flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-gdt-xl rounded-2xl p-gdt-2xl text-center text-balance",
49
- variant === "filled" && "bg-surface-raised border border-line-subtle",
50
- variant === "outline" && "border border-line",
51
- className
52
- ),
53
- ...props
54
- }
55
- );
3
+ import { cva } from "class-variance-authority";
4
+ //#region src/empty-state.tsx
5
+ function Empty({ className, variant = "default", ...props }) {
6
+ return /* @__PURE__ */ jsx("div", {
7
+ "data-slot": "empty",
8
+ className: cn("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-gdt-xl rounded-2xl p-gdt-2xl text-center text-balance", variant === "filled" && "bg-surface-raised border border-line-subtle", variant === "outline" && "border border-line", className),
9
+ ...props
10
+ });
56
11
  }
57
12
  function EmptyHeader({ className, ...props }) {
58
- return /* @__PURE__ */ jsx(
59
- "div",
60
- {
61
- "data-slot": "empty-header",
62
- className: cn(
63
- "flex w-full max-w-95 flex-col items-center gap-gdt-sm",
64
- className
65
- ),
66
- ...props
67
- }
68
- );
13
+ return /* @__PURE__ */ jsx("div", {
14
+ "data-slot": "empty-header",
15
+ className: cn("flex w-full max-w-95 flex-col items-center gap-gdt-sm", className),
16
+ ...props
17
+ });
69
18
  }
70
- var emptyMediaVariants = cva(
71
- "mb-gdt-sm flex shrink-0 items-center justify-center text-fg-brand [&_svg]:pointer-events-none [&_svg]:shrink-0",
72
- {
73
- variants: {
74
- variant: {
75
- default: "bg-transparent",
76
- icon: "size-24 rounded-full bg-surface-brand-subtle [&_svg:not([class*='size-'])]:size-10"
77
- }
78
- },
79
- defaultVariants: {
80
- variant: "default"
81
- }
82
- }
83
- );
84
- function EmptyMedia({
85
- className,
86
- variant = "default",
87
- ...props
88
- }) {
89
- return /* @__PURE__ */ jsx(
90
- "div",
91
- {
92
- "data-slot": "empty-media",
93
- "data-variant": variant,
94
- className: cn(emptyMediaVariants({ variant, className })),
95
- ...props
96
- }
97
- );
19
+ const emptyMediaVariants = cva("mb-gdt-sm flex shrink-0 items-center justify-center text-fg-brand [&_svg]:pointer-events-none [&_svg]:shrink-0", {
20
+ variants: { variant: {
21
+ default: "bg-transparent",
22
+ icon: "size-24 rounded-full bg-surface-brand-subtle [&_svg:not([class*='size-'])]:size-10"
23
+ } },
24
+ defaultVariants: { variant: "default" }
25
+ });
26
+ function EmptyMedia({ className, variant = "default", ...props }) {
27
+ return /* @__PURE__ */ jsx("div", {
28
+ "data-slot": "empty-media",
29
+ "data-variant": variant,
30
+ className: cn(emptyMediaVariants({
31
+ variant,
32
+ className
33
+ })),
34
+ ...props
35
+ });
98
36
  }
99
37
  function EmptyTitle({ className, ...props }) {
100
- return /* @__PURE__ */ jsx(
101
- "div",
102
- {
103
- "data-slot": "empty-title",
104
- className: cn(
105
- "text-gdt-h4 font-extrabold tracking-tight text-fg-primary",
106
- className
107
- ),
108
- ...props
109
- }
110
- );
38
+ return /* @__PURE__ */ jsx("div", {
39
+ "data-slot": "empty-title",
40
+ className: cn("text-gdt-h4 font-extrabold tracking-tight text-fg-primary", className),
41
+ ...props
42
+ });
111
43
  }
112
44
  function EmptyDescription({ className, ...props }) {
113
- return /* @__PURE__ */ jsx(
114
- "p",
115
- {
116
- "data-slot": "empty-description",
117
- className: cn(
118
- "max-w-95 text-gdt-md font-normal text-fg-secondary [&>a]:font-semibold [&>a]:text-fg-brand [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-fg-primary",
119
- className
120
- ),
121
- ...props
122
- }
123
- );
45
+ return /* @__PURE__ */ jsx("p", {
46
+ "data-slot": "empty-description",
47
+ className: cn("max-w-95 text-gdt-md font-normal text-fg-secondary [&>a]:font-semibold [&>a]:text-fg-brand [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-fg-primary", className),
48
+ ...props
49
+ });
124
50
  }
125
51
  function EmptyContent({ className, ...props }) {
126
- return /* @__PURE__ */ jsx(
127
- "div",
128
- {
129
- "data-slot": "empty-content",
130
- className: cn(
131
- "flex w-full max-w-95 min-w-0 flex-col items-center justify-center gap-gdt-sm text-gdt-sm text-balance sm:flex-row [&_[data-slot=button]]:w-full sm:[&_[data-slot=button]]:w-auto",
132
- className
133
- ),
134
- ...props
135
- }
136
- );
52
+ return /* @__PURE__ */ jsx("div", {
53
+ "data-slot": "empty-content",
54
+ className: cn("flex w-full max-w-95 min-w-0 flex-col items-center justify-center gap-gdt-sm text-gdt-sm text-balance sm:flex-row [&_[data-slot=button]]:w-full sm:[&_[data-slot=button]]:w-auto", className),
55
+ ...props
56
+ });
137
57
  }
138
- export {
139
- Empty,
140
- EmptyContent,
141
- EmptyDescription,
142
- EmptyHeader,
143
- EmptyMedia,
144
- EmptyTitle
145
- };
146
- //# sourceMappingURL=empty-state.js.map
58
+ //#endregion
59
+ export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };
package/dist/field.d.ts CHANGED
@@ -1,29 +1,27 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import * as React$1 from 'react';
3
- import { VariantProps } from 'class-variance-authority';
4
- import { Label } from './label.js';
5
-
6
- declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): React$1.JSX.Element;
1
+ import { Label } from "./label.js";
2
+ import { VariantProps } from "class-variance-authority";
3
+ //#region src/field.d.ts
4
+ declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): import("react").JSX.Element;
7
5
  declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
8
- variant?: "legend" | "label";
9
- }): React$1.JSX.Element;
10
- declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
6
+ variant?: "legend" | "label";
7
+ }): import("react").JSX.Element;
8
+ declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
11
9
  declare const fieldVariants: (props?: ({
12
- orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
13
- size?: "sm" | "md" | "lg" | null | undefined;
14
- } & class_variance_authority_types.ClassProp) | undefined) => string;
15
- declare function Field({ className, orientation, size, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): React$1.JSX.Element;
16
- declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
17
- declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): React$1.JSX.Element;
18
- declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
19
- declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): React$1.JSX.Element;
10
+ orientation?: "horizontal" | "responsive" | "vertical" | null | undefined;
11
+ size?: "lg" | "md" | "sm" | null | undefined;
12
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
+ declare function Field({ className, orientation, size, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): import("react").JSX.Element;
14
+ declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
15
+ declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react").JSX.Element;
16
+ declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
17
+ declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): import("react").JSX.Element;
20
18
  declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
21
- children?: React.ReactNode;
22
- }): React$1.JSX.Element;
19
+ children?: React.ReactNode;
20
+ }): import("react").JSX.Element;
23
21
  declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
24
- errors?: Array<{
25
- message?: string;
26
- } | undefined>;
27
- }): React$1.JSX.Element | null;
28
-
29
- export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
22
+ errors?: Array<{
23
+ message?: string;
24
+ } | undefined>;
25
+ }): import("react").JSX.Element | null;
26
+ //#endregion
27
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };