@giddaa-housing/ui 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/css/generated/shared.css +1 -1
  2. package/dist/accordion.d.ts +9 -10
  3. package/dist/accordion.js +41 -87
  4. package/dist/activity-timeline.d.ts +12 -16
  5. package/dist/activity-timeline.js +83 -198
  6. package/dist/alert.d.ts +8 -9
  7. package/dist/alert.js +53 -111
  8. package/dist/auth-layout.d.ts +4 -4
  9. package/dist/auth-layout.js +143 -294
  10. package/dist/avatar.d.ts +6 -6
  11. package/dist/avatar.js +49 -19
  12. package/dist/badge.d.ts +12 -14
  13. package/dist/badge.js +71 -11
  14. package/dist/bar-chart.d.ts +65 -67
  15. package/dist/bar-chart.js +232 -207
  16. package/dist/breadcrumb.d.ts +5 -5
  17. package/dist/breadcrumb.js +56 -118
  18. package/dist/bullet-chart.d.ts +33 -33
  19. package/dist/bullet-chart.js +121 -148
  20. package/dist/button-BZIeyUw6.d.ts +17 -0
  21. package/dist/button-group.d.ts +13 -16
  22. package/dist/button-group.js +39 -88
  23. package/dist/button.d.ts +2 -19
  24. package/dist/button.js +94 -13
  25. package/dist/calendar.d.ts +6 -6
  26. package/dist/calendar.js +138 -17
  27. package/dist/card.d.ts +14 -16
  28. package/dist/card.js +59 -145
  29. package/dist/carousel.d.ts +34 -35
  30. package/dist/carousel.js +335 -20
  31. package/dist/chart.d.ts +58 -59
  32. package/dist/chart.js +376 -28
  33. package/dist/checkbox.d.ts +10 -12
  34. package/dist/checkbox.js +82 -47
  35. package/dist/cn-BI_4DMBf.js +23 -0
  36. package/dist/collapsible.d.ts +7 -8
  37. package/dist/collapsible.js +22 -47
  38. package/dist/combobox.d.ts +10 -10
  39. package/dist/combobox.js +236 -44
  40. package/dist/cta.d.ts +12 -14
  41. package/dist/cta.js +175 -341
  42. package/dist/currency-selector.d.ts +31 -32
  43. package/dist/currency-selector.js +106 -184
  44. package/dist/data-table.d.ts +164 -0
  45. package/dist/data-table.js +673 -0
  46. package/dist/date-picker.d.ts +22 -23
  47. package/dist/date-picker.js +119 -192
  48. package/dist/details-card.d.ts +7 -7
  49. package/dist/details-card.js +104 -253
  50. package/dist/dialog.d.ts +13 -14
  51. package/dist/dialog.js +116 -209
  52. package/dist/dropdown-menu.d.ts +13 -13
  53. package/dist/dropdown-menu.js +180 -37
  54. package/dist/dropzone.d.ts +55 -55
  55. package/dist/dropzone.js +327 -439
  56. package/dist/editorial-card.d.ts +23 -25
  57. package/dist/editorial-card.js +129 -296
  58. package/dist/empty-state.d.ts +8 -9
  59. package/dist/empty-state.js +48 -105
  60. package/dist/field.d.ts +23 -25
  61. package/dist/field.js +110 -221
  62. package/dist/filter.d.ts +118 -0
  63. package/dist/filter.js +775 -0
  64. package/dist/footer.d.ts +8 -15
  65. package/dist/footer.js +197 -400
  66. package/dist/funnel-chart.d.ts +38 -41
  67. package/dist/funnel-chart.js +167 -189
  68. package/dist/gallery-indicator.d.ts +11 -12
  69. package/dist/gallery-indicator.js +75 -12
  70. package/dist/heatmap-chart.d.ts +47 -50
  71. package/dist/heatmap-chart.js +186 -237
  72. package/dist/infotip.d.ts +8 -9
  73. package/dist/infotip.js +33 -59
  74. package/dist/input-CfoEJ8A6.d.ts +12 -0
  75. package/dist/input-group.d.ts +16 -20
  76. package/dist/input-group.js +99 -23
  77. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  78. package/dist/input-size-context.d.ts +2 -11
  79. package/dist/input-size-context.js +17 -9
  80. package/dist/input.d.ts +2 -13
  81. package/dist/input.js +27 -11
  82. package/dist/item.d.ts +7 -8
  83. package/dist/item.js +22 -59
  84. package/dist/kpi-card.d.ts +18 -20
  85. package/dist/kpi-card.js +84 -192
  86. package/dist/label.d.ts +6 -6
  87. package/dist/label.js +40 -8
  88. package/dist/line-chart.d.ts +88 -89
  89. package/dist/line-chart.js +142 -104
  90. package/dist/logo.d.ts +4 -4
  91. package/dist/logo.js +92 -9
  92. package/dist/map-indicator.d.ts +7 -7
  93. package/dist/map-indicator.js +80 -106
  94. package/dist/match.d.ts +10 -11
  95. package/dist/match.js +62 -107
  96. package/dist/media-gallery-hero.d.ts +40 -42
  97. package/dist/media-gallery-hero.js +182 -343
  98. package/dist/media-player.d.ts +17 -17
  99. package/dist/media-player.js +873 -1348
  100. package/dist/multi-step-form.d.ts +56 -0
  101. package/dist/multi-step-form.js +342 -0
  102. package/dist/number-input.d.ts +34 -34
  103. package/dist/number-input.js +61 -117
  104. package/dist/page-header.d.ts +10 -11
  105. package/dist/page-header.js +34 -79
  106. package/dist/pagination.d.ts +17 -21
  107. package/dist/pagination.js +132 -207
  108. package/dist/password-input.d.ts +5 -13
  109. package/dist/password-input.js +31 -55
  110. package/dist/phone-input.d.ts +19 -20
  111. package/dist/phone-input.js +226 -344
  112. package/dist/photo-gallery.d.ts +19 -19
  113. package/dist/photo-gallery.js +313 -449
  114. package/dist/picker-lzgmsNfG.js +32 -0
  115. package/dist/pie-chart.d.ts +60 -60
  116. package/dist/pie-chart.js +140 -148
  117. package/dist/popover.d.ts +9 -9
  118. package/dist/popover.js +72 -23
  119. package/dist/price-tag.d.ts +26 -27
  120. package/dist/price-tag.js +113 -173
  121. package/dist/progress.d.ts +16 -17
  122. package/dist/progress.js +169 -24
  123. package/dist/property-listing-card.d.ts +14 -17
  124. package/dist/property-listing-card.js +102 -220
  125. package/dist/radar-chart.d.ts +29 -31
  126. package/dist/radar-chart.js +162 -137
  127. package/dist/radio-group.d.ts +11 -13
  128. package/dist/radio-group.js +46 -60
  129. package/dist/review-block.d.ts +14 -16
  130. package/dist/review-block.js +154 -10
  131. package/dist/rich-text-editor.d.ts +30 -14
  132. package/dist/rich-text-editor.js +592 -716
  133. package/dist/scatter-chart.d.ts +45 -47
  134. package/dist/scatter-chart.js +236 -240
  135. package/dist/search-input.d.ts +8 -16
  136. package/dist/search-input.js +57 -109
  137. package/dist/select.d.ts +8 -8
  138. package/dist/select.js +144 -27
  139. package/dist/separator.d.ts +8 -9
  140. package/dist/separator.js +32 -8
  141. package/dist/sheet.d.ts +11 -11
  142. package/dist/sheet.js +103 -24
  143. package/dist/sidebar.d.ts +32 -37
  144. package/dist/sidebar.js +364 -634
  145. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  146. package/dist/size-context.d.ts +2 -11
  147. package/dist/size-context.js +17 -9
  148. package/dist/skeleton.d.ts +4 -5
  149. package/dist/skeleton.js +12 -8
  150. package/dist/slider.d.ts +8 -9
  151. package/dist/slider.js +64 -135
  152. package/dist/sparkline.d.ts +43 -46
  153. package/dist/sparkline.js +221 -251
  154. package/dist/stepper.d.ts +23 -24
  155. package/dist/stepper.js +149 -246
  156. package/dist/styles.css +510 -108
  157. package/dist/switch.d.ts +10 -12
  158. package/dist/switch.js +48 -70
  159. package/dist/table-card.d.ts +35 -0
  160. package/dist/table-card.js +125 -0
  161. package/dist/table.d.ts +18 -14
  162. package/dist/table.js +113 -154
  163. package/dist/tabs.d.ts +23 -15
  164. package/dist/tabs.js +71 -18
  165. package/dist/tag.d.ts +21 -23
  166. package/dist/tag.js +103 -159
  167. package/dist/testimonial-block.d.ts +18 -19
  168. package/dist/testimonial-block.js +189 -358
  169. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  170. package/dist/textarea.d.ts +2 -12
  171. package/dist/textarea.js +24 -11
  172. package/dist/time-picker.d.ts +11 -11
  173. package/dist/time-picker.js +245 -302
  174. package/dist/toast.d.ts +16 -18
  175. package/dist/toast.js +154 -205
  176. package/dist/tooltip.d.ts +8 -9
  177. package/dist/tooltip.js +37 -12
  178. package/dist/tree-map.d.ts +54 -57
  179. package/dist/tree-map.js +227 -269
  180. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  181. package/dist/waterfall-chart.d.ts +94 -97
  182. package/dist/waterfall-chart.js +455 -552
  183. package/package.json +28 -9
  184. package/dist/accordion.js.map +0 -1
  185. package/dist/activity-timeline.js.map +0 -1
  186. package/dist/alert.js.map +0 -1
  187. package/dist/auth-layout.js.map +0 -1
  188. package/dist/avatar.js.map +0 -1
  189. package/dist/badge.js.map +0 -1
  190. package/dist/bar-chart.js.map +0 -1
  191. package/dist/breadcrumb.js.map +0 -1
  192. package/dist/bullet-chart.js.map +0 -1
  193. package/dist/button-group.js.map +0 -1
  194. package/dist/button.js.map +0 -1
  195. package/dist/calendar.js.map +0 -1
  196. package/dist/card.js.map +0 -1
  197. package/dist/carousel.js.map +0 -1
  198. package/dist/chart.js.map +0 -1
  199. package/dist/checkbox.js.map +0 -1
  200. package/dist/chunk-322YCNVL.js +0 -278
  201. package/dist/chunk-322YCNVL.js.map +0 -1
  202. package/dist/chunk-3ACQVT7A.js +0 -25
  203. package/dist/chunk-3ACQVT7A.js.map +0 -1
  204. package/dist/chunk-3T65TLJX.js +0 -334
  205. package/dist/chunk-3T65TLJX.js.map +0 -1
  206. package/dist/chunk-6ZSGQHH2.js +0 -192
  207. package/dist/chunk-6ZSGQHH2.js.map +0 -1
  208. package/dist/chunk-7TBMLFGW.js +0 -41
  209. package/dist/chunk-7TBMLFGW.js.map +0 -1
  210. package/dist/chunk-B4H6RNDH.js +0 -135
  211. package/dist/chunk-B4H6RNDH.js.map +0 -1
  212. package/dist/chunk-BUXCGZ6X.js +0 -219
  213. package/dist/chunk-BUXCGZ6X.js.map +0 -1
  214. package/dist/chunk-CHII2QHH.js +0 -58
  215. package/dist/chunk-CHII2QHH.js.map +0 -1
  216. package/dist/chunk-DMNOXRRW.js +0 -147
  217. package/dist/chunk-DMNOXRRW.js.map +0 -1
  218. package/dist/chunk-EFSOSSIC.js +0 -130
  219. package/dist/chunk-EFSOSSIC.js.map +0 -1
  220. package/dist/chunk-FZDSVMKY.js +0 -363
  221. package/dist/chunk-FZDSVMKY.js.map +0 -1
  222. package/dist/chunk-GJOFIJS3.js +0 -246
  223. package/dist/chunk-GJOFIJS3.js.map +0 -1
  224. package/dist/chunk-HL3ZSYES.js +0 -23
  225. package/dist/chunk-HL3ZSYES.js.map +0 -1
  226. package/dist/chunk-JVLUBAPB.js +0 -129
  227. package/dist/chunk-JVLUBAPB.js.map +0 -1
  228. package/dist/chunk-KDPYSOYZ.js +0 -64
  229. package/dist/chunk-KDPYSOYZ.js.map +0 -1
  230. package/dist/chunk-KSMDANKI.js +0 -43
  231. package/dist/chunk-KSMDANKI.js.map +0 -1
  232. package/dist/chunk-MEKCCOP5.js +0 -46
  233. package/dist/chunk-MEKCCOP5.js.map +0 -1
  234. package/dist/chunk-NOFXVRWL.js +0 -451
  235. package/dist/chunk-NOFXVRWL.js.map +0 -1
  236. package/dist/chunk-PC5MHNVA.js +0 -171
  237. package/dist/chunk-PC5MHNVA.js.map +0 -1
  238. package/dist/chunk-QKAQZ2GU.js +0 -122
  239. package/dist/chunk-QKAQZ2GU.js.map +0 -1
  240. package/dist/chunk-QZHSHSVV.js +0 -26
  241. package/dist/chunk-QZHSHSVV.js.map +0 -1
  242. package/dist/chunk-RBMK26XD.js +0 -19
  243. package/dist/chunk-RBMK26XD.js.map +0 -1
  244. package/dist/chunk-SFNJGF6M.js +0 -262
  245. package/dist/chunk-SFNJGF6M.js.map +0 -1
  246. package/dist/chunk-UJJNLGTM.js +0 -112
  247. package/dist/chunk-UJJNLGTM.js.map +0 -1
  248. package/dist/chunk-VGR4ZWJ3.js +0 -418
  249. package/dist/chunk-VGR4ZWJ3.js.map +0 -1
  250. package/dist/chunk-XG47P6D4.js +0 -99
  251. package/dist/chunk-XG47P6D4.js.map +0 -1
  252. package/dist/chunk-XZZAHNVM.js +0 -21
  253. package/dist/chunk-XZZAHNVM.js.map +0 -1
  254. package/dist/chunk-Y4TTYVNE.js +0 -36
  255. package/dist/chunk-Y4TTYVNE.js.map +0 -1
  256. package/dist/chunk-YDWIHW6Q.js +0 -69
  257. package/dist/chunk-YDWIHW6Q.js.map +0 -1
  258. package/dist/collapsible.js.map +0 -1
  259. package/dist/combobox.js.map +0 -1
  260. package/dist/cta.js.map +0 -1
  261. package/dist/currency-selector.js.map +0 -1
  262. package/dist/date-picker.js.map +0 -1
  263. package/dist/details-card.js.map +0 -1
  264. package/dist/dialog.js.map +0 -1
  265. package/dist/dropdown-menu.js.map +0 -1
  266. package/dist/dropzone.js.map +0 -1
  267. package/dist/editorial-card.js.map +0 -1
  268. package/dist/empty-state.js.map +0 -1
  269. package/dist/field.js.map +0 -1
  270. package/dist/footer.js.map +0 -1
  271. package/dist/funnel-chart.js.map +0 -1
  272. package/dist/gallery-indicator.js.map +0 -1
  273. package/dist/heatmap-chart.js.map +0 -1
  274. package/dist/infotip.js.map +0 -1
  275. package/dist/input-group.js.map +0 -1
  276. package/dist/input-size-context.js.map +0 -1
  277. package/dist/input.js.map +0 -1
  278. package/dist/item.js.map +0 -1
  279. package/dist/kpi-card.js.map +0 -1
  280. package/dist/label.js.map +0 -1
  281. package/dist/line-chart.js.map +0 -1
  282. package/dist/logo.js.map +0 -1
  283. package/dist/map-indicator.js.map +0 -1
  284. package/dist/match.js.map +0 -1
  285. package/dist/media-gallery-hero.js.map +0 -1
  286. package/dist/media-player.js.map +0 -1
  287. package/dist/number-input.js.map +0 -1
  288. package/dist/page-header.js.map +0 -1
  289. package/dist/pagination.js.map +0 -1
  290. package/dist/password-input.js.map +0 -1
  291. package/dist/phone-input.js.map +0 -1
  292. package/dist/photo-gallery.js.map +0 -1
  293. package/dist/pie-chart.js.map +0 -1
  294. package/dist/popover.js.map +0 -1
  295. package/dist/price-tag.js.map +0 -1
  296. package/dist/progress.js.map +0 -1
  297. package/dist/property-listing-card.js.map +0 -1
  298. package/dist/radar-chart.js.map +0 -1
  299. package/dist/radio-group.js.map +0 -1
  300. package/dist/review-block.js.map +0 -1
  301. package/dist/rich-text-editor.js.map +0 -1
  302. package/dist/scatter-chart.js.map +0 -1
  303. package/dist/search-input.js.map +0 -1
  304. package/dist/select.js.map +0 -1
  305. package/dist/separator.js.map +0 -1
  306. package/dist/sheet.js.map +0 -1
  307. package/dist/sidebar.js.map +0 -1
  308. package/dist/size-context.js.map +0 -1
  309. package/dist/skeleton.js.map +0 -1
  310. package/dist/slider.js.map +0 -1
  311. package/dist/sparkline.js.map +0 -1
  312. package/dist/stepper.js.map +0 -1
  313. package/dist/switch.js.map +0 -1
  314. package/dist/tab-list.d.ts +0 -38
  315. package/dist/tab-list.js +0 -123
  316. package/dist/tab-list.js.map +0 -1
  317. package/dist/table.js.map +0 -1
  318. package/dist/tabs.js.map +0 -1
  319. package/dist/tag.js.map +0 -1
  320. package/dist/testimonial-block.js.map +0 -1
  321. package/dist/textarea.js.map +0 -1
  322. package/dist/time-picker.js.map +0 -1
  323. package/dist/toast.js.map +0 -1
  324. package/dist/tooltip.js.map +0 -1
  325. package/dist/tree-map.js.map +0 -1
  326. package/dist/waterfall-chart.js.map +0 -1
@@ -1,41 +0,0 @@
1
- import {
2
- cn
3
- } from "./chunk-Y4TTYVNE.js";
4
-
5
- // src/label.tsx
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- function Label({
8
- className,
9
- children,
10
- withAsterisk = false,
11
- showOptionalText = false,
12
- ...props
13
- }) {
14
- const labelClassName = cn(
15
- "flex w-fit max-w-full items-center gap-1 text-gdt-sm leading-none font-semibold text-fg-primary select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
16
- className
17
- );
18
- if (withAsterisk) {
19
- return (
20
- // biome-ignore lint/a11y/noLabelWithoutControl: association is supplied by callers through htmlFor or nesting patterns.
21
- /* @__PURE__ */ jsxs("label", { "data-slot": "label", className: labelClassName, ...props, children: [
22
- /* @__PURE__ */ jsx("div", { className: "inline-flex", children }),
23
- withAsterisk && /* @__PURE__ */ jsx("span", { className: "inline-flex shrink-0 text-fg-danger", children: "*" }),
24
- showOptionalText && /* @__PURE__ */ jsx("span", { className: "text-gdt-xs font-normal italic", children: "(optional)" })
25
- ] })
26
- );
27
- }
28
- return (
29
- // biome-ignore lint/a11y/noLabelWithoutControl: association is supplied by callers through htmlFor or nesting patterns.
30
- /* @__PURE__ */ jsx("label", { "data-slot": "label", className: labelClassName, ...props, children: /* @__PURE__ */ jsxs("div", { children: [
31
- children,
32
- " ",
33
- showOptionalText && /* @__PURE__ */ jsx("span", { className: "text-gdt-xs font-normal italic", children: "(optional)" })
34
- ] }) })
35
- );
36
- }
37
-
38
- export {
39
- Label
40
- };
41
- //# sourceMappingURL=chunk-7TBMLFGW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/label.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\n\nimport { cn } from \"./lib/cn\";\n\nfunction Label({\n\tclassName,\n\tchildren,\n\twithAsterisk = false,\n\tshowOptionalText = false,\n\t...props\n}: React.ComponentProps<\"label\"> & {\n\twithAsterisk?: boolean;\n\tshowOptionalText?: boolean;\n}) {\n\tconst labelClassName = cn(\n\t\t\"flex w-fit max-w-full items-center gap-1 text-gdt-sm leading-none font-semibold text-fg-primary select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n\t\tclassName,\n\t);\n\n\tif (withAsterisk) {\n\t\treturn (\n\t\t\t// biome-ignore lint/a11y/noLabelWithoutControl: association is supplied by callers through htmlFor or nesting patterns.\n\t\t\t<label data-slot=\"label\" className={labelClassName} {...props}>\n\t\t\t\t<div className=\"inline-flex\">{children}</div>\n\t\t\t\t{withAsterisk && (\n\t\t\t\t\t<span className=\"inline-flex shrink-0 text-fg-danger\">*</span>\n\t\t\t\t)}\n\t\t\t\t{showOptionalText && (\n\t\t\t\t\t<span className=\"text-gdt-xs font-normal italic\">(optional)</span>\n\t\t\t\t)}\n\t\t\t</label>\n\t\t);\n\t}\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noLabelWithoutControl: association is supplied by callers through htmlFor or nesting patterns.\n\t\t<label data-slot=\"label\" className={labelClassName} {...props}>\n\t\t\t<div>\n\t\t\t\t{children}{\" \"}\n\t\t\t\t{showOptionalText && (\n\t\t\t\t\t<span className=\"text-gdt-xs font-normal italic\">(optional)</span>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</label>\n\t);\n}\n\nexport { Label };\n"],"mappings":";;;;;AAwBG,SACC,KADD;AAlBH,SAAS,MAAM;AAAA,EACd;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,GAAG;AACJ,GAGG;AACF,QAAM,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,EACD;AAEA,MAAI,cAAc;AACjB;AAAA;AAAA,MAEC,qBAAC,WAAM,aAAU,SAAQ,WAAW,gBAAiB,GAAG,OACvD;AAAA,4BAAC,SAAI,WAAU,eAAe,UAAS;AAAA,QACtC,gBACA,oBAAC,UAAK,WAAU,uCAAsC,eAAC;AAAA,QAEvD,oBACA,oBAAC,UAAK,WAAU,kCAAiC,wBAAU;AAAA,SAE7D;AAAA;AAAA,EAEF;AAEA;AAAA;AAAA,IAEC,oBAAC,WAAM,aAAU,SAAQ,WAAW,gBAAiB,GAAG,OACvD,+BAAC,SACC;AAAA;AAAA,MAAU;AAAA,MACV,oBACA,oBAAC,UAAK,WAAU,kCAAiC,wBAAU;AAAA,OAE7D,GACD;AAAA;AAEF;","names":[]}
@@ -1,135 +0,0 @@
1
- import {
2
- useComponentSize
3
- } from "./chunk-HL3ZSYES.js";
4
- import {
5
- cn
6
- } from "./chunk-Y4TTYVNE.js";
7
-
8
- // src/button.tsx
9
- import { Button as ButtonPrimitive } from "@base-ui/react/button";
10
- import { mergeProps } from "@base-ui/react/merge-props";
11
- import { useRender } from "@base-ui/react/use-render";
12
- import { cva } from "class-variance-authority";
13
- import { Loader } from "lucide-react";
14
- import { jsx, jsxs } from "react/jsx-runtime";
15
- var buttonVariants = cva(
16
- "group/button inline-flex shrink-0 items-center justify-center rounded-full bg-clip-padding whitespace-nowrap font-bold transition-[background-color,color,border-color,box-shadow,transform] outline-none select-none focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-invalid:border-line-danger aria-invalid:ring-3 aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
17
- {
18
- variants: {
19
- variant: {
20
- primary: "bg-action-primary text-fg-on-brand hover:bg-action-primary-hover active:bg-action-primary-pressed",
21
- "primary-outline": "border-2 border-action-primary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle",
22
- secondary: "bg-surface-brand-subtle text-fg-brand hover:bg-action-primary-hover hover:text-fg-on-brand active:bg-action-primary-pressed active:text-fg-on-brand data-focused:bg-action-primary-hover data-pressed:bg-action-primary-pressed data-focused:text-fg-on-brand data-pressed:text-fg-on-brand",
23
- "secondary-outline": "border-2 border-action-secondary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle",
24
- tertiary: "bg-action-tertiary text-fg-primary hover:bg-action-tertiary-hover active:bg-action-tertiary-pressed data-focused:bg-action-tertiary-hover data-pressed:bg-action-tertiary-pressed",
25
- "tertiary-outline": "border border-line-strong bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
26
- ghost: "bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
27
- danger: "bg-action-danger text-fg-on-brand hover:bg-action-danger-hover active:bg-action-danger-pressed data-focused:bg-action-danger-hover data-pressed:bg-action-danger-pressed",
28
- whatsapp: "bg-whatsapp-button text-black [&_svg]:text-white hover:brightness-95 active:brightness-90 data-focused:brightness-95 data-pressed:brightness-90",
29
- "glass-overlay": "bg-surface-glass-overlay-button text-fg-on-brand shadow-2 backdrop-blur-sm hover:scale-105 active:scale-95",
30
- "link-brand": "border-transparent bg-transparent px-0 text-fg-brand hover:underline active:underline active:opacity-70",
31
- "link-neutral": "border-transparent bg-transparent px-0 text-fg-secondary hover:underline active:underline active:opacity-70"
32
- },
33
- size: {
34
- sm: "h-8 min-w-8 gap-2 px-3.5 text-gdt-xs [&_svg:not([class*='size-'])]:size-4",
35
- md: "h-10 min-w-10 gap-2 px-4.5 text-gdt-sm [&_svg:not([class*='size-'])]:size-4.5",
36
- lg: "h-12 min-w-12 gap-2.5 px-5.5 text-gdt-md [&_svg:not([class*='size-'])]:size-6",
37
- xl: "h-14 min-w-14 gap-3 px-6.5 text-gdt-lg [&_svg:not([class*='size-'])]:size-6",
38
- icon: "size-10",
39
- "icon-xs": "size-6 text-gdt-xs [&_svg:not([class*='size-'])]:size-3",
40
- "icon-sm": "size-8 text-gdt-sm [&_svg:not([class*='size-'])]:size-3.5",
41
- "icon-lg": "size-12.5 text-gdt-md [&_svg:not([class*='size-'])]:size-4.5",
42
- "icon-xl": "size-14 text-gdt-lg [&_svg:not([class*='size-'])]:size-5"
43
- }
44
- },
45
- defaultVariants: {
46
- variant: "primary",
47
- size: "md"
48
- }
49
- }
50
- );
51
- function Button({
52
- className,
53
- variant = "primary",
54
- size,
55
- isLoading = false,
56
- children,
57
- disabled = false,
58
- ...props
59
- }) {
60
- const inheritedSize = useComponentSize();
61
- const resolvedSize = size ?? inheritedSize;
62
- const _disabled = disabled || isLoading;
63
- return /* @__PURE__ */ jsxs(
64
- ButtonPrimitive,
65
- {
66
- "data-slot": "button",
67
- className: cn(
68
- buttonVariants({
69
- variant,
70
- size: resolvedSize,
71
- className
72
- })
73
- ),
74
- disabled: _disabled,
75
- ...props,
76
- children: [
77
- isLoading && /* @__PURE__ */ jsx(Loader, { className: "size-4 animate-spin" }),
78
- " ",
79
- children
80
- ]
81
- }
82
- );
83
- }
84
- function ButtonLink({
85
- className,
86
- render,
87
- variant = "primary",
88
- size,
89
- disabled = false,
90
- onClick,
91
- children,
92
- ...props
93
- }) {
94
- const inheritedSize = useComponentSize();
95
- const resolvedSize = size ?? inheritedSize;
96
- return useRender({
97
- defaultTagName: "a",
98
- props: mergeProps(
99
- {
100
- className: cn(
101
- buttonVariants({
102
- variant,
103
- size: resolvedSize,
104
- className
105
- })
106
- ),
107
- children
108
- },
109
- {
110
- ...props,
111
- "aria-disabled": disabled,
112
- tabIndex: disabled ? -1 : props.tabIndex,
113
- onClick: (event) => {
114
- if (disabled) {
115
- event.preventDefault();
116
- return;
117
- }
118
- onClick?.(event);
119
- }
120
- }
121
- ),
122
- render,
123
- state: {
124
- slot: "button-link",
125
- disabled
126
- }
127
- });
128
- }
129
-
130
- export {
131
- buttonVariants,
132
- Button,
133
- ButtonLink
134
- };
135
- //# sourceMappingURL=chunk-B4H6RNDH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/button.tsx"],"sourcesContent":["import { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Loader } from \"lucide-react\";\nimport { cn } from \"./lib/cn\";\nimport { useComponentSize } from \"./size-context\";\n\nconst buttonVariants = cva(\n\t\"group/button inline-flex shrink-0 items-center justify-center rounded-full bg-clip-padding whitespace-nowrap font-bold transition-[background-color,color,border-color,box-shadow,transform] outline-none select-none focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-invalid:border-line-danger aria-invalid:ring-3 aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tprimary:\n\t\t\t\t\t\"bg-action-primary text-fg-on-brand hover:bg-action-primary-hover active:bg-action-primary-pressed\",\n\t\t\t\t\"primary-outline\":\n\t\t\t\t\t\"border-2 border-action-primary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle\",\n\t\t\t\tsecondary:\n\t\t\t\t\t\"bg-surface-brand-subtle text-fg-brand hover:bg-action-primary-hover hover:text-fg-on-brand active:bg-action-primary-pressed active:text-fg-on-brand data-focused:bg-action-primary-hover data-pressed:bg-action-primary-pressed data-focused:text-fg-on-brand data-pressed:text-fg-on-brand\",\n\t\t\t\t\"secondary-outline\":\n\t\t\t\t\t\"border-2 border-action-secondary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle\",\n\t\t\t\ttertiary:\n\t\t\t\t\t\"bg-action-tertiary text-fg-primary hover:bg-action-tertiary-hover active:bg-action-tertiary-pressed data-focused:bg-action-tertiary-hover data-pressed:bg-action-tertiary-pressed\",\n\t\t\t\t\"tertiary-outline\":\n\t\t\t\t\t\"border border-line-strong bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised\",\n\t\t\t\tghost:\n\t\t\t\t\t\"bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised\",\n\t\t\t\tdanger:\n\t\t\t\t\t\"bg-action-danger text-fg-on-brand hover:bg-action-danger-hover active:bg-action-danger-pressed data-focused:bg-action-danger-hover data-pressed:bg-action-danger-pressed\",\n\t\t\t\twhatsapp:\n\t\t\t\t\t\"bg-whatsapp-button text-black [&_svg]:text-white hover:brightness-95 active:brightness-90 data-focused:brightness-95 data-pressed:brightness-90\",\n\t\t\t\t\"glass-overlay\":\n\t\t\t\t\t\"bg-surface-glass-overlay-button text-fg-on-brand shadow-2 backdrop-blur-sm hover:scale-105 active:scale-95\",\n\t\t\t\t\"link-brand\":\n\t\t\t\t\t\"border-transparent bg-transparent px-0 text-fg-brand hover:underline active:underline active:opacity-70\",\n\t\t\t\t\"link-neutral\":\n\t\t\t\t\t\"border-transparent bg-transparent px-0 text-fg-secondary hover:underline active:underline active:opacity-70\",\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tsm: \"h-8 min-w-8 gap-2 px-3.5 text-gdt-xs [&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\tmd: \"h-10 min-w-10 gap-2 px-4.5 text-gdt-sm [&_svg:not([class*='size-'])]:size-4.5\",\n\t\t\t\tlg: \"h-12 min-w-12 gap-2.5 px-5.5 text-gdt-md [&_svg:not([class*='size-'])]:size-6\",\n\t\t\t\txl: \"h-14 min-w-14 gap-3 px-6.5 text-gdt-lg [&_svg:not([class*='size-'])]:size-6\",\n\t\t\t\ticon: \"size-10\",\n\t\t\t\t\"icon-xs\": \"size-6 text-gdt-xs [&_svg:not([class*='size-'])]:size-3\",\n\t\t\t\t\"icon-sm\": \"size-8 text-gdt-sm [&_svg:not([class*='size-'])]:size-3.5\",\n\t\t\t\t\"icon-lg\":\n\t\t\t\t\t\"size-12.5 text-gdt-md [&_svg:not([class*='size-'])]:size-4.5\",\n\t\t\t\t\"icon-xl\": \"size-14 text-gdt-lg [&_svg:not([class*='size-'])]:size-5\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"primary\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\ntype ButtonSize = NonNullable<VariantProps<typeof buttonVariants>[\"size\"]>;\n\nfunction Button({\n\tclassName,\n\tvariant = \"primary\",\n\tsize,\n\tisLoading = false,\n\tchildren,\n\tdisabled = false,\n\t...props\n}: ButtonPrimitive.Props &\n\tVariantProps<typeof buttonVariants> & { isLoading?: boolean }) {\n\tconst inheritedSize = useComponentSize();\n\tconst resolvedSize = size ?? inheritedSize;\n\tconst _disabled = disabled || isLoading;\n\treturn (\n\t\t<ButtonPrimitive\n\t\t\tdata-slot=\"button\"\n\t\t\tclassName={cn(\n\t\t\t\tbuttonVariants({\n\t\t\t\t\tvariant,\n\t\t\t\t\tsize: resolvedSize,\n\t\t\t\t\tclassName,\n\t\t\t\t}),\n\t\t\t)}\n\t\t\tdisabled={_disabled}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isLoading && <Loader className=\"size-4 animate-spin\" />} {children}\n\t\t</ButtonPrimitive>\n\t);\n}\n\ntype ButtonLinkProps = useRender.ComponentProps<\"a\"> &\n\tVariantProps<typeof buttonVariants> & {\n\t\tdisabled?: boolean;\n\t};\n\nfunction ButtonLink({\n\tclassName,\n\trender,\n\tvariant = \"primary\",\n\tsize,\n\tdisabled = false,\n\tonClick,\n\tchildren,\n\t...props\n}: ButtonLinkProps) {\n\tconst inheritedSize = useComponentSize();\n\tconst resolvedSize: ButtonSize = size ?? inheritedSize;\n\n\treturn useRender({\n\t\tdefaultTagName: \"a\",\n\t\tprops: mergeProps<\"a\">(\n\t\t\t{\n\t\t\t\tclassName: cn(\n\t\t\t\t\tbuttonVariants({\n\t\t\t\t\t\tvariant,\n\t\t\t\t\t\tsize: resolvedSize,\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tchildren,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...props,\n\t\t\t\t\"aria-disabled\": disabled,\n\t\t\t\ttabIndex: disabled ? -1 : props.tabIndex,\n\t\t\t\tonClick: (event) => {\n\t\t\t\t\tif (disabled) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tonClick?.(event);\n\t\t\t\t},\n\t\t\t},\n\t\t),\n\t\trender,\n\t\tstate: {\n\t\t\tslot: \"button-link\",\n\t\t\tdisabled,\n\t\t},\n\t});\n}\n\nexport { Button, ButtonLink, buttonVariants };\n"],"mappings":";;;;;;;;AAAA,SAAS,UAAU,uBAAuB;AAC1C,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,WAA8B;AACvC,SAAS,cAAc;AAsErB,SAYe,KAZf;AAlEF,IAAM,iBAAiB;AAAA,EACtB;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,SAAS;AAAA,QACR,SACC;AAAA,QACD,mBACC;AAAA,QACD,WACC;AAAA,QACD,qBACC;AAAA,QACD,UACC;AAAA,QACD,oBACC;AAAA,QACD,OACC;AAAA,QACD,QACC;AAAA,QACD,UACC;AAAA,QACD,iBACC;AAAA,QACD,cACC;AAAA,QACD,gBACC;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WACC;AAAA,QACD,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,IACA,iBAAiB;AAAA,MAChB,SAAS;AAAA,MACT,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAIA,SAAS,OAAO;AAAA,EACf;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,EACX,GAAG;AACJ,GACgE;AAC/D,QAAM,gBAAgB,iBAAiB;AACvC,QAAM,eAAe,QAAQ;AAC7B,QAAM,YAAY,YAAY;AAC9B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAW;AAAA,QACV,eAAe;AAAA,UACd;AAAA,UACA,MAAM;AAAA,UACN;AAAA,QACD,CAAC;AAAA,MACF;AAAA,MACA,UAAU;AAAA,MACT,GAAG;AAAA,MAEH;AAAA,qBAAa,oBAAC,UAAO,WAAU,uBAAsB;AAAA,QAAG;AAAA,QAAE;AAAA;AAAA;AAAA,EAC5D;AAEF;AAOA,SAAS,WAAW;AAAA,EACnB;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAAoB;AACnB,QAAM,gBAAgB,iBAAiB;AACvC,QAAM,eAA2B,QAAQ;AAEzC,SAAO,UAAU;AAAA,IAChB,gBAAgB;AAAA,IAChB,OAAO;AAAA,MACN;AAAA,QACC,WAAW;AAAA,UACV,eAAe;AAAA,YACd;AAAA,YACA,MAAM;AAAA,YACN;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA;AAAA,MACD;AAAA,MACA;AAAA,QACC,GAAG;AAAA,QACH,iBAAiB;AAAA,QACjB,UAAU,WAAW,KAAK,MAAM;AAAA,QAChC,SAAS,CAAC,UAAU;AACnB,cAAI,UAAU;AACb,kBAAM,eAAe;AACrB;AAAA,UACD;AAEA,oBAAU,KAAK;AAAA,QAChB;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN;AAAA,IACD;AAAA,EACD,CAAC;AACF;","names":[]}
@@ -1,219 +0,0 @@
1
- import {
2
- cn
3
- } from "./chunk-Y4TTYVNE.js";
4
-
5
- // src/review-block.tsx
6
- import { mergeProps } from "@base-ui/react/merge-props";
7
- import { useRender } from "@base-ui/react/use-render";
8
- import { cva } from "class-variance-authority";
9
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
- var STAR_INDEXES = [0, 1, 2, 3, 4];
11
- var reviewBlockVariants = cva(
12
- "group/review-block inline-flex w-fit min-w-0 flex-col items-center justify-center rounded-full bg-canvas text-fg-primary transition-[background-color,border-color,box-shadow]",
13
- {
14
- variants: {
15
- size: {
16
- xs: "gap-[2px] border px-6 py-1.5",
17
- sm: "gap-[3px] border-[1.5px] px-10 py-1.5",
18
- md: "gap-1 border-2 px-14 py-2",
19
- lg: "gap-[5px] border-[2.5px] px-18 py-2.5"
20
- },
21
- bordered: {
22
- true: "border-line-focus",
23
- false: "border-transparent"
24
- },
25
- showReviewText: {
26
- true: "",
27
- false: ""
28
- }
29
- },
30
- defaultVariants: {
31
- size: "md",
32
- bordered: true,
33
- showReviewText: true
34
- }
35
- }
36
- );
37
- var reviewBlockStarsVariants = cva("inline-flex shrink-0 items-center", {
38
- variants: {
39
- size: {
40
- xs: "gap-1.5",
41
- sm: "gap-2",
42
- md: "gap-2.5",
43
- lg: "gap-3.5"
44
- }
45
- },
46
- defaultVariants: {
47
- size: "md"
48
- }
49
- });
50
- var reviewBlockStarVariants = cva("relative inline-flex shrink-0", {
51
- variants: {
52
- size: {
53
- xs: "size-4",
54
- sm: "size-6",
55
- md: "size-9",
56
- lg: "size-12"
57
- }
58
- },
59
- defaultVariants: {
60
- size: "md"
61
- }
62
- });
63
- var reviewBlockStarIconVariants = cva("block h-full max-w-none", {
64
- variants: {
65
- size: {
66
- xs: "w-4",
67
- sm: "w-6",
68
- md: "w-9",
69
- lg: "w-12"
70
- }
71
- },
72
- defaultVariants: {
73
- size: "md"
74
- }
75
- });
76
- var reviewBlockTextVariants = cva(
77
- "text-center font-medium text-fg-primary whitespace-nowrap",
78
- {
79
- variants: {
80
- size: {
81
- xs: "text-[0.75rem] leading-[1.125rem]",
82
- sm: "text-gdt-sm",
83
- md: "text-[1rem] leading-[1.375rem]",
84
- lg: "text-[1.125rem] leading-[1.5rem]"
85
- }
86
- },
87
- defaultVariants: {
88
- size: "md"
89
- }
90
- }
91
- );
92
- function clampRating(rating) {
93
- if (!Number.isFinite(rating)) {
94
- return 0;
95
- }
96
- return Math.min(5, Math.max(0, rating));
97
- }
98
- function getStarFill(index, rating) {
99
- return Math.min(1, Math.max(0, rating - index)) * 100;
100
- }
101
- function formatRating(rating) {
102
- return Number.isInteger(rating) ? rating.toString() : rating.toFixed(2).replace(/0+$/, "").replace(/\.$/, "");
103
- }
104
- function formatReviewText(reviewCount, reviewLabel = "Review") {
105
- const normalizedLabel = reviewCount === 1 ? reviewLabel : `${reviewLabel}s`;
106
- return `${reviewCount.toLocaleString()} ${normalizedLabel}`;
107
- }
108
- function ReviewStarIcon(props) {
109
- return /* @__PURE__ */ jsx(
110
- "svg",
111
- {
112
- "aria-hidden": "true",
113
- fill: "none",
114
- focusable: "false",
115
- viewBox: "0 0 35 33",
116
- xmlns: "http://www.w3.org/2000/svg",
117
- ...props,
118
- children: /* @__PURE__ */ jsx(
119
- "path",
120
- {
121
- d: "m17.119 0 4.042 12.437h13.077l-10.58 7.688L27.7 32.562l-10.58-7.686-10.58 7.686 4.04-12.437L0 12.438h13.077L17.12 0Z",
122
- fill: "currentColor"
123
- }
124
- )
125
- }
126
- );
127
- }
128
- function ReviewStar({
129
- fillPercent,
130
- size
131
- }) {
132
- return /* @__PURE__ */ jsxs("span", { className: reviewBlockStarVariants({ size }), children: [
133
- /* @__PURE__ */ jsx(
134
- ReviewStarIcon,
135
- {
136
- "aria-hidden": "true",
137
- className: cn("text-line-focus", reviewBlockStarIconVariants({ size }))
138
- }
139
- ),
140
- /* @__PURE__ */ jsx(
141
- "span",
142
- {
143
- "aria-hidden": "true",
144
- className: "absolute inset-y-0 left-0 overflow-hidden text-line-focus",
145
- style: { width: `${fillPercent}%` },
146
- children: /* @__PURE__ */ jsx(ReviewStarIcon, { className: reviewBlockStarIconVariants({ size }) })
147
- }
148
- )
149
- ] });
150
- }
151
- function ReviewBlock({
152
- bordered = true,
153
- className,
154
- rating,
155
- ratingLabel,
156
- render,
157
- reviewCount,
158
- reviewLabel,
159
- size = "md",
160
- showReviewText = true,
161
- ...props
162
- }) {
163
- const resolvedSize = size ?? "md";
164
- const normalizedRating = clampRating(rating);
165
- const formattedRating = formatRating(normalizedRating);
166
- const reviewText = showReviewText && typeof reviewCount === "number" ? formatReviewText(reviewCount, reviewLabel) : null;
167
- const ariaLabel = ratingLabel ?? (reviewText ? `${formattedRating} out of 5 stars, ${reviewText}` : `${formattedRating} out of 5 stars`);
168
- return useRender({
169
- defaultTagName: "div",
170
- props: mergeProps(
171
- {
172
- "aria-label": ariaLabel,
173
- className: cn(
174
- reviewBlockVariants({
175
- bordered,
176
- size: resolvedSize,
177
- showReviewText: Boolean(reviewText)
178
- }),
179
- className
180
- ),
181
- children: /* @__PURE__ */ jsxs(Fragment, { children: [
182
- /* @__PURE__ */ jsx(
183
- "span",
184
- {
185
- "aria-hidden": "true",
186
- className: reviewBlockStarsVariants({ size: resolvedSize }),
187
- children: STAR_INDEXES.map((index) => /* @__PURE__ */ jsx(
188
- ReviewStar,
189
- {
190
- fillPercent: getStarFill(index, normalizedRating),
191
- size: resolvedSize
192
- },
193
- index
194
- ))
195
- }
196
- ),
197
- reviewText ? /* @__PURE__ */ jsx("span", { className: reviewBlockTextVariants({ size: resolvedSize }), children: reviewText }) : null
198
- ] }),
199
- role: "img"
200
- },
201
- props
202
- ),
203
- render,
204
- state: {
205
- bordered,
206
- rating: normalizedRating,
207
- reviewCount,
208
- size: resolvedSize,
209
- showReviewText: Boolean(reviewText),
210
- slot: "review-block"
211
- }
212
- });
213
- }
214
-
215
- export {
216
- reviewBlockVariants,
217
- ReviewBlock
218
- };
219
- //# sourceMappingURL=chunk-BUXCGZ6X.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/review-block.tsx"],"sourcesContent":["import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type { SVGProps } from \"react\";\n\nimport { cn } from \"./lib/cn\";\n\nconst STAR_INDEXES = [0, 1, 2, 3, 4] as const;\n\nconst reviewBlockVariants = cva(\n\t\"group/review-block inline-flex w-fit min-w-0 flex-col items-center justify-center rounded-full bg-canvas text-fg-primary transition-[background-color,border-color,box-shadow]\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: \"gap-[2px] border px-6 py-1.5\",\n\t\t\t\tsm: \"gap-[3px] border-[1.5px] px-10 py-1.5\",\n\t\t\t\tmd: \"gap-1 border-2 px-14 py-2\",\n\t\t\t\tlg: \"gap-[5px] border-[2.5px] px-18 py-2.5\",\n\t\t\t},\n\t\t\tbordered: {\n\t\t\t\ttrue: \"border-line-focus\",\n\t\t\t\tfalse: \"border-transparent\",\n\t\t\t},\n\t\t\tshowReviewText: {\n\t\t\t\ttrue: \"\",\n\t\t\t\tfalse: \"\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tbordered: true,\n\t\t\tshowReviewText: true,\n\t\t},\n\t},\n);\n\nconst reviewBlockStarsVariants = cva(\"inline-flex shrink-0 items-center\", {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: \"gap-1.5\",\n\t\t\tsm: \"gap-2\",\n\t\t\tmd: \"gap-2.5\",\n\t\t\tlg: \"gap-3.5\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst reviewBlockStarVariants = cva(\"relative inline-flex shrink-0\", {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: \"size-4\",\n\t\t\tsm: \"size-6\",\n\t\t\tmd: \"size-9\",\n\t\t\tlg: \"size-12\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst reviewBlockStarIconVariants = cva(\"block h-full max-w-none\", {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: \"w-4\",\n\t\t\tsm: \"w-6\",\n\t\t\tmd: \"w-9\",\n\t\t\tlg: \"w-12\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\nconst reviewBlockTextVariants = cva(\n\t\"text-center font-medium text-fg-primary whitespace-nowrap\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: \"text-[0.75rem] leading-[1.125rem]\",\n\t\t\t\tsm: \"text-gdt-sm\",\n\t\t\t\tmd: \"text-[1rem] leading-[1.375rem]\",\n\t\t\t\tlg: \"text-[1.125rem] leading-[1.5rem]\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\ntype ReviewBlockSize = NonNullable<\n\tVariantProps<typeof reviewBlockVariants>[\"size\"]\n>;\n\ntype ReviewBlockProps = Omit<useRender.ComponentProps<\"div\">, \"children\"> &\n\tVariantProps<typeof reviewBlockVariants> & {\n\t\trating: number;\n\t\treviewCount?: number;\n\t\treviewLabel?: string;\n\t\tratingLabel?: string;\n\t};\n\nfunction clampRating(rating: number) {\n\tif (!Number.isFinite(rating)) {\n\t\treturn 0;\n\t}\n\n\treturn Math.min(5, Math.max(0, rating));\n}\n\nfunction getStarFill(index: number, rating: number) {\n\treturn Math.min(1, Math.max(0, rating - index)) * 100;\n}\n\nfunction formatRating(rating: number) {\n\treturn Number.isInteger(rating)\n\t\t? rating.toString()\n\t\t: rating.toFixed(2).replace(/0+$/, \"\").replace(/\\.$/, \"\");\n}\n\nfunction formatReviewText(reviewCount: number, reviewLabel = \"Review\") {\n\tconst normalizedLabel = reviewCount === 1 ? reviewLabel : `${reviewLabel}s`;\n\n\treturn `${reviewCount.toLocaleString()} ${normalizedLabel}`;\n}\n\nfunction ReviewStarIcon(props: SVGProps<SVGSVGElement>) {\n\treturn (\n\t\t<svg\n\t\t\taria-hidden=\"true\"\n\t\t\tfill=\"none\"\n\t\t\tfocusable=\"false\"\n\t\t\tviewBox=\"0 0 35 33\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t{...props}\n\t\t>\n\t\t\t<path\n\t\t\t\td=\"m17.119 0 4.042 12.437h13.077l-10.58 7.688L27.7 32.562l-10.58-7.686-10.58 7.686 4.04-12.437L0 12.438h13.077L17.12 0Z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n\nfunction ReviewStar({\n\tfillPercent,\n\tsize,\n}: {\n\tfillPercent: number;\n\tsize: ReviewBlockSize;\n}) {\n\treturn (\n\t\t<span className={reviewBlockStarVariants({ size })}>\n\t\t\t<ReviewStarIcon\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={cn(\"text-line-focus\", reviewBlockStarIconVariants({ size }))}\n\t\t\t/>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"absolute inset-y-0 left-0 overflow-hidden text-line-focus\"\n\t\t\t\tstyle={{ width: `${fillPercent}%` }}\n\t\t\t>\n\t\t\t\t<ReviewStarIcon className={reviewBlockStarIconVariants({ size })} />\n\t\t\t</span>\n\t\t</span>\n\t);\n}\n\nfunction ReviewBlock({\n\tbordered = true,\n\tclassName,\n\trating,\n\tratingLabel,\n\trender,\n\treviewCount,\n\treviewLabel,\n\tsize = \"md\",\n\tshowReviewText = true,\n\t...props\n}: ReviewBlockProps) {\n\tconst resolvedSize = size ?? \"md\";\n\tconst normalizedRating = clampRating(rating);\n\tconst formattedRating = formatRating(normalizedRating);\n\tconst reviewText =\n\t\tshowReviewText && typeof reviewCount === \"number\"\n\t\t\t? formatReviewText(reviewCount, reviewLabel)\n\t\t\t: null;\n\tconst ariaLabel =\n\t\tratingLabel ??\n\t\t(reviewText\n\t\t\t? `${formattedRating} out of 5 stars, ${reviewText}`\n\t\t\t: `${formattedRating} out of 5 stars`);\n\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\tprops: mergeProps<\"div\">(\n\t\t\t{\n\t\t\t\t\"aria-label\": ariaLabel,\n\t\t\t\tclassName: cn(\n\t\t\t\t\treviewBlockVariants({\n\t\t\t\t\t\tbordered,\n\t\t\t\t\t\tsize: resolvedSize,\n\t\t\t\t\t\tshowReviewText: Boolean(reviewText),\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t\tchildren: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclassName={reviewBlockStarsVariants({ size: resolvedSize })}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{STAR_INDEXES.map((index) => (\n\t\t\t\t\t\t\t\t<ReviewStar\n\t\t\t\t\t\t\t\t\tfillPercent={getStarFill(index, normalizedRating)}\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\tsize={resolvedSize}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{reviewText ? (\n\t\t\t\t\t\t\t<span className={reviewBlockTextVariants({ size: resolvedSize })}>\n\t\t\t\t\t\t\t\t{reviewText}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t\trole: \"img\",\n\t\t\t},\n\t\t\tprops,\n\t\t),\n\t\trender,\n\t\tstate: {\n\t\t\tbordered,\n\t\t\trating: normalizedRating,\n\t\t\treviewCount,\n\t\t\tsize: resolvedSize,\n\t\t\tshowReviewText: Boolean(reviewText),\n\t\t\tslot: \"review-block\",\n\t\t},\n\t});\n}\n\nexport { ReviewBlock, reviewBlockVariants };\nexport type { ReviewBlockProps, ReviewBlockSize };\n"],"mappings":"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","names":[]}
@@ -1,58 +0,0 @@
1
- import {
2
- cn
3
- } from "./chunk-Y4TTYVNE.js";
4
-
5
- // src/separator.tsx
6
- import { Separator as SeparatorPrimitive } from "@base-ui/react/separator";
7
- import { jsx } from "react/jsx-runtime";
8
- function Separator({
9
- className,
10
- orientation = "horizontal",
11
- dashed = false,
12
- shade = "feint",
13
- thickness = "default",
14
- ...props
15
- }) {
16
- return /* @__PURE__ */ jsx(
17
- SeparatorPrimitive,
18
- {
19
- "data-slot": "separator",
20
- orientation,
21
- className: cn(
22
- "shrink-0",
23
- dashed ? [
24
- // DASHED STATE: Uses borders for thickness and color
25
- "border-dashed",
26
- "data-[orientation=horizontal]:h-0 data-[orientation=horizontal]:w-full",
27
- "data-[orientation=vertical]:w-0 data-[orientation=vertical]:self-stretch",
28
- // shade
29
- shade === "feint" && "border-line-subtle",
30
- shade === "deep" && "border-line",
31
- // thickness
32
- thickness === "hairline" && "data-[orientation=horizontal]:border-t-[0.5px] data-[orientation=vertical]:border-l-[0.5px]",
33
- thickness === "default" && "data-[orientation=horizontal]:border-t data-[orientation=vertical]:border-l",
34
- thickness === "thick" && "data-[orientation=horizontal]:border-t-2 data-[orientation=vertical]:border-l-2",
35
- thickness === "extra-thick" && "data-[orientation=horizontal]:border-t-[3px] data-[orientation=vertical]:border-l-[3px]"
36
- ] : [
37
- // SOLID STATE: Uses background color and height/width dimensions
38
- "data-[orientation=horizontal]:w-full data-[orientation=vertical]:self-stretch",
39
- // shade
40
- shade === "feint" && "bg-line-subtle",
41
- shade === "deep" && "bg-line",
42
- // thickness
43
- thickness === "hairline" && "data-[orientation=horizontal]:h-[0.5px] data-[orientation=vertical]:w-[0.5px]",
44
- thickness === "default" && "data-[orientation=horizontal]:h-px data-[orientation=vertical]:w-px",
45
- thickness === "thick" && "data-[orientation=horizontal]:h-0.5 data-[orientation=vertical]:w-0.5",
46
- thickness === "extra-thick" && "data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:w-1.5"
47
- ],
48
- className
49
- ),
50
- ...props
51
- }
52
- );
53
- }
54
-
55
- export {
56
- Separator
57
- };
58
- //# sourceMappingURL=chunk-CHII2QHH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/separator.tsx"],"sourcesContent":["\"use client\";\n\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\";\nimport { cn } from \"./lib/cn\";\n\nfunction Separator({\n\tclassName,\n\torientation = \"horizontal\",\n\tdashed = false,\n\tshade = \"feint\",\n\tthickness = \"default\",\n\t...props\n}: SeparatorPrimitive.Props & {\n\tdashed?: boolean;\n\tshade?: \"feint\" | \"deep\";\n\tthickness?: \"hairline\" | \"default\" | \"thick\" | \"extra-thick\";\n}) {\n\treturn (\n\t\t<SeparatorPrimitive\n\t\t\tdata-slot=\"separator\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"shrink-0\",\n\t\t\t\tdashed\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t// DASHED STATE: Uses borders for thickness and color\n\t\t\t\t\t\t\t\"border-dashed\",\n\t\t\t\t\t\t\t\"data-[orientation=horizontal]:h-0 data-[orientation=horizontal]:w-full\",\n\t\t\t\t\t\t\t\"data-[orientation=vertical]:w-0 data-[orientation=vertical]:self-stretch\",\n\t\t\t\t\t\t\t// shade\n\t\t\t\t\t\t\tshade === \"feint\" && \"border-line-subtle\",\n\t\t\t\t\t\t\tshade === \"deep\" && \"border-line\",\n\t\t\t\t\t\t\t// thickness\n\t\t\t\t\t\t\tthickness === \"hairline\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:border-t-[0.5px] data-[orientation=vertical]:border-l-[0.5px]\",\n\t\t\t\t\t\t\tthickness === \"default\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:border-t data-[orientation=vertical]:border-l\",\n\t\t\t\t\t\t\tthickness === \"thick\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:border-t-2 data-[orientation=vertical]:border-l-2\",\n\t\t\t\t\t\t\tthickness === \"extra-thick\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:border-t-[3px] data-[orientation=vertical]:border-l-[3px]\",\n\t\t\t\t\t\t]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t// SOLID STATE: Uses background color and height/width dimensions\n\t\t\t\t\t\t\t\"data-[orientation=horizontal]:w-full data-[orientation=vertical]:self-stretch\",\n\t\t\t\t\t\t\t// shade\n\t\t\t\t\t\t\tshade === \"feint\" && \"bg-line-subtle\",\n\t\t\t\t\t\t\tshade === \"deep\" && \"bg-line\",\n\t\t\t\t\t\t\t// thickness\n\t\t\t\t\t\t\tthickness === \"hairline\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:h-[0.5px] data-[orientation=vertical]:w-[0.5px]\",\n\t\t\t\t\t\t\tthickness === \"default\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:h-px data-[orientation=vertical]:w-px\",\n\t\t\t\t\t\t\tthickness === \"thick\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:h-0.5 data-[orientation=vertical]:w-0.5\",\n\t\t\t\t\t\t\tthickness === \"extra-thick\" &&\n\t\t\t\t\t\t\t\t\"data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:w-1.5\",\n\t\t\t\t\t\t],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Separator };\n"],"mappings":";;;;;AAEA,SAAS,aAAa,0BAA0B;AAgB9C;AAbF,SAAS,UAAU;AAAA,EAClB;AAAA,EACA,cAAc;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,GAAG;AACJ,GAIG;AACF,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACV;AAAA,QACA,SACG;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,UAEA,UAAU,WAAW;AAAA,UACrB,UAAU,UAAU;AAAA;AAAA,UAEpB,cAAc,cACb;AAAA,UACD,cAAc,aACb;AAAA,UACD,cAAc,WACb;AAAA,UACD,cAAc,iBACb;AAAA,QACF,IACC;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA,UAAU,WAAW;AAAA,UACrB,UAAU,UAAU;AAAA;AAAA,UAEpB,cAAc,cACb;AAAA,UACD,cAAc,aACb;AAAA,UACD,cAAc,WACb;AAAA,UACD,cAAc,iBACb;AAAA,QACF;AAAA,QACF;AAAA,MACD;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}