@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.
- package/css/generated/shared.css +1 -1
- package/css/giddaa.css +12 -2
- package/dist/accordion.d.ts +9 -10
- package/dist/accordion.js +41 -87
- package/dist/activity-timeline.d.ts +12 -16
- package/dist/activity-timeline.js +83 -198
- package/dist/alert.d.ts +8 -9
- package/dist/alert.js +53 -111
- package/dist/auth-layout.d.ts +4 -4
- package/dist/auth-layout.js +143 -294
- package/dist/avatar.d.ts +6 -6
- package/dist/avatar.js +49 -19
- package/dist/badge.d.ts +12 -14
- package/dist/badge.js +71 -11
- package/dist/bar-chart.d.ts +65 -67
- package/dist/bar-chart.js +232 -207
- package/dist/breadcrumb.d.ts +5 -5
- package/dist/breadcrumb.js +56 -118
- package/dist/bullet-chart.d.ts +41 -37
- package/dist/bullet-chart.js +125 -148
- package/dist/button-BZIeyUw6.d.ts +17 -0
- package/dist/button-group.d.ts +13 -16
- package/dist/button-group.js +39 -88
- package/dist/button.d.ts +2 -19
- package/dist/button.js +94 -13
- package/dist/calendar.d.ts +6 -6
- package/dist/calendar.js +138 -17
- package/dist/card.d.ts +14 -16
- package/dist/card.js +59 -145
- package/dist/carousel.d.ts +34 -35
- package/dist/carousel.js +335 -20
- package/dist/chart.d.ts +90 -63
- package/dist/chart.js +573 -28
- package/dist/checkbox.d.ts +10 -12
- package/dist/checkbox.js +82 -47
- package/dist/cn-BI_4DMBf.js +23 -0
- package/dist/collapsible.d.ts +7 -8
- package/dist/collapsible.js +22 -47
- package/dist/combobox.d.ts +10 -10
- package/dist/combobox.js +236 -44
- package/dist/cta.d.ts +12 -14
- package/dist/cta.js +175 -341
- package/dist/currency-selector.d.ts +31 -32
- package/dist/currency-selector.js +106 -184
- package/dist/data-table.d.ts +168 -0
- package/dist/data-table.js +676 -0
- package/dist/date-picker.d.ts +22 -23
- package/dist/date-picker.js +119 -192
- package/dist/details-card.d.ts +7 -7
- package/dist/details-card.js +104 -253
- package/dist/dialog.d.ts +13 -14
- package/dist/dialog.js +116 -209
- package/dist/dropdown-menu.d.ts +13 -13
- package/dist/dropdown-menu.js +180 -37
- package/dist/dropzone.d.ts +55 -55
- package/dist/dropzone.js +327 -439
- package/dist/editorial-card.d.ts +23 -25
- package/dist/editorial-card.js +129 -296
- package/dist/empty-state.d.ts +8 -9
- package/dist/empty-state.js +48 -105
- package/dist/field.d.ts +23 -25
- package/dist/field.js +110 -221
- package/dist/filter.d.ts +118 -0
- package/dist/filter.js +775 -0
- package/dist/footer.d.ts +8 -15
- package/dist/footer.js +197 -400
- package/dist/funnel-chart.d.ts +49 -48
- package/dist/funnel-chart.js +170 -189
- package/dist/gallery-indicator.d.ts +11 -12
- package/dist/gallery-indicator.js +75 -12
- package/dist/heatmap-chart.d.ts +47 -50
- package/dist/heatmap-chart.js +186 -237
- package/dist/infotip.d.ts +8 -9
- package/dist/infotip.js +33 -59
- package/dist/input-CfoEJ8A6.d.ts +12 -0
- package/dist/input-group.d.ts +16 -20
- package/dist/input-group.js +99 -23
- package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
- package/dist/input-size-context.d.ts +2 -11
- package/dist/input-size-context.js +17 -9
- package/dist/input.d.ts +2 -13
- package/dist/input.js +27 -11
- package/dist/item.d.ts +7 -8
- package/dist/item.js +22 -59
- package/dist/kpi-card.d.ts +18 -20
- package/dist/kpi-card.js +84 -192
- package/dist/label.d.ts +6 -6
- package/dist/label.js +40 -8
- package/dist/line-chart.d.ts +200 -129
- package/dist/line-chart.js +330 -105
- package/dist/list-item.d.ts +22 -0
- package/dist/list-item.js +84 -0
- package/dist/logo.d.ts +4 -4
- package/dist/logo.js +92 -9
- package/dist/map-indicator.d.ts +7 -7
- package/dist/map-indicator.js +80 -106
- package/dist/match.d.ts +10 -11
- package/dist/match.js +62 -107
- package/dist/media-gallery-hero.d.ts +40 -42
- package/dist/media-gallery-hero.js +182 -343
- package/dist/media-player.d.ts +17 -17
- package/dist/media-player.js +873 -1348
- package/dist/multi-step-form.d.ts +56 -0
- package/dist/multi-step-form.js +342 -0
- package/dist/number-input.d.ts +34 -34
- package/dist/number-input.js +64 -117
- package/dist/page-header.d.ts +10 -11
- package/dist/page-header.js +34 -79
- package/dist/pagination.d.ts +17 -21
- package/dist/pagination.js +132 -207
- package/dist/password-input.d.ts +5 -13
- package/dist/password-input.js +31 -55
- package/dist/phone-input.d.ts +19 -20
- package/dist/phone-input.js +226 -344
- package/dist/photo-gallery.d.ts +19 -19
- package/dist/photo-gallery.js +313 -449
- package/dist/picker-lzgmsNfG.js +32 -0
- package/dist/pie-chart.d.ts +121 -90
- package/dist/pie-chart.js +183 -149
- package/dist/popover.d.ts +9 -9
- package/dist/popover.js +72 -23
- package/dist/price-tag.d.ts +26 -27
- package/dist/price-tag.js +113 -173
- package/dist/progress.d.ts +16 -17
- package/dist/progress.js +169 -24
- package/dist/property-listing-card.d.ts +14 -17
- package/dist/property-listing-card.js +102 -220
- package/dist/purchase-option-card.d.ts +79 -0
- package/dist/purchase-option-card.js +176 -0
- package/dist/radar-chart.d.ts +29 -31
- package/dist/radar-chart.js +162 -137
- package/dist/radio-group.d.ts +11 -13
- package/dist/radio-group.js +46 -60
- package/dist/review-block.d.ts +14 -16
- package/dist/review-block.js +154 -10
- package/dist/rich-text-editor.d.ts +30 -14
- package/dist/rich-text-editor.js +592 -716
- package/dist/scatter-chart.d.ts +45 -47
- package/dist/scatter-chart.js +236 -240
- package/dist/search-input.d.ts +8 -16
- package/dist/search-input.js +57 -109
- package/dist/select.d.ts +8 -8
- package/dist/select.js +144 -27
- package/dist/separator.d.ts +8 -9
- package/dist/separator.js +32 -8
- package/dist/sheet.d.ts +11 -11
- package/dist/sheet.js +103 -24
- package/dist/sidebar.d.ts +32 -37
- package/dist/sidebar.js +364 -634
- package/dist/size-context-D4mYvcg8.d.ts +10 -0
- package/dist/size-context.d.ts +2 -11
- package/dist/size-context.js +17 -9
- package/dist/skeleton.d.ts +4 -5
- package/dist/skeleton.js +12 -8
- package/dist/slider.d.ts +8 -9
- package/dist/slider.js +64 -135
- package/dist/sparkline.d.ts +68 -58
- package/dist/sparkline.js +315 -251
- package/dist/stepper.d.ts +23 -24
- package/dist/stepper.js +149 -246
- package/dist/styles.css +1004 -116
- package/dist/switch.d.ts +10 -12
- package/dist/switch.js +48 -70
- package/dist/table-card.d.ts +35 -0
- package/dist/table-card.js +125 -0
- package/dist/table.d.ts +18 -14
- package/dist/table.js +117 -154
- package/dist/tabs.d.ts +33 -15
- package/dist/tabs.js +110 -18
- package/dist/tag.d.ts +21 -23
- package/dist/tag.js +103 -159
- package/dist/testimonial-block.d.ts +18 -19
- package/dist/testimonial-block.js +189 -358
- package/dist/textarea-IS_D8pXf.d.ts +11 -0
- package/dist/textarea.d.ts +2 -12
- package/dist/textarea.js +24 -11
- package/dist/time-picker.d.ts +11 -11
- package/dist/time-picker.js +245 -302
- package/dist/toast.d.ts +16 -18
- package/dist/toast.js +154 -205
- package/dist/tooltip.d.ts +8 -9
- package/dist/tooltip.js +37 -12
- package/dist/tree-map.d.ts +59 -62
- package/dist/tree-map.js +226 -269
- package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
- package/dist/waterfall-chart.d.ts +94 -97
- package/dist/waterfall-chart.js +455 -552
- package/package.json +36 -9
- package/dist/accordion.js.map +0 -1
- package/dist/activity-timeline.js.map +0 -1
- package/dist/alert.js.map +0 -1
- package/dist/auth-layout.js.map +0 -1
- package/dist/avatar.js.map +0 -1
- package/dist/badge.js.map +0 -1
- package/dist/bar-chart.js.map +0 -1
- package/dist/breadcrumb.js.map +0 -1
- package/dist/bullet-chart.js.map +0 -1
- package/dist/button-group.js.map +0 -1
- package/dist/button.js.map +0 -1
- package/dist/calendar.js.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/carousel.js.map +0 -1
- package/dist/chart.js.map +0 -1
- package/dist/checkbox.js.map +0 -1
- package/dist/chunk-322YCNVL.js +0 -278
- package/dist/chunk-322YCNVL.js.map +0 -1
- package/dist/chunk-3ACQVT7A.js +0 -25
- package/dist/chunk-3ACQVT7A.js.map +0 -1
- package/dist/chunk-3T65TLJX.js +0 -334
- package/dist/chunk-3T65TLJX.js.map +0 -1
- package/dist/chunk-6ZSGQHH2.js +0 -192
- package/dist/chunk-6ZSGQHH2.js.map +0 -1
- package/dist/chunk-7TBMLFGW.js +0 -41
- package/dist/chunk-7TBMLFGW.js.map +0 -1
- package/dist/chunk-B4H6RNDH.js +0 -135
- package/dist/chunk-B4H6RNDH.js.map +0 -1
- package/dist/chunk-BUXCGZ6X.js +0 -219
- package/dist/chunk-BUXCGZ6X.js.map +0 -1
- package/dist/chunk-CHII2QHH.js +0 -58
- package/dist/chunk-CHII2QHH.js.map +0 -1
- package/dist/chunk-DMNOXRRW.js +0 -147
- package/dist/chunk-DMNOXRRW.js.map +0 -1
- package/dist/chunk-EFSOSSIC.js +0 -130
- package/dist/chunk-EFSOSSIC.js.map +0 -1
- package/dist/chunk-FZDSVMKY.js +0 -363
- package/dist/chunk-FZDSVMKY.js.map +0 -1
- package/dist/chunk-GJOFIJS3.js +0 -246
- package/dist/chunk-GJOFIJS3.js.map +0 -1
- package/dist/chunk-HL3ZSYES.js +0 -23
- package/dist/chunk-HL3ZSYES.js.map +0 -1
- package/dist/chunk-JVLUBAPB.js +0 -129
- package/dist/chunk-JVLUBAPB.js.map +0 -1
- package/dist/chunk-KDPYSOYZ.js +0 -64
- package/dist/chunk-KDPYSOYZ.js.map +0 -1
- package/dist/chunk-KSMDANKI.js +0 -43
- package/dist/chunk-KSMDANKI.js.map +0 -1
- package/dist/chunk-MEKCCOP5.js +0 -46
- package/dist/chunk-MEKCCOP5.js.map +0 -1
- package/dist/chunk-NOFXVRWL.js +0 -451
- package/dist/chunk-NOFXVRWL.js.map +0 -1
- package/dist/chunk-PC5MHNVA.js +0 -171
- package/dist/chunk-PC5MHNVA.js.map +0 -1
- package/dist/chunk-QKAQZ2GU.js +0 -122
- package/dist/chunk-QKAQZ2GU.js.map +0 -1
- package/dist/chunk-QZHSHSVV.js +0 -26
- package/dist/chunk-QZHSHSVV.js.map +0 -1
- package/dist/chunk-RBMK26XD.js +0 -19
- package/dist/chunk-RBMK26XD.js.map +0 -1
- package/dist/chunk-SFNJGF6M.js +0 -262
- package/dist/chunk-SFNJGF6M.js.map +0 -1
- package/dist/chunk-UJJNLGTM.js +0 -112
- package/dist/chunk-UJJNLGTM.js.map +0 -1
- package/dist/chunk-VGR4ZWJ3.js +0 -418
- package/dist/chunk-VGR4ZWJ3.js.map +0 -1
- package/dist/chunk-XG47P6D4.js +0 -99
- package/dist/chunk-XG47P6D4.js.map +0 -1
- package/dist/chunk-XZZAHNVM.js +0 -21
- package/dist/chunk-XZZAHNVM.js.map +0 -1
- package/dist/chunk-Y4TTYVNE.js +0 -36
- package/dist/chunk-Y4TTYVNE.js.map +0 -1
- package/dist/chunk-YDWIHW6Q.js +0 -69
- package/dist/chunk-YDWIHW6Q.js.map +0 -1
- package/dist/collapsible.js.map +0 -1
- package/dist/combobox.js.map +0 -1
- package/dist/cta.js.map +0 -1
- package/dist/currency-selector.js.map +0 -1
- package/dist/date-picker.js.map +0 -1
- package/dist/details-card.js.map +0 -1
- package/dist/dialog.js.map +0 -1
- package/dist/dropdown-menu.js.map +0 -1
- package/dist/dropzone.js.map +0 -1
- package/dist/editorial-card.js.map +0 -1
- package/dist/empty-state.js.map +0 -1
- package/dist/field.js.map +0 -1
- package/dist/footer.js.map +0 -1
- package/dist/funnel-chart.js.map +0 -1
- package/dist/gallery-indicator.js.map +0 -1
- package/dist/heatmap-chart.js.map +0 -1
- package/dist/infotip.js.map +0 -1
- package/dist/input-group.js.map +0 -1
- package/dist/input-size-context.js.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/item.js.map +0 -1
- package/dist/kpi-card.js.map +0 -1
- package/dist/label.js.map +0 -1
- package/dist/line-chart.js.map +0 -1
- package/dist/logo.js.map +0 -1
- package/dist/map-indicator.js.map +0 -1
- package/dist/match.js.map +0 -1
- package/dist/media-gallery-hero.js.map +0 -1
- package/dist/media-player.js.map +0 -1
- package/dist/number-input.js.map +0 -1
- package/dist/page-header.js.map +0 -1
- package/dist/pagination.js.map +0 -1
- package/dist/password-input.js.map +0 -1
- package/dist/phone-input.js.map +0 -1
- package/dist/photo-gallery.js.map +0 -1
- package/dist/pie-chart.js.map +0 -1
- package/dist/popover.js.map +0 -1
- package/dist/price-tag.js.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/property-listing-card.js.map +0 -1
- package/dist/radar-chart.js.map +0 -1
- package/dist/radio-group.js.map +0 -1
- package/dist/review-block.js.map +0 -1
- package/dist/rich-text-editor.js.map +0 -1
- package/dist/scatter-chart.js.map +0 -1
- package/dist/search-input.js.map +0 -1
- package/dist/select.js.map +0 -1
- package/dist/separator.js.map +0 -1
- package/dist/sheet.js.map +0 -1
- package/dist/sidebar.js.map +0 -1
- package/dist/size-context.js.map +0 -1
- package/dist/skeleton.js.map +0 -1
- package/dist/slider.js.map +0 -1
- package/dist/sparkline.js.map +0 -1
- package/dist/stepper.js.map +0 -1
- package/dist/switch.js.map +0 -1
- package/dist/tab-list.d.ts +0 -38
- package/dist/tab-list.js +0 -123
- package/dist/tab-list.js.map +0 -1
- package/dist/table.js.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/tag.js.map +0 -1
- package/dist/testimonial-block.js.map +0 -1
- package/dist/textarea.js.map +0 -1
- package/dist/time-picker.js.map +0 -1
- package/dist/toast.js.map +0 -1
- package/dist/tooltip.js.map +0 -1
- package/dist/tree-map.js.map +0 -1
- package/dist/waterfall-chart.js.map +0 -1
package/dist/chunk-7TBMLFGW.js
DELETED
|
@@ -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":[]}
|
package/dist/chunk-B4H6RNDH.js
DELETED
|
@@ -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":[]}
|
package/dist/chunk-BUXCGZ6X.js
DELETED
|
@@ -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":[]}
|
package/dist/chunk-CHII2QHH.js
DELETED
|
@@ -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":[]}
|