@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,40 @@
1
+ import { InputGroup } from "./input-group.js";
2
+ import { useRender } from "@base-ui/react/use-render";
3
+ import * as React from "react";
4
+ //#region src/footer.d.ts
5
+ type FooterRootProps = React.ComponentProps<"footer"> & {
6
+ containerClassName?: string;
7
+ };
8
+ declare function FooterRoot({ className, containerClassName, children, ...props }: FooterRootProps): React.JSX.Element;
9
+ declare function FooterCta({ className, ...props }: React.ComponentProps<"section">): React.JSX.Element;
10
+ declare function FooterCtaContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
11
+ declare function FooterCtaTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
12
+ declare function FooterCtaDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
13
+ declare function FooterCtaActions({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
14
+ declare function FooterBody({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
15
+ declare function FooterHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
16
+ declare function FooterTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
17
+ declare function FooterDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
18
+ declare function FooterNav({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
19
+ declare function FooterSection({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
20
+ declare function FooterSectionTitle({ className, ...props }: React.ComponentProps<"h3">): React.JSX.Element;
21
+ declare function FooterLinkList({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
22
+ declare function FooterLinkItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
23
+ type FooterLinkProps = useRender.ComponentProps<"a"> & {
24
+ showArrow?: boolean;
25
+ };
26
+ declare function FooterLink({ className, children, render, showArrow, ...props }: FooterLinkProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
27
+ declare function FooterContactGrid({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
28
+ declare function FooterContact({ className, ...props }: React.ComponentProps<"address">): React.JSX.Element;
29
+ declare function FooterContactTitle({ className, ...props }: React.ComponentProps<"h3">): React.JSX.Element;
30
+ declare function FooterSocialList({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
31
+ declare function FooterSocialItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
32
+ declare function FooterSocialLink({ className, ...props }: React.ComponentProps<"a">): React.JSX.Element;
33
+ declare function FooterNewsletter({ className, ...props }: React.ComponentProps<"form">): React.JSX.Element;
34
+ declare function FooterNewsletterTitle({ className, ...props }: React.ComponentProps<"h3">): React.JSX.Element;
35
+ declare function FooterNewsletterDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
36
+ declare function FooterNewsletterControl({ className, children, ...props }: React.ComponentProps<typeof InputGroup>): React.JSX.Element;
37
+ declare function FooterBottom({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
38
+ declare function FooterLegalLinks({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
39
+ //#endregion
40
+ export { FooterBody, FooterBottom, FooterContact, FooterContactGrid, FooterContactTitle, FooterCta, FooterCtaActions, FooterCtaContent, FooterCtaDescription, FooterCtaTitle, FooterDescription, FooterHeader, FooterLegalLinks, FooterLink, FooterLinkItem, FooterLinkList, type FooterLinkProps, FooterNav, FooterNewsletter, FooterNewsletterControl, FooterNewsletterDescription, FooterNewsletterTitle, FooterRoot, type FooterRootProps, FooterSection, FooterSectionTitle, FooterSocialItem, FooterSocialLink, FooterSocialList, FooterTitle };
package/dist/footer.js ADDED
@@ -0,0 +1,227 @@
1
+ import { t as cn } from "./cn-BI_4DMBf.js";
2
+ import { InputGroup, InputGroupButton, InputGroupInput } from "./input-group.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import { mergeProps } from "@base-ui/react/merge-props";
5
+ import { useRender } from "@base-ui/react/use-render";
6
+ //#region src/footer.tsx
7
+ function FooterRoot({ className, containerClassName, children, ...props }) {
8
+ return /* @__PURE__ */ jsx("footer", {
9
+ "data-slot": "footer-root",
10
+ className: cn("bg-surface text-fg-primary", className),
11
+ ...props,
12
+ children: /* @__PURE__ */ jsx("div", {
13
+ "data-slot": "footer-container",
14
+ className: cn("mx-auto flex w-full max-w-7xl flex-col", containerClassName),
15
+ children
16
+ })
17
+ });
18
+ }
19
+ function FooterCta({ className, ...props }) {
20
+ return /* @__PURE__ */ jsx("section", {
21
+ "data-slot": "footer-cta",
22
+ className: cn("grid gap-gdt-xl bg-surface-brand px-gdt-xl py-gdt-4xl text-fg-on-brand md:grid-cols-[minmax(0,1fr)_auto] md:items-center md:px-gdt-5xl", className),
23
+ ...props
24
+ });
25
+ }
26
+ function FooterCtaContent({ className, ...props }) {
27
+ return /* @__PURE__ */ jsx("div", {
28
+ "data-slot": "footer-cta-content",
29
+ className: cn("flex max-w-145 flex-col gap-2 md:gap-3", className),
30
+ ...props
31
+ });
32
+ }
33
+ function FooterCtaTitle({ className, ...props }) {
34
+ return /* @__PURE__ */ jsx("h2", {
35
+ "data-slot": "footer-cta-title",
36
+ className: cn("text-gdt-h5 text-current md:text-gdt-h4", className),
37
+ ...props
38
+ });
39
+ }
40
+ function FooterCtaDescription({ className, ...props }) {
41
+ return /* @__PURE__ */ jsx("p", {
42
+ "data-slot": "footer-cta-description",
43
+ className: cn("text-gdt-sm text-current", className),
44
+ ...props
45
+ });
46
+ }
47
+ function FooterCtaActions({ className, ...props }) {
48
+ return /* @__PURE__ */ jsx("div", {
49
+ "data-slot": "footer-cta-actions",
50
+ className: cn("flex flex-wrap items-center gap-3 md:gap-4", className),
51
+ ...props
52
+ });
53
+ }
54
+ function FooterBody({ className, ...props }) {
55
+ return /* @__PURE__ */ jsx("div", {
56
+ "data-slot": "footer-body",
57
+ className: cn("flex flex-col gap-gdt-6xl px-gdt-xl py-gdt-5xl md:px-gdt-5xl", className),
58
+ ...props
59
+ });
60
+ }
61
+ function FooterHeader({ className, ...props }) {
62
+ return /* @__PURE__ */ jsx("div", {
63
+ "data-slot": "footer-header",
64
+ className: cn("flex max-w-xl flex-col gap-gdt-sm", className),
65
+ ...props
66
+ });
67
+ }
68
+ function FooterTitle({ className, ...props }) {
69
+ return /* @__PURE__ */ jsx("h2", {
70
+ "data-slot": "footer-title",
71
+ className: cn("text-gdt-h5 text-fg-primary", className),
72
+ ...props
73
+ });
74
+ }
75
+ function FooterDescription({ className, ...props }) {
76
+ return /* @__PURE__ */ jsx("p", {
77
+ "data-slot": "footer-description",
78
+ className: cn("text-gdt-xs text-fg-secondary", className),
79
+ ...props
80
+ });
81
+ }
82
+ function FooterNav({ className, ...props }) {
83
+ return /* @__PURE__ */ jsx("nav", {
84
+ "data-slot": "footer-nav",
85
+ className: cn("grid gap-x-gdt-4xl gap-y-gdt-xl sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6", className),
86
+ ...props
87
+ });
88
+ }
89
+ function FooterSection({ className, ...props }) {
90
+ return /* @__PURE__ */ jsx("div", {
91
+ "data-slot": "footer-section",
92
+ className: cn("flex min-w-0 flex-col gap-gdt-md", className),
93
+ ...props
94
+ });
95
+ }
96
+ function FooterSectionTitle({ className, ...props }) {
97
+ return /* @__PURE__ */ jsx("h3", {
98
+ "data-slot": "footer-section-title",
99
+ className: cn("text-gdt-xs font-bold text-fg-primary", className),
100
+ ...props
101
+ });
102
+ }
103
+ function FooterLinkList({ className, ...props }) {
104
+ return /* @__PURE__ */ jsx("ul", {
105
+ "data-slot": "footer-link-list",
106
+ className: cn("flex flex-col gap-gdt-sm", className),
107
+ ...props
108
+ });
109
+ }
110
+ function FooterLinkItem({ className, ...props }) {
111
+ return /* @__PURE__ */ jsx("li", {
112
+ "data-slot": "footer-link-item",
113
+ className: cn("text-gdt-xs", className),
114
+ ...props
115
+ });
116
+ }
117
+ function FooterLink({ className, children, render, showArrow = false, ...props }) {
118
+ return useRender({
119
+ defaultTagName: "a",
120
+ props: mergeProps({
121
+ className: cn("inline-flex items-center gap-gdt-sm text-fg-secondary transition-colors hover:text-fg-brand focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-line-focus focus-visible:ring-offset-2", className),
122
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", { children }), showArrow && /* @__PURE__ */ jsx("span", {
123
+ "aria-hidden": "true",
124
+ children: "›"
125
+ })] })
126
+ }, props),
127
+ render,
128
+ state: { slot: "footer-link" }
129
+ });
130
+ }
131
+ function FooterContactGrid({ className, ...props }) {
132
+ return /* @__PURE__ */ jsx("div", {
133
+ "data-slot": "footer-contact-grid",
134
+ className: cn("grid gap-gdt-3xl border-t border-line-subtle pt-gdt-xl md:grid-cols-[minmax(0,1fr)_minmax(18rem,25rem)]", className),
135
+ ...props
136
+ });
137
+ }
138
+ function FooterContact({ className, ...props }) {
139
+ return /* @__PURE__ */ jsx("address", {
140
+ "data-slot": "footer-contact",
141
+ className: cn("not-italic text-gdt-xs text-fg-secondary", className),
142
+ ...props
143
+ });
144
+ }
145
+ function FooterContactTitle({ className, ...props }) {
146
+ return /* @__PURE__ */ jsx("h3", {
147
+ "data-slot": "footer-contact-title",
148
+ className: cn("mb-gdt-sm text-gdt-xs font-bold text-fg-primary", className),
149
+ ...props
150
+ });
151
+ }
152
+ function FooterSocialList({ className, ...props }) {
153
+ return /* @__PURE__ */ jsx("ul", {
154
+ "data-slot": "footer-social-list",
155
+ className: cn("mt-gdt-lg flex flex-wrap items-center gap-gdt-md", className),
156
+ ...props
157
+ });
158
+ }
159
+ function FooterSocialItem({ className, ...props }) {
160
+ return /* @__PURE__ */ jsx("li", {
161
+ "data-slot": "footer-social-item",
162
+ className,
163
+ ...props
164
+ });
165
+ }
166
+ function FooterSocialLink({ className, ...props }) {
167
+ return /* @__PURE__ */ jsx("a", {
168
+ "data-slot": "footer-social-link",
169
+ className: cn("inline-flex size-7 items-center justify-center rounded-full bg-canvas text-fg-secondary transition-colors hover:bg-surface-brand hover:text-fg-on-brand focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-line-focus focus-visible:ring-offset-2 [&>svg:not([class*='size-'])]:size-3.5", className),
170
+ ...props
171
+ });
172
+ }
173
+ function FooterNewsletter({ className, ...props }) {
174
+ return /* @__PURE__ */ jsx("form", {
175
+ "data-slot": "footer-newsletter",
176
+ className: cn("flex flex-col gap-gdt-md", className),
177
+ ...props
178
+ });
179
+ }
180
+ function FooterNewsletterTitle({ className, ...props }) {
181
+ return /* @__PURE__ */ jsx("h3", {
182
+ "data-slot": "footer-newsletter-title",
183
+ className: cn("text-gdt-xs font-bold text-fg-primary", className),
184
+ ...props
185
+ });
186
+ }
187
+ function FooterNewsletterDescription({ className, ...props }) {
188
+ return /* @__PURE__ */ jsx("p", {
189
+ "data-slot": "footer-newsletter-description",
190
+ className: cn("text-gdt-xs text-fg-secondary", className),
191
+ ...props
192
+ });
193
+ }
194
+ function FooterNewsletterControl({ className, children, ...props }) {
195
+ return /* @__PURE__ */ jsx(InputGroup, {
196
+ "data-slot": "footer-newsletter-control",
197
+ size: "md",
198
+ className: cn("max-w-md bg-canvas", className),
199
+ ...props,
200
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(InputGroupInput, {
201
+ type: "email",
202
+ name: "email",
203
+ placeholder: "Email address",
204
+ "aria-label": "Email address"
205
+ }), /* @__PURE__ */ jsx(InputGroupButton, {
206
+ type: "submit",
207
+ variant: "primary",
208
+ children: "Subscribe"
209
+ })] })
210
+ });
211
+ }
212
+ function FooterBottom({ className, ...props }) {
213
+ return /* @__PURE__ */ jsx("div", {
214
+ "data-slot": "footer-bottom",
215
+ className: cn("flex flex-col gap-gdt-md border-t border-line-subtle px-gdt-xl py-gdt-lg text-gdt-subtext text-fg-secondary md:flex-row md:items-center md:justify-between md:px-gdt-5xl", className),
216
+ ...props
217
+ });
218
+ }
219
+ function FooterLegalLinks({ className, ...props }) {
220
+ return /* @__PURE__ */ jsx("nav", {
221
+ "data-slot": "footer-legal-links",
222
+ className: cn("flex flex-wrap items-center gap-gdt-xl", className),
223
+ ...props
224
+ });
225
+ }
226
+ //#endregion
227
+ export { FooterBody, FooterBottom, FooterContact, FooterContactGrid, FooterContactTitle, FooterCta, FooterCtaActions, FooterCtaContent, FooterCtaDescription, FooterCtaTitle, FooterDescription, FooterHeader, FooterLegalLinks, FooterLink, FooterLinkItem, FooterLinkList, FooterNav, FooterNewsletter, FooterNewsletterControl, FooterNewsletterDescription, FooterNewsletterTitle, FooterRoot, FooterSection, FooterSectionTitle, FooterSocialItem, FooterSocialLink, FooterSocialList, FooterTitle };
@@ -1,10 +1,7 @@
1
- import * as React from 'react';
2
- import { ChartCard, ChartValueType } from './chart.js';
3
- import { ComponentSize } from './size-context.js';
4
- import 'class-variance-authority/types';
5
- import 'class-variance-authority';
6
- import 'recharts';
7
-
1
+ import { t as ComponentSize } from "./size-context-D4mYvcg8.js";
2
+ import { ChartCard, ChartValueType } from "./chart.js";
3
+ import * as React from "react";
4
+ //#region src/funnel-chart.d.ts
8
5
  /**
9
6
  * A staged conversion chart for drop-off analytics. Two renderings share one
10
7
  * component — `funnel` draws connected, edge-sharing trapezoids (recharts
@@ -35,12 +32,12 @@ type FunnelChartType = "funnel" | "bars";
35
32
  /** Where the colour-key legend sits relative to the plot. */
36
33
  type FunnelLegendPlacement = "right" | "bottom";
37
34
  type FunnelStage = {
38
- /** Stage name, e.g. "Applied". */
39
- label: string;
40
- /** Absolute count reaching this stage. */
41
- value: number;
42
- /** Segment colour; defaults to the palette in stage order. */
43
- fill?: string;
35
+ /** Stage name, e.g. "Applied". */
36
+ label: string;
37
+ /** Absolute count reaching this stage. */
38
+ value: number;
39
+ /** Segment colour; defaults to the palette in stage order. */
40
+ fill?: string;
44
41
  };
45
42
  /**
46
43
  * Stage palette, ordered top-of-funnel → bottom: forest → brass → moss → clay →
@@ -49,36 +46,36 @@ type FunnelStage = {
49
46
  */
50
47
  declare const FUNNEL_CHART_PALETTE: readonly ["var(--color-forest-700)", "var(--color-brass-500)", "var(--color-moss-600)", "var(--color-clay-500)", "var(--color-stone-500)"];
51
48
  type FunnelChartLayout = {
52
- /** Plot box height in px. */
53
- height: number;
54
- /** Plot box width in px — the funnel/bars column; labels + legend flow after. */
55
- width: number;
56
- /** Corner radius for the `bars` rendering. */
57
- barRadius: number;
58
- /** Bar thickness cap for the `bars` rendering. */
59
- barMaxSize: number;
49
+ /** Plot box height in px. */
50
+ height: number;
51
+ /** Plot box width in px — the funnel/bars column; labels + legend flow after. */
52
+ width: number;
53
+ /** Corner radius for the `bars` rendering. */
54
+ barRadius: number;
55
+ /** Bar thickness cap for the `bars` rendering. */
56
+ barMaxSize: number;
60
57
  };
61
58
  declare const FUNNEL_CHART_LAYOUT: Record<FunnelChartSize, FunnelChartLayout>;
62
59
  type FunnelChartProps = Omit<React.ComponentProps<typeof ChartCard>, "size" | "children"> & {
63
- /** Stages in funnel order — the widest (top) stage first. */
64
- data: FunnelStage[];
65
- /** Plot rendering. Defaults to `funnel`. */
66
- type?: FunnelChartType;
67
- /** Explicit size; otherwise inherited from the nearest `SizeProvider`. */
68
- size?: FunnelChartSize;
69
- /** Chart heading. Omit to hide the title. */
70
- title?: React.ReactNode;
71
- /** Supporting metadata (period, source). Omit to hide the description. */
72
- description?: React.ReactNode;
73
- /** Enable the hover value tooltip. Default false. */
74
- tooltip?: boolean;
75
- /** Legend placement — a right column or a wrapped bottom row. Default right. */
76
- legend?: FunnelLegendPlacement;
77
- /** Format the absolute count in the value label and tooltip. */
78
- valueFormatter?: (value: number) => string;
79
- /** Value formatting for the tooltip. Defaults to `number`. */
80
- valueType?: ChartValueType;
60
+ /** Stages in funnel order — the widest (top) stage first. */
61
+ data: FunnelStage[];
62
+ /** Plot rendering. Defaults to `funnel`. */
63
+ type?: FunnelChartType;
64
+ /** Explicit size; otherwise inherited from the nearest `SizeProvider`. */
65
+ size?: FunnelChartSize;
66
+ /** Chart heading. Omit to hide the title. */
67
+ title?: React.ReactNode;
68
+ /** Supporting metadata (period, source). Omit to hide the description. */
69
+ description?: React.ReactNode;
70
+ /** Enable the hover value tooltip. Default false. */
71
+ tooltip?: boolean;
72
+ /** Legend placement — a right column or a wrapped bottom row. Default right. */
73
+ legend?: FunnelLegendPlacement;
74
+ /** Format the absolute count in the value label and tooltip. */
75
+ valueFormatter?: (value: number) => string;
76
+ /** Value formatting for the tooltip. Defaults to `number`. */
77
+ valueType?: ChartValueType;
81
78
  };
82
79
  declare function FunnelChart({ data, type, size, title, description, tooltip, legend, valueFormatter, valueType, className, ...props }: FunnelChartProps): React.JSX.Element;
83
-
84
- export { FUNNEL_CHART_LAYOUT, FUNNEL_CHART_PALETTE, FunnelChart, type FunnelChartLayout, type FunnelChartProps, type FunnelChartSize, type FunnelChartType, type FunnelLegendPlacement, type FunnelStage };
80
+ //#endregion
81
+ export { FUNNEL_CHART_LAYOUT, FUNNEL_CHART_PALETTE, FunnelChart, type FunnelChartLayout, type FunnelChartProps, type FunnelChartSize, type FunnelChartType, type FunnelLegendPlacement, type FunnelStage };