@giddaa-housing/ui 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/css/generated/shared.css +1 -1
  2. package/css/giddaa.css +12 -2
  3. package/dist/accordion.d.ts +9 -10
  4. package/dist/accordion.js +41 -87
  5. package/dist/activity-timeline.d.ts +12 -16
  6. package/dist/activity-timeline.js +83 -198
  7. package/dist/alert.d.ts +8 -9
  8. package/dist/alert.js +53 -111
  9. package/dist/auth-layout.d.ts +4 -4
  10. package/dist/auth-layout.js +143 -294
  11. package/dist/avatar.d.ts +6 -6
  12. package/dist/avatar.js +49 -19
  13. package/dist/badge.d.ts +12 -14
  14. package/dist/badge.js +71 -11
  15. package/dist/bar-chart.d.ts +65 -67
  16. package/dist/bar-chart.js +232 -207
  17. package/dist/breadcrumb.d.ts +5 -5
  18. package/dist/breadcrumb.js +56 -118
  19. package/dist/bullet-chart.d.ts +41 -37
  20. package/dist/bullet-chart.js +125 -148
  21. package/dist/button-BZIeyUw6.d.ts +17 -0
  22. package/dist/button-group.d.ts +13 -16
  23. package/dist/button-group.js +39 -88
  24. package/dist/button.d.ts +2 -19
  25. package/dist/button.js +94 -13
  26. package/dist/calendar.d.ts +6 -6
  27. package/dist/calendar.js +138 -17
  28. package/dist/card.d.ts +14 -16
  29. package/dist/card.js +59 -145
  30. package/dist/carousel.d.ts +34 -35
  31. package/dist/carousel.js +335 -20
  32. package/dist/chart.d.ts +90 -63
  33. package/dist/chart.js +573 -28
  34. package/dist/checkbox.d.ts +10 -12
  35. package/dist/checkbox.js +82 -47
  36. package/dist/cn-BI_4DMBf.js +23 -0
  37. package/dist/collapsible.d.ts +7 -8
  38. package/dist/collapsible.js +22 -47
  39. package/dist/combobox.d.ts +10 -10
  40. package/dist/combobox.js +236 -44
  41. package/dist/cta.d.ts +12 -14
  42. package/dist/cta.js +175 -341
  43. package/dist/currency-selector.d.ts +31 -32
  44. package/dist/currency-selector.js +106 -184
  45. package/dist/data-table.d.ts +168 -0
  46. package/dist/data-table.js +676 -0
  47. package/dist/date-picker.d.ts +22 -23
  48. package/dist/date-picker.js +119 -192
  49. package/dist/details-card.d.ts +7 -7
  50. package/dist/details-card.js +104 -253
  51. package/dist/dialog.d.ts +13 -14
  52. package/dist/dialog.js +116 -209
  53. package/dist/dropdown-menu.d.ts +13 -13
  54. package/dist/dropdown-menu.js +180 -37
  55. package/dist/dropzone.d.ts +55 -55
  56. package/dist/dropzone.js +327 -439
  57. package/dist/editorial-card.d.ts +23 -25
  58. package/dist/editorial-card.js +129 -296
  59. package/dist/empty-state.d.ts +8 -9
  60. package/dist/empty-state.js +48 -105
  61. package/dist/field.d.ts +23 -25
  62. package/dist/field.js +110 -221
  63. package/dist/filter.d.ts +118 -0
  64. package/dist/filter.js +775 -0
  65. package/dist/footer.d.ts +8 -15
  66. package/dist/footer.js +197 -400
  67. package/dist/funnel-chart.d.ts +49 -48
  68. package/dist/funnel-chart.js +170 -189
  69. package/dist/gallery-indicator.d.ts +11 -12
  70. package/dist/gallery-indicator.js +75 -12
  71. package/dist/heatmap-chart.d.ts +47 -50
  72. package/dist/heatmap-chart.js +186 -237
  73. package/dist/infotip.d.ts +8 -9
  74. package/dist/infotip.js +33 -59
  75. package/dist/input-CfoEJ8A6.d.ts +12 -0
  76. package/dist/input-group.d.ts +16 -20
  77. package/dist/input-group.js +99 -23
  78. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  79. package/dist/input-size-context.d.ts +2 -11
  80. package/dist/input-size-context.js +17 -9
  81. package/dist/input.d.ts +2 -13
  82. package/dist/input.js +27 -11
  83. package/dist/item.d.ts +7 -8
  84. package/dist/item.js +22 -59
  85. package/dist/kpi-card.d.ts +18 -20
  86. package/dist/kpi-card.js +84 -192
  87. package/dist/label.d.ts +6 -6
  88. package/dist/label.js +40 -8
  89. package/dist/line-chart.d.ts +200 -129
  90. package/dist/line-chart.js +330 -105
  91. package/dist/list-item.d.ts +22 -0
  92. package/dist/list-item.js +84 -0
  93. package/dist/logo.d.ts +4 -4
  94. package/dist/logo.js +92 -9
  95. package/dist/map-indicator.d.ts +7 -7
  96. package/dist/map-indicator.js +80 -106
  97. package/dist/match.d.ts +10 -11
  98. package/dist/match.js +62 -107
  99. package/dist/media-gallery-hero.d.ts +40 -42
  100. package/dist/media-gallery-hero.js +182 -343
  101. package/dist/media-player.d.ts +17 -17
  102. package/dist/media-player.js +873 -1348
  103. package/dist/multi-step-form.d.ts +56 -0
  104. package/dist/multi-step-form.js +342 -0
  105. package/dist/number-input.d.ts +34 -34
  106. package/dist/number-input.js +64 -117
  107. package/dist/page-header.d.ts +10 -11
  108. package/dist/page-header.js +34 -79
  109. package/dist/pagination.d.ts +17 -21
  110. package/dist/pagination.js +132 -207
  111. package/dist/password-input.d.ts +5 -13
  112. package/dist/password-input.js +31 -55
  113. package/dist/phone-input.d.ts +19 -20
  114. package/dist/phone-input.js +226 -344
  115. package/dist/photo-gallery.d.ts +19 -19
  116. package/dist/photo-gallery.js +313 -449
  117. package/dist/picker-lzgmsNfG.js +32 -0
  118. package/dist/pie-chart.d.ts +121 -90
  119. package/dist/pie-chart.js +183 -149
  120. package/dist/popover.d.ts +9 -9
  121. package/dist/popover.js +72 -23
  122. package/dist/price-tag.d.ts +26 -27
  123. package/dist/price-tag.js +113 -173
  124. package/dist/progress.d.ts +16 -17
  125. package/dist/progress.js +169 -24
  126. package/dist/property-listing-card.d.ts +14 -17
  127. package/dist/property-listing-card.js +102 -220
  128. package/dist/purchase-option-card.d.ts +79 -0
  129. package/dist/purchase-option-card.js +176 -0
  130. package/dist/radar-chart.d.ts +29 -31
  131. package/dist/radar-chart.js +162 -137
  132. package/dist/radio-group.d.ts +11 -13
  133. package/dist/radio-group.js +46 -60
  134. package/dist/review-block.d.ts +14 -16
  135. package/dist/review-block.js +154 -10
  136. package/dist/rich-text-editor.d.ts +30 -14
  137. package/dist/rich-text-editor.js +592 -716
  138. package/dist/scatter-chart.d.ts +45 -47
  139. package/dist/scatter-chart.js +236 -240
  140. package/dist/search-input.d.ts +8 -16
  141. package/dist/search-input.js +57 -109
  142. package/dist/select.d.ts +8 -8
  143. package/dist/select.js +144 -27
  144. package/dist/separator.d.ts +8 -9
  145. package/dist/separator.js +32 -8
  146. package/dist/sheet.d.ts +11 -11
  147. package/dist/sheet.js +103 -24
  148. package/dist/sidebar.d.ts +32 -37
  149. package/dist/sidebar.js +364 -634
  150. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  151. package/dist/size-context.d.ts +2 -11
  152. package/dist/size-context.js +17 -9
  153. package/dist/skeleton.d.ts +4 -5
  154. package/dist/skeleton.js +12 -8
  155. package/dist/slider.d.ts +8 -9
  156. package/dist/slider.js +64 -135
  157. package/dist/sparkline.d.ts +68 -58
  158. package/dist/sparkline.js +315 -251
  159. package/dist/stepper.d.ts +23 -24
  160. package/dist/stepper.js +149 -246
  161. package/dist/styles.css +1004 -116
  162. package/dist/switch.d.ts +10 -12
  163. package/dist/switch.js +48 -70
  164. package/dist/table-card.d.ts +35 -0
  165. package/dist/table-card.js +125 -0
  166. package/dist/table.d.ts +18 -14
  167. package/dist/table.js +117 -154
  168. package/dist/tabs.d.ts +33 -15
  169. package/dist/tabs.js +110 -18
  170. package/dist/tag.d.ts +21 -23
  171. package/dist/tag.js +103 -159
  172. package/dist/testimonial-block.d.ts +18 -19
  173. package/dist/testimonial-block.js +189 -358
  174. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  175. package/dist/textarea.d.ts +2 -12
  176. package/dist/textarea.js +24 -11
  177. package/dist/time-picker.d.ts +11 -11
  178. package/dist/time-picker.js +245 -302
  179. package/dist/toast.d.ts +16 -18
  180. package/dist/toast.js +154 -205
  181. package/dist/tooltip.d.ts +8 -9
  182. package/dist/tooltip.js +37 -12
  183. package/dist/tree-map.d.ts +59 -62
  184. package/dist/tree-map.js +226 -269
  185. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  186. package/dist/waterfall-chart.d.ts +94 -97
  187. package/dist/waterfall-chart.js +455 -552
  188. package/package.json +36 -9
  189. package/dist/accordion.js.map +0 -1
  190. package/dist/activity-timeline.js.map +0 -1
  191. package/dist/alert.js.map +0 -1
  192. package/dist/auth-layout.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/breadcrumb.js.map +0 -1
  197. package/dist/bullet-chart.js.map +0 -1
  198. package/dist/button-group.js.map +0 -1
  199. package/dist/button.js.map +0 -1
  200. package/dist/calendar.js.map +0 -1
  201. package/dist/card.js.map +0 -1
  202. package/dist/carousel.js.map +0 -1
  203. package/dist/chart.js.map +0 -1
  204. package/dist/checkbox.js.map +0 -1
  205. package/dist/chunk-322YCNVL.js +0 -278
  206. package/dist/chunk-322YCNVL.js.map +0 -1
  207. package/dist/chunk-3ACQVT7A.js +0 -25
  208. package/dist/chunk-3ACQVT7A.js.map +0 -1
  209. package/dist/chunk-3T65TLJX.js +0 -334
  210. package/dist/chunk-3T65TLJX.js.map +0 -1
  211. package/dist/chunk-6ZSGQHH2.js +0 -192
  212. package/dist/chunk-6ZSGQHH2.js.map +0 -1
  213. package/dist/chunk-7TBMLFGW.js +0 -41
  214. package/dist/chunk-7TBMLFGW.js.map +0 -1
  215. package/dist/chunk-B4H6RNDH.js +0 -135
  216. package/dist/chunk-B4H6RNDH.js.map +0 -1
  217. package/dist/chunk-BUXCGZ6X.js +0 -219
  218. package/dist/chunk-BUXCGZ6X.js.map +0 -1
  219. package/dist/chunk-CHII2QHH.js +0 -58
  220. package/dist/chunk-CHII2QHH.js.map +0 -1
  221. package/dist/chunk-DMNOXRRW.js +0 -147
  222. package/dist/chunk-DMNOXRRW.js.map +0 -1
  223. package/dist/chunk-EFSOSSIC.js +0 -130
  224. package/dist/chunk-EFSOSSIC.js.map +0 -1
  225. package/dist/chunk-FZDSVMKY.js +0 -363
  226. package/dist/chunk-FZDSVMKY.js.map +0 -1
  227. package/dist/chunk-GJOFIJS3.js +0 -246
  228. package/dist/chunk-GJOFIJS3.js.map +0 -1
  229. package/dist/chunk-HL3ZSYES.js +0 -23
  230. package/dist/chunk-HL3ZSYES.js.map +0 -1
  231. package/dist/chunk-JVLUBAPB.js +0 -129
  232. package/dist/chunk-JVLUBAPB.js.map +0 -1
  233. package/dist/chunk-KDPYSOYZ.js +0 -64
  234. package/dist/chunk-KDPYSOYZ.js.map +0 -1
  235. package/dist/chunk-KSMDANKI.js +0 -43
  236. package/dist/chunk-KSMDANKI.js.map +0 -1
  237. package/dist/chunk-MEKCCOP5.js +0 -46
  238. package/dist/chunk-MEKCCOP5.js.map +0 -1
  239. package/dist/chunk-NOFXVRWL.js +0 -451
  240. package/dist/chunk-NOFXVRWL.js.map +0 -1
  241. package/dist/chunk-PC5MHNVA.js +0 -171
  242. package/dist/chunk-PC5MHNVA.js.map +0 -1
  243. package/dist/chunk-QKAQZ2GU.js +0 -122
  244. package/dist/chunk-QKAQZ2GU.js.map +0 -1
  245. package/dist/chunk-QZHSHSVV.js +0 -26
  246. package/dist/chunk-QZHSHSVV.js.map +0 -1
  247. package/dist/chunk-RBMK26XD.js +0 -19
  248. package/dist/chunk-RBMK26XD.js.map +0 -1
  249. package/dist/chunk-SFNJGF6M.js +0 -262
  250. package/dist/chunk-SFNJGF6M.js.map +0 -1
  251. package/dist/chunk-UJJNLGTM.js +0 -112
  252. package/dist/chunk-UJJNLGTM.js.map +0 -1
  253. package/dist/chunk-VGR4ZWJ3.js +0 -418
  254. package/dist/chunk-VGR4ZWJ3.js.map +0 -1
  255. package/dist/chunk-XG47P6D4.js +0 -99
  256. package/dist/chunk-XG47P6D4.js.map +0 -1
  257. package/dist/chunk-XZZAHNVM.js +0 -21
  258. package/dist/chunk-XZZAHNVM.js.map +0 -1
  259. package/dist/chunk-Y4TTYVNE.js +0 -36
  260. package/dist/chunk-Y4TTYVNE.js.map +0 -1
  261. package/dist/chunk-YDWIHW6Q.js +0 -69
  262. package/dist/chunk-YDWIHW6Q.js.map +0 -1
  263. package/dist/collapsible.js.map +0 -1
  264. package/dist/combobox.js.map +0 -1
  265. package/dist/cta.js.map +0 -1
  266. package/dist/currency-selector.js.map +0 -1
  267. package/dist/date-picker.js.map +0 -1
  268. package/dist/details-card.js.map +0 -1
  269. package/dist/dialog.js.map +0 -1
  270. package/dist/dropdown-menu.js.map +0 -1
  271. package/dist/dropzone.js.map +0 -1
  272. package/dist/editorial-card.js.map +0 -1
  273. package/dist/empty-state.js.map +0 -1
  274. package/dist/field.js.map +0 -1
  275. package/dist/footer.js.map +0 -1
  276. package/dist/funnel-chart.js.map +0 -1
  277. package/dist/gallery-indicator.js.map +0 -1
  278. package/dist/heatmap-chart.js.map +0 -1
  279. package/dist/infotip.js.map +0 -1
  280. package/dist/input-group.js.map +0 -1
  281. package/dist/input-size-context.js.map +0 -1
  282. package/dist/input.js.map +0 -1
  283. package/dist/item.js.map +0 -1
  284. package/dist/kpi-card.js.map +0 -1
  285. package/dist/label.js.map +0 -1
  286. package/dist/line-chart.js.map +0 -1
  287. package/dist/logo.js.map +0 -1
  288. package/dist/map-indicator.js.map +0 -1
  289. package/dist/match.js.map +0 -1
  290. package/dist/media-gallery-hero.js.map +0 -1
  291. package/dist/media-player.js.map +0 -1
  292. package/dist/number-input.js.map +0 -1
  293. package/dist/page-header.js.map +0 -1
  294. package/dist/pagination.js.map +0 -1
  295. package/dist/password-input.js.map +0 -1
  296. package/dist/phone-input.js.map +0 -1
  297. package/dist/photo-gallery.js.map +0 -1
  298. package/dist/pie-chart.js.map +0 -1
  299. package/dist/popover.js.map +0 -1
  300. package/dist/price-tag.js.map +0 -1
  301. package/dist/progress.js.map +0 -1
  302. package/dist/property-listing-card.js.map +0 -1
  303. package/dist/radar-chart.js.map +0 -1
  304. package/dist/radio-group.js.map +0 -1
  305. package/dist/review-block.js.map +0 -1
  306. package/dist/rich-text-editor.js.map +0 -1
  307. package/dist/scatter-chart.js.map +0 -1
  308. package/dist/search-input.js.map +0 -1
  309. package/dist/select.js.map +0 -1
  310. package/dist/separator.js.map +0 -1
  311. package/dist/sheet.js.map +0 -1
  312. package/dist/sidebar.js.map +0 -1
  313. package/dist/size-context.js.map +0 -1
  314. package/dist/skeleton.js.map +0 -1
  315. package/dist/slider.js.map +0 -1
  316. package/dist/sparkline.js.map +0 -1
  317. package/dist/stepper.js.map +0 -1
  318. package/dist/switch.js.map +0 -1
  319. package/dist/tab-list.d.ts +0 -38
  320. package/dist/tab-list.js +0 -123
  321. package/dist/tab-list.js.map +0 -1
  322. package/dist/table.js.map +0 -1
  323. package/dist/tabs.js.map +0 -1
  324. package/dist/tag.js.map +0 -1
  325. package/dist/testimonial-block.js.map +0 -1
  326. package/dist/textarea.js.map +0 -1
  327. package/dist/time-picker.js.map +0 -1
  328. package/dist/toast.js.map +0 -1
  329. package/dist/tooltip.js.map +0 -1
  330. package/dist/tree-map.js.map +0 -1
  331. package/dist/waterfall-chart.js.map +0 -1
package/dist/cta.js CHANGED
@@ -1,358 +1,192 @@
1
- import {
2
- Button,
3
- ButtonLink
4
- } from "./chunk-B4H6RNDH.js";
5
- import "./chunk-HL3ZSYES.js";
6
- import {
7
- cn
8
- } from "./chunk-Y4TTYVNE.js";
9
-
10
- // src/cta.tsx
1
+ import { t as cn } from "./cn-BI_4DMBf.js";
2
+ import { Button, ButtonLink } from "./button.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
4
  import { mergeProps } from "@base-ui/react/merge-props";
12
5
  import { useRender } from "@base-ui/react/use-render";
13
6
  import { cva } from "class-variance-authority";
14
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
15
- var ctaVariants = cva(
16
- "group/cta relative flex w-full min-w-0 flex-col overflow-hidden rounded-2xl text-fg-primary transition-[background-color,border-color,box-shadow] py-10 px-5 md:px-10 xl:py-16 xl:px-16 md:gap-10 gap-6",
17
- {
18
- variants: {
19
- variant: { default: "bg-surface", subtle: "bg-surface-brand-subtle" }
20
- },
21
- defaultVariants: {
22
- variant: "default"
23
- }
24
- }
25
- );
7
+ //#region src/cta.tsx
8
+ /**
9
+ * CTA is a composable marketing panel: a text column (title, description,
10
+ * checklist) paired with an optional grid of feature cards and an action
11
+ * row. Compose only the pieces you need — every part is a standalone
12
+ * primitive, not a fixed layout.
13
+ *
14
+ * @example
15
+ * <CTA variant="subtle">
16
+ * <CTAContent>
17
+ * <CTATag>Your Next Step</CTATag>
18
+ * <CTATitle>Own your first home sooner</CTATitle>
19
+ * <CTADescription>
20
+ * Shari'ah-compliant financing built around how you actually get paid.
21
+ * </CTADescription>
22
+ * <CTAList>
23
+ * <CTAListItem>No interest, ever</CTAListItem>
24
+ * <CTAListItem>Approval in 48 hours</CTAListItem>
25
+ * </CTAList>
26
+ * </CTAContent>
27
+ * <CTACard variant="brand">
28
+ * <CTACardIcon variant="surface"><ShieldCheck /></CTACardIcon>
29
+ * <CTACardTitle>Backed by NAICOM</CTACardTitle>
30
+ * <CTACardDescription>Every plan is insured end to end.</CTACardDescription>
31
+ * <CTAButton>Get started</CTAButton>
32
+ * </CTACard>
33
+ * </CTA>
34
+ */
35
+ const ctaVariants = cva("group/cta relative flex w-full min-w-0 flex-col overflow-hidden rounded-2xl text-fg-primary transition-[background-color,border-color,box-shadow] py-10 px-5 md:px-10 xl:py-16 xl:px-16 md:gap-10 gap-6", {
36
+ variants: { variant: {
37
+ default: "bg-surface",
38
+ subtle: "bg-surface-brand-subtle"
39
+ } },
40
+ defaultVariants: { variant: "default" }
41
+ });
26
42
  function CTA({ className, render, variant = "default", ...props }) {
27
- return useRender({
28
- defaultTagName: "section",
29
- props: mergeProps(
30
- {
31
- className: cn(ctaVariants({ variant }), className)
32
- },
33
- props
34
- ),
35
- render,
36
- state: {
37
- slot: "cta"
38
- }
39
- });
43
+ return useRender({
44
+ defaultTagName: "section",
45
+ props: mergeProps({ className: cn(ctaVariants({ variant }), className) }, props),
46
+ render,
47
+ state: { slot: "cta" }
48
+ });
40
49
  }
41
- function CTAContent({
42
- className,
43
- render,
44
- ...props
45
- }) {
46
- return useRender({
47
- defaultTagName: "div",
48
- props: mergeProps(
49
- {
50
- className: cn("flex min-w-0 flex-1 flex-col gap-2.5", className)
51
- },
52
- props
53
- ),
54
- render,
55
- state: {
56
- slot: "cta-content"
57
- }
58
- });
50
+ function CTAContent({ className, render, ...props }) {
51
+ return useRender({
52
+ defaultTagName: "div",
53
+ props: mergeProps({ className: cn("flex min-w-0 flex-1 flex-col gap-2.5", className) }, props),
54
+ render,
55
+ state: { slot: "cta-content" }
56
+ });
59
57
  }
60
- function CTATag({
61
- className,
62
- render,
63
- ...props
64
- }) {
65
- return useRender({
66
- defaultTagName: "span",
67
- props: mergeProps(
68
- {
69
- className: cn(
70
- "text-fg-brand text-gdt-capitalized uppercase font-semibold",
71
- className
72
- )
73
- },
74
- props
75
- ),
76
- render,
77
- state: {
78
- slot: "cta-title"
79
- }
80
- });
58
+ function CTATag({ className, render, ...props }) {
59
+ return useRender({
60
+ defaultTagName: "span",
61
+ props: mergeProps({ className: cn("text-fg-brand text-gdt-capitalized uppercase font-semibold", className) }, props),
62
+ render,
63
+ state: { slot: "cta-title" }
64
+ });
81
65
  }
82
- function CTATitle({
83
- className,
84
- render,
85
- ...props
86
- }) {
87
- return useRender({
88
- defaultTagName: "h2",
89
- props: mergeProps(
90
- {
91
- className: cn(
92
- "text-fg-primary text-gdt-h3 lg:text-gdt-h2 font-extrabold",
93
- className
94
- )
95
- },
96
- props
97
- ),
98
- render,
99
- state: {
100
- slot: "cta-title"
101
- }
102
- });
66
+ function CTATitle({ className, render, ...props }) {
67
+ return useRender({
68
+ defaultTagName: "h2",
69
+ props: mergeProps({ className: cn("text-fg-primary text-gdt-h3 lg:text-gdt-h2 font-extrabold", className) }, props),
70
+ render,
71
+ state: { slot: "cta-title" }
72
+ });
103
73
  }
104
- function CTADescription({
105
- className,
106
- render,
107
- ...props
108
- }) {
109
- return useRender({
110
- defaultTagName: "p",
111
- props: mergeProps(
112
- {
113
- className: cn(
114
- "text-fg-secondary text-gdt-sm md:text-gdt-md",
115
- className
116
- )
117
- },
118
- props
119
- ),
120
- render,
121
- state: {
122
- slot: "cta-description"
123
- }
124
- });
74
+ function CTADescription({ className, render, ...props }) {
75
+ return useRender({
76
+ defaultTagName: "p",
77
+ props: mergeProps({ className: cn("text-fg-secondary text-gdt-sm md:text-gdt-md", className) }, props),
78
+ render,
79
+ state: { slot: "cta-description" }
80
+ });
125
81
  }
126
- function CTAList({
127
- className,
128
- render,
129
- ...props
130
- }) {
131
- return useRender({
132
- defaultTagName: "ul",
133
- props: mergeProps(
134
- {
135
- className: cn("flex min-w-0 pt-8 flex-col gap-2.5", className)
136
- },
137
- props
138
- ),
139
- render,
140
- state: {
141
- slot: "cta-list"
142
- }
143
- });
82
+ function CTAList({ className, render, ...props }) {
83
+ return useRender({
84
+ defaultTagName: "ul",
85
+ props: mergeProps({ className: cn("flex min-w-0 pt-8 flex-col gap-2.5", className) }, props),
86
+ render,
87
+ state: { slot: "cta-list" }
88
+ });
144
89
  }
145
- var CircleCheck = (props) => /* @__PURE__ */ jsxs(
146
- "svg",
147
- {
148
- xmlns: "http://www.w3.org/2000/svg",
149
- width: 22,
150
- height: 22,
151
- fill: "none",
152
- viewBox: "0 0 22 22",
153
- "aria-hidden": "true",
154
- ...props,
155
- children: [
156
- /* @__PURE__ */ jsx("rect", { width: 22, height: 22, fill: "var(--color-surface-brand)", rx: 11 }),
157
- /* @__PURE__ */ jsx(
158
- "path",
159
- {
160
- stroke: "var(--color-fg-on-brand)",
161
- strokeLinecap: "round",
162
- strokeLinejoin: "round",
163
- strokeWidth: 2,
164
- d: "m7.36 11.26 2.6 2.6 4.68-5.72"
165
- }
166
- )
167
- ]
168
- }
169
- );
170
- function CTAListItem({
171
- children,
172
- className,
173
- icon,
174
- render,
175
- ...props
176
- }) {
177
- return useRender({
178
- defaultTagName: "li",
179
- props: mergeProps(
180
- {
181
- className: cn(
182
- "flex min-w-0 items-start gap-2 text-gdt-sm text-fg-primary",
183
- "group-data-[tone=brand]/cta:text-fg-on-brand",
184
- className
185
- ),
186
- children: /* @__PURE__ */ jsxs(Fragment, { children: [
187
- /* @__PURE__ */ jsx(
188
- "span",
189
- {
190
- "aria-hidden": "true",
191
- className: cn(
192
- "inline-flex shrink-0 items-center justify-center [&_svg]:size-4 [&_svg]:shrink-0"
193
- ),
194
- children: /* @__PURE__ */ jsx(CircleCheck, {})
195
- }
196
- ),
197
- /* @__PURE__ */ jsx("span", { className: "min-w-0", children })
198
- ] })
199
- },
200
- props
201
- ),
202
- render,
203
- state: {
204
- slot: "cta-list-item"
205
- }
206
- });
90
+ const CircleCheck = (props) => /* @__PURE__ */ jsxs("svg", {
91
+ xmlns: "http://www.w3.org/2000/svg",
92
+ width: 22,
93
+ height: 22,
94
+ fill: "none",
95
+ viewBox: "0 0 22 22",
96
+ "aria-hidden": "true",
97
+ ...props,
98
+ children: [/* @__PURE__ */ jsx("rect", {
99
+ width: 22,
100
+ height: 22,
101
+ fill: "var(--color-surface-brand)",
102
+ rx: 11
103
+ }), /* @__PURE__ */ jsx("path", {
104
+ stroke: "var(--color-fg-on-brand)",
105
+ strokeLinecap: "round",
106
+ strokeLinejoin: "round",
107
+ strokeWidth: 2,
108
+ d: "m7.36 11.26 2.6 2.6 4.68-5.72"
109
+ })]
110
+ });
111
+ function CTAListItem({ children, className, icon, render, ...props }) {
112
+ return useRender({
113
+ defaultTagName: "li",
114
+ props: mergeProps({
115
+ className: cn("flex min-w-0 items-start gap-2 text-gdt-sm text-fg-primary", "group-data-[tone=brand]/cta:text-fg-on-brand", className),
116
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
117
+ "aria-hidden": "true",
118
+ className: cn("inline-flex shrink-0 items-center justify-center [&_svg]:size-4 [&_svg]:shrink-0"),
119
+ children: /* @__PURE__ */ jsx(CircleCheck, {})
120
+ }), /* @__PURE__ */ jsx("span", {
121
+ className: "min-w-0",
122
+ children
123
+ })] })
124
+ }, props),
125
+ render,
126
+ state: { slot: "cta-list-item" }
127
+ });
207
128
  }
208
- function CTACard({
209
- className,
210
- render,
211
- variant = "default",
212
- ...props
213
- }) {
214
- return useRender({
215
- defaultTagName: "div",
216
- props: mergeProps(
217
- {
218
- className: cn(
219
- "group/cta-card min-w-0 flex flex-col gap-3.5 py-6.5 px-6 rounded-2xl text",
220
- { "bg-canvas border shadow-1": variant === "default" },
221
- { "bg-surface-brand shadow-2": variant === "brand" }
222
- )
223
- },
224
- props
225
- ),
226
- render,
227
- state: {
228
- slot: "cta-card",
229
- variant
230
- }
231
- });
129
+ function CTACard({ className, render, variant = "default", ...props }) {
130
+ return useRender({
131
+ defaultTagName: "div",
132
+ props: mergeProps({ className: cn("group/cta-card min-w-0 flex flex-col gap-3.5 py-6.5 px-6 rounded-2xl text", { "bg-canvas border shadow-1": variant === "default" }, { "bg-surface-brand shadow-2": variant === "brand" }) }, props),
133
+ render,
134
+ state: {
135
+ slot: "cta-card",
136
+ variant
137
+ }
138
+ });
232
139
  }
233
- function CTACardIcon({
234
- className,
235
- render,
236
- variant = "subtle-brand",
237
- ...props
238
- }) {
239
- return useRender({
240
- defaultTagName: "span",
241
- props: mergeProps(
242
- {
243
- "aria-hidden": true,
244
- className: cn(
245
- "flex size-13.5 shrink-0 items-center justify-center rounded-full [&_svg:not([class*='size-'])]:size-6",
246
- {
247
- "bg-surface-brand-subtle text-action-primary": variant === "subtle-brand",
248
- "bg-surface-accent-subtle text-fg-info": variant === "subtle-accent",
249
- "bg-surface-overlay text-fg-brand": variant === "surface"
250
- },
251
- className
252
- )
253
- },
254
- props
255
- ),
256
- render,
257
- state: {
258
- slot: "cta-card-icon"
259
- }
260
- });
140
+ function CTACardIcon({ className, render, variant = "subtle-brand", ...props }) {
141
+ return useRender({
142
+ defaultTagName: "span",
143
+ props: mergeProps({
144
+ "aria-hidden": true,
145
+ className: cn("flex size-13.5 shrink-0 items-center justify-center rounded-full [&_svg:not([class*='size-'])]:size-6", {
146
+ "bg-surface-brand-subtle text-action-primary": variant === "subtle-brand",
147
+ "bg-surface-accent-subtle text-fg-info": variant === "subtle-accent",
148
+ "bg-surface-overlay text-fg-brand": variant === "surface"
149
+ }, className)
150
+ }, props),
151
+ render,
152
+ state: { slot: "cta-card-icon" }
153
+ });
261
154
  }
262
- function CTACardTitle({
263
- className,
264
- render,
265
- ...props
266
- }) {
267
- return useRender({
268
- defaultTagName: "h3",
269
- props: mergeProps(
270
- {
271
- className: cn(
272
- "text-gdt-md font-bold text-fg-primary group-data-[variant=brand]/cta-card:text-fg-on-brand",
273
- className
274
- )
275
- },
276
- props
277
- ),
278
- render,
279
- state: {
280
- slot: "cta-card-title"
281
- }
282
- });
155
+ function CTACardTitle({ className, render, ...props }) {
156
+ return useRender({
157
+ defaultTagName: "h3",
158
+ props: mergeProps({ className: cn("text-gdt-md font-bold text-fg-primary group-data-[variant=brand]/cta-card:text-fg-on-brand", className) }, props),
159
+ render,
160
+ state: { slot: "cta-card-title" }
161
+ });
283
162
  }
284
- function CTACardDescription({
285
- className,
286
- render,
287
- ...props
288
- }) {
289
- return useRender({
290
- defaultTagName: "p",
291
- props: mergeProps(
292
- {
293
- className: cn(
294
- "text-gdt-sm text-fg-secondary flex-1 group-data-[variant=brand]/cta-card:text-fg-on-brand",
295
- className
296
- )
297
- },
298
- props
299
- ),
300
- render,
301
- state: {
302
- slot: "cta-card-description"
303
- }
304
- });
163
+ function CTACardDescription({ className, render, ...props }) {
164
+ return useRender({
165
+ defaultTagName: "p",
166
+ props: mergeProps({ className: cn("text-gdt-sm text-fg-secondary flex-1 group-data-[variant=brand]/cta-card:text-fg-on-brand", className) }, props),
167
+ render,
168
+ state: { slot: "cta-card-description" }
169
+ });
305
170
  }
306
- function CTAButton({
307
- className,
308
- ...props
309
- }) {
310
- return /* @__PURE__ */ jsx(
311
- Button,
312
- {
313
- "data-slot": "cta-button",
314
- className: cn(
315
- "relative",
316
- "group-data-[variant=brand]/cta-card:bg-canvas group-data-[variant=brand]/cta-card:text-fg-brand",
317
- "group-data-[variant=brand]/cta-card:hover:bg-surface group-data-[variant=brand]/cta-card:active:bg-surface-raised",
318
- className
319
- ),
320
- ...props
321
- }
322
- );
171
+ /**
172
+ * CTAButton wraps `Button` with defaults tuned for a CTA's action row: it
173
+ * stays legible on every `tone`, so a `tone="brand"` panel automatically
174
+ * gets a canvas-colored button instead of an invisible brand-on-brand one.
175
+ * Every `Button` prop (variant, size, isLoading, render, …) still works.
176
+ */
177
+ function CTAButton({ className, ...props }) {
178
+ return /* @__PURE__ */ jsx(Button, {
179
+ "data-slot": "cta-button",
180
+ className: cn("relative", "group-data-[variant=brand]/cta-card:bg-canvas group-data-[variant=brand]/cta-card:text-fg-brand", "group-data-[variant=brand]/cta-card:hover:bg-surface group-data-[variant=brand]/cta-card:active:bg-surface-raised", className),
181
+ ...props
182
+ });
323
183
  }
324
- function CTAButtonLink({
325
- className,
326
- ...props
327
- }) {
328
- return /* @__PURE__ */ jsx(
329
- ButtonLink,
330
- {
331
- "data-slot": "cta-button",
332
- className: cn(
333
- "relative",
334
- "group-data-[variant=brand]/cta-card:bg-canvas group-data-[variant=brand]/cta-card:text-fg-brand",
335
- "group-data-[variant=brand]/cta-card:hover:bg-surface group-data-[variant=brand]/cta-card:active:bg-surface-raised",
336
- className
337
- ),
338
- ...props
339
- }
340
- );
184
+ function CTAButtonLink({ className, ...props }) {
185
+ return /* @__PURE__ */ jsx(ButtonLink, {
186
+ "data-slot": "cta-button",
187
+ className: cn("relative", "group-data-[variant=brand]/cta-card:bg-canvas group-data-[variant=brand]/cta-card:text-fg-brand", "group-data-[variant=brand]/cta-card:hover:bg-surface group-data-[variant=brand]/cta-card:active:bg-surface-raised", className),
188
+ ...props
189
+ });
341
190
  }
342
- export {
343
- CTA,
344
- CTAButton,
345
- CTAButtonLink,
346
- CTACard,
347
- CTACardDescription,
348
- CTACardIcon,
349
- CTACardTitle,
350
- CTAContent,
351
- CTADescription,
352
- CTAList,
353
- CTAListItem,
354
- CTATag,
355
- CTATitle,
356
- ctaVariants
357
- };
358
- //# sourceMappingURL=cta.js.map
191
+ //#endregion
192
+ export { CTA, CTAButton, CTAButtonLink, CTACard, CTACardDescription, CTACardIcon, CTACardTitle, CTAContent, CTADescription, CTAList, CTAListItem, CTATag, CTATitle, ctaVariants };
@@ -1,42 +1,41 @@
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/currency-selector.d.ts
5
4
  type CurrencyFlagStripe = {
6
- color: string;
7
- size?: number;
5
+ color: string;
6
+ size?: number;
8
7
  };
9
8
  type CurrencySelectorOption = {
10
- code: string;
11
- label: string;
12
- countryCode?: string;
13
- flag?: readonly CurrencyFlagStripe[];
9
+ code: string;
10
+ label: string;
11
+ countryCode?: string;
12
+ flag?: readonly CurrencyFlagStripe[];
14
13
  };
15
14
  type CurrencySelectorSize = NonNullable<VariantProps<typeof currencySelectorTriggerVariants>["size"]>;
16
15
  type CurrencySelectorProps = Omit<React.ComponentProps<"button">, "children" | "defaultValue" | "onChange" | "value"> & {
17
- options: readonly CurrencySelectorOption[];
18
- value?: string;
19
- defaultValue?: string;
20
- onValueChange?: (value: string, option: CurrencySelectorOption) => void;
21
- open?: boolean;
22
- defaultOpen?: boolean;
23
- onOpenChange?: (open: boolean) => void;
24
- size?: CurrencySelectorSize;
25
- withBackground?: boolean;
26
- showFlag?: boolean;
27
- showOptionFlags?: boolean;
28
- contentClassName?: string;
29
- placeholder?: string;
16
+ options: readonly CurrencySelectorOption[];
17
+ value?: string;
18
+ defaultValue?: string;
19
+ onValueChange?: (value: string, option: CurrencySelectorOption) => void;
20
+ open?: boolean;
21
+ defaultOpen?: boolean;
22
+ onOpenChange?: (open: boolean) => void;
23
+ size?: CurrencySelectorSize;
24
+ withBackground?: boolean;
25
+ showFlag?: boolean;
26
+ showOptionFlags?: boolean;
27
+ contentClassName?: string;
28
+ placeholder?: string;
30
29
  };
31
30
  declare const currencySelectorTriggerVariants: (props?: ({
32
- size?: "sm" | "md" | "lg" | null | undefined;
33
- withBackground?: boolean | null | undefined;
34
- } & class_variance_authority_types.ClassProp) | undefined) => string;
35
- declare function CurrencyFlag({ flag, label, className, }: {
36
- flag?: readonly CurrencyFlagStripe[];
37
- label?: string;
38
- className?: string;
31
+ size?: "lg" | "md" | "sm" | null | undefined;
32
+ withBackground?: boolean | null | undefined;
33
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
34
+ declare function CurrencyFlag({ flag, label, className }: {
35
+ flag?: readonly CurrencyFlagStripe[];
36
+ label?: string;
37
+ className?: string;
39
38
  }): React.JSX.Element;
40
39
  declare function CurrencySelector({ options, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, size, withBackground, showFlag, showOptionFlags, contentClassName, className, placeholder, type, ...props }: CurrencySelectorProps): React.JSX.Element;
41
-
42
- export { CurrencyFlag, type CurrencyFlagStripe, CurrencySelector, type CurrencySelectorOption, type CurrencySelectorProps, type CurrencySelectorSize, currencySelectorTriggerVariants };
40
+ //#endregion
41
+ export { CurrencyFlag, type CurrencyFlagStripe, CurrencySelector, type CurrencySelectorOption, type CurrencySelectorProps, type CurrencySelectorSize, currencySelectorTriggerVariants };