commerce-toolkit 0.5.0 → 0.7.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/dist/accordion-trigger-CpTcclGS.cjs +2 -0
- package/dist/accordion-trigger-CpTcclGS.cjs.map +1 -0
- package/dist/accordion-trigger-DFuN29lS.js +455 -0
- package/dist/accordion-trigger-DFuN29lS.js.map +1 -0
- package/dist/accordion.cjs +1 -1
- package/dist/accordion.js +7 -8
- package/dist/{alert-dismiss-EYWAId7r.js → alert-dismiss-B7_uKkyV.js} +2 -2
- package/dist/{alert-dismiss-EYWAId7r.js.map → alert-dismiss-B7_uKkyV.js.map} +1 -1
- package/dist/{alert-dismiss-m6lm9pLf.cjs → alert-dismiss-BO3hXWMt.cjs} +2 -2
- package/dist/{alert-dismiss-m6lm9pLf.cjs.map → alert-dismiss-BO3hXWMt.cjs.map} +1 -1
- package/dist/alert.cjs +1 -1
- package/dist/alert.js +1 -1
- package/dist/blog-post-card-author-CBXo2FqS.cjs +2 -0
- package/dist/blog-post-card-author-CBXo2FqS.cjs.map +1 -0
- package/dist/{blog-post-card-author-C1GuND4f.js → blog-post-card-author-VkGle9g8.js} +30 -24
- package/dist/blog-post-card-author-VkGle9g8.js.map +1 -0
- package/dist/blog-post-card.cjs +1 -1
- package/dist/blog-post-card.cjs.map +1 -1
- package/dist/blog-post-card.js +28 -34
- package/dist/blog-post-card.js.map +1 -1
- package/dist/button-BgvMm9T3.cjs +7 -0
- package/dist/button-BgvMm9T3.cjs.map +1 -0
- package/dist/{button-W0_PtryU.js → button-C0iR-l2_.js} +2 -2
- package/dist/button-C0iR-l2_.js.map +1 -0
- package/dist/carousel-next-C6jpZTlN.js +1480 -0
- package/dist/carousel-next-C6jpZTlN.js.map +1 -0
- package/dist/carousel-next-DEHDO98_.cjs +2 -0
- package/dist/{carousel-next-BGIZglEF.cjs.map → carousel-next-DEHDO98_.cjs.map} +1 -1
- package/dist/carousel.cjs +1 -1
- package/dist/carousel.js +1 -1
- package/dist/category-card-link-BXoWFETv.cjs +2 -0
- package/dist/category-card-link-BXoWFETv.cjs.map +1 -0
- package/dist/category-card-link-D85RfMpf.js +186 -0
- package/dist/category-card-link-D85RfMpf.js.map +1 -0
- package/dist/category-card.cjs +1 -1
- package/dist/category-card.cjs.map +1 -1
- package/dist/category-card.js +23 -27
- package/dist/category-card.js.map +1 -1
- package/dist/compare-card.cjs +1 -1
- package/dist/compare-card.js +2 -2
- package/dist/components/accordion/accordion.d.ts +1 -2
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/accordion/primitives/accordion-chevron.d.ts.map +1 -1
- package/dist/components/accordion/primitives/accordion-content-area.d.ts.map +1 -1
- package/dist/components/accordion/primitives/accordion-item.d.ts.map +1 -1
- package/dist/components/accordion/primitives/accordion-root.d.ts +2 -10
- package/dist/components/accordion/primitives/accordion-root.d.ts.map +1 -1
- package/dist/components/accordion/primitives/accordion-title.d.ts.map +1 -1
- package/dist/components/accordion/primitives.d.ts +1 -1
- package/dist/components/accordion/primitives.d.ts.map +1 -1
- package/dist/components/blog-post-card/blog-post-card.d.ts +2 -1
- package/dist/components/blog-post-card/blog-post-card.d.ts.map +1 -1
- package/dist/components/blog-post-card/primitives/blog-post-card-root.d.ts +2 -1
- package/dist/components/blog-post-card/primitives/blog-post-card-root.d.ts.map +1 -1
- package/dist/components/blog-post-card/primitives/blog-post-card-skeleton.d.ts +2 -4
- package/dist/components/blog-post-card/primitives/blog-post-card-skeleton.d.ts.map +1 -1
- package/dist/components/blog-post-card/primitives/blog-post-card-thumbnail.d.ts.map +1 -1
- package/dist/components/calendar/calendar.d.ts +13 -24
- package/dist/components/calendar/calendar.d.ts.map +1 -1
- package/dist/components/carousel/primitives/carousel-controls.d.ts.map +1 -1
- package/dist/components/carousel/primitives/carousel-root.d.ts +1 -3
- package/dist/components/carousel/primitives/carousel-root.d.ts.map +1 -1
- package/dist/components/carousel/primitives/carousel-scrollbar.d.ts.map +1 -1
- package/dist/components/category-card/category-card.d.ts +2 -4
- package/dist/components/category-card/category-card.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-fallback.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-icon.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-image.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-link.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-overlay.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-root.d.ts +2 -14
- package/dist/components/category-card/primitives/category-card-root.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-skeleton.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-thumbnail.d.ts.map +1 -1
- package/dist/components/category-card/primitives/category-card-title.d.ts.map +1 -1
- package/dist/components/category-card/primitives.d.ts +1 -1
- package/dist/components/category-card/primitives.d.ts.map +1 -1
- package/dist/components/price/price.d.ts +1 -1
- package/dist/components/price/price.d.ts.map +1 -1
- package/dist/components/price/primitives/price-root.d.ts +2 -4
- package/dist/components/price/primitives/price-root.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-checkbox.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-fallback.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-image.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-label.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-link.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-price.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-root.d.ts +2 -10
- package/dist/components/product-card/primitives/product-card-root.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-skeleton.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-subtitle.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-thumbnail.d.ts.map +1 -1
- package/dist/components/product-card/primitives/product-card-title.d.ts.map +1 -1
- package/dist/components/product-card/primitives.d.ts +1 -1
- package/dist/components/product-card/primitives.d.ts.map +1 -1
- package/dist/components/product-card/product-card.d.ts +2 -3
- package/dist/components/product-card/product-card.d.ts.map +1 -1
- package/dist/components/range-input/range-input.d.ts +0 -1
- package/dist/components/range-input/range-input.d.ts.map +1 -1
- package/dist/{dropdown-menu-node-CAwgTGIA.cjs → dropdown-menu-node-BDXDWc1l.cjs} +3 -3
- package/dist/{dropdown-menu-node-CAwgTGIA.cjs.map → dropdown-menu-node-BDXDWc1l.cjs.map} +1 -1
- package/dist/{dropdown-menu-node-x6qIrxA6.js → dropdown-menu-node-OJHgOERz.js} +2 -1
- package/dist/{dropdown-menu-node-x6qIrxA6.js.map → dropdown-menu-node-OJHgOERz.js.map} +1 -1
- package/dist/dropdown-menu.cjs +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/file-input.cjs +1 -1
- package/dist/file-input.js +1 -1
- package/dist/index.cjs +12 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1525 -1417
- package/dist/index.js.map +1 -1
- package/dist/{price-strike-Ciakdz8c.js → price-strike-D9Pzzzkr.js} +9 -18
- package/dist/price-strike-D9Pzzzkr.js.map +1 -0
- package/dist/price-strike-DqOP577f.cjs +2 -0
- package/dist/price-strike-DqOP577f.cjs.map +1 -0
- package/dist/price.cjs +1 -1
- package/dist/price.js +1 -1
- package/dist/product-card-label-CP4yzMhB.js +244 -0
- package/dist/product-card-label-CP4yzMhB.js.map +1 -0
- package/dist/product-card-label-DHKOJFTo.cjs +2 -0
- package/dist/product-card-label-DHKOJFTo.cjs.map +1 -0
- package/dist/product-card-root-BnBOoYFY.js +27 -0
- package/dist/product-card-root-BnBOoYFY.js.map +1 -0
- package/dist/product-card-root-DNqlSx52.cjs +2 -0
- package/dist/product-card-root-DNqlSx52.cjs.map +1 -0
- package/dist/product-card-skeleton-BgN1OCwY.cjs +2 -0
- package/dist/product-card-skeleton-BgN1OCwY.cjs.map +1 -0
- package/dist/product-card-skeleton-C-xXJrKi.js +29 -0
- package/dist/product-card-skeleton-C-xXJrKi.js.map +1 -0
- package/dist/product-card.cjs +1 -1
- package/dist/product-card.js +19 -20
- package/dist/{reveal-trigger-ScuufoFq.js → reveal-trigger-DT_deyzM.js} +2 -2
- package/dist/{reveal-trigger-ScuufoFq.js.map → reveal-trigger-DT_deyzM.js.map} +1 -1
- package/dist/{reveal-trigger-CCTnO9e2.cjs → reveal-trigger-ntEvLci1.cjs} +2 -2
- package/dist/{reveal-trigger-CCTnO9e2.cjs.map → reveal-trigger-ntEvLci1.cjs.map} +1 -1
- package/dist/reveal.cjs +1 -1
- package/dist/reveal.js +1 -1
- package/package.json +1 -1
- package/dist/accordion-trigger-Bj1Laf6l.cjs +0 -2
- package/dist/accordion-trigger-Bj1Laf6l.cjs.map +0 -1
- package/dist/accordion-trigger-Cdkd0tWD.js +0 -494
- package/dist/accordion-trigger-Cdkd0tWD.js.map +0 -1
- package/dist/blog-post-card-author-B55DKFff.cjs +0 -2
- package/dist/blog-post-card-author-B55DKFff.cjs.map +0 -1
- package/dist/blog-post-card-author-C1GuND4f.js.map +0 -1
- package/dist/button-W0_PtryU.js.map +0 -1
- package/dist/button-ibzOCImJ.cjs +0 -7
- package/dist/button-ibzOCImJ.cjs.map +0 -1
- package/dist/carousel-next-BGIZglEF.cjs +0 -2
- package/dist/carousel-next-BzKOs3K-.js +0 -1495
- package/dist/carousel-next-BzKOs3K-.js.map +0 -1
- package/dist/category-card-link-BSmQDScF.cjs +0 -2
- package/dist/category-card-link-BSmQDScF.cjs.map +0 -1
- package/dist/category-card-link-mgtggmo_.js +0 -211
- package/dist/category-card-link-mgtggmo_.js.map +0 -1
- package/dist/chevron-down-BDpc8q6H.cjs +0 -7
- package/dist/chevron-down-BDpc8q6H.cjs.map +0 -1
- package/dist/chevron-down-CjW8zgR8.js +0 -13
- package/dist/chevron-down-CjW8zgR8.js.map +0 -1
- package/dist/price-strike-BTE4S5Na.cjs +0 -2
- package/dist/price-strike-BTE4S5Na.cjs.map +0 -1
- package/dist/price-strike-Ciakdz8c.js.map +0 -1
- package/dist/product-card-label-BQeJxNcX.cjs +0 -2
- package/dist/product-card-label-BQeJxNcX.cjs.map +0 -1
- package/dist/product-card-label-C6D-fYjj.js +0 -285
- package/dist/product-card-label-C6D-fYjj.js.map +0 -1
- package/dist/product-card-root-BGUa-vQ_.js +0 -43
- package/dist/product-card-root-BGUa-vQ_.js.map +0 -1
- package/dist/product-card-root-Q5lwSPd8.cjs +0 -2
- package/dist/product-card-root-Q5lwSPd8.cjs.map +0 -1
- package/dist/product-card-skeleton-B8DGleVJ.js +0 -33
- package/dist/product-card-skeleton-B8DGleVJ.js.map +0 -1
- package/dist/product-card-skeleton-CCbWpq16.cjs +0 -2
- package/dist/product-card-skeleton-CCbWpq16.cjs.map +0 -1
|
@@ -1,32 +1,23 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { c as o } from "./utils-CRiPKpXj.js";
|
|
3
|
-
function n({
|
|
4
|
-
className: t,
|
|
5
|
-
colorScheme: r = "light",
|
|
6
|
-
children: a,
|
|
7
|
-
...i
|
|
8
|
-
}) {
|
|
3
|
+
function n({ className: t, children: r, ...a }) {
|
|
9
4
|
return /* @__PURE__ */ e(
|
|
10
5
|
"div",
|
|
11
6
|
{
|
|
12
7
|
className: o(
|
|
13
|
-
"text-base font-semibold",
|
|
14
|
-
{
|
|
15
|
-
light: "text-[var(--price-light-text,hsl(var(--foreground)))]",
|
|
16
|
-
dark: "text-[var(--price-dark-text,hsl(var(--background)))]"
|
|
17
|
-
}[r],
|
|
8
|
+
"text-base font-semibold text-[var(--price-light-text,hsl(var(--foreground)))]",
|
|
18
9
|
t
|
|
19
10
|
),
|
|
20
11
|
"data-slot": "price-root",
|
|
21
|
-
...
|
|
22
|
-
children:
|
|
12
|
+
...a,
|
|
13
|
+
children: r
|
|
23
14
|
}
|
|
24
15
|
);
|
|
25
16
|
}
|
|
26
|
-
function
|
|
17
|
+
function c({ className: t, children: r, ...a }) {
|
|
27
18
|
return /* @__PURE__ */ e("span", { className: o(t), "data-slot": "price-default", ...a, children: r });
|
|
28
19
|
}
|
|
29
|
-
function
|
|
20
|
+
function l({ className: t, children: r, ...a }) {
|
|
30
21
|
return /* @__PURE__ */ e(
|
|
31
22
|
"span",
|
|
32
23
|
{
|
|
@@ -39,7 +30,7 @@ function p({ className: t, children: r, ...a }) {
|
|
|
39
30
|
}
|
|
40
31
|
export {
|
|
41
32
|
n as P,
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
c as a,
|
|
34
|
+
l as b
|
|
44
35
|
};
|
|
45
|
-
//# sourceMappingURL=price-strike-
|
|
36
|
+
//# sourceMappingURL=price-strike-D9Pzzzkr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-strike-D9Pzzzkr.js","sources":["../src/components/price/primitives/price-root.tsx","../src/components/price/primitives/price-default.tsx","../src/components/price/primitives/price-strike.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type PriceRootProps = ComponentProps<'div'>;\n\nexport function PriceRoot({ className, children, ...props }: PriceRootProps) {\n return (\n <div\n className={cn(\n 'text-base font-semibold text-[var(--price-light-text,hsl(var(--foreground)))]',\n className,\n )}\n data-slot=\"price-root\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type PriceDefaultProps = ComponentProps<'span'>;\n\nexport function PriceDefault({ className, children, ...props }: PriceDefaultProps) {\n return (\n <span className={cn(className)} data-slot=\"price-default\" {...props}>\n {children}\n </span>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type PriceStrikeProps = ComponentProps<'span'>;\n\nexport function PriceStrike({ className, children, ...props }: PriceStrikeProps) {\n return (\n <span\n className={cn('font-normal line-through opacity-50', className)}\n data-slot=\"price-strike\"\n {...props}\n >\n {children}\n </span>\n );\n}\n"],"names":["PriceRoot","className","children","props","jsx","cn","PriceDefault","PriceStrike"],"mappings":";;AAMO,SAASA,EAAU,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,KAAyB;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEF,aAAU;AAAA,MACT,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;ACbO,SAASI,EAAa,EAAE,WAAAL,GAAW,UAAAC,GAAU,GAAGC,KAA4B;AACjF,SACE,gBAAAC,EAAC,QAAA,EAAK,WAAWC,EAAGJ,CAAS,GAAG,aAAU,iBAAiB,GAAGE,GAC3D,UAAAD,EAAA,CACH;AAEJ;ACNO,SAASK,EAAY,EAAE,WAAAN,GAAW,UAAAC,GAAU,GAAGC,KAA2B;AAC/E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,uCAAuCJ,CAAS;AAAA,MAC9D,aAAU;AAAA,MACT,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const i=require("react/jsx-runtime"),s=require("./utils-DoxiiusW.cjs");function c({className:t,children:e,...r}){return i.jsx("div",{className:s.cn("text-base font-semibold text-[var(--price-light-text,hsl(var(--foreground)))]",t),"data-slot":"price-root",...r,children:e})}function a({className:t,children:e,...r}){return i.jsx("span",{className:s.cn(t),"data-slot":"price-default",...r,children:e})}function n({className:t,children:e,...r}){return i.jsx("span",{className:s.cn("font-normal line-through opacity-50",t),"data-slot":"price-strike",...r,children:e})}exports.PriceDefault=a;exports.PriceRoot=c;exports.PriceStrike=n;
|
|
2
|
+
//# sourceMappingURL=price-strike-DqOP577f.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-strike-DqOP577f.cjs","sources":["../src/components/price/primitives/price-root.tsx","../src/components/price/primitives/price-default.tsx","../src/components/price/primitives/price-strike.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type PriceRootProps = ComponentProps<'div'>;\n\nexport function PriceRoot({ className, children, ...props }: PriceRootProps) {\n return (\n <div\n className={cn(\n 'text-base font-semibold text-[var(--price-light-text,hsl(var(--foreground)))]',\n className,\n )}\n data-slot=\"price-root\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type PriceDefaultProps = ComponentProps<'span'>;\n\nexport function PriceDefault({ className, children, ...props }: PriceDefaultProps) {\n return (\n <span className={cn(className)} data-slot=\"price-default\" {...props}>\n {children}\n </span>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type PriceStrikeProps = ComponentProps<'span'>;\n\nexport function PriceStrike({ className, children, ...props }: PriceStrikeProps) {\n return (\n <span\n className={cn('font-normal line-through opacity-50', className)}\n data-slot=\"price-strike\"\n {...props}\n >\n {children}\n </span>\n );\n}\n"],"names":["PriceRoot","className","children","props","jsx","cn","PriceDefault","PriceStrike"],"mappings":"oFAMO,SAASA,EAAU,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,GAAyB,CAC3E,OACEC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,gFACAJ,CAAA,EAEF,YAAU,aACT,GAAGE,EAEH,SAAAD,CAAA,CAAA,CAGP,CCbO,SAASI,EAAa,CAAE,UAAAL,EAAW,SAAAC,EAAU,GAAGC,GAA4B,CACjF,OACEC,MAAC,OAAA,CAAK,UAAWC,EAAAA,GAAGJ,CAAS,EAAG,YAAU,gBAAiB,GAAGE,EAC3D,SAAAD,CAAA,CACH,CAEJ,CCNO,SAASK,EAAY,CAAE,UAAAN,EAAW,SAAAC,EAAU,GAAGC,GAA2B,CAC/E,OACEC,EAAAA,IAAC,OAAA,CACC,UAAWC,EAAAA,GAAG,sCAAuCJ,CAAS,EAC9D,YAAU,eACT,GAAGE,EAEH,SAAAD,CAAA,CAAA,CAGP"}
|
package/dist/price.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./price-strike-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./price-strike-DqOP577f.cjs");exports.Default=e.PriceDefault;exports.Root=e.PriceRoot;exports.Strike=e.PriceStrike;
|
|
2
2
|
//# sourceMappingURL=price.cjs.map
|
package/dist/price.js
CHANGED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { jsx as o, jsxs as n, Fragment as l } from "react/jsx-runtime";
|
|
2
|
+
import { c as e } from "./utils-CRiPKpXj.js";
|
|
3
|
+
import { S as i } from "./index-DD8W7cMj.js";
|
|
4
|
+
import { P as u, a as d, b as m } from "./price-strike-D9Pzzzkr.js";
|
|
5
|
+
import { C as f, a as p } from "./checkbox-indicator-sO8XNm-j.js";
|
|
6
|
+
import b from "./check-ChGAB_3v.js";
|
|
7
|
+
import { L as g } from "./label-C2HI4Bjj.js";
|
|
8
|
+
function h({
|
|
9
|
+
children: a,
|
|
10
|
+
shape: r = "rounded",
|
|
11
|
+
className: t,
|
|
12
|
+
variant: c = "primary",
|
|
13
|
+
...s
|
|
14
|
+
}) {
|
|
15
|
+
return /* @__PURE__ */ o(
|
|
16
|
+
"span",
|
|
17
|
+
{
|
|
18
|
+
className: e(
|
|
19
|
+
"px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]",
|
|
20
|
+
{
|
|
21
|
+
pill: "rounded-full",
|
|
22
|
+
rounded: "rounded"
|
|
23
|
+
}[r],
|
|
24
|
+
{
|
|
25
|
+
primary: "bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]",
|
|
26
|
+
warning: "bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]",
|
|
27
|
+
error: "bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]",
|
|
28
|
+
success: "bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]",
|
|
29
|
+
info: "bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]"
|
|
30
|
+
}[c],
|
|
31
|
+
t
|
|
32
|
+
),
|
|
33
|
+
...s,
|
|
34
|
+
children: a
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
function v({ className: a, id: r, label: t, ...c }) {
|
|
39
|
+
return /* @__PURE__ */ o(f, { className: a, ...c, children: /* @__PURE__ */ o(p, { children: /* @__PURE__ */ o(b, { absoluteStrokeWidth: !0, className: "h-4 w-4", color: "currentColor" }) }) });
|
|
40
|
+
}
|
|
41
|
+
function S({ className: a, children: r, ...t }) {
|
|
42
|
+
return /* @__PURE__ */ o("div", { className: e("relative", a), "data-slot": "product-card-preview", ...t, children: r });
|
|
43
|
+
}
|
|
44
|
+
function j({ className: a, children: r, ...t }) {
|
|
45
|
+
return /* @__PURE__ */ o(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
className: e(
|
|
49
|
+
"relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)] bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]",
|
|
50
|
+
"group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]",
|
|
51
|
+
"group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]",
|
|
52
|
+
"group-data-[aspect-ratio=1/1]/product-card:aspect-square",
|
|
53
|
+
a
|
|
54
|
+
),
|
|
55
|
+
"data-slot": "product-card-thumbnail",
|
|
56
|
+
...t,
|
|
57
|
+
children: r
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
function L({
|
|
62
|
+
className: a,
|
|
63
|
+
children: r,
|
|
64
|
+
asChild: t = !1,
|
|
65
|
+
...c
|
|
66
|
+
}) {
|
|
67
|
+
return /* @__PURE__ */ o(
|
|
68
|
+
t ? i : "img",
|
|
69
|
+
{
|
|
70
|
+
className: e(
|
|
71
|
+
"h-full w-full scale-100 select-none bg-[var(--product-card-light-background,hsl(var(--contrast-100)))] object-cover transition-transform duration-500 ease-out group-hover:scale-110",
|
|
72
|
+
a
|
|
73
|
+
),
|
|
74
|
+
"data-slot": "product-card-image",
|
|
75
|
+
...c
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
function V({ className: a, children: r, ...t }) {
|
|
80
|
+
return /* @__PURE__ */ o(
|
|
81
|
+
h,
|
|
82
|
+
{
|
|
83
|
+
className: e("absolute left-3 top-3", a),
|
|
84
|
+
"data-slot": "product-card-badge",
|
|
85
|
+
shape: "rounded",
|
|
86
|
+
...t,
|
|
87
|
+
children: r
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
function B({ className: a, children: r, ...t }) {
|
|
92
|
+
return /* @__PURE__ */ o(
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
className: e(
|
|
96
|
+
"break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out [color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)] group-hover:scale-105",
|
|
97
|
+
a
|
|
98
|
+
),
|
|
99
|
+
"data-slot": "product-card-fallback",
|
|
100
|
+
...t,
|
|
101
|
+
children: r
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
function D({ asChild: a = !1, className: r, ...t }) {
|
|
106
|
+
return /* @__PURE__ */ o(
|
|
107
|
+
a ? i : "a",
|
|
108
|
+
{
|
|
109
|
+
className: e(
|
|
110
|
+
"absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] ring-offset-[var(--product-card-light-offset,hsl(var(--background)))] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4",
|
|
111
|
+
r
|
|
112
|
+
),
|
|
113
|
+
"data-slot": "product-card-link",
|
|
114
|
+
...t
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
function F({ children: a, className: r, ...t }) {
|
|
119
|
+
return /* @__PURE__ */ o(
|
|
120
|
+
"div",
|
|
121
|
+
{
|
|
122
|
+
className: e(
|
|
123
|
+
"mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row",
|
|
124
|
+
r
|
|
125
|
+
),
|
|
126
|
+
"data-slot": "product-card-details",
|
|
127
|
+
...t,
|
|
128
|
+
children: a
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
function I({ children: a, className: r, ...t }) {
|
|
133
|
+
return /* @__PURE__ */ o(
|
|
134
|
+
"div",
|
|
135
|
+
{
|
|
136
|
+
className: e("relative flex-1 text-sm @[16rem]:text-base", r),
|
|
137
|
+
"data-slot": "product-card-header",
|
|
138
|
+
...t,
|
|
139
|
+
children: a
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
function R({ className: a, children: r, ...t }) {
|
|
144
|
+
return /* @__PURE__ */ o(
|
|
145
|
+
"h3",
|
|
146
|
+
{
|
|
147
|
+
className: e(
|
|
148
|
+
"block font-semibold text-[var(--product-card-light-title,hsl(var(--foreground)))]",
|
|
149
|
+
a
|
|
150
|
+
),
|
|
151
|
+
"data-slot": "product-card-title",
|
|
152
|
+
...t,
|
|
153
|
+
children: r
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
function T({ children: a, className: r, ...t }) {
|
|
158
|
+
return /* @__PURE__ */ o(
|
|
159
|
+
"span",
|
|
160
|
+
{
|
|
161
|
+
className: e(
|
|
162
|
+
"block text-sm font-normal text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]",
|
|
163
|
+
r
|
|
164
|
+
),
|
|
165
|
+
"data-slot": "product-card-subtitle",
|
|
166
|
+
...t,
|
|
167
|
+
children: a
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
function x({ className: a, price: r, ...t }) {
|
|
172
|
+
return /* @__PURE__ */ n(u, { className: a, ...t, children: [
|
|
173
|
+
r.type === "range" && /* @__PURE__ */ n(l, { children: [
|
|
174
|
+
/* @__PURE__ */ o(d, { children: r.minValue }),
|
|
175
|
+
" – ",
|
|
176
|
+
/* @__PURE__ */ o(d, { children: r.maxValue })
|
|
177
|
+
] }),
|
|
178
|
+
r.type === "sale" && /* @__PURE__ */ n(l, { children: [
|
|
179
|
+
/* @__PURE__ */ o(m, { children: r.currentValue }),
|
|
180
|
+
" ",
|
|
181
|
+
/* @__PURE__ */ o(d, { children: r.previousValue })
|
|
182
|
+
] }),
|
|
183
|
+
r.type === "default" && /* @__PURE__ */ o(d, { children: r.value })
|
|
184
|
+
] });
|
|
185
|
+
}
|
|
186
|
+
function q({ className: a, price: r, ...t }) {
|
|
187
|
+
return /* @__PURE__ */ o(
|
|
188
|
+
x,
|
|
189
|
+
{
|
|
190
|
+
className: e("mt-2", a),
|
|
191
|
+
"data-slot": "product-card-price",
|
|
192
|
+
price: r,
|
|
193
|
+
...t
|
|
194
|
+
}
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
function H({ className: a, children: r, ...t }) {
|
|
198
|
+
return /* @__PURE__ */ o(
|
|
199
|
+
"div",
|
|
200
|
+
{
|
|
201
|
+
className: e(
|
|
202
|
+
"font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2",
|
|
203
|
+
a
|
|
204
|
+
),
|
|
205
|
+
"data-slot": "product-card-compare",
|
|
206
|
+
...t,
|
|
207
|
+
children: r
|
|
208
|
+
}
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
function W({ className: a, ...r }) {
|
|
212
|
+
return /* @__PURE__ */ o(v, { className: e(a), "data-slot": "product-card-checkbox", ...r });
|
|
213
|
+
}
|
|
214
|
+
function z({ className: a, children: r, ...t }) {
|
|
215
|
+
return /* @__PURE__ */ o(
|
|
216
|
+
g,
|
|
217
|
+
{
|
|
218
|
+
className: e("text-[var(--product-card-light-text,hsl(var(--foreground)))]", a),
|
|
219
|
+
"data-slot": "product-card-label",
|
|
220
|
+
...t,
|
|
221
|
+
children: r
|
|
222
|
+
}
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
export {
|
|
226
|
+
h as B,
|
|
227
|
+
v as C,
|
|
228
|
+
S as P,
|
|
229
|
+
j as a,
|
|
230
|
+
L as b,
|
|
231
|
+
V as c,
|
|
232
|
+
B as d,
|
|
233
|
+
D as e,
|
|
234
|
+
F as f,
|
|
235
|
+
I as g,
|
|
236
|
+
R as h,
|
|
237
|
+
T as i,
|
|
238
|
+
q as j,
|
|
239
|
+
H as k,
|
|
240
|
+
W as l,
|
|
241
|
+
z as m,
|
|
242
|
+
x as n
|
|
243
|
+
};
|
|
244
|
+
//# sourceMappingURL=product-card-label-CP4yzMhB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-label-CP4yzMhB.js","sources":["../src/components/badge/badge.tsx","../src/components/checkbox/checkbox.tsx","../src/components/product-card/primitives/product-card-preview.tsx","../src/components/product-card/primitives/product-card-thumbnail.tsx","../src/components/product-card/primitives/product-card-image.tsx","../src/components/product-card/primitives/product-card-badge.tsx","../src/components/product-card/primitives/product-card-fallback.tsx","../src/components/product-card/primitives/product-card-link.tsx","../src/components/product-card/primitives/product-card-details.tsx","../src/components/product-card/primitives/product-card-header.tsx","../src/components/product-card/primitives/product-card-title.tsx","../src/components/product-card/primitives/product-card-subtitle.tsx","../src/components/price/price.tsx","../src/components/product-card/primitives/product-card-price.tsx","../src/components/product-card/primitives/product-card-compare.tsx","../src/components/product-card/primitives/product-card-checkbox.tsx","../src/components/product-card/primitives/product-card-label.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type BadgeProps = ComponentProps<'span'> & {\n children: string;\n shape?: 'pill' | 'rounded';\n variant?: 'primary' | 'warning' | 'error' | 'success' | 'info';\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --badge-primary-background: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --badge-success-background: color-mix(in oklab, hsl(var(--success)), white 75%);\n * --badge-warning-background: color-mix(in oklab, hsl(var(--warning)), white 75%);\n * --badge-error-background: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --badge-info-background: color-mix(in oklab, hsl(var(--info)), white 75%);\n * --badge-text: hsl(var(--foreground));\n * --badge-font-family: var(--font-family-mono);\n * }\n * ```\n */\nexport function Badge({\n children,\n shape = 'rounded',\n className,\n variant = 'primary',\n ...props\n}: BadgeProps) {\n return (\n <span\n className={cn(\n 'px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]',\n {\n pill: 'rounded-full',\n rounded: 'rounded',\n }[shape],\n {\n primary:\n 'bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]',\n warning:\n 'bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]',\n error:\n 'bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]',\n success:\n 'bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]',\n info: 'bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]',\n }[variant],\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { Check } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport * as CheckboxPrimitive from '@/components/checkbox';\n\nexport type CheckboxProps = ComponentProps<typeof CheckboxPrimitive.Root> & {\n id?: string;\n label?: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --checkbox-focus: var(--primary);\n * --checkbox-light-label: var(--foreground);\n * --checkbox-light-error: var(--error);\n * --checkbox-light-unchecked-border: var(--contrast-200);\n * --checkbox-light-unchecked-border-hover: var(--contrast-300);\n * --checkbox-light-unchecked-background: var(--background);\n * --checkbox-light-unchecked-icon: var(--foreground);\n * --checkbox-light-checked-border: var(--foreground);\n * --checkbox-light-checked-border-hover: var(--foreground);\n * --checkbox-light-checked-background: var(--foreground);\n * --checkbox-light-checked-icon: var(--background);\n * --checkbox-light-disabled-border: var(--contrast-200);\n * --checkbox-light-disabled-background: var(--contrast-100);\n * --checkbox-light-disabled-icon: var(--contrast-300);\n * --checkbox-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function Checkbox({ className, id, label, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root className={className} {...props}>\n <CheckboxPrimitive.Indicator>\n <Check absoluteStrokeWidth className=\"h-4 w-4\" color=\"currentColor\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardPreviewProps = ComponentProps<'div'>;\n\nexport function ProductCardPreview({ className, children, ...props }: ProductCardPreviewProps) {\n return (\n <div className={cn('relative', className)} data-slot=\"product-card-preview\" {...props}>\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardThumbnailProps = ComponentProps<'div'>;\n\nexport function ProductCardThumbnail({ className, children, ...props }: ProductCardThumbnailProps) {\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)] bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n 'group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]',\n 'group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]',\n 'group-data-[aspect-ratio=1/1]/product-card:aspect-square',\n className,\n )}\n data-slot=\"product-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport interface ProductCardImageProps extends ComponentProps<'img'> {\n asChild?: boolean;\n}\n\nexport function ProductCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: ProductCardImageProps) {\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none bg-[var(--product-card-light-background,hsl(var(--contrast-100)))] object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n className,\n )}\n data-slot=\"product-card-image\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Badge } from '@/components/badge';\nimport { cn } from '@/lib';\n\nexport type ProductCardBadgeProps = ComponentProps<typeof Badge>;\n\nexport function ProductCardBadge({ className, children, ...props }: ProductCardBadgeProps) {\n return (\n <Badge\n className={cn('absolute left-3 top-3', className)}\n data-slot=\"product-card-badge\"\n shape=\"rounded\"\n {...props}\n >\n {children}\n </Badge>\n );\n}\n","import { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardFallbackProps = ComponentProps<'div'>;\n\nexport function ProductCardFallback({ className, children, ...props }: ProductCardFallbackProps) {\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out [color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)] group-hover:scale-105',\n className,\n )}\n data-slot=\"product-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport interface ProductCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function ProductCardLink({ asChild = false, className, ...props }: ProductCardLinkProps) {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] ring-offset-[var(--product-card-light-offset,hsl(var(--background)))] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n className,\n )}\n data-slot=\"product-card-link\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardDetailsProps = ComponentProps<'div'>;\n\nexport function ProductCardDetails({ children, className, ...props }: ProductCardDetailsProps) {\n return (\n <div\n className={cn(\n 'mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row',\n className,\n )}\n data-slot=\"product-card-details\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardHeaderProps = ComponentProps<'div'>;\n\nexport function ProductCardHeader({ children, className, ...props }: ProductCardHeaderProps) {\n return (\n <div\n className={cn('relative flex-1 text-sm @[16rem]:text-base', className)}\n data-slot=\"product-card-header\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardTitleProps = ComponentProps<'h3'>;\n\nexport function ProductCardTitle({ className, children, ...props }: ProductCardTitleProps) {\n return (\n <h3\n className={cn(\n 'block font-semibold text-[var(--product-card-light-title,hsl(var(--foreground)))]',\n className,\n )}\n data-slot=\"product-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardSubtitleProps = ComponentProps<'span'>;\n\nexport function ProductCardSubtitle({ children, className, ...props }: ProductCardSubtitleProps) {\n return (\n <span\n className={cn(\n 'block text-sm font-normal text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]',\n className,\n )}\n data-slot=\"product-card-subtitle\"\n {...props}\n >\n {children}\n </span>\n );\n}\n","import * as PricePrimitive from '@/components/price';\n\ninterface PriceDefault {\n type: 'default';\n value: string;\n}\n\ninterface PriceRange {\n type: 'range';\n minValue: string;\n maxValue: string;\n}\n\ninterface PriceSale {\n type: 'sale';\n previousValue: string;\n currentValue: string;\n}\n\ntype PriceType = PriceDefault | PriceRange | PriceSale;\n\nexport interface PriceProps extends PricePrimitive.RootProps {\n price: PriceType;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --price-light-text: hsl(var(--foreground));\n * --price-light-sale-text: hsl(var(--foreground));\n * --price-dark-text: hsl(var(--background));\n * --price-dark-sale-text: hsl(var(--background));\n * }\n * ```\n */\nexport function Price({ className, price, ...props }: PriceProps) {\n return (\n <PricePrimitive.Root className={className} {...props}>\n {price.type === 'range' && (\n <>\n <PricePrimitive.Default>{price.minValue}</PricePrimitive.Default>\n {' – '}\n <PricePrimitive.Default>{price.maxValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'sale' && (\n <>\n <PricePrimitive.Strike>{price.currentValue}</PricePrimitive.Strike>{' '}\n <PricePrimitive.Default>{price.previousValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'default' && <PricePrimitive.Default>{price.value}</PricePrimitive.Default>}\n </PricePrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Price } from '@/components/price';\nimport { cn } from '@/lib';\n\nexport type ProductCardPriceProps = ComponentProps<typeof Price>;\n\nexport function ProductCardPrice({ className, price, ...props }: ProductCardPriceProps) {\n return (\n <Price\n className={cn('mt-2', className)}\n data-slot=\"product-card-price\"\n price={price}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardCompareProps = ComponentProps<'div'>;\n\nexport function ProductCardCompare({ className, children, ...props }: ProductCardCompareProps) {\n return (\n <div\n className={cn(\n 'font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2',\n className,\n )}\n data-slot=\"product-card-compare\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Checkbox } from '@/components/checkbox';\nimport { cn } from '@/lib';\n\nexport type ProductCardCheckboxProps = ComponentProps<typeof Checkbox>;\n\nexport function ProductCardCheckbox({ className, ...props }: ProductCardCheckboxProps) {\n return <Checkbox className={cn(className)} data-slot=\"product-card-checkbox\" {...props} />;\n}\n","import { ComponentProps } from 'react';\n\nimport { Label } from '@/components/label';\nimport { cn } from '@/lib';\n\nexport type ProductCardLabelProps = ComponentProps<typeof Label>;\n\nexport function ProductCardLabel({ className, children, ...props }: ProductCardLabelProps) {\n return (\n <Label\n className={cn('text-[var(--product-card-light-text,hsl(var(--foreground)))]', className)}\n data-slot=\"product-card-label\"\n {...props}\n >\n {children}\n </Label>\n );\n}\n"],"names":["Badge","children","shape","className","variant","props","jsx","cn","Checkbox","id","label","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Check","ProductCardPreview","ProductCardThumbnail","ProductCardImage","asChild","Slot","ProductCardBadge","ProductCardFallback","ProductCardLink","ProductCardDetails","ProductCardHeader","ProductCardTitle","ProductCardSubtitle","Price","price","PricePrimitive.Root","jsxs","Fragment","PricePrimitive.Default","PricePrimitive.Strike","ProductCardPrice","ProductCardCompare","ProductCardCheckbox","ProductCardLabel","Label"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),o=require("./utils-DoxiiusW.cjs"),l=require("./index-DGaxX11V.cjs"),d=require("./price-strike-DqOP577f.cjs"),s=require("./checkbox-indicator-DVkOzOV6.cjs"),b=require("./check-DJilMvC6.cjs"),x=require("./label-CP55xclp.cjs");function u({children:a,shape:r="rounded",className:t,variant:c="primary",...n}){return e.jsx("span",{className:o.cn("px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]",{pill:"rounded-full",rounded:"rounded"}[r],{primary:"bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]",warning:"bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]",error:"bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]",success:"bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]",info:"bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]"}[c],t),...n,children:a})}function i({className:a,id:r,label:t,...c}){return e.jsx(s.CheckboxRoot,{className:a,...c,children:e.jsx(s.CheckboxIndicator,{children:e.jsx(b.default,{absoluteStrokeWidth:!0,className:"h-4 w-4",color:"currentColor"})})})}function m({className:a,children:r,...t}){return e.jsx("div",{className:o.cn("relative",a),"data-slot":"product-card-preview",...t,children:r})}function g({className:a,children:r,...t}){return e.jsx("div",{className:o.cn("relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)] bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]","group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]","group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]","group-data-[aspect-ratio=1/1]/product-card:aspect-square",a),"data-slot":"product-card-thumbnail",...t,children:r})}function p({className:a,children:r,asChild:t=!1,...c}){const n=t?l.Slot:"img";return e.jsx(n,{className:o.cn("h-full w-full scale-100 select-none bg-[var(--product-card-light-background,hsl(var(--contrast-100)))] object-cover transition-transform duration-500 ease-out group-hover:scale-110",a),"data-slot":"product-card-image",...c})}function h({className:a,children:r,...t}){return e.jsx(u,{className:o.cn("absolute left-3 top-3",a),"data-slot":"product-card-badge",shape:"rounded",...t,children:r})}function v({className:a,children:r,...t}){return e.jsx("div",{className:o.cn("break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out [color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)] group-hover:scale-105",a),"data-slot":"product-card-fallback",...t,children:r})}function k({asChild:a=!1,className:r,...t}){const c=a?l.Slot:"a";return e.jsx(c,{className:o.cn("absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] ring-offset-[var(--product-card-light-offset,hsl(var(--background)))] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4",r),"data-slot":"product-card-link",...t})}function P({children:a,className:r,...t}){return e.jsx("div",{className:o.cn("mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row",r),"data-slot":"product-card-details",...t,children:a})}function C({children:a,className:r,...t}){return e.jsx("div",{className:o.cn("relative flex-1 text-sm @[16rem]:text-base",r),"data-slot":"product-card-header",...t,children:a})}function j({className:a,children:r,...t}){return e.jsx("h3",{className:o.cn("block font-semibold text-[var(--product-card-light-title,hsl(var(--foreground)))]",a),"data-slot":"product-card-title",...t,children:r})}function y({children:a,className:r,...t}){return e.jsx("span",{className:o.cn("block text-sm font-normal text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]",r),"data-slot":"product-card-subtitle",...t,children:a})}function f({className:a,price:r,...t}){return e.jsxs(d.PriceRoot,{className:a,...t,children:[r.type==="range"&&e.jsxs(e.Fragment,{children:[e.jsx(d.PriceDefault,{children:r.minValue})," – ",e.jsx(d.PriceDefault,{children:r.maxValue})]}),r.type==="sale"&&e.jsxs(e.Fragment,{children:[e.jsx(d.PriceStrike,{children:r.currentValue})," ",e.jsx(d.PriceDefault,{children:r.previousValue})]}),r.type==="default"&&e.jsx(d.PriceDefault,{children:r.value})]})}function w({className:a,price:r,...t}){return e.jsx(f,{className:o.cn("mt-2",a),"data-slot":"product-card-price",price:r,...t})}function N({className:a,children:r,...t}){return e.jsx("div",{className:o.cn("font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2",a),"data-slot":"product-card-compare",...t,children:r})}function _({className:a,...r}){return e.jsx(i,{className:o.cn(a),"data-slot":"product-card-checkbox",...r})}function q({className:a,children:r,...t}){return e.jsx(x.Label,{className:o.cn("text-[var(--product-card-light-text,hsl(var(--foreground)))]",a),"data-slot":"product-card-label",...t,children:r})}exports.Badge=u;exports.Checkbox=i;exports.Price=f;exports.ProductCardBadge=h;exports.ProductCardCheckbox=_;exports.ProductCardCompare=N;exports.ProductCardDetails=P;exports.ProductCardFallback=v;exports.ProductCardHeader=C;exports.ProductCardImage=p;exports.ProductCardLabel=q;exports.ProductCardLink=k;exports.ProductCardPreview=m;exports.ProductCardPrice=w;exports.ProductCardSubtitle=y;exports.ProductCardThumbnail=g;exports.ProductCardTitle=j;
|
|
2
|
+
//# sourceMappingURL=product-card-label-DHKOJFTo.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-label-DHKOJFTo.cjs","sources":["../src/components/badge/badge.tsx","../src/components/checkbox/checkbox.tsx","../src/components/product-card/primitives/product-card-preview.tsx","../src/components/product-card/primitives/product-card-thumbnail.tsx","../src/components/product-card/primitives/product-card-image.tsx","../src/components/product-card/primitives/product-card-badge.tsx","../src/components/product-card/primitives/product-card-fallback.tsx","../src/components/product-card/primitives/product-card-link.tsx","../src/components/product-card/primitives/product-card-details.tsx","../src/components/product-card/primitives/product-card-header.tsx","../src/components/product-card/primitives/product-card-title.tsx","../src/components/product-card/primitives/product-card-subtitle.tsx","../src/components/price/price.tsx","../src/components/product-card/primitives/product-card-price.tsx","../src/components/product-card/primitives/product-card-compare.tsx","../src/components/product-card/primitives/product-card-checkbox.tsx","../src/components/product-card/primitives/product-card-label.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type BadgeProps = ComponentProps<'span'> & {\n children: string;\n shape?: 'pill' | 'rounded';\n variant?: 'primary' | 'warning' | 'error' | 'success' | 'info';\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --badge-primary-background: color-mix(in oklab, hsl(var(--primary)), white 75%);\n * --badge-success-background: color-mix(in oklab, hsl(var(--success)), white 75%);\n * --badge-warning-background: color-mix(in oklab, hsl(var(--warning)), white 75%);\n * --badge-error-background: color-mix(in oklab, hsl(var(--error)), white 75%);\n * --badge-info-background: color-mix(in oklab, hsl(var(--info)), white 75%);\n * --badge-text: hsl(var(--foreground));\n * --badge-font-family: var(--font-family-mono);\n * }\n * ```\n */\nexport function Badge({\n children,\n shape = 'rounded',\n className,\n variant = 'primary',\n ...props\n}: BadgeProps) {\n return (\n <span\n className={cn(\n 'px-2 py-0.5 text-xs uppercase tracking-tighter text-[var(--badge-text,hsl(var(--foreground)))] [font-family:var(--badge-font-family,var(--font-family-mono))]',\n {\n pill: 'rounded-full',\n rounded: 'rounded',\n }[shape],\n {\n primary:\n 'bg-[var(--badge-primary-background,color-mix(in_oklab,hsl(var(--primary)),white_75%))]',\n warning:\n 'bg-[var(--badge-warning-background,color-mix(in_oklab,hsl(var(--warning)),white_75%))]',\n error:\n 'bg-[var(--badge-error-background,color-mix(in_oklab,hsl(var(--error)),white_75%))]',\n success:\n 'bg-[var(--badge-success-background,color-mix(in_oklab,hsl(var(--success)),white_75%))]',\n info: 'bg-[var(--badge-info-background,color-mix(in_oklab,hsl(var(--info)),white_75%))]',\n }[variant],\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { Check } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport * as CheckboxPrimitive from '@/components/checkbox';\n\nexport type CheckboxProps = ComponentProps<typeof CheckboxPrimitive.Root> & {\n id?: string;\n label?: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --checkbox-focus: var(--primary);\n * --checkbox-light-label: var(--foreground);\n * --checkbox-light-error: var(--error);\n * --checkbox-light-unchecked-border: var(--contrast-200);\n * --checkbox-light-unchecked-border-hover: var(--contrast-300);\n * --checkbox-light-unchecked-background: var(--background);\n * --checkbox-light-unchecked-icon: var(--foreground);\n * --checkbox-light-checked-border: var(--foreground);\n * --checkbox-light-checked-border-hover: var(--foreground);\n * --checkbox-light-checked-background: var(--foreground);\n * --checkbox-light-checked-icon: var(--background);\n * --checkbox-light-disabled-border: var(--contrast-200);\n * --checkbox-light-disabled-background: var(--contrast-100);\n * --checkbox-light-disabled-icon: var(--contrast-300);\n * --checkbox-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function Checkbox({ className, id, label, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root className={className} {...props}>\n <CheckboxPrimitive.Indicator>\n <Check absoluteStrokeWidth className=\"h-4 w-4\" color=\"currentColor\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardPreviewProps = ComponentProps<'div'>;\n\nexport function ProductCardPreview({ className, children, ...props }: ProductCardPreviewProps) {\n return (\n <div className={cn('relative', className)} data-slot=\"product-card-preview\" {...props}>\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardThumbnailProps = ComponentProps<'div'>;\n\nexport function ProductCardThumbnail({ className, children, ...props }: ProductCardThumbnailProps) {\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[var(--product-card-border-radius,1rem)] bg-[var(--product-card-light-background,hsl(var(--contrast-100)))]',\n 'group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]',\n 'group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]',\n 'group-data-[aspect-ratio=1/1]/product-card:aspect-square',\n className,\n )}\n data-slot=\"product-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport interface ProductCardImageProps extends ComponentProps<'img'> {\n asChild?: boolean;\n}\n\nexport function ProductCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: ProductCardImageProps) {\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none bg-[var(--product-card-light-background,hsl(var(--contrast-100)))] object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n className,\n )}\n data-slot=\"product-card-image\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Badge } from '@/components/badge';\nimport { cn } from '@/lib';\n\nexport type ProductCardBadgeProps = ComponentProps<typeof Badge>;\n\nexport function ProductCardBadge({ className, children, ...props }: ProductCardBadgeProps) {\n return (\n <Badge\n className={cn('absolute left-3 top-3', className)}\n data-slot=\"product-card-badge\"\n shape=\"rounded\"\n {...props}\n >\n {children}\n </Badge>\n );\n}\n","import { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardFallbackProps = ComponentProps<'div'>;\n\nexport function ProductCardFallback({ className, children, ...props }: ProductCardFallbackProps) {\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out [color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)] group-hover:scale-105',\n className,\n )}\n data-slot=\"product-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport interface ProductCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function ProductCardLink({ asChild = false, className, ...props }: ProductCardLinkProps) {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--product-card-border-radius,1rem)] ring-offset-[var(--product-card-light-offset,hsl(var(--background)))] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--product-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n className,\n )}\n data-slot=\"product-card-link\"\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardDetailsProps = ComponentProps<'div'>;\n\nexport function ProductCardDetails({ children, className, ...props }: ProductCardDetailsProps) {\n return (\n <div\n className={cn(\n 'mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row',\n className,\n )}\n data-slot=\"product-card-details\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardHeaderProps = ComponentProps<'div'>;\n\nexport function ProductCardHeader({ children, className, ...props }: ProductCardHeaderProps) {\n return (\n <div\n className={cn('relative flex-1 text-sm @[16rem]:text-base', className)}\n data-slot=\"product-card-header\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardTitleProps = ComponentProps<'h3'>;\n\nexport function ProductCardTitle({ className, children, ...props }: ProductCardTitleProps) {\n return (\n <h3\n className={cn(\n 'block font-semibold text-[var(--product-card-light-title,hsl(var(--foreground)))]',\n className,\n )}\n data-slot=\"product-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardSubtitleProps = ComponentProps<'span'>;\n\nexport function ProductCardSubtitle({ children, className, ...props }: ProductCardSubtitleProps) {\n return (\n <span\n className={cn(\n 'block text-sm font-normal text-[var(--product-card-light-subtitle,color-mix(in_oklab,hsl(var(--foreground))_75%,transparent))]',\n className,\n )}\n data-slot=\"product-card-subtitle\"\n {...props}\n >\n {children}\n </span>\n );\n}\n","import * as PricePrimitive from '@/components/price';\n\ninterface PriceDefault {\n type: 'default';\n value: string;\n}\n\ninterface PriceRange {\n type: 'range';\n minValue: string;\n maxValue: string;\n}\n\ninterface PriceSale {\n type: 'sale';\n previousValue: string;\n currentValue: string;\n}\n\ntype PriceType = PriceDefault | PriceRange | PriceSale;\n\nexport interface PriceProps extends PricePrimitive.RootProps {\n price: PriceType;\n}\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --price-light-text: hsl(var(--foreground));\n * --price-light-sale-text: hsl(var(--foreground));\n * --price-dark-text: hsl(var(--background));\n * --price-dark-sale-text: hsl(var(--background));\n * }\n * ```\n */\nexport function Price({ className, price, ...props }: PriceProps) {\n return (\n <PricePrimitive.Root className={className} {...props}>\n {price.type === 'range' && (\n <>\n <PricePrimitive.Default>{price.minValue}</PricePrimitive.Default>\n {' – '}\n <PricePrimitive.Default>{price.maxValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'sale' && (\n <>\n <PricePrimitive.Strike>{price.currentValue}</PricePrimitive.Strike>{' '}\n <PricePrimitive.Default>{price.previousValue}</PricePrimitive.Default>\n </>\n )}\n {price.type === 'default' && <PricePrimitive.Default>{price.value}</PricePrimitive.Default>}\n </PricePrimitive.Root>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Price } from '@/components/price';\nimport { cn } from '@/lib';\n\nexport type ProductCardPriceProps = ComponentProps<typeof Price>;\n\nexport function ProductCardPrice({ className, price, ...props }: ProductCardPriceProps) {\n return (\n <Price\n className={cn('mt-2', className)}\n data-slot=\"product-card-price\"\n price={price}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardCompareProps = ComponentProps<'div'>;\n\nexport function ProductCardCompare({ className, children, ...props }: ProductCardCompareProps) {\n return (\n <div\n className={cn(\n 'font-(family-name:--checkbox-font-family,var(--font-family-body)) flex shrink-0 items-center gap-2',\n className,\n )}\n data-slot=\"product-card-compare\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { Checkbox } from '@/components/checkbox';\nimport { cn } from '@/lib';\n\nexport type ProductCardCheckboxProps = ComponentProps<typeof Checkbox>;\n\nexport function ProductCardCheckbox({ className, ...props }: ProductCardCheckboxProps) {\n return <Checkbox className={cn(className)} data-slot=\"product-card-checkbox\" {...props} />;\n}\n","import { ComponentProps } from 'react';\n\nimport { Label } from '@/components/label';\nimport { cn } from '@/lib';\n\nexport type ProductCardLabelProps = ComponentProps<typeof Label>;\n\nexport function ProductCardLabel({ className, children, ...props }: ProductCardLabelProps) {\n return (\n <Label\n className={cn('text-[var(--product-card-light-text,hsl(var(--foreground)))]', className)}\n data-slot=\"product-card-label\"\n {...props}\n >\n {children}\n </Label>\n );\n}\n"],"names":["Badge","children","shape","className","variant","props","jsx","cn","Checkbox","id","label","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","Check","ProductCardPreview","ProductCardThumbnail","ProductCardImage","asChild","Component","Slot","ProductCardBadge","ProductCardFallback","ProductCardLink","ProductCardDetails","ProductCardHeader","ProductCardTitle","ProductCardSubtitle","Price","price","PricePrimitive.Root","jsxs","Fragment","PricePrimitive.Default","PricePrimitive.Strike","ProductCardPrice","ProductCardCompare","ProductCardCheckbox","ProductCardLabel","Label"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as d } from "react/jsx-runtime";
|
|
2
|
+
import { c as n } from "./utils-CRiPKpXj.js";
|
|
3
|
+
function f({
|
|
4
|
+
className: o,
|
|
5
|
+
children: t,
|
|
6
|
+
as: r,
|
|
7
|
+
aspectRatio: a = "5/6",
|
|
8
|
+
...c
|
|
9
|
+
}) {
|
|
10
|
+
return /* @__PURE__ */ d(
|
|
11
|
+
r ?? "article",
|
|
12
|
+
{
|
|
13
|
+
className: n(
|
|
14
|
+
"group/product-card w-full max-w-md font-[var(--product-card-font-family,var(--font-family-body))] @container",
|
|
15
|
+
o
|
|
16
|
+
),
|
|
17
|
+
"data-aspect-ratio": a,
|
|
18
|
+
"data-slot": "product-card-root",
|
|
19
|
+
...c,
|
|
20
|
+
children: t
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
f as P
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=product-card-root-BnBOoYFY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-root-BnBOoYFY.js","sources":["../src/components/product-card/primitives/product-card-root.tsx"],"sourcesContent":["import type { ComponentProps, ElementType } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardRootProps<E extends ElementType = 'article'> = Omit<\n ComponentProps<E>,\n 'as'\n> & {\n as?: E;\n aspectRatio?: '5/6' | '3/4' | '1/1';\n};\n\nexport function ProductCardRoot<T extends ElementType = 'article'>({\n className,\n children,\n as,\n aspectRatio = '5/6',\n ...props\n}: ProductCardRootProps<T>) {\n const ProductCardRootElement = as ?? 'article';\n\n return (\n <ProductCardRootElement\n className={cn(\n 'group/product-card w-full max-w-md font-[var(--product-card-font-family,var(--font-family-body))] @container',\n className,\n )}\n data-aspect-ratio={aspectRatio}\n data-slot=\"product-card-root\"\n {...props}\n >\n {children}\n </ProductCardRootElement>\n );\n}\n"],"names":["ProductCardRoot","className","children","as","aspectRatio","props","jsx","cn"],"mappings":";;AAYO,SAASA,EAAmD;AAAA,EACjE,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,GAAGC;AACL,GAA4B;AAG1B,SACE,gBAAAC;AAAA,IAH6BH,KAAM;AAAA,IAGlC;AAAA,MACC,WAAWI;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,MAEF,qBAAmBG;AAAA,MACnB,aAAU;AAAA,MACT,GAAGC;AAAA,MAEH,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const u=require("react/jsx-runtime"),n=require("./utils-DoxiiusW.cjs");function e({className:t,children:o,as:r,aspectRatio:a="5/6",...c}){const d=r??"article";return u.jsx(d,{className:n.cn("group/product-card w-full max-w-md font-[var(--product-card-font-family,var(--font-family-body))] @container",t),"data-aspect-ratio":a,"data-slot":"product-card-root",...c,children:o})}exports.ProductCardRoot=e;
|
|
2
|
+
//# sourceMappingURL=product-card-root-DNqlSx52.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-root-DNqlSx52.cjs","sources":["../src/components/product-card/primitives/product-card-root.tsx"],"sourcesContent":["import type { ComponentProps, ElementType } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ProductCardRootProps<E extends ElementType = 'article'> = Omit<\n ComponentProps<E>,\n 'as'\n> & {\n as?: E;\n aspectRatio?: '5/6' | '3/4' | '1/1';\n};\n\nexport function ProductCardRoot<T extends ElementType = 'article'>({\n className,\n children,\n as,\n aspectRatio = '5/6',\n ...props\n}: ProductCardRootProps<T>) {\n const ProductCardRootElement = as ?? 'article';\n\n return (\n <ProductCardRootElement\n className={cn(\n 'group/product-card w-full max-w-md font-[var(--product-card-font-family,var(--font-family-body))] @container',\n className,\n )}\n data-aspect-ratio={aspectRatio}\n data-slot=\"product-card-root\"\n {...props}\n >\n {children}\n </ProductCardRootElement>\n );\n}\n"],"names":["ProductCardRoot","className","children","as","aspectRatio","props","ProductCardRootElement","jsx","cn"],"mappings":"oFAYO,SAASA,EAAmD,CACjE,UAAAC,EACA,SAAAC,EACA,GAAAC,EACA,YAAAC,EAAc,MACd,GAAGC,CACL,EAA4B,CAC1B,MAAMC,EAAyBH,GAAM,UAErC,OACEI,EAAAA,IAACD,EAAA,CACC,UAAWE,EAAAA,GACT,+GACAP,CAAA,EAEF,oBAAmBG,EACnB,YAAU,oBACT,GAAGC,EAEH,SAAAH,CAAA,CAAA,CAGP"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),o=require("./skeleton-root-Bahq1UoM.cjs"),c=require("./skeleton-box-BsY5q4RG.cjs"),t=require("./skeleton-text-BxefRRo2.cjs"),r=require("./utils-DoxiiusW.cjs");function d({className:a,...s}){return e.jsxs(o.SkeletonRoot,{className:r.cn(a),"data-slot":"product-card-skeleton",...s,children:[e.jsx(c.SkeletonBox,{className:r.cn("rounded-[var(--product-card-border-radius,1rem)]","group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]","group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]","group-data-[aspect-ratio=1/1]/product-card:aspect-square")}),e.jsx("div",{className:"mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row",children:e.jsxs("div",{className:"flex-1 text-sm @[16rem]:text-base",children:[e.jsx(t.SkeletonText,{characterCount:10,className:"rounded"}),e.jsx(t.SkeletonText,{characterCount:8,className:"rounded"}),e.jsx(t.SkeletonText,{characterCount:6,className:"rounded"})]})})]})}exports.ProductCardSkeleton=d;
|
|
2
|
+
//# sourceMappingURL=product-card-skeleton-BgN1OCwY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-skeleton-BgN1OCwY.cjs","sources":["../src/components/product-card/primitives/product-card-skeleton.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\n\nimport * as SkeletonPrimitive from '@/components/skeleton';\nimport { cn } from '@/lib';\n\nexport type ProductCardSkeletonProps = ComponentProps<typeof SkeletonPrimitive.Root>;\n\nexport function ProductCardSkeleton({ className, ...props }: ProductCardSkeletonProps) {\n return (\n <SkeletonPrimitive.Root className={cn(className)} data-slot=\"product-card-skeleton\" {...props}>\n <SkeletonPrimitive.Box\n className={cn(\n 'rounded-[var(--product-card-border-radius,1rem)]',\n 'group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]',\n 'group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]',\n 'group-data-[aspect-ratio=1/1]/product-card:aspect-square',\n )}\n />\n <div className=\"mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row\">\n <div className=\"flex-1 text-sm @[16rem]:text-base\">\n <SkeletonPrimitive.Text characterCount={10} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={8} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={6} className=\"rounded\" />\n </div>\n </div>\n </SkeletonPrimitive.Root>\n );\n}\n"],"names":["ProductCardSkeleton","className","props","jsxs","SkeletonPrimitive.Root","cn","jsx","SkeletonPrimitive.Box","SkeletonPrimitive.Text"],"mappings":"iNAOO,SAASA,EAAoB,CAAE,UAAAC,EAAW,GAAGC,GAAmC,CACrF,OACEC,OAACC,EAAAA,aAAA,CAAuB,UAAWC,EAAAA,GAAGJ,CAAS,EAAG,YAAU,wBAAyB,GAAGC,EACtF,SAAA,CAAAI,EAAAA,IAACC,EAAAA,YAAA,CACC,UAAWF,EAAAA,GACT,mDACA,0DACA,0DACA,0DAAA,CACF,CAAA,QAED,MAAA,CAAI,UAAU,4EACb,SAAAF,EAAAA,KAAC,MAAA,CAAI,UAAU,oCACb,SAAA,CAAAG,EAAAA,IAACE,EAAAA,aAAA,CAAuB,eAAgB,GAAI,UAAU,UAAU,QAC/DA,EAAAA,aAAA,CAAuB,eAAgB,EAAG,UAAU,UAAU,QAC9DA,EAAAA,aAAA,CAAuB,eAAgB,EAAG,UAAU,SAAA,CAAU,CAAA,CAAA,CACjE,CAAA,CACF,CAAA,EACF,CAEJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsxs as t, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { S as c } from "./skeleton-root-BIYF02UE.js";
|
|
3
|
+
import { S as d } from "./skeleton-box-D0XcgPLs.js";
|
|
4
|
+
import { S as r } from "./skeleton-text-BCsnfhcU.js";
|
|
5
|
+
import { c as e } from "./utils-CRiPKpXj.js";
|
|
6
|
+
function i({ className: o, ...s }) {
|
|
7
|
+
return /* @__PURE__ */ t(c, { className: e(o), "data-slot": "product-card-skeleton", ...s, children: [
|
|
8
|
+
/* @__PURE__ */ a(
|
|
9
|
+
d,
|
|
10
|
+
{
|
|
11
|
+
className: e(
|
|
12
|
+
"rounded-[var(--product-card-border-radius,1rem)]",
|
|
13
|
+
"group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]",
|
|
14
|
+
"group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]",
|
|
15
|
+
"group-data-[aspect-ratio=1/1]/product-card:aspect-square"
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
),
|
|
19
|
+
/* @__PURE__ */ a("div", { className: "mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row", children: /* @__PURE__ */ t("div", { className: "flex-1 text-sm @[16rem]:text-base", children: [
|
|
20
|
+
/* @__PURE__ */ a(r, { characterCount: 10, className: "rounded" }),
|
|
21
|
+
/* @__PURE__ */ a(r, { characterCount: 8, className: "rounded" }),
|
|
22
|
+
/* @__PURE__ */ a(r, { characterCount: 6, className: "rounded" })
|
|
23
|
+
] }) })
|
|
24
|
+
] });
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
i as P
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=product-card-skeleton-C-xXJrKi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-card-skeleton-C-xXJrKi.js","sources":["../src/components/product-card/primitives/product-card-skeleton.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\n\nimport * as SkeletonPrimitive from '@/components/skeleton';\nimport { cn } from '@/lib';\n\nexport type ProductCardSkeletonProps = ComponentProps<typeof SkeletonPrimitive.Root>;\n\nexport function ProductCardSkeleton({ className, ...props }: ProductCardSkeletonProps) {\n return (\n <SkeletonPrimitive.Root className={cn(className)} data-slot=\"product-card-skeleton\" {...props}>\n <SkeletonPrimitive.Box\n className={cn(\n 'rounded-[var(--product-card-border-radius,1rem)]',\n 'group-data-[aspect-ratio=5/6]/product-card:aspect-[5/6]',\n 'group-data-[aspect-ratio=3/4]/product-card:aspect-[3/4]',\n 'group-data-[aspect-ratio=1/1]/product-card:aspect-square',\n )}\n />\n <div className=\"mt-2 flex flex-col items-start gap-x-4 gap-y-3 px-1 @xs:mt-3 @xs:flex-row\">\n <div className=\"flex-1 text-sm @[16rem]:text-base\">\n <SkeletonPrimitive.Text characterCount={10} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={8} className=\"rounded\" />\n <SkeletonPrimitive.Text characterCount={6} className=\"rounded\" />\n </div>\n </div>\n </SkeletonPrimitive.Root>\n );\n}\n"],"names":["ProductCardSkeleton","className","props","jsxs","SkeletonPrimitive.Root","cn","jsx","SkeletonPrimitive.Box","SkeletonPrimitive.Text"],"mappings":";;;;;AAOO,SAASA,EAAoB,EAAE,WAAAC,GAAW,GAAGC,KAAmC;AACrF,SACE,gBAAAC,EAACC,GAAA,EAAuB,WAAWC,EAAGJ,CAAS,GAAG,aAAU,yBAAyB,GAAGC,GACtF,UAAA;AAAA,IAAA,gBAAAI;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,WAAWF;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,sBAED,OAAA,EAAI,WAAU,6EACb,UAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,qCACb,UAAA;AAAA,MAAA,gBAAAG,EAACE,GAAA,EAAuB,gBAAgB,IAAI,WAAU,WAAU;AAAA,wBAC/DA,GAAA,EAAuB,gBAAgB,GAAG,WAAU,WAAU;AAAA,wBAC9DA,GAAA,EAAuB,gBAAgB,GAAG,WAAU,UAAA,CAAU;AAAA,IAAA,EAAA,CACjE,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
package/dist/product-card.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./product-card-root-DNqlSx52.cjs"),a=require("react/jsx-runtime"),c=require("./utils-DoxiiusW.cjs"),r=require("./product-card-label-DHKOJFTo.cjs"),u=require("./product-card-skeleton-BgN1OCwY.cjs");function i({className:t,children:e,...d}){return a.jsx("div",{className:c.cn("relative",t),"data-slot":"product-card-content",...d,children:e})}exports.Root=o.ProductCardRoot;exports.Badge=r.ProductCardBadge;exports.Checkbox=r.ProductCardCheckbox;exports.Compare=r.ProductCardCompare;exports.Details=r.ProductCardDetails;exports.Fallback=r.ProductCardFallback;exports.Header=r.ProductCardHeader;exports.Image=r.ProductCardImage;exports.Label=r.ProductCardLabel;exports.Link=r.ProductCardLink;exports.Preview=r.ProductCardPreview;exports.Price=r.ProductCardPrice;exports.Subtitle=r.ProductCardSubtitle;exports.Thumbnail=r.ProductCardThumbnail;exports.Title=r.ProductCardTitle;exports.Skeleton=u.ProductCardSkeleton;exports.Content=i;
|
|
2
2
|
//# sourceMappingURL=product-card.cjs.map
|
package/dist/product-card.js
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
import { P as m
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { c as
|
|
4
|
-
import { c as p, l as f, k as
|
|
5
|
-
import { P as
|
|
6
|
-
function
|
|
7
|
-
return /* @__PURE__ */
|
|
1
|
+
import { P as m } from "./product-card-root-BnBOoYFY.js";
|
|
2
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
3
|
+
import { c as s } from "./utils-CRiPKpXj.js";
|
|
4
|
+
import { c as p, l as f, k as b, f as u, d as x, g as P, b as k, m as C, e as g, P as h, j as v, i as j, a as L, h as S } from "./product-card-label-CP4yzMhB.js";
|
|
5
|
+
import { P as w } from "./product-card-skeleton-C-xXJrKi.js";
|
|
6
|
+
function n({ className: a, children: e, ...t }) {
|
|
7
|
+
return /* @__PURE__ */ o("div", { className: s("relative", a), "data-slot": "product-card-content", ...t, children: e });
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
10
10
|
p as Badge,
|
|
11
11
|
f as Checkbox,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
b as Compare,
|
|
13
|
+
n as Content,
|
|
14
|
+
u as Details,
|
|
15
15
|
x as Fallback,
|
|
16
|
-
|
|
16
|
+
P as Header,
|
|
17
17
|
k as Image,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
C as Label,
|
|
19
|
+
g as Link,
|
|
20
|
+
h as Preview,
|
|
21
|
+
v as Price,
|
|
22
22
|
m as Root,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
d as useProductCard
|
|
23
|
+
w as Skeleton,
|
|
24
|
+
j as Subtitle,
|
|
25
|
+
L as Thumbnail,
|
|
26
|
+
S as Title
|
|
28
27
|
};
|
|
29
28
|
//# sourceMappingURL=product-card.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as i, jsxs as _, Fragment as k } from "react/jsx-runtime";
|
|
2
2
|
import { c } from "./utils-CRiPKpXj.js";
|
|
3
|
-
import { B as y } from "./button-
|
|
3
|
+
import { B as y } from "./button-C0iR-l2_.js";
|
|
4
4
|
import { createContext as z, useState as g, useRef as C, useEffect as N, useCallback as H, useMemo as S, use as j } from "react";
|
|
5
5
|
function A({ className: e, children: t, ...n }) {
|
|
6
6
|
return /* @__PURE__ */ i(
|
|
@@ -119,4 +119,4 @@ export {
|
|
|
119
119
|
T as c,
|
|
120
120
|
f as u
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=reveal-trigger-
|
|
122
|
+
//# sourceMappingURL=reveal-trigger-DT_deyzM.js.map
|