@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/popover.js CHANGED
@@ -1,24 +1,73 @@
1
1
  "use client";
2
- import {
3
- Popover,
4
- PopoverBody,
5
- PopoverContent,
6
- PopoverDescription,
7
- PopoverFooter,
8
- PopoverHeader,
9
- PopoverTitle,
10
- PopoverTrigger
11
- } from "./chunk-JVLUBAPB.js";
12
- import "./chunk-HL3ZSYES.js";
13
- import "./chunk-Y4TTYVNE.js";
14
- export {
15
- Popover,
16
- PopoverBody,
17
- PopoverContent,
18
- PopoverDescription,
19
- PopoverFooter,
20
- PopoverHeader,
21
- PopoverTitle,
22
- PopoverTrigger
23
- };
24
- //# sourceMappingURL=popover.js.map
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
3
+ import { SizeProvider } from "./size-context.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Popover as Popover$1 } from "@base-ui/react/popover";
6
+ //#region src/popover.tsx
7
+ function Popover({ ...props }) {
8
+ return /* @__PURE__ */ jsx(Popover$1.Root, {
9
+ "data-slot": "popover",
10
+ ...props
11
+ });
12
+ }
13
+ function PopoverTrigger({ ...props }) {
14
+ return /* @__PURE__ */ jsx(Popover$1.Trigger, {
15
+ "data-slot": "popover-trigger",
16
+ ...props
17
+ });
18
+ }
19
+ function PopoverContent({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 6, showArrow = true, size = "md", children, ...props }) {
20
+ return /* @__PURE__ */ jsx(Popover$1.Portal, { children: /* @__PURE__ */ jsx(Popover$1.Positioner, {
21
+ align,
22
+ alignOffset,
23
+ side,
24
+ sideOffset,
25
+ className: "isolate z-50",
26
+ children: /* @__PURE__ */ jsxs(Popover$1.Popup, {
27
+ "data-slot": "popover-content",
28
+ className: cn("z-50 relative flex w-72 max-w-[calc(100vw-2rem)] origin-(--transform-origin) flex-col rounded-lg border-0 bg-surface-overlay py-4 text-gdt-sm text-fg-primary shadow-2 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 has-[&_[data-slot=popover-footer]]:pb-0", className),
29
+ ...props,
30
+ children: [/* @__PURE__ */ jsx(SizeProvider, {
31
+ size,
32
+ children
33
+ }), showArrow ? /* @__PURE__ */ jsx(Popover$1.Arrow, { className: "relative block w-3 h-1.5 overflow-clip data-[side=bottom]:top-[-6px] data-[side=left]:right-[-9px] data-[side=left]:rotate-90 data-[side=right]:left-[-9px] data-[side=right]:-rotate-90 data-[side=top]:bottom-[-6px] data-[side=top]:rotate-180 before:content-[''] before:absolute before:bottom-0 before:left-1/2 before:w-[calc(6px*sqrt(2))] before:h-[calc(6px*sqrt(2))] before:bg-surface-overlay before:border before:border-line before:[transform:translate(-50%,50%)_rotate(45deg)]" }) : null]
34
+ })
35
+ }) });
36
+ }
37
+ function PopoverHeader({ className, border, ...props }) {
38
+ return /* @__PURE__ */ jsx("div", {
39
+ "data-slot": "popover-header",
40
+ className: cn("flex flex-col gap-0.5 px-4", border && "border-b border-line-subtle pb-3", className),
41
+ ...props
42
+ });
43
+ }
44
+ function PopoverBody({ className, ...props }) {
45
+ return /* @__PURE__ */ jsx("div", {
46
+ "data-slot": "popover-body",
47
+ className: cn("px-4 py-2", className),
48
+ ...props
49
+ });
50
+ }
51
+ function PopoverFooter({ className, ...props }) {
52
+ return /* @__PURE__ */ jsx("div", {
53
+ "data-slot": "popover-footer",
54
+ className: cn("flex flex-row items-center gap-2 px-4 border-t border-line-subtle pt-3", className),
55
+ ...props
56
+ });
57
+ }
58
+ function PopoverTitle({ className, ...props }) {
59
+ return /* @__PURE__ */ jsx(Popover$1.Title, {
60
+ "data-slot": "popover-title",
61
+ className: cn("text-gdt-sm font-semibold text-fg-primary", className),
62
+ ...props
63
+ });
64
+ }
65
+ function PopoverDescription({ className, ...props }) {
66
+ return /* @__PURE__ */ jsx(Popover$1.Description, {
67
+ "data-slot": "popover-description",
68
+ className: cn("text-gdt-xs font-normal text-fg-secondary", className),
69
+ ...props
70
+ });
71
+ }
72
+ //#endregion
73
+ export { Popover, PopoverBody, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverTitle, PopoverTrigger };
@@ -1,35 +1,34 @@
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/price-tag.d.ts
5
4
  declare const priceTagVariants: (props?: ({
6
- size?: "sm" | "md" | "lg" | "xs" | "xxs" | null | undefined;
7
- hasMonthlyPayment?: boolean | null | undefined;
8
- } & class_variance_authority_types.ClassProp) | undefined) => string;
5
+ size?: "lg" | "md" | "sm" | "xs" | "xxs" | null | undefined;
6
+ hasMonthlyPayment?: boolean | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
8
  type PriceTagSize = NonNullable<VariantProps<typeof priceTagVariants>["size"]>;
10
9
  type PriceTagCurrencyOption = {
11
- code: string;
12
- amount: string;
13
- shortAmount?: string;
14
- monthlyPayment?: string;
15
- monthlyPaymentLabel?: string;
10
+ code: string;
11
+ amount: string;
12
+ shortAmount?: string;
13
+ monthlyPayment?: string;
14
+ monthlyPaymentLabel?: string;
16
15
  };
17
16
  type PriceTagFormat = "full" | "shortened";
18
17
  type PriceTagProps = Omit<React.ComponentProps<"button">, "children"> & {
19
- amount: string;
20
- shortAmount?: string;
21
- format?: PriceTagFormat;
22
- size?: PriceTagSize;
23
- monthlyPayment?: string;
24
- monthlyPaymentLabel?: string;
25
- currencies?: PriceTagCurrencyOption[];
26
- selectedCurrency?: string;
27
- onCurrencyChange?: (currency: PriceTagCurrencyOption) => void;
28
- open?: boolean;
29
- defaultOpen?: boolean;
30
- onOpenChange?: (open: boolean) => void;
31
- popoverClassName?: string;
18
+ amount: string;
19
+ shortAmount?: string;
20
+ format?: PriceTagFormat;
21
+ size?: PriceTagSize;
22
+ monthlyPayment?: string;
23
+ monthlyPaymentLabel?: string;
24
+ currencies?: PriceTagCurrencyOption[];
25
+ selectedCurrency?: string;
26
+ onCurrencyChange?: (currency: PriceTagCurrencyOption) => void;
27
+ open?: boolean;
28
+ defaultOpen?: boolean;
29
+ onOpenChange?: (open: boolean) => void;
30
+ popoverClassName?: string;
32
31
  };
33
32
  declare function PriceTag({ amount, shortAmount, format, size, monthlyPayment, monthlyPaymentLabel, currencies, selectedCurrency, onCurrencyChange, open, defaultOpen, onOpenChange, className, popoverClassName, type, ...props }: PriceTagProps): React.JSX.Element;
34
-
35
- export { PriceTag, type PriceTagCurrencyOption, type PriceTagFormat, type PriceTagProps, type PriceTagSize, priceTagVariants };
33
+ //#endregion
34
+ export { PriceTag, type PriceTagCurrencyOption, type PriceTagFormat, type PriceTagProps, type PriceTagSize, priceTagVariants };
package/dist/price-tag.js CHANGED
@@ -1,178 +1,118 @@
1
1
  "use client";
2
- import {
3
- cn
4
- } from "./chunk-Y4TTYVNE.js";
5
-
6
- // src/price-tag.tsx
7
- import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
8
- import { cva } from "class-variance-authority";
2
+ import { t as cn } from "./cn-BI_4DMBf.js";
9
3
  import { Check, ChevronDown } from "lucide-react";
10
4
  import { jsx, jsxs } from "react/jsx-runtime";
11
- var priceTagVariants = cva(
12
- "group/price-tag inline-flex w-fit shrink-0 items-center justify-center rounded-4xl bg-surface-brand font-bold leading-none whitespace-nowrap text-fg-on-brand shadow-none transition-[background-color,box-shadow] outline-none data-[interactive=true]:cursor-pointer data-[interactive=true]:hover:bg-action-primary-hover data-[interactive=true]:focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] data-[interactive=true]:active:bg-action-primary-pressed",
13
- {
14
- variants: {
15
- size: {
16
- xxs: "min-h-7 gap-1 px-2.5 py-0.75 text-gdt-subtext [&>svg]:size-3",
17
- xs: "min-h-7.5 gap-1 px-3 py-1 text-gdt-xs [&>svg]:size-3.5",
18
- sm: "min-h-9 gap-1.5 px-4 py-1.5 text-gdt-sm [&>svg]:size-3.5",
19
- md: "min-h-10.5 gap-1.5 px-5 py-2 text-gdt-md [&>svg]:size-4",
20
- lg: "min-h-13 gap-2 px-7 py-3 text-gdt-lg [&>svg]:size-4.5"
21
- },
22
- hasMonthlyPayment: {
23
- true: "items-start",
24
- false: ""
25
- }
26
- },
27
- defaultVariants: {
28
- size: "md",
29
- hasMonthlyPayment: false
30
- }
31
- }
32
- );
33
- function getDisplayAmount({
34
- amount,
35
- shortAmount,
36
- format
37
- }) {
38
- return format === "shortened" && shortAmount ? shortAmount : amount;
5
+ import { cva } from "class-variance-authority";
6
+ import { Popover } from "@base-ui/react/popover";
7
+ //#region src/price-tag.tsx
8
+ const priceTagVariants = cva("group/price-tag inline-flex w-fit shrink-0 items-center justify-center rounded-4xl bg-surface-brand font-bold leading-none whitespace-nowrap text-fg-on-brand shadow-none transition-[background-color,box-shadow] outline-none data-[interactive=true]:cursor-pointer data-[interactive=true]:hover:bg-action-primary-hover data-[interactive=true]:focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] data-[interactive=true]:active:bg-action-primary-pressed", {
9
+ variants: {
10
+ size: {
11
+ xxs: "min-h-7 gap-1 px-2.5 py-0.75 text-gdt-subtext [&>svg]:size-3",
12
+ xs: "min-h-7.5 gap-1 px-3 py-1 text-gdt-xs [&>svg]:size-3.5",
13
+ sm: "min-h-9 gap-1.5 px-4 py-1.5 text-gdt-sm [&>svg]:size-3.5",
14
+ md: "min-h-10.5 gap-1.5 px-5 py-2 text-gdt-md [&>svg]:size-4",
15
+ lg: "min-h-13 gap-2 px-7 py-3 text-gdt-lg [&>svg]:size-4.5"
16
+ },
17
+ hasMonthlyPayment: {
18
+ true: "items-start",
19
+ false: ""
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ size: "md",
24
+ hasMonthlyPayment: false
25
+ }
26
+ });
27
+ function getDisplayAmount({ amount, shortAmount, format }) {
28
+ return format === "shortened" && shortAmount ? shortAmount : amount;
39
29
  }
40
- function PriceTag({
41
- amount,
42
- shortAmount,
43
- format = "full",
44
- size = "md",
45
- monthlyPayment,
46
- monthlyPaymentLabel = "Low as",
47
- currencies,
48
- selectedCurrency,
49
- onCurrencyChange,
50
- open,
51
- defaultOpen,
52
- onOpenChange,
53
- className,
54
- popoverClassName,
55
- type = "button",
56
- ...props
57
- }) {
58
- const hasDropdown = Boolean(currencies?.length);
59
- const canShowMonthlyPayment = size === "md" || size === "lg";
60
- const displayMonthlyPayment = canShowMonthlyPayment && monthlyPayment ? `${monthlyPaymentLabel} ${monthlyPayment} monthly` : void 0;
61
- const displayAmount = getDisplayAmount({ amount, shortAmount, format });
62
- const pill = /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-col gap-1", children: [
63
- /* @__PURE__ */ jsx("span", { children: displayAmount }),
64
- displayMonthlyPayment ? /* @__PURE__ */ jsx(
65
- "span",
66
- {
67
- className: cn(
68
- "hidden text-gdt-subtext font-medium leading-none opacity-90",
69
- {
70
- "inline-block": size === "md",
71
- "inline-block text-gdt-xs": size === "lg"
72
- }
73
- ),
74
- children: displayMonthlyPayment
75
- }
76
- ) : null
77
- ] });
78
- if (!hasDropdown) {
79
- return /* @__PURE__ */ jsx(
80
- "span",
81
- {
82
- "data-slot": "price-tag",
83
- className: cn(
84
- priceTagVariants({
85
- size,
86
- hasMonthlyPayment: Boolean(displayMonthlyPayment)
87
- }),
88
- className
89
- ),
90
- children: pill
91
- }
92
- );
93
- }
94
- return /* @__PURE__ */ jsxs(
95
- PopoverPrimitive.Root,
96
- {
97
- open,
98
- defaultOpen,
99
- onOpenChange,
100
- children: [
101
- /* @__PURE__ */ jsxs(
102
- PopoverPrimitive.Trigger,
103
- {
104
- "data-slot": "price-tag",
105
- "data-interactive": "true",
106
- type,
107
- className: cn(
108
- priceTagVariants({
109
- size,
110
- hasMonthlyPayment: Boolean(displayMonthlyPayment)
111
- }),
112
- className
113
- ),
114
- ...props,
115
- children: [
116
- pill,
117
- /* @__PURE__ */ jsx(
118
- ChevronDown,
119
- {
120
- "aria-hidden": "true",
121
- className: "transition-transform group-data-popup-open/price-tag:rotate-180"
122
- }
123
- )
124
- ]
125
- }
126
- ),
127
- /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(PopoverPrimitive.Positioner, { sideOffset: 10, align: "start", children: /* @__PURE__ */ jsx(
128
- PopoverPrimitive.Popup,
129
- {
130
- "data-slot": "price-tag-popover",
131
- className: cn(
132
- "z-50 flex w-[17.25rem] max-w-[calc(100vw-2rem)] origin-(--transform-origin) flex-col rounded-xl border border-line-subtle bg-surface-overlay p-2 text-fg-primary shadow-3 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
133
- popoverClassName
134
- ),
135
- children: currencies?.map((currency) => {
136
- const active = currency.code === selectedCurrency;
137
- const optionAmount = getDisplayAmount({
138
- amount: currency.amount,
139
- shortAmount: currency.shortAmount,
140
- format
141
- });
142
- const optionMonthlyPayment = currency.monthlyPayment ? `${currency.monthlyPaymentLabel ?? "As low as"} ${currency.monthlyPayment} per month` : void 0;
143
- return /* @__PURE__ */ jsxs(
144
- "button",
145
- {
146
- type: "button",
147
- "data-active": active ? "true" : void 0,
148
- className: "flex min-h-14 w-full items-center gap-3 rounded-lg px-3 text-start outline-none transition-colors hover:bg-surface-brand-subtle focus-visible:bg-surface-brand-subtle focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] data-[active=true]:bg-surface-brand-subtle",
149
- onClick: () => onCurrencyChange?.(currency),
150
- children: [
151
- /* @__PURE__ */ jsx("span", { className: "min-w-10 text-gdt-sm font-semibold text-fg-brand", children: currency.code }),
152
- /* @__PURE__ */ jsxs("span", { className: "ml-auto flex min-w-0 flex-col items-end", children: [
153
- /* @__PURE__ */ jsx("span", { className: "text-gdt-sm font-bold text-fg-primary", children: optionAmount }),
154
- optionMonthlyPayment ? /* @__PURE__ */ jsx("span", { className: "text-gdt-xs text-fg-secondary", children: optionMonthlyPayment }) : null
155
- ] }),
156
- active ? /* @__PURE__ */ jsx(
157
- Check,
158
- {
159
- "aria-hidden": "true",
160
- className: "size-4 shrink-0 text-fg-brand"
161
- }
162
- ) : null
163
- ]
164
- },
165
- currency.code
166
- );
167
- })
168
- }
169
- ) }) })
170
- ]
171
- }
172
- );
30
+ function PriceTag({ amount, shortAmount, format = "full", size = "md", monthlyPayment, monthlyPaymentLabel = "Low as", currencies, selectedCurrency, onCurrencyChange, open, defaultOpen, onOpenChange, className, popoverClassName, type = "button", ...props }) {
31
+ const hasDropdown = Boolean(currencies?.length);
32
+ const displayMonthlyPayment = (size === "md" || size === "lg") && monthlyPayment ? `${monthlyPaymentLabel} ${monthlyPayment} monthly` : void 0;
33
+ const pill = /* @__PURE__ */ jsxs("span", {
34
+ className: "flex min-w-0 flex-col gap-1",
35
+ children: [/* @__PURE__ */ jsx("span", { children: getDisplayAmount({
36
+ amount,
37
+ shortAmount,
38
+ format
39
+ }) }), displayMonthlyPayment ? /* @__PURE__ */ jsx("span", {
40
+ className: cn("hidden text-gdt-subtext font-medium leading-none opacity-90", {
41
+ "inline-block": size === "md",
42
+ "inline-block text-gdt-xs": size === "lg"
43
+ }),
44
+ children: displayMonthlyPayment
45
+ }) : null]
46
+ });
47
+ if (!hasDropdown) return /* @__PURE__ */ jsx("span", {
48
+ "data-slot": "price-tag",
49
+ className: cn(priceTagVariants({
50
+ size,
51
+ hasMonthlyPayment: Boolean(displayMonthlyPayment)
52
+ }), className),
53
+ children: pill
54
+ });
55
+ return /* @__PURE__ */ jsxs(Popover.Root, {
56
+ open,
57
+ defaultOpen,
58
+ onOpenChange,
59
+ children: [/* @__PURE__ */ jsxs(Popover.Trigger, {
60
+ "data-slot": "price-tag",
61
+ "data-interactive": "true",
62
+ type,
63
+ className: cn(priceTagVariants({
64
+ size,
65
+ hasMonthlyPayment: Boolean(displayMonthlyPayment)
66
+ }), className),
67
+ ...props,
68
+ children: [pill, /* @__PURE__ */ jsx(ChevronDown, {
69
+ "aria-hidden": "true",
70
+ className: "transition-transform group-data-popup-open/price-tag:rotate-180"
71
+ })]
72
+ }), /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsx(Popover.Positioner, {
73
+ sideOffset: 10,
74
+ align: "start",
75
+ children: /* @__PURE__ */ jsx(Popover.Popup, {
76
+ "data-slot": "price-tag-popover",
77
+ className: cn("z-50 flex w-[17.25rem] max-w-[calc(100vw-2rem)] origin-(--transform-origin) flex-col rounded-xl border border-line-subtle bg-surface-overlay p-2 text-fg-primary shadow-3 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", popoverClassName),
78
+ children: currencies?.map((currency) => {
79
+ const active = currency.code === selectedCurrency;
80
+ const optionAmount = getDisplayAmount({
81
+ amount: currency.amount,
82
+ shortAmount: currency.shortAmount,
83
+ format
84
+ });
85
+ const optionMonthlyPayment = currency.monthlyPayment ? `${currency.monthlyPaymentLabel ?? "As low as"} ${currency.monthlyPayment} per month` : void 0;
86
+ return /* @__PURE__ */ jsxs("button", {
87
+ type: "button",
88
+ "data-active": active ? "true" : void 0,
89
+ className: "flex min-h-14 w-full items-center gap-3 rounded-lg px-3 text-start outline-none transition-colors hover:bg-surface-brand-subtle focus-visible:bg-surface-brand-subtle focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] data-[active=true]:bg-surface-brand-subtle",
90
+ onClick: () => onCurrencyChange?.(currency),
91
+ children: [
92
+ /* @__PURE__ */ jsx("span", {
93
+ className: "min-w-10 text-gdt-sm font-semibold text-fg-brand",
94
+ children: currency.code
95
+ }),
96
+ /* @__PURE__ */ jsxs("span", {
97
+ className: "ml-auto flex min-w-0 flex-col items-end",
98
+ children: [/* @__PURE__ */ jsx("span", {
99
+ className: "text-gdt-sm font-bold text-fg-primary",
100
+ children: optionAmount
101
+ }), optionMonthlyPayment ? /* @__PURE__ */ jsx("span", {
102
+ className: "text-gdt-xs text-fg-secondary",
103
+ children: optionMonthlyPayment
104
+ }) : null]
105
+ }),
106
+ active ? /* @__PURE__ */ jsx(Check, {
107
+ "aria-hidden": "true",
108
+ className: "size-4 shrink-0 text-fg-brand"
109
+ }) : null
110
+ ]
111
+ }, currency.code);
112
+ })
113
+ })
114
+ }) })]
115
+ });
173
116
  }
174
- export {
175
- PriceTag,
176
- priceTagVariants
177
- };
178
- //# sourceMappingURL=price-tag.js.map
117
+ //#endregion
118
+ export { PriceTag, priceTagVariants };
@@ -1,24 +1,23 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import { Progress as Progress$1 } from '@base-ui/react/progress';
3
- import { VariantProps } from 'class-variance-authority';
4
- import * as React from 'react';
5
-
1
+ import { VariantProps } from "class-variance-authority";
2
+ import * as React from "react";
3
+ import { Progress as Progress$1 } from "@base-ui/react/progress";
4
+ //#region src/progress.d.ts
6
5
  declare const progressVariants: (props?: ({
7
- size?: "sm" | "md" | "lg" | null | undefined;
8
- } & class_variance_authority_types.ClassProp) | undefined) => string;
6
+ size?: "lg" | "md" | "sm" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
8
  declare const circularProgressVariants: (props?: ({
10
- size?: "sm" | "md" | "lg" | null | undefined;
11
- } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ size?: "lg" | "md" | "sm" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
11
  type ProgressProps = Progress$1.Root.Props & VariantProps<typeof progressVariants> & {
13
- disabled?: boolean;
12
+ disabled?: boolean;
14
13
  };
15
14
  type ProgressSize = NonNullable<VariantProps<typeof progressVariants>["size"]>;
16
15
  type CircularProgressProps = React.ComponentProps<"div"> & VariantProps<typeof circularProgressVariants> & {
17
- value: number;
18
- labelOverlay?: boolean;
19
- pixelSize?: number;
20
- strokeWidth?: number;
21
- strokeLinecap?: "round" | "butt" | "square";
16
+ value: number;
17
+ labelOverlay?: boolean;
18
+ pixelSize?: number;
19
+ strokeWidth?: number;
20
+ strokeLinecap?: "round" | "butt" | "square";
22
21
  };
23
22
  declare function Progress({ className, children, value, size, disabled, ...props }: ProgressProps): React.JSX.Element;
24
23
  declare function ProgressTrack({ className, ...props }: Progress$1.Track.Props): React.JSX.Element;
@@ -27,5 +26,5 @@ declare function ProgressLabel({ className, ...props }: Progress$1.Label.Props):
27
26
  declare function ProgressValue({ className, ...props }: Progress$1.Value.Props): React.JSX.Element;
28
27
  declare function ProgressCaption({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
29
28
  declare function CircularProgress({ className, style, value, size, children, labelOverlay, pixelSize, strokeWidth, strokeLinecap, ...props }: CircularProgressProps): React.JSX.Element;
30
-
31
- export { CircularProgress, type CircularProgressProps, Progress, ProgressCaption, ProgressIndicator, ProgressLabel, type ProgressProps, type ProgressSize, ProgressTrack, ProgressValue, circularProgressVariants, progressVariants };
29
+ //#endregion
30
+ export { CircularProgress, type CircularProgressProps, Progress, ProgressCaption, ProgressIndicator, ProgressLabel, type ProgressProps, type ProgressSize, ProgressTrack, ProgressValue, circularProgressVariants, progressVariants };