@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/progress.js CHANGED
@@ -1,26 +1,171 @@
1
1
  "use client";
2
- import {
3
- CircularProgress,
4
- Progress,
5
- ProgressCaption,
6
- ProgressIndicator,
7
- ProgressLabel,
8
- ProgressTrack,
9
- ProgressValue,
10
- circularProgressVariants,
11
- progressVariants
12
- } from "./chunk-322YCNVL.js";
13
- import "./chunk-HL3ZSYES.js";
14
- import "./chunk-Y4TTYVNE.js";
15
- export {
16
- CircularProgress,
17
- Progress,
18
- ProgressCaption,
19
- ProgressIndicator,
20
- ProgressLabel,
21
- ProgressTrack,
22
- ProgressValue,
23
- circularProgressVariants,
24
- progressVariants
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
3
+ import { SizeProvider, useComponentSize } from "./size-context.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { cva } from "class-variance-authority";
6
+ import * as React from "react";
7
+ import { Progress as Progress$1 } from "@base-ui/react/progress";
8
+ //#region src/progress.tsx
9
+ const progressVariants = cva("group/progress flex w-full flex-wrap items-center", {
10
+ variants: { size: {
11
+ sm: "gap-x-2 gap-y-1.5",
12
+ md: "gap-x-3 gap-y-2",
13
+ lg: "gap-x-4 gap-y-2.5"
14
+ } },
15
+ defaultVariants: { size: "md" }
16
+ });
17
+ const circularProgressVariants = cva("relative grid place-items-center text-fg-on-brand", {
18
+ variants: { size: {
19
+ sm: "text-[9px]",
20
+ md: "text-[10px]",
21
+ lg: "text-gdt-xs"
22
+ } },
23
+ defaultVariants: { size: "md" }
24
+ });
25
+ const circularProgressLabelVariants = cva("relative z-10 font-medium tabular-nums leading-none", {
26
+ variants: {
27
+ size: {
28
+ sm: "text-[9px]",
29
+ md: "text-[10px]",
30
+ lg: "text-gdt-xs"
31
+ },
32
+ overlay: {
33
+ true: "grid place-items-center rounded-full bg-black/65 text-white shadow-sm backdrop-blur-[1px]",
34
+ false: ""
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ size: "md",
39
+ overlay: false
40
+ }
41
+ });
42
+ const circularProgressSizes = {
43
+ sm: {
44
+ pixelSize: 40,
45
+ strokeWidth: 3
46
+ },
47
+ md: {
48
+ pixelSize: 48,
49
+ strokeWidth: 4
50
+ },
51
+ lg: {
52
+ pixelSize: 56,
53
+ strokeWidth: 5
54
+ }
25
55
  };
26
- //# sourceMappingURL=progress.js.map
56
+ function Progress({ className, children, value, size, disabled = false, ...props }) {
57
+ const resolvedSize = useComponentSize(size);
58
+ const hasCustomTrack = React.Children.toArray(children).some((child) => React.isValidElement(child) && child.type === ProgressTrack);
59
+ return /* @__PURE__ */ jsx(SizeProvider, {
60
+ size: resolvedSize,
61
+ children: /* @__PURE__ */ jsxs(Progress$1.Root, {
62
+ value,
63
+ "aria-disabled": disabled || void 0,
64
+ "data-disabled": disabled,
65
+ "data-size": resolvedSize,
66
+ "data-slot": "progress",
67
+ className: cn(progressVariants({ size: resolvedSize }), className),
68
+ ...props,
69
+ children: [children, !hasCustomTrack && /* @__PURE__ */ jsx(ProgressTrack, { children: /* @__PURE__ */ jsx(ProgressIndicator, {}) })]
70
+ })
71
+ });
72
+ }
73
+ function ProgressTrack({ className, ...props }) {
74
+ return /* @__PURE__ */ jsx(Progress$1.Track, {
75
+ className: cn("order-3 relative flex basis-full items-center overflow-hidden rounded-full bg-surface-raised", "group-data-[size=sm]/progress:h-1 group-data-[size=md]/progress:h-1.5 group-data-[size=lg]/progress:h-2", className),
76
+ "data-slot": "progress-track",
77
+ ...props
78
+ });
79
+ }
80
+ function ProgressIndicator({ className, ...props }) {
81
+ return /* @__PURE__ */ jsx(Progress$1.Indicator, {
82
+ "data-slot": "progress-indicator",
83
+ className: cn("h-full rounded-full bg-action-primary transition-[width,transform,background-color] duration-300 ease-out group-data-[disabled=true]/progress:bg-line-strong", className),
84
+ ...props
85
+ });
86
+ }
87
+ function ProgressLabel({ className, ...props }) {
88
+ return /* @__PURE__ */ jsx(Progress$1.Label, {
89
+ className: cn("order-1 min-w-0 text-fg-primary font-semibold leading-snug group-data-[disabled=true]/progress:text-fg-caption-placeholder", "group-data-[size=sm]/progress:text-gdt-xs group-data-[size=md]/progress:text-gdt-sm group-data-[size=lg]/progress:text-gdt-md", className),
90
+ "data-slot": "progress-label",
91
+ ...props
92
+ });
93
+ }
94
+ function ProgressValue({ className, ...props }) {
95
+ return /* @__PURE__ */ jsx(Progress$1.Value, {
96
+ className: cn("order-2 ml-auto shrink-0 tabular-nums text-fg-secondary leading-snug group-data-[disabled=true]/progress:text-fg-caption-placeholder", "group-data-[size=sm]/progress:text-gdt-xs group-data-[size=md]/progress:text-gdt-sm group-data-[size=lg]/progress:text-gdt-md", className),
97
+ "data-slot": "progress-value",
98
+ ...props
99
+ });
100
+ }
101
+ function ProgressCaption({ className, ...props }) {
102
+ return /* @__PURE__ */ jsx("p", {
103
+ className: cn("order-4 basis-full text-fg-secondary leading-snug group-data-[disabled=true]/progress:text-fg-caption-placeholder", "group-data-[size=sm]/progress:text-gdt-subtext group-data-[size=md]/progress:text-gdt-xs group-data-[size=lg]/progress:text-gdt-sm", className),
104
+ "data-slot": "progress-caption",
105
+ ...props
106
+ });
107
+ }
108
+ function CircularProgress({ className, style, value, size, children, labelOverlay = false, pixelSize, strokeWidth, strokeLinecap = "round", ...props }) {
109
+ const resolvedSize = useComponentSize(size);
110
+ const progress = Math.min(100, Math.max(0, Math.round(Number.isFinite(value) ? value : 0)));
111
+ const resolvedDimensions = circularProgressSizes[resolvedSize];
112
+ const resolvedPixelSize = pixelSize ?? resolvedDimensions.pixelSize;
113
+ const resolvedStrokeWidth = strokeWidth ?? resolvedDimensions.strokeWidth;
114
+ const radius = (resolvedPixelSize - resolvedStrokeWidth) / 2;
115
+ const labelSize = resolvedPixelSize - resolvedStrokeWidth * 3;
116
+ const circumference = 2 * Math.PI * radius;
117
+ const strokeDashoffset = circumference - progress / 100 * circumference;
118
+ return /* @__PURE__ */ jsxs("div", {
119
+ role: "progressbar",
120
+ "aria-valuemin": 0,
121
+ "aria-valuemax": 100,
122
+ "aria-valuenow": progress,
123
+ "aria-valuetext": `${progress}%`,
124
+ "data-slot": "circular-progress",
125
+ className: cn(circularProgressVariants({ size: resolvedSize }), className),
126
+ style: {
127
+ width: resolvedPixelSize,
128
+ height: resolvedPixelSize,
129
+ ...style
130
+ },
131
+ ...props,
132
+ children: [/* @__PURE__ */ jsxs("svg", {
133
+ "aria-hidden": "true",
134
+ className: "absolute inset-0 -rotate-90 transform",
135
+ focusable: "false",
136
+ width: resolvedPixelSize,
137
+ height: resolvedPixelSize,
138
+ viewBox: `0 0 ${resolvedPixelSize} ${resolvedPixelSize}`,
139
+ fill: "none",
140
+ stroke: "currentColor",
141
+ children: [/* @__PURE__ */ jsx("circle", {
142
+ className: "text-line",
143
+ strokeWidth: resolvedStrokeWidth,
144
+ cx: resolvedPixelSize / 2,
145
+ cy: resolvedPixelSize / 2,
146
+ r: radius
147
+ }), /* @__PURE__ */ jsx("circle", {
148
+ className: "text-action-primary transition-[stroke-dashoffset] duration-300 ease-linear",
149
+ strokeWidth: resolvedStrokeWidth,
150
+ strokeLinecap,
151
+ strokeDasharray: circumference,
152
+ strokeDashoffset,
153
+ cx: resolvedPixelSize / 2,
154
+ cy: resolvedPixelSize / 2,
155
+ r: radius
156
+ })]
157
+ }), children ?? /* @__PURE__ */ jsxs("span", {
158
+ className: cn(circularProgressLabelVariants({
159
+ size: resolvedSize,
160
+ overlay: labelOverlay
161
+ })),
162
+ style: labelOverlay ? {
163
+ width: labelSize,
164
+ height: labelSize
165
+ } : void 0,
166
+ children: [progress, "%"]
167
+ })]
168
+ });
169
+ }
170
+ //#endregion
171
+ export { CircularProgress, Progress, ProgressCaption, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, circularProgressVariants, progressVariants };
@@ -1,23 +1,20 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import { useRender } from '@base-ui/react/use-render';
3
- import { VariantProps } from 'class-variance-authority';
4
- import * as React from 'react';
5
- import { Button, ButtonLink } from './button.js';
6
- import '@base-ui/react/button';
7
-
1
+ import { n as ButtonLink, t as Button } from "./button-BZIeyUw6.js";
2
+ import { useRender } from "@base-ui/react/use-render";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as React from "react";
5
+ //#region src/property-listing-card.d.ts
8
6
  declare const propertyListingCardVariants: (props?: ({
9
- variant?: "default" | "elevated" | null | undefined;
10
- } & class_variance_authority_types.ClassProp) | undefined) => string;
7
+ variant?: "default" | "elevated" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
9
  type PropertyListingImage = {
12
- id?: string;
13
- src?: string;
14
- alt?: string;
10
+ id?: string;
11
+ src?: string;
12
+ alt?: string;
15
13
  };
16
- interface PropertyListingCardProps extends React.ComponentProps<"article">, VariantProps<typeof propertyListingCardVariants> {
17
- }
14
+ interface PropertyListingCardProps extends React.ComponentProps<"article">, VariantProps<typeof propertyListingCardVariants> {}
18
15
  declare function PropertyListingCard({ className, variant, ...props }: PropertyListingCardProps): React.JSX.Element;
19
16
  declare function PropertyListingCardMedia({ className, images, children, ...props }: React.ComponentProps<"div"> & {
20
- images?: PropertyListingImage[];
17
+ images?: PropertyListingImage[];
21
18
  }): React.JSX.Element;
22
19
  declare function PropertyListingCardMediaTop({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
23
20
  declare function PropertyListingCardOptionsBar({ className, render, ...props }: useRender.ComponentProps<"a">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -28,5 +25,5 @@ declare function PropertyListingCardBadges({ className, ...props }: React.Compon
28
25
  declare function PropertyListingCardActions({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
29
26
  declare function PropertyListingCardActionButton({ className, type, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
30
27
  declare function PropertyListingCardActionButtonLink({ className, ...props }: React.ComponentProps<typeof ButtonLink>): React.JSX.Element;
31
-
32
- export { PropertyListingCard, PropertyListingCardActionButton, PropertyListingCardActionButtonLink, PropertyListingCardActions, PropertyListingCardBadges, PropertyListingCardDetails, PropertyListingCardMedia, PropertyListingCardMediaTop, PropertyListingCardOptionsBar, PropertyListingCardOverview, type PropertyListingCardProps, PropertyListingCardTitle, type PropertyListingImage, propertyListingCardVariants };
28
+ //#endregion
29
+ export { PropertyListingCard, PropertyListingCardActionButton, PropertyListingCardActionButtonLink, PropertyListingCardActions, PropertyListingCardBadges, PropertyListingCardDetails, PropertyListingCardMedia, PropertyListingCardMediaTop, PropertyListingCardOptionsBar, PropertyListingCardOverview, type PropertyListingCardProps, PropertyListingCardTitle, type PropertyListingImage, propertyListingCardVariants };
@@ -1,235 +1,117 @@
1
- import {
2
- Button,
3
- ButtonLink
4
- } from "./chunk-B4H6RNDH.js";
5
- import {
6
- Carousel,
7
- CarouselContent,
8
- CarouselIndicator,
9
- CarouselItem
10
- } from "./chunk-FZDSVMKY.js";
11
- import "./chunk-HL3ZSYES.js";
12
- import {
13
- cn
14
- } from "./chunk-Y4TTYVNE.js";
15
-
16
- // src/property-listing-card.tsx
1
+ import { t as cn } from "./cn-BI_4DMBf.js";
2
+ import { Button, ButtonLink } from "./button.js";
3
+ import { Carousel, CarouselContent, CarouselIndicator, CarouselItem } from "./carousel.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
17
5
  import { mergeProps } from "@base-ui/react/merge-props";
18
6
  import { useRender } from "@base-ui/react/use-render";
19
7
  import { cva } from "class-variance-authority";
20
- import { jsx, jsxs } from "react/jsx-runtime";
21
- var propertyListingCardVariants = cva(
22
- "relative flex w-full min-w-0 flex-col overflow-hidden text-fg-primary",
23
- {
24
- variants: {
25
- variant: {
26
- default: "rounded-none border-0 shadow-none",
27
- elevated: "rounded-2xl bg-surface-overlay border border-line-subtle shadow-1"
28
- }
29
- },
30
- defaultVariants: {
31
- variant: "default"
32
- }
33
- }
34
- );
35
- function PropertyListingCard({
36
- className,
37
- variant,
38
- ...props
39
- }) {
40
- return /* @__PURE__ */ jsx(
41
- "article",
42
- {
43
- className: cn(propertyListingCardVariants({ variant }), className),
44
- ...props
45
- }
46
- );
8
+ //#region src/property-listing-card.tsx
9
+ const propertyListingCardVariants = cva("relative flex w-full min-w-0 flex-col overflow-hidden text-fg-primary", {
10
+ variants: { variant: {
11
+ default: "rounded-none border-0 shadow-none",
12
+ elevated: "rounded-2xl bg-surface-overlay border border-line-subtle shadow-1"
13
+ } },
14
+ defaultVariants: { variant: "default" }
15
+ });
16
+ function PropertyListingCard({ className, variant, ...props }) {
17
+ return /* @__PURE__ */ jsx("article", {
18
+ className: cn(propertyListingCardVariants({ variant }), className),
19
+ ...props
20
+ });
47
21
  }
48
- function PropertyListingCardMedia({
49
- className,
50
- images = [],
51
- children,
52
- ...props
53
- }) {
54
- const hasMultipleImages = images.length > 1;
55
- return /* @__PURE__ */ jsxs(
56
- "div",
57
- {
58
- className: cn(
59
- "relative isolate min-h-70 overflow-hidden rounded-t-2xl bg-surface text-fg-primary",
60
- className
61
- ),
62
- ...props,
63
- children: [
64
- hasMultipleImages ? /* @__PURE__ */ jsxs(
65
- Carousel,
66
- {
67
- imageSize: "full",
68
- opts: { loop: true },
69
- className: "absolute inset-0 -z-10 size-full rounded-none bg-surface",
70
- children: [
71
- /* @__PURE__ */ jsx(CarouselContent, { children: images.map((carouselImage, index) => /* @__PURE__ */ jsx(
72
- CarouselItem,
73
- {
74
- className: "relative h-full",
75
- children: /* @__PURE__ */ jsx(PropertyListingCardImage, { image: carouselImage })
76
- },
77
- carouselImage.id ?? carouselImage.src ?? carouselImage.alt ?? index
78
- )) }),
79
- /* @__PURE__ */ jsx(CarouselIndicator, { size: "sm", className: "bottom-16" })
80
- ]
81
- }
82
- ) : images[0]?.src ? /* @__PURE__ */ jsx(
83
- PropertyListingCardImage,
84
- {
85
- image: images[0],
86
- className: "absolute inset-0 -z-10"
87
- }
88
- ) : /* @__PURE__ */ jsx("div", { className: "absolute inset-0 -z-10 grid place-items-center bg-surface-raised text-gdt-sm font-bold text-fg-caption-placeholder", children: "Property Image" }),
89
- children
90
- ]
91
- }
92
- );
22
+ function PropertyListingCardMedia({ className, images = [], children, ...props }) {
23
+ const hasMultipleImages = images.length > 1;
24
+ return /* @__PURE__ */ jsxs("div", {
25
+ className: cn("relative isolate min-h-70 overflow-hidden rounded-t-2xl bg-surface text-fg-primary", className),
26
+ ...props,
27
+ children: [hasMultipleImages ? /* @__PURE__ */ jsxs(Carousel, {
28
+ imageSize: "full",
29
+ opts: { loop: true },
30
+ className: "absolute inset-0 -z-10 size-full rounded-none bg-surface",
31
+ children: [/* @__PURE__ */ jsx(CarouselContent, { children: images.map((carouselImage, index) => /* @__PURE__ */ jsx(CarouselItem, {
32
+ className: "relative h-full",
33
+ children: /* @__PURE__ */ jsx(PropertyListingCardImage, { image: carouselImage })
34
+ }, carouselImage.id ?? carouselImage.src ?? carouselImage.alt ?? index)) }), /* @__PURE__ */ jsx(CarouselIndicator, {
35
+ size: "sm",
36
+ className: "bottom-16"
37
+ })]
38
+ }) : images[0]?.src ? /* @__PURE__ */ jsx(PropertyListingCardImage, {
39
+ image: images[0],
40
+ className: "absolute inset-0 -z-10"
41
+ }) : /* @__PURE__ */ jsx("div", {
42
+ className: "absolute inset-0 -z-10 grid place-items-center bg-surface-raised text-gdt-sm font-bold text-fg-caption-placeholder",
43
+ children: "Property Image"
44
+ }), children]
45
+ });
93
46
  }
94
- function PropertyListingCardImage({
95
- image,
96
- className,
97
- ...props
98
- }) {
99
- return /* @__PURE__ */ jsx(
100
- "img",
101
- {
102
- src: image.src,
103
- alt: image.alt ?? "Property image",
104
- className: cn("size-full object-cover", className),
105
- ...props
106
- }
107
- );
47
+ function PropertyListingCardImage({ image, className, ...props }) {
48
+ return /* @__PURE__ */ jsx("img", {
49
+ src: image.src,
50
+ alt: image.alt ?? "Property image",
51
+ className: cn("size-full object-cover", className),
52
+ ...props
53
+ });
108
54
  }
109
- function PropertyListingCardMediaTop({
110
- className,
111
- ...props
112
- }) {
113
- return /* @__PURE__ */ jsx(
114
- "div",
115
- {
116
- className: cn(
117
- "absolute inset-x-2 top-2 z-10 flex items-start justify-between gap-3",
118
- className
119
- ),
120
- ...props
121
- }
122
- );
55
+ function PropertyListingCardMediaTop({ className, ...props }) {
56
+ return /* @__PURE__ */ jsx("div", {
57
+ className: cn("absolute inset-x-2 top-2 z-10 flex items-start justify-between gap-3", className),
58
+ ...props
59
+ });
123
60
  }
124
- function PropertyListingCardOptionsBar({
125
- className,
126
- render,
127
- ...props
128
- }) {
129
- return useRender({
130
- defaultTagName: "a",
131
- props: mergeProps(
132
- {
133
- className: cn(
134
- "absolute inset-x-0 bottom-0 z-10 flex min-h-9.5 items-center justify-center gap-1 bg-black/80 px-4 py-1.5 text-center text-gdt-subtext font-extrabold tracking-wide text-white uppercase transition-[background-color] hover:bg-black/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-line-focus",
135
- className
136
- )
137
- },
138
- props
139
- ),
140
- render,
141
- state: {
142
- slot: "property-listing-card-options-bar"
143
- }
144
- });
61
+ function PropertyListingCardOptionsBar({ className, render, ...props }) {
62
+ return useRender({
63
+ defaultTagName: "a",
64
+ props: mergeProps({ className: cn("absolute inset-x-0 bottom-0 z-10 flex min-h-9.5 items-center justify-center gap-1 bg-black/80 px-4 py-1.5 text-center text-gdt-subtext font-extrabold tracking-wide text-white uppercase transition-[background-color] hover:bg-black/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-line-focus", className) }, props),
65
+ render,
66
+ state: { slot: "property-listing-card-options-bar" }
67
+ });
145
68
  }
146
- function PropertyListingCardDetails({
147
- className,
148
- ...props
149
- }) {
150
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-4 pt-4", className), ...props });
69
+ function PropertyListingCardDetails({ className, ...props }) {
70
+ return /* @__PURE__ */ jsx("div", {
71
+ className: cn("flex flex-col gap-4 pt-4", className),
72
+ ...props
73
+ });
151
74
  }
152
- function PropertyListingCardTitle({
153
- className,
154
- ...props
155
- }) {
156
- return /* @__PURE__ */ jsx(
157
- "h3",
158
- {
159
- className: cn("text-gdt-md font-bold text-fg-primary", className),
160
- ...props
161
- }
162
- );
75
+ function PropertyListingCardTitle({ className, ...props }) {
76
+ return /* @__PURE__ */ jsx("h3", {
77
+ className: cn("text-gdt-md font-bold text-fg-primary", className),
78
+ ...props
79
+ });
163
80
  }
164
- function PropertyListingCardOverview({
165
- className,
166
- ...props
167
- }) {
168
- return /* @__PURE__ */ jsx("p", { className: cn("text-gdt-sm text-fg-secondary", className), ...props });
81
+ function PropertyListingCardOverview({ className, ...props }) {
82
+ return /* @__PURE__ */ jsx("p", {
83
+ className: cn("text-gdt-sm text-fg-secondary", className),
84
+ ...props
85
+ });
169
86
  }
170
- function PropertyListingCardBadges({
171
- className,
172
- ...props
173
- }) {
174
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap gap-3", className), ...props });
87
+ function PropertyListingCardBadges({ className, ...props }) {
88
+ return /* @__PURE__ */ jsx("div", {
89
+ className: cn("flex flex-wrap gap-3", className),
90
+ ...props
91
+ });
175
92
  }
176
- function PropertyListingCardActions({
177
- className,
178
- ...props
179
- }) {
180
- return /* @__PURE__ */ jsx(
181
- "div",
182
- {
183
- className: cn(
184
- "flex items-center gap-5 border-line-subtle border-t pt-4 mt-4",
185
- className
186
- ),
187
- ...props
188
- }
189
- );
93
+ function PropertyListingCardActions({ className, ...props }) {
94
+ return /* @__PURE__ */ jsx("div", {
95
+ className: cn("flex items-center gap-5 border-line-subtle border-t pt-4 mt-4", className),
96
+ ...props
97
+ });
190
98
  }
191
- function PropertyListingCardActionButton({
192
- className,
193
- type = "button",
194
- ...props
195
- }) {
196
- return /* @__PURE__ */ jsx(
197
- Button,
198
- {
199
- type,
200
- variant: "tertiary",
201
- size: "md",
202
- className: cn("flex-1 bg-action-tertiary text-fg-primary", className),
203
- ...props
204
- }
205
- );
99
+ function PropertyListingCardActionButton({ className, type = "button", ...props }) {
100
+ return /* @__PURE__ */ jsx(Button, {
101
+ type,
102
+ variant: "tertiary",
103
+ size: "md",
104
+ className: cn("flex-1 bg-action-tertiary text-fg-primary", className),
105
+ ...props
106
+ });
206
107
  }
207
- function PropertyListingCardActionButtonLink({
208
- className,
209
- ...props
210
- }) {
211
- return /* @__PURE__ */ jsx(
212
- ButtonLink,
213
- {
214
- variant: "tertiary",
215
- size: "md",
216
- className: cn("flex-1 bg-action-tertiary text-fg-primary", className),
217
- ...props
218
- }
219
- );
108
+ function PropertyListingCardActionButtonLink({ className, ...props }) {
109
+ return /* @__PURE__ */ jsx(ButtonLink, {
110
+ variant: "tertiary",
111
+ size: "md",
112
+ className: cn("flex-1 bg-action-tertiary text-fg-primary", className),
113
+ ...props
114
+ });
220
115
  }
221
- export {
222
- PropertyListingCard,
223
- PropertyListingCardActionButton,
224
- PropertyListingCardActionButtonLink,
225
- PropertyListingCardActions,
226
- PropertyListingCardBadges,
227
- PropertyListingCardDetails,
228
- PropertyListingCardMedia,
229
- PropertyListingCardMediaTop,
230
- PropertyListingCardOptionsBar,
231
- PropertyListingCardOverview,
232
- PropertyListingCardTitle,
233
- propertyListingCardVariants
234
- };
235
- //# sourceMappingURL=property-listing-card.js.map
116
+ //#endregion
117
+ export { PropertyListingCard, PropertyListingCardActionButton, PropertyListingCardActionButtonLink, PropertyListingCardActions, PropertyListingCardBadges, PropertyListingCardDetails, PropertyListingCardMedia, PropertyListingCardMediaTop, PropertyListingCardOptionsBar, PropertyListingCardOverview, PropertyListingCardTitle, propertyListingCardVariants };
@@ -0,0 +1,79 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ import { VariantProps } from "class-variance-authority";
3
+ import * as React from "react";
4
+ //#region src/purchase-option-card.d.ts
5
+ declare const purchaseOptionCardVariants: (props?: ({
6
+ selected?: boolean | null | undefined;
7
+ disabled?: boolean | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ type PurchaseOptionCardProps = useRender.ComponentProps<"article"> & VariantProps<typeof purchaseOptionCardVariants>;
10
+ /**
11
+ * Root surface for a single purchase / mortgage option. Composable — assemble
12
+ * it from the header, grid, and footer parts so the actions can vary per use.
13
+ *
14
+ * `disabled` is propagated to descendants via a `data-disabled` group flag, so
15
+ * the header/grid text mutes automatically. Footer buttons are supplied by the
16
+ * consumer, so pass `disabled` to them too.
17
+ *
18
+ * <PurchaseOptionCard>
19
+ * <PurchaseOptionCardHeader>
20
+ * <PurchaseOptionCardMeta>
21
+ * <PurchaseOptionCardLabel>Mortgage Plan</PurchaseOptionCardLabel>
22
+ * <Badge variant="default" border={false} shape="round" size="sm">
23
+ * 20% Interest Rate
24
+ * </Badge>
25
+ * </PurchaseOptionCardMeta>
26
+ * <div>
27
+ * <PurchaseOptionCardAmount>₦1,200,000</PurchaseOptionCardAmount>
28
+ * <PurchaseOptionCardCadence>Per Month</PurchaseOptionCardCadence>
29
+ * </div>
30
+ * </PurchaseOptionCardHeader>
31
+ * <PurchaseOptionCardGrid>
32
+ * <PurchaseOptionCardItem label="Initial Deposit">₦5,000,000</PurchaseOptionCardItem>
33
+ * <PurchaseOptionCardItem label="Max Loan Amount">₦80,000,000</PurchaseOptionCardItem>
34
+ * <PurchaseOptionCardItem label="Max Payment Period" wide>20 Years</PurchaseOptionCardItem>
35
+ * </PurchaseOptionCardGrid>
36
+ * <PurchaseOptionCardFooter>
37
+ * <Button variant="primary-outline" size="md" className="flex-1">View Details</Button>
38
+ * <Button variant="primary" size="md" className="flex-1">Apply Now</Button>
39
+ * </PurchaseOptionCardFooter>
40
+ * </PurchaseOptionCard>
41
+ */
42
+ declare function PurchaseOptionCard({ className, disabled, render, selected, ...props }: PurchaseOptionCardProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
43
+ /**
44
+ * Top section wrapper. Stacks the meta row and the headline figure, and draws
45
+ * the divider that separates the header from the grid.
46
+ */
47
+ declare function PurchaseOptionCardHeader({ className, render, ...props }: useRender.ComponentProps<"div">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
48
+ /**
49
+ * Row inside the header that balances the plan label against the interest-rate
50
+ * badge (or any other trailing content).
51
+ */
52
+ declare function PurchaseOptionCardMeta({ className, render, ...props }: useRender.ComponentProps<"div">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
53
+ /** Eyebrow label naming the plan type. */
54
+ declare function PurchaseOptionCardLabel({ className, render, ...props }: useRender.ComponentProps<"span">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
55
+ /** Headline figure — the plan's payment amount. */
56
+ declare function PurchaseOptionCardAmount({ className, render, ...props }: useRender.ComponentProps<"h3">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
57
+ /** Supporting cadence line beneath the headline figure. */
58
+ declare function PurchaseOptionCardCadence({ className, render, ...props }: useRender.ComponentProps<"p">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
59
+ /** Two-column grid holding the option's detail items. */
60
+ declare function PurchaseOptionCardGrid({ className, render, ...props }: useRender.ComponentProps<"div">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
61
+ type PurchaseOptionCardItemProps = useRender.ComponentProps<"div"> & {
62
+ /** Caption rendered beneath the value. */
63
+ label: React.ReactNode;
64
+ /** Span both grid columns. */
65
+ wide?: boolean;
66
+ };
67
+ /**
68
+ * A single labelled detail cell in the grid. The value is passed as `children`,
69
+ * the caption via `label`. Use `wide` to span the full row.
70
+ */
71
+ declare function PurchaseOptionCardItem({ children, className, label, render, wide, ...props }: PurchaseOptionCardItemProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
72
+ /**
73
+ * Action row at the foot of the card. Wraps the consumer-supplied buttons and
74
+ * draws the divider above them. Give each button `className="flex-1"` to share
75
+ * the row evenly.
76
+ */
77
+ declare function PurchaseOptionCardFooter({ className, render, ...props }: useRender.ComponentProps<"div">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
78
+ //#endregion
79
+ export { PurchaseOptionCard, PurchaseOptionCardAmount, PurchaseOptionCardCadence, PurchaseOptionCardFooter, PurchaseOptionCardGrid, PurchaseOptionCardHeader, PurchaseOptionCardItem, type PurchaseOptionCardItemProps, PurchaseOptionCardLabel, PurchaseOptionCardMeta, type PurchaseOptionCardProps, purchaseOptionCardVariants };