@reblu/site-blocks 0.10.0 → 0.12.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/CHANGELOG.md +17 -0
- package/README.md +90 -0
- package/dist/index.cjs +537 -244
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +61 -2
- package/dist/index.d.ts +61 -2
- package/dist/index.js +534 -244
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
package/dist/index.js
CHANGED
|
@@ -13328,8 +13328,54 @@ function Treatment({ page, className }) {
|
|
|
13328
13328
|
}
|
|
13329
13329
|
|
|
13330
13330
|
// src/components/parent-page.tsx
|
|
13331
|
+
import { cn as cn5 } from "@reblu/site-ui/utils";
|
|
13332
|
+
|
|
13333
|
+
// src/components/page-card-grid.tsx
|
|
13331
13334
|
import { cn as cn4 } from "@reblu/site-ui/utils";
|
|
13332
13335
|
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
13336
|
+
var defaultPageHref = (page) => `/${page.slug}`;
|
|
13337
|
+
var pageKey = (page) => `${page.category?.slug ?? ""}/${page.slug}`;
|
|
13338
|
+
function PageCardGrid(props) {
|
|
13339
|
+
return /* @__PURE__ */ jsx4(PageCardGridSection, { ...props });
|
|
13340
|
+
}
|
|
13341
|
+
function PageCardGridSection({
|
|
13342
|
+
pages,
|
|
13343
|
+
pageHref = defaultPageHref,
|
|
13344
|
+
heading,
|
|
13345
|
+
className,
|
|
13346
|
+
keepEmptyHeading = false
|
|
13347
|
+
}) {
|
|
13348
|
+
if (pages.length === 0) return null;
|
|
13349
|
+
const showHeading = keepEmptyHeading ? heading !== void 0 : !!heading;
|
|
13350
|
+
return /* @__PURE__ */ jsxs3("section", { className: cn4("space-y-6", className), children: [
|
|
13351
|
+
showHeading && /* @__PURE__ */ jsx4("h2", { className: "text-2xl font-bold", children: heading }),
|
|
13352
|
+
/* @__PURE__ */ jsx4("ul", { className: "grid list-none grid-cols-1 gap-6 p-0 sm:grid-cols-2 lg:grid-cols-3", children: pages.map((page) => /* @__PURE__ */ jsx4("li", { children: /* @__PURE__ */ jsxs3(
|
|
13353
|
+
"a",
|
|
13354
|
+
{
|
|
13355
|
+
href: pageHref(page),
|
|
13356
|
+
className: "group flex h-full flex-col overflow-hidden rounded-lg border bg-card transition-shadow hover:shadow-lg",
|
|
13357
|
+
children: [
|
|
13358
|
+
page.coverImageUrl && /* @__PURE__ */ jsx4("div", { className: "relative aspect-video overflow-hidden bg-muted", children: /* @__PURE__ */ jsx4(
|
|
13359
|
+
"img",
|
|
13360
|
+
{
|
|
13361
|
+
src: page.coverImageUrl,
|
|
13362
|
+
alt: "",
|
|
13363
|
+
loading: "lazy",
|
|
13364
|
+
className: "h-full w-full object-cover transition-transform group-hover:scale-105"
|
|
13365
|
+
}
|
|
13366
|
+
) }),
|
|
13367
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex flex-1 flex-col gap-2 p-4", children: [
|
|
13368
|
+
/* @__PURE__ */ jsx4("h3", { className: "font-semibold leading-tight transition-colors group-hover:text-primary", children: page.title }),
|
|
13369
|
+
page.excerpt && /* @__PURE__ */ jsx4("p", { className: "line-clamp-2 text-sm text-muted-foreground", children: page.excerpt })
|
|
13370
|
+
] })
|
|
13371
|
+
]
|
|
13372
|
+
}
|
|
13373
|
+
) }, pageKey(page))) })
|
|
13374
|
+
] });
|
|
13375
|
+
}
|
|
13376
|
+
|
|
13377
|
+
// src/components/parent-page.tsx
|
|
13378
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
13333
13379
|
var defaultChildPageHref = (slug) => `/${slug}`;
|
|
13334
13380
|
function ParentPage({
|
|
13335
13381
|
page,
|
|
@@ -13344,34 +13390,18 @@ function ParentPage({
|
|
|
13344
13390
|
const pages = childPages ?? treatments ?? [];
|
|
13345
13391
|
const hrefFor = childPageHref ?? treatmentHref ?? defaultChildPageHref;
|
|
13346
13392
|
const label = childPagesLabel ?? treatmentsLabel ?? "Treatments";
|
|
13347
|
-
return /* @__PURE__ */
|
|
13348
|
-
/* @__PURE__ */
|
|
13349
|
-
/* @__PURE__ */
|
|
13350
|
-
|
|
13351
|
-
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
|
|
13356
|
-
|
|
13357
|
-
|
|
13358
|
-
|
|
13359
|
-
"img",
|
|
13360
|
-
{
|
|
13361
|
-
src: t.coverImageUrl,
|
|
13362
|
-
alt: "",
|
|
13363
|
-
loading: "lazy",
|
|
13364
|
-
className: "h-full w-full object-cover transition-transform group-hover:scale-105"
|
|
13365
|
-
}
|
|
13366
|
-
) }),
|
|
13367
|
-
/* @__PURE__ */ jsxs3("div", { className: "flex flex-1 flex-col gap-2 p-4", children: [
|
|
13368
|
-
/* @__PURE__ */ jsx4("h3", { className: "font-semibold leading-tight transition-colors group-hover:text-primary", children: t.title }),
|
|
13369
|
-
t.excerpt && /* @__PURE__ */ jsx4("p", { className: "line-clamp-2 text-sm text-muted-foreground", children: t.excerpt })
|
|
13370
|
-
] })
|
|
13371
|
-
]
|
|
13372
|
-
}
|
|
13373
|
-
) }, t.slug)) })
|
|
13374
|
-
] })
|
|
13393
|
+
return /* @__PURE__ */ jsxs4("article", { className: cn5("space-y-12", className), "data-slot": "specialty", children: [
|
|
13394
|
+
/* @__PURE__ */ jsx5(PageHero, { page }),
|
|
13395
|
+
/* @__PURE__ */ jsx5(PageSectionList, { sections: page.sections }),
|
|
13396
|
+
/* @__PURE__ */ jsx5(
|
|
13397
|
+
PageCardGridSection,
|
|
13398
|
+
{
|
|
13399
|
+
pages,
|
|
13400
|
+
heading: label,
|
|
13401
|
+
pageHref: (child) => hrefFor(child.slug),
|
|
13402
|
+
keepEmptyHeading: true
|
|
13403
|
+
}
|
|
13404
|
+
)
|
|
13375
13405
|
] });
|
|
13376
13406
|
}
|
|
13377
13407
|
|
|
@@ -13379,34 +13409,34 @@ function ParentPage({
|
|
|
13379
13409
|
var Specialty = ParentPage;
|
|
13380
13410
|
|
|
13381
13411
|
// src/components/profile-card.tsx
|
|
13382
|
-
import { cn as
|
|
13383
|
-
import { jsx as
|
|
13412
|
+
import { cn as cn6 } from "@reblu/site-ui/utils";
|
|
13413
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
13384
13414
|
function initials(name) {
|
|
13385
13415
|
return name.split(/\s+/).filter(Boolean).slice(0, 2).map((part) => part[0]?.toUpperCase() ?? "").join("");
|
|
13386
13416
|
}
|
|
13387
13417
|
function ProfileCard({ name, role, imageUrl, specialties = [], bio, href, className }) {
|
|
13388
13418
|
const NameTag = href ? "a" : "span";
|
|
13389
|
-
return /* @__PURE__ */
|
|
13419
|
+
return /* @__PURE__ */ jsxs5(
|
|
13390
13420
|
"article",
|
|
13391
13421
|
{
|
|
13392
|
-
className:
|
|
13422
|
+
className: cn6(
|
|
13393
13423
|
"flex flex-col items-center gap-3 rounded-lg border bg-card p-6 text-center",
|
|
13394
13424
|
className
|
|
13395
13425
|
),
|
|
13396
13426
|
"data-slot": "profile-card",
|
|
13397
13427
|
children: [
|
|
13398
|
-
/* @__PURE__ */
|
|
13399
|
-
/* @__PURE__ */
|
|
13400
|
-
/* @__PURE__ */
|
|
13428
|
+
/* @__PURE__ */ jsx6("div", { className: "relative h-24 w-24 overflow-hidden rounded-full bg-muted", children: imageUrl ? /* @__PURE__ */ jsx6("img", { src: imageUrl, alt: name, loading: "lazy", className: "h-full w-full object-cover" }) : /* @__PURE__ */ jsx6("span", { className: "flex h-full w-full items-center justify-center text-2xl font-semibold text-muted-foreground", "aria-hidden": "true", children: initials(name) }) }),
|
|
13429
|
+
/* @__PURE__ */ jsxs5("div", { className: "space-y-1", children: [
|
|
13430
|
+
/* @__PURE__ */ jsx6("h3", { className: "text-lg font-semibold leading-tight", children: /* @__PURE__ */ jsx6(
|
|
13401
13431
|
NameTag,
|
|
13402
13432
|
{
|
|
13403
13433
|
...href ? { href, className: "transition-colors hover:text-primary" } : {},
|
|
13404
13434
|
children: name
|
|
13405
13435
|
}
|
|
13406
13436
|
) }),
|
|
13407
|
-
role && /* @__PURE__ */
|
|
13437
|
+
role && /* @__PURE__ */ jsx6("p", { className: "text-sm text-muted-foreground", children: role })
|
|
13408
13438
|
] }),
|
|
13409
|
-
specialties.length > 0 && /* @__PURE__ */
|
|
13439
|
+
specialties.length > 0 && /* @__PURE__ */ jsx6("ul", { className: "flex flex-wrap justify-center gap-1.5 p-0", children: specialties.map((s2) => /* @__PURE__ */ jsx6(
|
|
13410
13440
|
"li",
|
|
13411
13441
|
{
|
|
13412
13442
|
className: "inline-flex items-center rounded-full bg-secondary px-2.5 py-0.5 text-xs font-medium text-secondary-foreground",
|
|
@@ -13414,28 +13444,28 @@ function ProfileCard({ name, role, imageUrl, specialties = [], bio, href, classN
|
|
|
13414
13444
|
},
|
|
13415
13445
|
s2
|
|
13416
13446
|
)) }),
|
|
13417
|
-
bio && /* @__PURE__ */
|
|
13447
|
+
bio && /* @__PURE__ */ jsx6("p", { className: "text-sm text-muted-foreground", children: bio })
|
|
13418
13448
|
]
|
|
13419
13449
|
}
|
|
13420
13450
|
);
|
|
13421
13451
|
}
|
|
13422
13452
|
|
|
13423
13453
|
// src/components/product-card.tsx
|
|
13424
|
-
import { cn as
|
|
13425
|
-
import { jsx as
|
|
13454
|
+
import { cn as cn7 } from "@reblu/site-ui/utils";
|
|
13455
|
+
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
13426
13456
|
function ProductCard({ product, href, currencyCode = "EUR", locale, className }) {
|
|
13427
13457
|
const image = product.images.find((i) => i.isPrimary) ?? product.images[0];
|
|
13428
13458
|
const hasDiscount = product.comparePrice != null && product.comparePrice > product.price;
|
|
13429
|
-
return /* @__PURE__ */
|
|
13459
|
+
return /* @__PURE__ */ jsxs6(
|
|
13430
13460
|
"article",
|
|
13431
13461
|
{
|
|
13432
|
-
className:
|
|
13462
|
+
className: cn7(
|
|
13433
13463
|
"group flex flex-col overflow-hidden rounded-lg border bg-card transition-shadow hover:shadow-lg",
|
|
13434
13464
|
className
|
|
13435
13465
|
),
|
|
13436
13466
|
"data-slot": "product-card",
|
|
13437
13467
|
children: [
|
|
13438
|
-
/* @__PURE__ */
|
|
13468
|
+
/* @__PURE__ */ jsx7("div", { className: "relative aspect-square overflow-hidden bg-muted", children: image ? /* @__PURE__ */ jsx7(
|
|
13439
13469
|
"img",
|
|
13440
13470
|
{
|
|
13441
13471
|
src: image.url,
|
|
@@ -13443,14 +13473,14 @@ function ProductCard({ product, href, currencyCode = "EUR", locale, className })
|
|
|
13443
13473
|
loading: "lazy",
|
|
13444
13474
|
className: "h-full w-full object-cover transition-transform group-hover:scale-105"
|
|
13445
13475
|
}
|
|
13446
|
-
) : /* @__PURE__ */
|
|
13447
|
-
/* @__PURE__ */
|
|
13448
|
-
product.category && /* @__PURE__ */
|
|
13449
|
-
/* @__PURE__ */
|
|
13450
|
-
product.shortDescription && /* @__PURE__ */
|
|
13451
|
-
/* @__PURE__ */
|
|
13452
|
-
/* @__PURE__ */
|
|
13453
|
-
hasDiscount && /* @__PURE__ */
|
|
13476
|
+
) : /* @__PURE__ */ jsx7("div", { className: "flex h-full items-center justify-center text-4xl text-muted-foreground/30", "aria-hidden": "true", children: "\u{1F6CD}\uFE0F" }) }),
|
|
13477
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex flex-1 flex-col gap-2 p-4", children: [
|
|
13478
|
+
product.category && /* @__PURE__ */ jsx7("span", { className: "inline-flex w-fit items-center rounded-full bg-secondary px-2.5 py-0.5 text-xs font-medium text-secondary-foreground", children: product.category.name }),
|
|
13479
|
+
/* @__PURE__ */ jsx7("h3", { className: "text-base font-semibold leading-tight", children: href ? /* @__PURE__ */ jsx7("a", { href, className: "transition-colors hover:text-primary", children: product.name }) : product.name }),
|
|
13480
|
+
product.shortDescription && /* @__PURE__ */ jsx7("p", { className: "line-clamp-2 text-sm text-muted-foreground", children: product.shortDescription }),
|
|
13481
|
+
/* @__PURE__ */ jsxs6("div", { className: "mt-auto flex items-baseline gap-2 pt-2", children: [
|
|
13482
|
+
/* @__PURE__ */ jsx7("span", { className: "text-lg font-bold text-foreground", children: formatPrice(product.price, currencyCode, locale) }),
|
|
13483
|
+
hasDiscount && /* @__PURE__ */ jsx7("span", { className: "text-sm text-muted-foreground line-through", children: formatPrice(product.comparePrice, currencyCode, locale) })
|
|
13454
13484
|
] })
|
|
13455
13485
|
] })
|
|
13456
13486
|
]
|
|
@@ -13458,11 +13488,246 @@ function ProductCard({ product, href, currencyCode = "EUR", locale, className })
|
|
|
13458
13488
|
);
|
|
13459
13489
|
}
|
|
13460
13490
|
|
|
13491
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
13492
|
+
import { forwardRef as forwardRef2, createElement as createElement2 } from "react";
|
|
13493
|
+
|
|
13494
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
13495
|
+
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
13496
|
+
var toCamelCase = (string) => string.replace(
|
|
13497
|
+
/^([A-Z])|[\s-_]+(\w)/g,
|
|
13498
|
+
(match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
|
|
13499
|
+
);
|
|
13500
|
+
var toPascalCase = (string) => {
|
|
13501
|
+
const camelCase = toCamelCase(string);
|
|
13502
|
+
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
|
|
13503
|
+
};
|
|
13504
|
+
var mergeClasses = (...classes) => classes.filter((className, index, array) => {
|
|
13505
|
+
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
|
|
13506
|
+
}).join(" ").trim();
|
|
13507
|
+
var hasA11yProp = (props) => {
|
|
13508
|
+
for (const prop in props) {
|
|
13509
|
+
if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
|
|
13510
|
+
return true;
|
|
13511
|
+
}
|
|
13512
|
+
}
|
|
13513
|
+
};
|
|
13514
|
+
|
|
13515
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js
|
|
13516
|
+
import { forwardRef, createElement } from "react";
|
|
13517
|
+
|
|
13518
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
13519
|
+
var defaultAttributes = {
|
|
13520
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13521
|
+
width: 24,
|
|
13522
|
+
height: 24,
|
|
13523
|
+
viewBox: "0 0 24 24",
|
|
13524
|
+
fill: "none",
|
|
13525
|
+
stroke: "currentColor",
|
|
13526
|
+
strokeWidth: 2,
|
|
13527
|
+
strokeLinecap: "round",
|
|
13528
|
+
strokeLinejoin: "round"
|
|
13529
|
+
};
|
|
13530
|
+
|
|
13531
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js
|
|
13532
|
+
var Icon = forwardRef(
|
|
13533
|
+
({
|
|
13534
|
+
color: color2 = "currentColor",
|
|
13535
|
+
size = 24,
|
|
13536
|
+
strokeWidth = 2,
|
|
13537
|
+
absoluteStrokeWidth,
|
|
13538
|
+
className = "",
|
|
13539
|
+
children: children2,
|
|
13540
|
+
iconNode,
|
|
13541
|
+
...rest
|
|
13542
|
+
}, ref) => createElement(
|
|
13543
|
+
"svg",
|
|
13544
|
+
{
|
|
13545
|
+
ref,
|
|
13546
|
+
...defaultAttributes,
|
|
13547
|
+
width: size,
|
|
13548
|
+
height: size,
|
|
13549
|
+
stroke: color2,
|
|
13550
|
+
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
|
13551
|
+
className: mergeClasses("lucide", className),
|
|
13552
|
+
...!children2 && !hasA11yProp(rest) && { "aria-hidden": "true" },
|
|
13553
|
+
...rest
|
|
13554
|
+
},
|
|
13555
|
+
[
|
|
13556
|
+
...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
|
|
13557
|
+
...Array.isArray(children2) ? children2 : [children2]
|
|
13558
|
+
]
|
|
13559
|
+
)
|
|
13560
|
+
);
|
|
13561
|
+
|
|
13562
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
13563
|
+
var createLucideIcon = (iconName, iconNode) => {
|
|
13564
|
+
const Component = forwardRef2(
|
|
13565
|
+
({ className, ...props }, ref) => createElement2(Icon, {
|
|
13566
|
+
ref,
|
|
13567
|
+
iconNode,
|
|
13568
|
+
className: mergeClasses(
|
|
13569
|
+
`lucide-${toKebabCase(toPascalCase(iconName))}`,
|
|
13570
|
+
`lucide-${iconName}`,
|
|
13571
|
+
className
|
|
13572
|
+
),
|
|
13573
|
+
...props
|
|
13574
|
+
})
|
|
13575
|
+
);
|
|
13576
|
+
Component.displayName = toPascalCase(iconName);
|
|
13577
|
+
return Component;
|
|
13578
|
+
};
|
|
13579
|
+
|
|
13580
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/award.js
|
|
13581
|
+
var __iconNode = [
|
|
13582
|
+
[
|
|
13583
|
+
"path",
|
|
13584
|
+
{
|
|
13585
|
+
d: "m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",
|
|
13586
|
+
key: "1yiouv"
|
|
13587
|
+
}
|
|
13588
|
+
],
|
|
13589
|
+
["circle", { cx: "12", cy: "8", r: "6", key: "1vp47v" }]
|
|
13590
|
+
];
|
|
13591
|
+
var Award = createLucideIcon("award", __iconNode);
|
|
13592
|
+
|
|
13593
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/badge-check.js
|
|
13594
|
+
var __iconNode2 = [
|
|
13595
|
+
[
|
|
13596
|
+
"path",
|
|
13597
|
+
{
|
|
13598
|
+
d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",
|
|
13599
|
+
key: "3c2336"
|
|
13600
|
+
}
|
|
13601
|
+
],
|
|
13602
|
+
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
13603
|
+
];
|
|
13604
|
+
var BadgeCheck = createLucideIcon("badge-check", __iconNode2);
|
|
13605
|
+
|
|
13606
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/gift.js
|
|
13607
|
+
var __iconNode3 = [
|
|
13608
|
+
["rect", { x: "3", y: "8", width: "18", height: "4", rx: "1", key: "bkv52" }],
|
|
13609
|
+
["path", { d: "M12 8v13", key: "1c76mn" }],
|
|
13610
|
+
["path", { d: "M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7", key: "6wjy6b" }],
|
|
13611
|
+
[
|
|
13612
|
+
"path",
|
|
13613
|
+
{
|
|
13614
|
+
d: "M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",
|
|
13615
|
+
key: "1ihvrl"
|
|
13616
|
+
}
|
|
13617
|
+
]
|
|
13618
|
+
];
|
|
13619
|
+
var Gift = createLucideIcon("gift", __iconNode3);
|
|
13620
|
+
|
|
13621
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/headset.js
|
|
13622
|
+
var __iconNode4 = [
|
|
13623
|
+
[
|
|
13624
|
+
"path",
|
|
13625
|
+
{
|
|
13626
|
+
d: "M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z",
|
|
13627
|
+
key: "12oyoe"
|
|
13628
|
+
}
|
|
13629
|
+
],
|
|
13630
|
+
["path", { d: "M21 16v2a4 4 0 0 1-4 4h-5", key: "1x7m43" }]
|
|
13631
|
+
];
|
|
13632
|
+
var Headset = createLucideIcon("headset", __iconNode4);
|
|
13633
|
+
|
|
13634
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js
|
|
13635
|
+
var __iconNode5 = [
|
|
13636
|
+
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
13637
|
+
["path", { d: "M3 3v5h5", key: "1xhq8a" }]
|
|
13638
|
+
];
|
|
13639
|
+
var RotateCcw = createLucideIcon("rotate-ccw", __iconNode5);
|
|
13640
|
+
|
|
13641
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shield-check.js
|
|
13642
|
+
var __iconNode6 = [
|
|
13643
|
+
[
|
|
13644
|
+
"path",
|
|
13645
|
+
{
|
|
13646
|
+
d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
|
|
13647
|
+
key: "oel41y"
|
|
13648
|
+
}
|
|
13649
|
+
],
|
|
13650
|
+
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
13651
|
+
];
|
|
13652
|
+
var ShieldCheck = createLucideIcon("shield-check", __iconNode6);
|
|
13653
|
+
|
|
13654
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/store.js
|
|
13655
|
+
var __iconNode7 = [
|
|
13656
|
+
["path", { d: "M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5", key: "slp6dd" }],
|
|
13657
|
+
[
|
|
13658
|
+
"path",
|
|
13659
|
+
{
|
|
13660
|
+
d: "M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",
|
|
13661
|
+
key: "o0xfot"
|
|
13662
|
+
}
|
|
13663
|
+
],
|
|
13664
|
+
["path", { d: "M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05", key: "wn3emo" }]
|
|
13665
|
+
];
|
|
13666
|
+
var Store = createLucideIcon("store", __iconNode7);
|
|
13667
|
+
|
|
13668
|
+
// ../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/truck.js
|
|
13669
|
+
var __iconNode8 = [
|
|
13670
|
+
["path", { d: "M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2", key: "wrbu53" }],
|
|
13671
|
+
["path", { d: "M15 18H9", key: "1lyqi6" }],
|
|
13672
|
+
[
|
|
13673
|
+
"path",
|
|
13674
|
+
{
|
|
13675
|
+
d: "M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",
|
|
13676
|
+
key: "lysw3i"
|
|
13677
|
+
}
|
|
13678
|
+
],
|
|
13679
|
+
["circle", { cx: "17", cy: "18", r: "2", key: "332jqn" }],
|
|
13680
|
+
["circle", { cx: "7", cy: "18", r: "2", key: "19iecd" }]
|
|
13681
|
+
];
|
|
13682
|
+
var Truck = createLucideIcon("truck", __iconNode8);
|
|
13683
|
+
|
|
13684
|
+
// src/components/product-trust-items.tsx
|
|
13685
|
+
import { cn as cn8 } from "@reblu/site-ui/utils";
|
|
13686
|
+
import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
13687
|
+
var DEFAULT_TRUST_ICONS = Object.freeze({
|
|
13688
|
+
shipping: Truck,
|
|
13689
|
+
returns: RotateCcw,
|
|
13690
|
+
"secure-payment": ShieldCheck,
|
|
13691
|
+
support: Headset,
|
|
13692
|
+
gift: Gift,
|
|
13693
|
+
pickup: Store,
|
|
13694
|
+
warranty: BadgeCheck,
|
|
13695
|
+
quality: Award
|
|
13696
|
+
});
|
|
13697
|
+
function isKnownIcon(icon) {
|
|
13698
|
+
return Object.prototype.hasOwnProperty.call(DEFAULT_TRUST_ICONS, icon);
|
|
13699
|
+
}
|
|
13700
|
+
function isEntryObject(value) {
|
|
13701
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
13702
|
+
}
|
|
13703
|
+
function ProductTrustItems({
|
|
13704
|
+
items,
|
|
13705
|
+
icons,
|
|
13706
|
+
as: List = "ul",
|
|
13707
|
+
className,
|
|
13708
|
+
itemClassName
|
|
13709
|
+
}) {
|
|
13710
|
+
if (!Array.isArray(items) || items.length === 0) return null;
|
|
13711
|
+
const rows = items.flatMap((item, index) => {
|
|
13712
|
+
if (!isEntryObject(item)) return [];
|
|
13713
|
+
const icon = item.icon;
|
|
13714
|
+
const text3 = typeof item.text === "string" ? item.text.trim() : "";
|
|
13715
|
+
if (typeof icon !== "string" || !isKnownIcon(icon) || text3 === "") return [];
|
|
13716
|
+
const Icon2 = icons?.[icon] ?? DEFAULT_TRUST_ICONS[icon];
|
|
13717
|
+
return [{ key: `${index}-${icon}`, Icon: Icon2, text: text3 }];
|
|
13718
|
+
});
|
|
13719
|
+
if (rows.length === 0) return null;
|
|
13720
|
+
return /* @__PURE__ */ jsx8(List, { "data-slot": "product-trust-items", className: cn8("space-y-2.5", className), children: rows.map(({ key: key2, Icon: Icon2, text: text3 }) => /* @__PURE__ */ jsxs7("li", { className: cn8("flex items-center gap-3 text-sm text-muted-foreground", itemClassName), children: [
|
|
13721
|
+
/* @__PURE__ */ jsx8(Icon2, { "aria-hidden": "true", className: "h-4 w-4 shrink-0 text-foreground/60" }),
|
|
13722
|
+
/* @__PURE__ */ jsx8("span", { children: text3 })
|
|
13723
|
+
] }, key2)) });
|
|
13724
|
+
}
|
|
13725
|
+
|
|
13461
13726
|
// src/components/faq-accordion.tsx
|
|
13462
|
-
import { cn as
|
|
13727
|
+
import { cn as cn9 } from "@reblu/site-ui/utils";
|
|
13463
13728
|
|
|
13464
13729
|
// src/components/_heading.tsx
|
|
13465
|
-
import { jsx as
|
|
13730
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
13466
13731
|
function nextHeadingLevel(level) {
|
|
13467
13732
|
return Math.min(level + 1, 6);
|
|
13468
13733
|
}
|
|
@@ -13472,11 +13737,11 @@ function Heading({
|
|
|
13472
13737
|
children: children2
|
|
13473
13738
|
}) {
|
|
13474
13739
|
const Tag = `h${level}`;
|
|
13475
|
-
return /* @__PURE__ */
|
|
13740
|
+
return /* @__PURE__ */ jsx9(Tag, { className, children: children2 });
|
|
13476
13741
|
}
|
|
13477
13742
|
|
|
13478
13743
|
// src/components/faq-accordion.tsx
|
|
13479
|
-
import { jsx as
|
|
13744
|
+
import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
13480
13745
|
function FaqAccordion({
|
|
13481
13746
|
items,
|
|
13482
13747
|
heading,
|
|
@@ -13487,18 +13752,18 @@ function FaqAccordion({
|
|
|
13487
13752
|
}) {
|
|
13488
13753
|
const visible = items.map((item, index) => ({ item, index })).filter(({ item }) => item.q.trim() !== "");
|
|
13489
13754
|
if (visible.length === 0) return null;
|
|
13490
|
-
return /* @__PURE__ */
|
|
13491
|
-
heading && /* @__PURE__ */
|
|
13492
|
-
/* @__PURE__ */
|
|
13755
|
+
return /* @__PURE__ */ jsxs8("div", { className: cn9("space-y-4", className), "data-slot": "faq-accordion", children: [
|
|
13756
|
+
heading && /* @__PURE__ */ jsx10(Heading, { level: headingLevel, className: "text-2xl font-semibold tracking-tight", children: heading }),
|
|
13757
|
+
/* @__PURE__ */ jsx10("div", { className: "divide-y divide-border rounded-xl border border-border", children: visible.map(({ item, index }) => /* @__PURE__ */ jsxs8(
|
|
13493
13758
|
"details",
|
|
13494
13759
|
{
|
|
13495
13760
|
className: "group px-4",
|
|
13496
13761
|
"data-slot": "faq-item",
|
|
13497
13762
|
...defaultOpen.includes(index) ? { open: true } : {},
|
|
13498
13763
|
children: [
|
|
13499
|
-
/* @__PURE__ */
|
|
13500
|
-
questionHeadingLevel ? /* @__PURE__ */
|
|
13501
|
-
/* @__PURE__ */
|
|
13764
|
+
/* @__PURE__ */ jsxs8("summary", { className: "flex cursor-pointer list-none items-center justify-between gap-4 py-4 font-medium focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring [&::-webkit-details-marker]:hidden", children: [
|
|
13765
|
+
questionHeadingLevel ? /* @__PURE__ */ jsx10(Heading, { level: questionHeadingLevel, className: "text-base font-medium", children: item.q }) : /* @__PURE__ */ jsx10("span", { children: item.q }),
|
|
13766
|
+
/* @__PURE__ */ jsx10(
|
|
13502
13767
|
"span",
|
|
13503
13768
|
{
|
|
13504
13769
|
"aria-hidden": "true",
|
|
@@ -13507,7 +13772,7 @@ function FaqAccordion({
|
|
|
13507
13772
|
}
|
|
13508
13773
|
)
|
|
13509
13774
|
] }),
|
|
13510
|
-
/* @__PURE__ */
|
|
13775
|
+
/* @__PURE__ */ jsx10("p", { className: "whitespace-pre-line pb-4 text-muted-foreground", children: item.a })
|
|
13511
13776
|
]
|
|
13512
13777
|
},
|
|
13513
13778
|
index
|
|
@@ -13516,40 +13781,40 @@ function FaqAccordion({
|
|
|
13516
13781
|
}
|
|
13517
13782
|
|
|
13518
13783
|
// src/components/page-blocks.tsx
|
|
13519
|
-
import { cn as
|
|
13784
|
+
import { cn as cn10 } from "@reblu/site-ui/utils";
|
|
13520
13785
|
import { buttonVariants as buttonVariants2 } from "@reblu/site-ui/button-variants";
|
|
13521
|
-
import { jsx as
|
|
13786
|
+
import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
13522
13787
|
var ALIASES = {
|
|
13523
13788
|
doctor_embed: "profile_embed",
|
|
13524
13789
|
specialty_embed: "page_embed"
|
|
13525
13790
|
};
|
|
13526
13791
|
function HeroBlock({ block, headingLevel }) {
|
|
13527
13792
|
const { title, subtitle, imageUrl } = block.data;
|
|
13528
|
-
return /* @__PURE__ */
|
|
13529
|
-
/* @__PURE__ */
|
|
13530
|
-
subtitle && /* @__PURE__ */
|
|
13531
|
-
imageUrl && /* @__PURE__ */
|
|
13793
|
+
return /* @__PURE__ */ jsxs9("div", { className: "space-y-4", children: [
|
|
13794
|
+
/* @__PURE__ */ jsx11(Heading, { level: headingLevel, className: "text-3xl font-bold tracking-tight md:text-4xl", children: title }),
|
|
13795
|
+
subtitle && /* @__PURE__ */ jsx11("p", { className: "text-lg opacity-80", children: subtitle }),
|
|
13796
|
+
imageUrl && /* @__PURE__ */ jsx11("div", { className: "relative aspect-[21/9] w-full overflow-hidden rounded-xl bg-muted", children: /* @__PURE__ */ jsx11("img", { src: imageUrl, alt: "", loading: "lazy", className: "h-full w-full object-cover" }) })
|
|
13532
13797
|
] });
|
|
13533
13798
|
}
|
|
13534
13799
|
function RichtextBlock({ block, headingLevel }) {
|
|
13535
|
-
return /* @__PURE__ */
|
|
13800
|
+
return /* @__PURE__ */ jsx11(SafeHtml, { html: sanitizeHtml(block.data.html), headingOffset: headingLevel - 1 });
|
|
13536
13801
|
}
|
|
13537
13802
|
function FaqBlock({ block }) {
|
|
13538
|
-
return /* @__PURE__ */
|
|
13803
|
+
return /* @__PURE__ */ jsx11(FaqAccordion, { items: block.data.items });
|
|
13539
13804
|
}
|
|
13540
13805
|
function StatsBlock({ block }) {
|
|
13541
|
-
return /* @__PURE__ */
|
|
13542
|
-
/* @__PURE__ */
|
|
13543
|
-
/* @__PURE__ */
|
|
13806
|
+
return /* @__PURE__ */ jsx11("dl", { className: "grid gap-6 sm:grid-cols-2 lg:grid-cols-4", children: block.data.items.map((item, i) => /* @__PURE__ */ jsxs9("div", { className: "flex flex-col-reverse gap-1", children: [
|
|
13807
|
+
/* @__PURE__ */ jsx11("dt", { className: "text-sm opacity-80", children: item.label }),
|
|
13808
|
+
/* @__PURE__ */ jsx11("dd", { className: "text-3xl font-bold", children: item.value })
|
|
13544
13809
|
] }, i)) });
|
|
13545
13810
|
}
|
|
13546
13811
|
function TestimonialBlock({ block }) {
|
|
13547
13812
|
const { quote, author, role, avatarUrl } = block.data;
|
|
13548
|
-
return /* @__PURE__ */
|
|
13549
|
-
/* @__PURE__ */
|
|
13550
|
-
/* @__PURE__ */
|
|
13813
|
+
return /* @__PURE__ */ jsxs9("figure", { className: "space-y-4", children: [
|
|
13814
|
+
/* @__PURE__ */ jsx11("blockquote", { className: "text-xl italic", children: /* @__PURE__ */ jsx11("p", { children: quote }) }),
|
|
13815
|
+
/* @__PURE__ */ jsxs9("figcaption", { className: "flex items-center gap-3", children: [
|
|
13551
13816
|
avatarUrl && // eslint-disable-next-line @next/next/no-img-element
|
|
13552
|
-
/* @__PURE__ */
|
|
13817
|
+
/* @__PURE__ */ jsx11(
|
|
13553
13818
|
"img",
|
|
13554
13819
|
{
|
|
13555
13820
|
src: avatarUrl,
|
|
@@ -13558,9 +13823,9 @@ function TestimonialBlock({ block }) {
|
|
|
13558
13823
|
className: "h-10 w-10 rounded-full object-cover"
|
|
13559
13824
|
}
|
|
13560
13825
|
),
|
|
13561
|
-
/* @__PURE__ */
|
|
13562
|
-
/* @__PURE__ */
|
|
13563
|
-
role && /* @__PURE__ */
|
|
13826
|
+
/* @__PURE__ */ jsxs9("span", { children: [
|
|
13827
|
+
/* @__PURE__ */ jsx11("span", { className: "font-semibold", children: author }),
|
|
13828
|
+
role && /* @__PURE__ */ jsx11("span", { className: "block text-sm opacity-80", children: role })
|
|
13564
13829
|
] })
|
|
13565
13830
|
] })
|
|
13566
13831
|
] });
|
|
@@ -13569,19 +13834,19 @@ function CtaSlotBlock(_props) {
|
|
|
13569
13834
|
return null;
|
|
13570
13835
|
}
|
|
13571
13836
|
function FeatureListBlock({ block }) {
|
|
13572
|
-
return /* @__PURE__ */
|
|
13837
|
+
return /* @__PURE__ */ jsx11("ul", { className: "grid list-disc gap-2 pl-5 sm:grid-cols-2", children: block.data.items.map((item, i) => /* @__PURE__ */ jsx11("li", { children: item.text }, i)) });
|
|
13573
13838
|
}
|
|
13574
13839
|
function GalleryBlock({ block }) {
|
|
13575
13840
|
const { images } = block.data;
|
|
13576
|
-
return /* @__PURE__ */
|
|
13841
|
+
return /* @__PURE__ */ jsx11(
|
|
13577
13842
|
"div",
|
|
13578
13843
|
{
|
|
13579
|
-
className:
|
|
13844
|
+
className: cn10(
|
|
13580
13845
|
"grid gap-4",
|
|
13581
13846
|
images.length > 1 ? "sm:grid-cols-2 lg:grid-cols-3" : "grid-cols-1"
|
|
13582
13847
|
),
|
|
13583
|
-
children: images.map((img, i) => /* @__PURE__ */
|
|
13584
|
-
/* @__PURE__ */
|
|
13848
|
+
children: images.map((img, i) => /* @__PURE__ */ jsxs9("figure", { className: "space-y-1", children: [
|
|
13849
|
+
/* @__PURE__ */ jsx11("div", { className: "relative aspect-video w-full overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx11(
|
|
13585
13850
|
"img",
|
|
13586
13851
|
{
|
|
13587
13852
|
src: img.url,
|
|
@@ -13590,7 +13855,7 @@ function GalleryBlock({ block }) {
|
|
|
13590
13855
|
className: "h-full w-full object-cover"
|
|
13591
13856
|
}
|
|
13592
13857
|
) }),
|
|
13593
|
-
img.caption && /* @__PURE__ */
|
|
13858
|
+
img.caption && /* @__PURE__ */ jsx11("figcaption", { className: "text-sm opacity-80", children: img.caption })
|
|
13594
13859
|
] }, `${img.url}-${i}`))
|
|
13595
13860
|
}
|
|
13596
13861
|
);
|
|
@@ -13600,13 +13865,13 @@ function EmbedCard({
|
|
|
13600
13865
|
headingLevel,
|
|
13601
13866
|
embedHref
|
|
13602
13867
|
}) {
|
|
13603
|
-
return /* @__PURE__ */
|
|
13868
|
+
return /* @__PURE__ */ jsxs9(
|
|
13604
13869
|
"a",
|
|
13605
13870
|
{
|
|
13606
13871
|
href: embedHref(resolved),
|
|
13607
13872
|
className: "group block overflow-hidden rounded-xl border border-border bg-card text-card-foreground transition-shadow hover:shadow-md focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",
|
|
13608
13873
|
children: [
|
|
13609
|
-
resolved.coverImageUrl && /* @__PURE__ */
|
|
13874
|
+
resolved.coverImageUrl && /* @__PURE__ */ jsx11("div", { className: "aspect-video w-full overflow-hidden bg-muted", children: /* @__PURE__ */ jsx11(
|
|
13610
13875
|
"img",
|
|
13611
13876
|
{
|
|
13612
13877
|
src: resolved.coverImageUrl,
|
|
@@ -13615,24 +13880,24 @@ function EmbedCard({
|
|
|
13615
13880
|
className: "h-full w-full object-cover"
|
|
13616
13881
|
}
|
|
13617
13882
|
) }),
|
|
13618
|
-
/* @__PURE__ */
|
|
13619
|
-
/* @__PURE__ */
|
|
13620
|
-
resolved.role && /* @__PURE__ */
|
|
13621
|
-
resolved.excerpt && /* @__PURE__ */
|
|
13883
|
+
/* @__PURE__ */ jsxs9("div", { className: "space-y-1 p-4", children: [
|
|
13884
|
+
/* @__PURE__ */ jsx11(Heading, { level: headingLevel, className: "text-lg font-semibold", children: resolved.title }),
|
|
13885
|
+
resolved.role && /* @__PURE__ */ jsx11("p", { className: "text-sm text-muted-foreground", children: resolved.role }),
|
|
13886
|
+
resolved.excerpt && /* @__PURE__ */ jsx11("p", { className: "text-muted-foreground", children: resolved.excerpt })
|
|
13622
13887
|
] })
|
|
13623
13888
|
]
|
|
13624
13889
|
}
|
|
13625
13890
|
);
|
|
13626
13891
|
}
|
|
13627
13892
|
function PageEmbedBlock({ block, headingLevel, embedHref }) {
|
|
13628
|
-
return /* @__PURE__ */
|
|
13893
|
+
return /* @__PURE__ */ jsx11(EmbedCard, { resolved: block.resolved, headingLevel, embedHref });
|
|
13629
13894
|
}
|
|
13630
13895
|
function ProfileEmbedBlock({
|
|
13631
13896
|
block,
|
|
13632
13897
|
headingLevel,
|
|
13633
13898
|
embedHref
|
|
13634
13899
|
}) {
|
|
13635
|
-
return /* @__PURE__ */
|
|
13900
|
+
return /* @__PURE__ */ jsx11(EmbedCard, { resolved: block.resolved, headingLevel, embedHref });
|
|
13636
13901
|
}
|
|
13637
13902
|
var DEFAULT_RENDERERS = {
|
|
13638
13903
|
hero: HeroBlock,
|
|
@@ -13689,14 +13954,14 @@ function toIdFragment(value) {
|
|
|
13689
13954
|
function SectionCta2({ cta }) {
|
|
13690
13955
|
if (!hasUsableCta(cta)) return null;
|
|
13691
13956
|
const variant = toButtonVariant(cta.variant);
|
|
13692
|
-
return /* @__PURE__ */
|
|
13957
|
+
return /* @__PURE__ */ jsx11("div", { className: "pt-2", children: /* @__PURE__ */ jsx11(
|
|
13693
13958
|
"a",
|
|
13694
13959
|
{
|
|
13695
13960
|
href: cta.url,
|
|
13696
13961
|
"data-slot": "button",
|
|
13697
13962
|
"data-variant": variant,
|
|
13698
13963
|
"data-size": "default",
|
|
13699
|
-
className:
|
|
13964
|
+
className: cn10(buttonVariants2({ variant, size: "default" })),
|
|
13700
13965
|
...cta.isExternal ? { target: "_blank", rel: "noopener noreferrer" } : {},
|
|
13701
13966
|
children: cta.label
|
|
13702
13967
|
}
|
|
@@ -13722,17 +13987,17 @@ function PageBlocks({
|
|
|
13722
13987
|
const headingId = block.heading ? `${safePrefix}-${toIdFragment(block.id)}-heading` : void 0;
|
|
13723
13988
|
const background = block.backgroundColor;
|
|
13724
13989
|
return [
|
|
13725
|
-
/* @__PURE__ */
|
|
13990
|
+
/* @__PURE__ */ jsxs9(
|
|
13726
13991
|
"section",
|
|
13727
13992
|
{
|
|
13728
13993
|
"data-slot": "page-block",
|
|
13729
13994
|
"data-block-type": type,
|
|
13730
13995
|
"aria-labelledby": headingId,
|
|
13731
13996
|
style: surfaceStyle(background),
|
|
13732
|
-
className:
|
|
13997
|
+
className: cn10("space-y-6", background && "rounded-xl px-6 py-10", sectionClassName),
|
|
13733
13998
|
children: [
|
|
13734
|
-
block.heading && /* @__PURE__ */
|
|
13735
|
-
/* @__PURE__ */
|
|
13999
|
+
block.heading && /* @__PURE__ */ jsx11(Heading, { level: headingLevel, className: "text-2xl font-bold tracking-tight", children: /* @__PURE__ */ jsx11("span", { id: headingId, children: block.heading }) }),
|
|
14000
|
+
/* @__PURE__ */ jsx11(
|
|
13736
14001
|
Renderer,
|
|
13737
14002
|
{
|
|
13738
14003
|
block,
|
|
@@ -13740,7 +14005,7 @@ function PageBlocks({
|
|
|
13740
14005
|
embedHref
|
|
13741
14006
|
}
|
|
13742
14007
|
),
|
|
13743
|
-
/* @__PURE__ */
|
|
14008
|
+
/* @__PURE__ */ jsx11(SectionCta2, { cta: block.cta })
|
|
13744
14009
|
]
|
|
13745
14010
|
},
|
|
13746
14011
|
block.id
|
|
@@ -13748,12 +14013,12 @@ function PageBlocks({
|
|
|
13748
14013
|
];
|
|
13749
14014
|
});
|
|
13750
14015
|
if (sections.length === 0) return null;
|
|
13751
|
-
return /* @__PURE__ */
|
|
14016
|
+
return /* @__PURE__ */ jsx11("div", { className: cn10("space-y-12", className), "data-slot": "page-blocks", children: sections });
|
|
13752
14017
|
}
|
|
13753
14018
|
|
|
13754
14019
|
// src/components/shop-filters.tsx
|
|
13755
|
-
import { cn as
|
|
13756
|
-
import { jsx as
|
|
14020
|
+
import { cn as cn11 } from "@reblu/site-ui/utils";
|
|
14021
|
+
import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
13757
14022
|
var DEFAULT_SHOP_PRICE_BANDS = [
|
|
13758
14023
|
{ max: 2500 },
|
|
13759
14024
|
{ min: 2500, max: 5e3 },
|
|
@@ -13797,7 +14062,7 @@ function priceBandLabel(band, t, currencyCode, locale) {
|
|
|
13797
14062
|
return "";
|
|
13798
14063
|
}
|
|
13799
14064
|
function OptionLink({ href, active, label, onActivate }) {
|
|
13800
|
-
return /* @__PURE__ */
|
|
14065
|
+
return /* @__PURE__ */ jsx12(
|
|
13801
14066
|
"a",
|
|
13802
14067
|
{
|
|
13803
14068
|
href,
|
|
@@ -13806,7 +14071,7 @@ function OptionLink({ href, active, label, onActivate }) {
|
|
|
13806
14071
|
event.preventDefault();
|
|
13807
14072
|
onActivate();
|
|
13808
14073
|
} : void 0,
|
|
13809
|
-
className:
|
|
14074
|
+
className: cn11(
|
|
13810
14075
|
"inline-flex items-center rounded-full border px-3 py-1 text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
13811
14076
|
active ? "border-transparent bg-primary text-primary-foreground" : "border-border text-muted-foreground hover:bg-muted hover:text-foreground"
|
|
13812
14077
|
),
|
|
@@ -13815,9 +14080,9 @@ function OptionLink({ href, active, label, onActivate }) {
|
|
|
13815
14080
|
);
|
|
13816
14081
|
}
|
|
13817
14082
|
function FilterFieldset({ legend, children: children2 }) {
|
|
13818
|
-
return /* @__PURE__ */
|
|
13819
|
-
/* @__PURE__ */
|
|
13820
|
-
/* @__PURE__ */
|
|
14083
|
+
return /* @__PURE__ */ jsxs10("fieldset", { className: "space-y-2", children: [
|
|
14084
|
+
/* @__PURE__ */ jsx12("legend", { className: "text-sm font-medium text-foreground", children: legend }),
|
|
14085
|
+
/* @__PURE__ */ jsx12("div", { className: "flex flex-wrap gap-2", children: children2 })
|
|
13821
14086
|
] });
|
|
13822
14087
|
}
|
|
13823
14088
|
function ShopFilters({
|
|
@@ -13840,11 +14105,11 @@ function ShopFilters({
|
|
|
13840
14105
|
if (!shouldRenderShopFilters(facets, active)) {
|
|
13841
14106
|
return null;
|
|
13842
14107
|
}
|
|
13843
|
-
return /* @__PURE__ */
|
|
14108
|
+
return /* @__PURE__ */ jsxs10("div", { className: cn11("space-y-6", className), "data-slot": "shop-filters", children: [
|
|
13844
14109
|
visibleTaxonomies.map((axis) => {
|
|
13845
14110
|
const activeSlug = active.taxonomy?.[axis.key];
|
|
13846
|
-
return /* @__PURE__ */
|
|
13847
|
-
/* @__PURE__ */
|
|
14111
|
+
return /* @__PURE__ */ jsxs10(FilterFieldset, { legend: axis.label, children: [
|
|
14112
|
+
/* @__PURE__ */ jsx12(
|
|
13848
14113
|
OptionLink,
|
|
13849
14114
|
{
|
|
13850
14115
|
href: hrefs.taxonomy(axis.key, void 0),
|
|
@@ -13859,7 +14124,7 @@ function ShopFilters({
|
|
|
13859
14124
|
),
|
|
13860
14125
|
axis.terms.map((term) => {
|
|
13861
14126
|
const isActive = activeSlug === term.slug;
|
|
13862
|
-
return /* @__PURE__ */
|
|
14127
|
+
return /* @__PURE__ */ jsx12(
|
|
13863
14128
|
OptionLink,
|
|
13864
14129
|
{
|
|
13865
14130
|
href: hrefs.taxonomy(axis.key, isActive ? void 0 : term.slug),
|
|
@@ -13879,9 +14144,9 @@ function ShopFilters({
|
|
|
13879
14144
|
}),
|
|
13880
14145
|
visibleAttributes.map((attr) => {
|
|
13881
14146
|
const activeValues = toValueArray(active.attr?.[attr.key]);
|
|
13882
|
-
return /* @__PURE__ */
|
|
14147
|
+
return /* @__PURE__ */ jsx12(FilterFieldset, { legend: attr.label, children: attr.options.map((opt) => {
|
|
13883
14148
|
const isActive = activeValues.includes(opt.value);
|
|
13884
|
-
return /* @__PURE__ */
|
|
14149
|
+
return /* @__PURE__ */ jsx12(
|
|
13885
14150
|
OptionLink,
|
|
13886
14151
|
{
|
|
13887
14152
|
href: hrefs.attr(attr.key, opt.value),
|
|
@@ -13899,11 +14164,11 @@ function ShopFilters({
|
|
|
13899
14164
|
);
|
|
13900
14165
|
}) }, attr.key);
|
|
13901
14166
|
}),
|
|
13902
|
-
showPriceGroup && /* @__PURE__ */
|
|
14167
|
+
showPriceGroup && /* @__PURE__ */ jsx12(FilterFieldset, { legend: t.price, children: priceBands.map((band, i) => {
|
|
13903
14168
|
const isActive = active.priceMin === band.min && active.priceMax === band.max;
|
|
13904
14169
|
const nextMin = isActive ? void 0 : band.min;
|
|
13905
14170
|
const nextMax = isActive ? void 0 : band.max;
|
|
13906
|
-
return /* @__PURE__ */
|
|
14171
|
+
return /* @__PURE__ */ jsx12(
|
|
13907
14172
|
OptionLink,
|
|
13908
14173
|
{
|
|
13909
14174
|
href: hrefs.price(nextMin, nextMax),
|
|
@@ -13914,7 +14179,7 @@ function ShopFilters({
|
|
|
13914
14179
|
i
|
|
13915
14180
|
);
|
|
13916
14181
|
}) }),
|
|
13917
|
-
hasOnSale && /* @__PURE__ */
|
|
14182
|
+
hasOnSale && /* @__PURE__ */ jsx12(
|
|
13918
14183
|
OptionLink,
|
|
13919
14184
|
{
|
|
13920
14185
|
href: hrefs.onSale(!active.onSale),
|
|
@@ -13923,7 +14188,7 @@ function ShopFilters({
|
|
|
13923
14188
|
onActivate: onChange ? () => onChange({ onSale: !active.onSale }) : void 0
|
|
13924
14189
|
}
|
|
13925
14190
|
),
|
|
13926
|
-
/* @__PURE__ */
|
|
14191
|
+
/* @__PURE__ */ jsx12(
|
|
13927
14192
|
"a",
|
|
13928
14193
|
{
|
|
13929
14194
|
href: hrefs.clearAll(),
|
|
@@ -13939,8 +14204,8 @@ function ShopFilters({
|
|
|
13939
14204
|
}
|
|
13940
14205
|
|
|
13941
14206
|
// src/components/cart-line-list.tsx
|
|
13942
|
-
import { cn as
|
|
13943
|
-
import { jsx as
|
|
14207
|
+
import { cn as cn12 } from "@reblu/site-ui/utils";
|
|
14208
|
+
import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
13944
14209
|
var DEFAULT_LABELS2 = {
|
|
13945
14210
|
quantityLabel: "Cantidad",
|
|
13946
14211
|
decrease: "Reducir cantidad",
|
|
@@ -13965,9 +14230,9 @@ function CartLineList({
|
|
|
13965
14230
|
}) {
|
|
13966
14231
|
const t = { ...DEFAULT_LABELS2, ...labels };
|
|
13967
14232
|
const noticeContent = notice === true ? t.cancelledNotice : notice;
|
|
13968
|
-
return /* @__PURE__ */
|
|
13969
|
-
/* @__PURE__ */
|
|
13970
|
-
noticeContent != null && noticeContent !== false && /* @__PURE__ */
|
|
14233
|
+
return /* @__PURE__ */ jsxs11("div", { className: cn12("space-y-4", className), "data-slot": "cart-line-list", children: [
|
|
14234
|
+
/* @__PURE__ */ jsx13("div", { "aria-live": "polite", className: "sr-only", children: liveMessage }),
|
|
14235
|
+
noticeContent != null && noticeContent !== false && /* @__PURE__ */ jsx13(
|
|
13971
14236
|
"div",
|
|
13972
14237
|
{
|
|
13973
14238
|
role: "status",
|
|
@@ -13976,32 +14241,32 @@ function CartLineList({
|
|
|
13976
14241
|
children: noticeContent
|
|
13977
14242
|
}
|
|
13978
14243
|
),
|
|
13979
|
-
/* @__PURE__ */
|
|
14244
|
+
/* @__PURE__ */ jsx13("ul", { className: "space-y-4", children: items.map((item) => {
|
|
13980
14245
|
const maxQty = item.maxStock ?? Infinity;
|
|
13981
14246
|
const atMax = item.quantity >= maxQty;
|
|
13982
14247
|
const atMin = item.quantity <= 1;
|
|
13983
|
-
return /* @__PURE__ */
|
|
14248
|
+
return /* @__PURE__ */ jsxs11(
|
|
13984
14249
|
"li",
|
|
13985
14250
|
{
|
|
13986
14251
|
className: "flex gap-4 rounded-xl border border-border bg-card p-4",
|
|
13987
14252
|
children: [
|
|
13988
|
-
/* @__PURE__ */
|
|
13989
|
-
/* @__PURE__ */
|
|
13990
|
-
/* @__PURE__ */
|
|
13991
|
-
item.variantName && /* @__PURE__ */
|
|
13992
|
-
/* @__PURE__ */
|
|
14253
|
+
/* @__PURE__ */ jsx13("div", { className: "h-20 w-20 flex-shrink-0 overflow-hidden rounded-lg bg-muted", children: item.imageUrl ? /* @__PURE__ */ jsx13("img", { src: item.imageUrl, alt: item.name, className: "h-full w-full object-cover" }) : null }),
|
|
14254
|
+
/* @__PURE__ */ jsxs11("div", { className: "min-w-0 flex-1", children: [
|
|
14255
|
+
/* @__PURE__ */ jsx13("p", { className: "truncate text-sm font-semibold leading-tight", children: item.name }),
|
|
14256
|
+
item.variantName && /* @__PURE__ */ jsx13("p", { className: "mt-0.5 text-xs text-muted-foreground", children: item.variantName }),
|
|
14257
|
+
/* @__PURE__ */ jsxs11("p", { className: "mt-1 text-sm text-muted-foreground", children: [
|
|
13993
14258
|
formatPrice(item.unitPrice, currencyCode, locale),
|
|
13994
14259
|
" ",
|
|
13995
14260
|
t.unitPriceSuffix
|
|
13996
14261
|
] }),
|
|
13997
|
-
/* @__PURE__ */
|
|
14262
|
+
/* @__PURE__ */ jsxs11(
|
|
13998
14263
|
"div",
|
|
13999
14264
|
{
|
|
14000
14265
|
role: "group",
|
|
14001
14266
|
"aria-label": t.quantityLabel,
|
|
14002
14267
|
className: "mt-3 flex items-center gap-3",
|
|
14003
14268
|
children: [
|
|
14004
|
-
/* @__PURE__ */
|
|
14269
|
+
/* @__PURE__ */ jsx13(
|
|
14005
14270
|
"button",
|
|
14006
14271
|
{
|
|
14007
14272
|
type: "button",
|
|
@@ -14012,8 +14277,8 @@ function CartLineList({
|
|
|
14012
14277
|
children: "\u2212"
|
|
14013
14278
|
}
|
|
14014
14279
|
),
|
|
14015
|
-
/* @__PURE__ */
|
|
14016
|
-
/* @__PURE__ */
|
|
14280
|
+
/* @__PURE__ */ jsx13("span", { className: "w-8 text-center text-sm font-semibold tabular-nums", children: item.quantity }),
|
|
14281
|
+
/* @__PURE__ */ jsx13(
|
|
14017
14282
|
"button",
|
|
14018
14283
|
{
|
|
14019
14284
|
type: "button",
|
|
@@ -14024,7 +14289,7 @@ function CartLineList({
|
|
|
14024
14289
|
children: "+"
|
|
14025
14290
|
}
|
|
14026
14291
|
),
|
|
14027
|
-
onRemove && /* @__PURE__ */
|
|
14292
|
+
onRemove && /* @__PURE__ */ jsx13(
|
|
14028
14293
|
"button",
|
|
14029
14294
|
{
|
|
14030
14295
|
type: "button",
|
|
@@ -14038,7 +14303,7 @@ function CartLineList({
|
|
|
14038
14303
|
}
|
|
14039
14304
|
)
|
|
14040
14305
|
] }),
|
|
14041
|
-
/* @__PURE__ */
|
|
14306
|
+
/* @__PURE__ */ jsx13("div", { className: "flex-shrink-0 text-right", children: /* @__PURE__ */ jsx13("p", { className: "text-base font-bold", children: formatPrice(item.unitPrice * item.quantity, currencyCode, locale) }) })
|
|
14042
14307
|
]
|
|
14043
14308
|
},
|
|
14044
14309
|
lineKey(item.productId, item.variantId)
|
|
@@ -14048,8 +14313,8 @@ function CartLineList({
|
|
|
14048
14313
|
}
|
|
14049
14314
|
|
|
14050
14315
|
// src/components/cart-summary.tsx
|
|
14051
|
-
import { cn as
|
|
14052
|
-
import { jsx as
|
|
14316
|
+
import { cn as cn13 } from "@reblu/site-ui/utils";
|
|
14317
|
+
import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
14053
14318
|
var DEFAULT_LABELS3 = {
|
|
14054
14319
|
subtotal: "Subtotal",
|
|
14055
14320
|
discountPrefix: "Descuento",
|
|
@@ -14076,40 +14341,40 @@ function CartSummary({
|
|
|
14076
14341
|
const hasDiscount = Boolean(discount && discount > 0);
|
|
14077
14342
|
const noticeContent = notice === true ? t.cancelledNotice : notice;
|
|
14078
14343
|
const hasNotice = noticeContent != null && noticeContent !== false;
|
|
14079
|
-
const breakdown = /* @__PURE__ */
|
|
14344
|
+
const breakdown = /* @__PURE__ */ jsxs12(
|
|
14080
14345
|
"dl",
|
|
14081
14346
|
{
|
|
14082
|
-
className:
|
|
14347
|
+
className: cn13("space-y-2 text-sm", !hasNotice && className),
|
|
14083
14348
|
"data-slot": "cart-summary",
|
|
14084
14349
|
children: [
|
|
14085
|
-
/* @__PURE__ */
|
|
14086
|
-
/* @__PURE__ */
|
|
14087
|
-
/* @__PURE__ */
|
|
14350
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex justify-between text-muted-foreground", children: [
|
|
14351
|
+
/* @__PURE__ */ jsx14("dt", { children: t.subtotal }),
|
|
14352
|
+
/* @__PURE__ */ jsx14("dd", { children: formatPrice(subtotal, currencyCode, locale) })
|
|
14088
14353
|
] }),
|
|
14089
|
-
hasDiscount && /* @__PURE__ */
|
|
14090
|
-
/* @__PURE__ */
|
|
14354
|
+
hasDiscount && /* @__PURE__ */ jsxs12("div", { className: "flex justify-between text-green-600 dark:text-green-400", children: [
|
|
14355
|
+
/* @__PURE__ */ jsxs12("dt", { children: [
|
|
14091
14356
|
t.discountPrefix,
|
|
14092
14357
|
discountCode ? ` (${discountCode})` : ""
|
|
14093
14358
|
] }),
|
|
14094
|
-
/* @__PURE__ */
|
|
14359
|
+
/* @__PURE__ */ jsxs12("dd", { children: [
|
|
14095
14360
|
"-",
|
|
14096
14361
|
formatPrice(discount, currencyCode, locale)
|
|
14097
14362
|
] })
|
|
14098
14363
|
] }),
|
|
14099
|
-
shippingEnabled && /* @__PURE__ */
|
|
14100
|
-
/* @__PURE__ */
|
|
14101
|
-
/* @__PURE__ */
|
|
14364
|
+
shippingEnabled && /* @__PURE__ */ jsxs12("div", { className: "flex justify-between text-muted-foreground", children: [
|
|
14365
|
+
/* @__PURE__ */ jsx14("dt", { children: t.shipping }),
|
|
14366
|
+
/* @__PURE__ */ jsx14("dd", { children: shipping == null || !Number.isFinite(shipping) ? t.shippingCalculated : shipping === 0 ? t.freeShipping : formatPrice(shipping, currencyCode, locale) })
|
|
14102
14367
|
] }),
|
|
14103
|
-
/* @__PURE__ */
|
|
14104
|
-
/* @__PURE__ */
|
|
14105
|
-
/* @__PURE__ */
|
|
14368
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex justify-between border-t border-border pt-2 text-base font-bold", children: [
|
|
14369
|
+
/* @__PURE__ */ jsx14("dt", { children: t.total }),
|
|
14370
|
+
/* @__PURE__ */ jsx14("dd", { children: formatPrice(total, currencyCode, locale) })
|
|
14106
14371
|
] })
|
|
14107
14372
|
]
|
|
14108
14373
|
}
|
|
14109
14374
|
);
|
|
14110
14375
|
if (!hasNotice) return breakdown;
|
|
14111
|
-
return /* @__PURE__ */
|
|
14112
|
-
/* @__PURE__ */
|
|
14376
|
+
return /* @__PURE__ */ jsxs12("div", { className: cn13("space-y-3", className), "data-slot": "cart-summary-wrapper", children: [
|
|
14377
|
+
/* @__PURE__ */ jsx14(
|
|
14113
14378
|
"div",
|
|
14114
14379
|
{
|
|
14115
14380
|
role: "status",
|
|
@@ -14123,8 +14388,8 @@ function CartSummary({
|
|
|
14123
14388
|
}
|
|
14124
14389
|
|
|
14125
14390
|
// src/components/added-to-cart-toast.tsx
|
|
14126
|
-
import { cn as
|
|
14127
|
-
import { jsx as
|
|
14391
|
+
import { cn as cn14 } from "@reblu/site-ui/utils";
|
|
14392
|
+
import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
14128
14393
|
var DEFAULT_LABELS4 = {
|
|
14129
14394
|
success: "A\xF1adido al carrito",
|
|
14130
14395
|
error: "No se pudo a\xF1adir al carrito",
|
|
@@ -14144,12 +14409,12 @@ function AddedToCartToast({
|
|
|
14144
14409
|
const message = status === "error" ? t.error : status === "outOfStock" ? t.outOfStock : t.success;
|
|
14145
14410
|
const hasThumbnail = Boolean(imageUrl && imageUrl.trim().length > 0);
|
|
14146
14411
|
const variant = status === "success" ? "success" : "error";
|
|
14147
|
-
return /* @__PURE__ */
|
|
14412
|
+
return /* @__PURE__ */ jsxs13(
|
|
14148
14413
|
"div",
|
|
14149
14414
|
{
|
|
14150
14415
|
"data-slot": "added-to-cart-toast",
|
|
14151
14416
|
"data-variant": variant,
|
|
14152
|
-
className:
|
|
14417
|
+
className: cn14(
|
|
14153
14418
|
"flex items-center gap-3 rounded-xl border border-border bg-card p-3 text-sm shadow-lg",
|
|
14154
14419
|
variant === "success" && "border-green-600/30 dark:border-green-400/30",
|
|
14155
14420
|
variant === "error" && "border-destructive/30",
|
|
@@ -14157,20 +14422,20 @@ function AddedToCartToast({
|
|
|
14157
14422
|
),
|
|
14158
14423
|
children: [
|
|
14159
14424
|
hasThumbnail && // eslint-disable-next-line @next/next/no-img-element -- toast content, not a Next <Image> layout context
|
|
14160
|
-
/* @__PURE__ */
|
|
14161
|
-
/* @__PURE__ */
|
|
14162
|
-
/* @__PURE__ */
|
|
14163
|
-
/* @__PURE__ */
|
|
14425
|
+
/* @__PURE__ */ jsx15("img", { src: imageUrl, alt: productName, className: "h-10 w-10 flex-shrink-0 rounded-lg object-cover" }),
|
|
14426
|
+
/* @__PURE__ */ jsxs13("div", { className: "min-w-0 flex-1", children: [
|
|
14427
|
+
/* @__PURE__ */ jsx15("p", { className: "truncate font-semibold text-foreground", children: productName }),
|
|
14428
|
+
/* @__PURE__ */ jsx15("p", { className: "truncate text-muted-foreground", children: quantity && quantity > 1 ? `${message} \xB7 x${quantity}` : message })
|
|
14164
14429
|
] }),
|
|
14165
|
-
/* @__PURE__ */
|
|
14430
|
+
/* @__PURE__ */ jsx15("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx15("a", { href: cartHref, className: "text-sm font-semibold text-primary underline-offset-2 hover:underline", children: t.viewCart }) })
|
|
14166
14431
|
]
|
|
14167
14432
|
}
|
|
14168
14433
|
);
|
|
14169
14434
|
}
|
|
14170
14435
|
|
|
14171
14436
|
// src/components/checkout-login-prompt.tsx
|
|
14172
|
-
import { cn as
|
|
14173
|
-
import { Fragment as Fragment3, jsx as
|
|
14437
|
+
import { cn as cn15 } from "@reblu/site-ui/utils";
|
|
14438
|
+
import { Fragment as Fragment3, jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
14174
14439
|
var DEFAULT_LABELS5 = {
|
|
14175
14440
|
title: "Identificaci\xF3n",
|
|
14176
14441
|
description: "Introduce tu email para agilizar el proceso o contin\xFAa como invitado.",
|
|
@@ -14197,26 +14462,26 @@ function CheckoutLoginPrompt({
|
|
|
14197
14462
|
if (!open) return null;
|
|
14198
14463
|
const t = { ...DEFAULT_LABELS5, ...labels };
|
|
14199
14464
|
const isValidEmail = EMAIL_PATTERN.test(email.trim());
|
|
14200
|
-
return /* @__PURE__ */
|
|
14201
|
-
/* @__PURE__ */
|
|
14202
|
-
/* @__PURE__ */
|
|
14465
|
+
return /* @__PURE__ */ jsxs14(Fragment3, { children: [
|
|
14466
|
+
/* @__PURE__ */ jsx16("div", { className: "fixed inset-0 z-50 bg-black/50", onClick: onClose, "aria-hidden": "true" }),
|
|
14467
|
+
/* @__PURE__ */ jsxs14(
|
|
14203
14468
|
"div",
|
|
14204
14469
|
{
|
|
14205
14470
|
role: "dialog",
|
|
14206
14471
|
"aria-modal": "true",
|
|
14207
14472
|
"aria-labelledby": "checkout-login-prompt-title",
|
|
14208
14473
|
"data-slot": "checkout-login-prompt",
|
|
14209
|
-
className:
|
|
14474
|
+
className: cn15(
|
|
14210
14475
|
"fixed left-1/2 top-1/2 z-50 w-full max-w-md -translate-x-1/2 -translate-y-1/2 space-y-5 rounded-2xl border border-border bg-background p-6 shadow-2xl",
|
|
14211
14476
|
className
|
|
14212
14477
|
),
|
|
14213
14478
|
children: [
|
|
14214
|
-
/* @__PURE__ */
|
|
14215
|
-
/* @__PURE__ */
|
|
14216
|
-
/* @__PURE__ */
|
|
14217
|
-
/* @__PURE__ */
|
|
14479
|
+
/* @__PURE__ */ jsxs14("div", { className: "flex items-start justify-between gap-3", children: [
|
|
14480
|
+
/* @__PURE__ */ jsxs14("div", { children: [
|
|
14481
|
+
/* @__PURE__ */ jsx16("h2", { id: "checkout-login-prompt-title", className: "text-xl font-bold", children: t.title }),
|
|
14482
|
+
/* @__PURE__ */ jsx16("p", { className: "mt-1 text-sm text-muted-foreground", children: t.description })
|
|
14218
14483
|
] }),
|
|
14219
|
-
/* @__PURE__ */
|
|
14484
|
+
/* @__PURE__ */ jsx16(
|
|
14220
14485
|
"button",
|
|
14221
14486
|
{
|
|
14222
14487
|
type: "button",
|
|
@@ -14227,9 +14492,9 @@ function CheckoutLoginPrompt({
|
|
|
14227
14492
|
}
|
|
14228
14493
|
)
|
|
14229
14494
|
] }),
|
|
14230
|
-
/* @__PURE__ */
|
|
14231
|
-
/* @__PURE__ */
|
|
14232
|
-
/* @__PURE__ */
|
|
14495
|
+
/* @__PURE__ */ jsxs14("div", { className: "space-y-2", children: [
|
|
14496
|
+
/* @__PURE__ */ jsx16("label", { htmlFor: "checkout-login-prompt-email", className: "text-sm font-medium", children: t.emailLabel }),
|
|
14497
|
+
/* @__PURE__ */ jsx16(
|
|
14233
14498
|
"input",
|
|
14234
14499
|
{
|
|
14235
14500
|
id: "checkout-login-prompt-email",
|
|
@@ -14238,29 +14503,29 @@ function CheckoutLoginPrompt({
|
|
|
14238
14503
|
value: email,
|
|
14239
14504
|
onChange: (e) => onEmailChange(e.target.value),
|
|
14240
14505
|
placeholder: t.emailPlaceholder,
|
|
14241
|
-
className:
|
|
14506
|
+
className: cn15(
|
|
14242
14507
|
"w-full rounded-lg border bg-background px-3 py-2 text-sm transition focus:outline-none focus:ring-2 focus:ring-primary/20",
|
|
14243
14508
|
error ? "border-destructive" : "border-border focus:border-primary"
|
|
14244
14509
|
)
|
|
14245
14510
|
}
|
|
14246
14511
|
),
|
|
14247
|
-
error && /* @__PURE__ */
|
|
14512
|
+
error && /* @__PURE__ */ jsx16("p", { className: "text-xs text-destructive", children: error })
|
|
14248
14513
|
] }),
|
|
14249
|
-
/* @__PURE__ */
|
|
14250
|
-
/* @__PURE__ */
|
|
14514
|
+
/* @__PURE__ */ jsxs14("div", { className: "space-y-2", children: [
|
|
14515
|
+
/* @__PURE__ */ jsx16(
|
|
14251
14516
|
"button",
|
|
14252
14517
|
{
|
|
14253
14518
|
type: "button",
|
|
14254
14519
|
onClick: onSubmitEmail,
|
|
14255
14520
|
disabled: checking || !isValidEmail,
|
|
14256
|
-
className:
|
|
14521
|
+
className: cn15(
|
|
14257
14522
|
"flex w-full items-center justify-center gap-2 rounded-xl px-4 py-2.5 text-sm font-semibold transition-all",
|
|
14258
14523
|
checking || !isValidEmail ? "cursor-not-allowed bg-muted text-muted-foreground" : "bg-primary text-primary-foreground hover:bg-primary/90"
|
|
14259
14524
|
),
|
|
14260
14525
|
children: checking ? t.checking : t.continueWithEmail
|
|
14261
14526
|
}
|
|
14262
14527
|
),
|
|
14263
|
-
/* @__PURE__ */
|
|
14528
|
+
/* @__PURE__ */ jsx16(
|
|
14264
14529
|
"button",
|
|
14265
14530
|
{
|
|
14266
14531
|
type: "button",
|
|
@@ -14277,9 +14542,9 @@ function CheckoutLoginPrompt({
|
|
|
14277
14542
|
}
|
|
14278
14543
|
|
|
14279
14544
|
// src/components/checkout-form.tsx
|
|
14280
|
-
import { cn as
|
|
14545
|
+
import { cn as cn16 } from "@reblu/site-ui/utils";
|
|
14281
14546
|
import { PhoneInput } from "@reblu/site-ui/phone-input";
|
|
14282
|
-
import { Fragment as Fragment4, jsx as
|
|
14547
|
+
import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
14283
14548
|
var DEFAULT_LABELS6 = {
|
|
14284
14549
|
contactTitle: "Datos de contacto",
|
|
14285
14550
|
nameLabel: "Nombre completo",
|
|
@@ -14333,22 +14598,22 @@ function CheckoutForm({
|
|
|
14333
14598
|
event.preventDefault();
|
|
14334
14599
|
if (discountCode.trim() && !discountApplying) onApplyDiscount();
|
|
14335
14600
|
}
|
|
14336
|
-
return /* @__PURE__ */
|
|
14601
|
+
return /* @__PURE__ */ jsxs15(Fragment4, { children: [
|
|
14337
14602
|
loginPrompt,
|
|
14338
|
-
/* @__PURE__ */
|
|
14603
|
+
/* @__PURE__ */ jsxs15(
|
|
14339
14604
|
"form",
|
|
14340
14605
|
{
|
|
14341
14606
|
"data-testid": "checkout-form",
|
|
14342
14607
|
onSubmit,
|
|
14343
|
-
className:
|
|
14608
|
+
className: cn16("space-y-8", className),
|
|
14344
14609
|
"data-slot": "checkout-form",
|
|
14345
14610
|
children: [
|
|
14346
|
-
/* @__PURE__ */
|
|
14347
|
-
/* @__PURE__ */
|
|
14348
|
-
/* @__PURE__ */
|
|
14349
|
-
/* @__PURE__ */
|
|
14350
|
-
/* @__PURE__ */
|
|
14351
|
-
/* @__PURE__ */
|
|
14611
|
+
/* @__PURE__ */ jsxs15("section", { className: "space-y-4", children: [
|
|
14612
|
+
/* @__PURE__ */ jsx17("h2", { className: "border-b border-border pb-2 text-lg font-semibold", children: t.contactTitle }),
|
|
14613
|
+
/* @__PURE__ */ jsxs15("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: [
|
|
14614
|
+
/* @__PURE__ */ jsxs15("div", { className: "space-y-1", children: [
|
|
14615
|
+
/* @__PURE__ */ jsx17("label", { htmlFor: "checkout-form-name", className: "text-sm font-medium", children: t.nameLabel }),
|
|
14616
|
+
/* @__PURE__ */ jsx17(
|
|
14352
14617
|
"input",
|
|
14353
14618
|
{
|
|
14354
14619
|
id: "checkout-form-name",
|
|
@@ -14357,17 +14622,17 @@ function CheckoutForm({
|
|
|
14357
14622
|
value: contact.name,
|
|
14358
14623
|
onChange: (e) => patchContact({ name: e.target.value }),
|
|
14359
14624
|
placeholder: t.namePlaceholder,
|
|
14360
|
-
className:
|
|
14625
|
+
className: cn16(
|
|
14361
14626
|
"w-full rounded-lg border bg-background px-3 py-2 text-sm transition focus:outline-none focus:ring-2 focus:ring-primary/20",
|
|
14362
14627
|
contactErrors?.name ? "border-destructive" : "border-border focus:border-primary"
|
|
14363
14628
|
)
|
|
14364
14629
|
}
|
|
14365
14630
|
),
|
|
14366
|
-
contactErrors?.name && /* @__PURE__ */
|
|
14631
|
+
contactErrors?.name && /* @__PURE__ */ jsx17("p", { className: "text-xs text-destructive", children: contactErrors.name })
|
|
14367
14632
|
] }),
|
|
14368
|
-
/* @__PURE__ */
|
|
14369
|
-
/* @__PURE__ */
|
|
14370
|
-
/* @__PURE__ */
|
|
14633
|
+
/* @__PURE__ */ jsxs15("div", { className: "space-y-1", children: [
|
|
14634
|
+
/* @__PURE__ */ jsx17("label", { htmlFor: "checkout-form-email", className: "text-sm font-medium", children: t.emailLabel }),
|
|
14635
|
+
/* @__PURE__ */ jsx17(
|
|
14371
14636
|
"input",
|
|
14372
14637
|
{
|
|
14373
14638
|
id: "checkout-form-email",
|
|
@@ -14376,15 +14641,15 @@ function CheckoutForm({
|
|
|
14376
14641
|
value: contact.email,
|
|
14377
14642
|
onChange: (e) => patchContact({ email: e.target.value }),
|
|
14378
14643
|
placeholder: t.emailPlaceholder,
|
|
14379
|
-
className:
|
|
14644
|
+
className: cn16(
|
|
14380
14645
|
"w-full rounded-lg border bg-background px-3 py-2 text-sm transition focus:outline-none focus:ring-2 focus:ring-primary/20",
|
|
14381
14646
|
contactErrors?.email ? "border-destructive" : "border-border focus:border-primary"
|
|
14382
14647
|
)
|
|
14383
14648
|
}
|
|
14384
14649
|
),
|
|
14385
|
-
contactErrors?.email && /* @__PURE__ */
|
|
14650
|
+
contactErrors?.email && /* @__PURE__ */ jsx17("p", { className: "text-xs text-destructive", children: contactErrors.email })
|
|
14386
14651
|
] }),
|
|
14387
|
-
/* @__PURE__ */
|
|
14652
|
+
/* @__PURE__ */ jsx17("div", { className: "space-y-1", children: /* @__PURE__ */ jsx17(
|
|
14388
14653
|
PhoneInput,
|
|
14389
14654
|
{
|
|
14390
14655
|
id: "checkout-form-phone",
|
|
@@ -14398,15 +14663,15 @@ function CheckoutForm({
|
|
|
14398
14663
|
] })
|
|
14399
14664
|
] }),
|
|
14400
14665
|
children2,
|
|
14401
|
-
generalError ? /* @__PURE__ */
|
|
14402
|
-
/* @__PURE__ */
|
|
14403
|
-
/* @__PURE__ */
|
|
14404
|
-
appliedDiscount ? /* @__PURE__ */
|
|
14405
|
-
/* @__PURE__ */
|
|
14406
|
-
/* @__PURE__ */
|
|
14407
|
-
/* @__PURE__ */
|
|
14666
|
+
generalError ? /* @__PURE__ */ jsx17("p", { role: "alert", className: "text-sm text-destructive", children: generalError }) : null,
|
|
14667
|
+
/* @__PURE__ */ jsxs15("section", { className: "space-y-3", children: [
|
|
14668
|
+
/* @__PURE__ */ jsx17("h2", { className: "border-b border-border pb-2 text-lg font-semibold", children: t.discountTitle }),
|
|
14669
|
+
appliedDiscount ? /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between rounded-lg border border-green-200 bg-green-50 px-4 py-3 dark:border-green-800 dark:bg-green-900/20", children: [
|
|
14670
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2 text-sm text-green-700 dark:text-green-400", children: [
|
|
14671
|
+
/* @__PURE__ */ jsx17("span", { className: "font-semibold", children: appliedDiscount.code }),
|
|
14672
|
+
/* @__PURE__ */ jsx17("span", { children: t.discountAppliedSuffix(formatPrice(appliedDiscount.amount, currencyCode, locale)) })
|
|
14408
14673
|
] }),
|
|
14409
|
-
/* @__PURE__ */
|
|
14674
|
+
/* @__PURE__ */ jsx17(
|
|
14410
14675
|
"button",
|
|
14411
14676
|
{
|
|
14412
14677
|
type: "button",
|
|
@@ -14416,9 +14681,9 @@ function CheckoutForm({
|
|
|
14416
14681
|
children: t.removeDiscount
|
|
14417
14682
|
}
|
|
14418
14683
|
)
|
|
14419
|
-
] }) : /* @__PURE__ */
|
|
14420
|
-
/* @__PURE__ */
|
|
14421
|
-
/* @__PURE__ */
|
|
14684
|
+
] }) : /* @__PURE__ */ jsxs15("div", { className: "flex gap-2", children: [
|
|
14685
|
+
/* @__PURE__ */ jsx17("label", { htmlFor: "checkout-form-discount-code", className: "sr-only", children: t.discountTitle }),
|
|
14686
|
+
/* @__PURE__ */ jsx17(
|
|
14422
14687
|
"input",
|
|
14423
14688
|
{
|
|
14424
14689
|
id: "checkout-form-discount-code",
|
|
@@ -14430,7 +14695,7 @@ function CheckoutForm({
|
|
|
14430
14695
|
className: "flex-1 rounded-lg border border-border bg-background px-3 py-2 text-sm uppercase transition focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20"
|
|
14431
14696
|
}
|
|
14432
14697
|
),
|
|
14433
|
-
/* @__PURE__ */
|
|
14698
|
+
/* @__PURE__ */ jsx17(
|
|
14434
14699
|
"button",
|
|
14435
14700
|
{
|
|
14436
14701
|
type: "button",
|
|
@@ -14441,14 +14706,14 @@ function CheckoutForm({
|
|
|
14441
14706
|
}
|
|
14442
14707
|
)
|
|
14443
14708
|
] }),
|
|
14444
|
-
discountError && /* @__PURE__ */
|
|
14709
|
+
discountError && /* @__PURE__ */ jsx17("p", { className: "text-xs text-destructive", children: discountError })
|
|
14445
14710
|
] }),
|
|
14446
|
-
/* @__PURE__ */
|
|
14711
|
+
/* @__PURE__ */ jsx17(
|
|
14447
14712
|
"button",
|
|
14448
14713
|
{
|
|
14449
14714
|
type: "submit",
|
|
14450
14715
|
disabled: submitting || submitDisabled,
|
|
14451
|
-
className:
|
|
14716
|
+
className: cn16(
|
|
14452
14717
|
"flex w-full items-center justify-center gap-2 rounded-xl px-4 py-3 font-semibold transition-all",
|
|
14453
14718
|
submitting || submitDisabled ? "cursor-not-allowed bg-muted text-muted-foreground" : "bg-primary text-primary-foreground hover:bg-primary/90"
|
|
14454
14719
|
),
|
|
@@ -14462,8 +14727,8 @@ function CheckoutForm({
|
|
|
14462
14727
|
}
|
|
14463
14728
|
|
|
14464
14729
|
// src/components/order-confirmation.tsx
|
|
14465
|
-
import { cn as
|
|
14466
|
-
import { jsx as
|
|
14730
|
+
import { cn as cn17 } from "@reblu/site-ui/utils";
|
|
14731
|
+
import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
14467
14732
|
var DEFAULT_LABELS7 = {
|
|
14468
14733
|
pollingTitle: "Confirmando tu pedido\u2026",
|
|
14469
14734
|
pollingDescription: "Estamos procesando el pago, un momento\u2026",
|
|
@@ -14525,48 +14790,48 @@ function OrderConfirmation({
|
|
|
14525
14790
|
const showOrderReference = Boolean(order) && !showFullOrderSummary && (status === "refunded" || status === "partially_refunded" || status === "pending_timeout");
|
|
14526
14791
|
const showSessionReference = !order && sessionId && (status === "timeout" || status === "not_found" || status === "pending_timeout");
|
|
14527
14792
|
const showRecheck = (status === "pending_timeout" || status === "error") && onRecheck;
|
|
14528
|
-
return /* @__PURE__ */
|
|
14529
|
-
/* @__PURE__ */
|
|
14530
|
-
/* @__PURE__ */
|
|
14531
|
-
showFullOrderSummary && order && /* @__PURE__ */
|
|
14532
|
-
/* @__PURE__ */
|
|
14533
|
-
/* @__PURE__ */
|
|
14534
|
-
/* @__PURE__ */
|
|
14793
|
+
return /* @__PURE__ */ jsxs16("div", { className: cn17("space-y-6 text-center", className), "data-slot": "order-confirmation", children: [
|
|
14794
|
+
/* @__PURE__ */ jsx18("h1", { className: "text-3xl font-bold", children: title }),
|
|
14795
|
+
/* @__PURE__ */ jsx18("p", { className: "text-lg text-muted-foreground", children: description }),
|
|
14796
|
+
showFullOrderSummary && order && /* @__PURE__ */ jsxs16("div", { className: "space-y-6", children: [
|
|
14797
|
+
/* @__PURE__ */ jsxs16("div", { className: "inline-block rounded-xl bg-muted px-6 py-4", children: [
|
|
14798
|
+
/* @__PURE__ */ jsx18("p", { className: "mb-1 text-xs uppercase tracking-widest text-muted-foreground", children: t.orderNumberLabel }),
|
|
14799
|
+
/* @__PURE__ */ jsx18("p", { className: "font-mono text-lg font-semibold", children: order.orderNumber })
|
|
14535
14800
|
] }),
|
|
14536
|
-
/* @__PURE__ */
|
|
14537
|
-
order.items.map((item, idx) => /* @__PURE__ */
|
|
14801
|
+
/* @__PURE__ */ jsxs16("div", { className: "mx-auto max-w-sm space-y-3 rounded-xl border border-border bg-card p-5 text-left", children: [
|
|
14802
|
+
order.items.map((item, idx) => /* @__PURE__ */ jsxs16(
|
|
14538
14803
|
"div",
|
|
14539
14804
|
{
|
|
14540
14805
|
className: "flex justify-between gap-4 text-sm",
|
|
14541
14806
|
children: [
|
|
14542
|
-
/* @__PURE__ */
|
|
14807
|
+
/* @__PURE__ */ jsxs16("span", { className: "max-w-[60%] truncate text-muted-foreground", children: [
|
|
14543
14808
|
item.product.name,
|
|
14544
14809
|
item.variant ? ` (${item.variant.name})` : "",
|
|
14545
14810
|
" x",
|
|
14546
14811
|
item.quantity
|
|
14547
14812
|
] }),
|
|
14548
|
-
/* @__PURE__ */
|
|
14813
|
+
/* @__PURE__ */ jsx18("span", { children: formatPrice(item.total, currencyCode, locale) })
|
|
14549
14814
|
]
|
|
14550
14815
|
},
|
|
14551
14816
|
idx
|
|
14552
14817
|
)),
|
|
14553
|
-
/* @__PURE__ */
|
|
14554
|
-
/* @__PURE__ */
|
|
14555
|
-
/* @__PURE__ */
|
|
14818
|
+
/* @__PURE__ */ jsx18("div", { className: "space-y-1 border-t border-border pt-3 text-sm", children: /* @__PURE__ */ jsxs16("div", { className: "flex justify-between pt-1 text-base font-bold", children: [
|
|
14819
|
+
/* @__PURE__ */ jsx18("span", { children: t.totalLabel }),
|
|
14820
|
+
/* @__PURE__ */ jsx18("span", { children: formatPrice(order.total, currencyCode, locale) })
|
|
14556
14821
|
] }) })
|
|
14557
14822
|
] }),
|
|
14558
|
-
/* @__PURE__ */
|
|
14823
|
+
/* @__PURE__ */ jsxs16("p", { className: "mx-auto max-w-sm text-sm text-muted-foreground", children: [
|
|
14559
14824
|
t.confirmationEmailPrefix,
|
|
14560
14825
|
" ",
|
|
14561
|
-
/* @__PURE__ */
|
|
14826
|
+
/* @__PURE__ */ jsx18("span", { className: "font-medium text-foreground", children: order.customerEmail }),
|
|
14562
14827
|
"."
|
|
14563
14828
|
] })
|
|
14564
14829
|
] }),
|
|
14565
|
-
showOrderReference && order && /* @__PURE__ */
|
|
14566
|
-
/* @__PURE__ */
|
|
14567
|
-
/* @__PURE__ */
|
|
14830
|
+
showOrderReference && order && /* @__PURE__ */ jsxs16("div", { className: "inline-block rounded-xl bg-muted px-6 py-4", children: [
|
|
14831
|
+
/* @__PURE__ */ jsx18("p", { className: "mb-1 text-xs uppercase tracking-widest text-muted-foreground", children: t.orderReferenceLabel }),
|
|
14832
|
+
/* @__PURE__ */ jsx18("p", { className: "font-mono text-lg font-semibold", children: order.orderNumber })
|
|
14568
14833
|
] }),
|
|
14569
|
-
status === "failed" && cartHref && /* @__PURE__ */
|
|
14834
|
+
status === "failed" && cartHref && /* @__PURE__ */ jsx18(
|
|
14570
14835
|
"a",
|
|
14571
14836
|
{
|
|
14572
14837
|
href: cartHref,
|
|
@@ -14574,7 +14839,7 @@ function OrderConfirmation({
|
|
|
14574
14839
|
children: t.backToCartLabel
|
|
14575
14840
|
}
|
|
14576
14841
|
),
|
|
14577
|
-
showRecheck && /* @__PURE__ */
|
|
14842
|
+
showRecheck && /* @__PURE__ */ jsx18(
|
|
14578
14843
|
"button",
|
|
14579
14844
|
{
|
|
14580
14845
|
type: "button",
|
|
@@ -14583,9 +14848,9 @@ function OrderConfirmation({
|
|
|
14583
14848
|
children: t.recheckLabel
|
|
14584
14849
|
}
|
|
14585
14850
|
),
|
|
14586
|
-
showSessionReference && /* @__PURE__ */
|
|
14587
|
-
/* @__PURE__ */
|
|
14588
|
-
/* @__PURE__ */
|
|
14851
|
+
showSessionReference && /* @__PURE__ */ jsxs16("div", { className: "inline-block rounded-xl bg-muted px-6 py-4", children: [
|
|
14852
|
+
/* @__PURE__ */ jsx18("p", { className: "mb-1 text-xs uppercase tracking-widest text-muted-foreground", children: t.sessionReferenceLabel }),
|
|
14853
|
+
/* @__PURE__ */ jsx18("p", { className: "break-all font-mono text-sm font-semibold", children: sessionId })
|
|
14589
14854
|
] })
|
|
14590
14855
|
] });
|
|
14591
14856
|
}
|
|
@@ -14599,12 +14864,15 @@ export {
|
|
|
14599
14864
|
DEFAULT_SHOP_ERROR_FALLBACK_MESSAGE,
|
|
14600
14865
|
DEFAULT_SHOP_ERROR_MESSAGES,
|
|
14601
14866
|
DEFAULT_SHOP_PRICE_BANDS,
|
|
14867
|
+
DEFAULT_TRUST_ICONS,
|
|
14602
14868
|
FaqAccordion,
|
|
14603
14869
|
MarkdownRenderer,
|
|
14604
14870
|
OrderConfirmation,
|
|
14605
14871
|
PageBlocks,
|
|
14872
|
+
PageCardGrid,
|
|
14606
14873
|
ParentPage,
|
|
14607
14874
|
ProductCard,
|
|
14875
|
+
ProductTrustItems,
|
|
14608
14876
|
ProfileCard,
|
|
14609
14877
|
SafeHtml,
|
|
14610
14878
|
ShopFilters,
|
|
@@ -14621,4 +14889,26 @@ export {
|
|
|
14621
14889
|
sanitizeHtml,
|
|
14622
14890
|
shouldRenderShopFilters
|
|
14623
14891
|
};
|
|
14892
|
+
/*! Bundled license information:
|
|
14893
|
+
|
|
14894
|
+
lucide-react/dist/esm/shared/src/utils.js:
|
|
14895
|
+
lucide-react/dist/esm/defaultAttributes.js:
|
|
14896
|
+
lucide-react/dist/esm/Icon.js:
|
|
14897
|
+
lucide-react/dist/esm/createLucideIcon.js:
|
|
14898
|
+
lucide-react/dist/esm/icons/award.js:
|
|
14899
|
+
lucide-react/dist/esm/icons/badge-check.js:
|
|
14900
|
+
lucide-react/dist/esm/icons/gift.js:
|
|
14901
|
+
lucide-react/dist/esm/icons/headset.js:
|
|
14902
|
+
lucide-react/dist/esm/icons/rotate-ccw.js:
|
|
14903
|
+
lucide-react/dist/esm/icons/shield-check.js:
|
|
14904
|
+
lucide-react/dist/esm/icons/store.js:
|
|
14905
|
+
lucide-react/dist/esm/icons/truck.js:
|
|
14906
|
+
lucide-react/dist/esm/lucide-react.js:
|
|
14907
|
+
(**
|
|
14908
|
+
* @license lucide-react v0.562.0 - ISC
|
|
14909
|
+
*
|
|
14910
|
+
* This source code is licensed under the ISC license.
|
|
14911
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
14912
|
+
*)
|
|
14913
|
+
*/
|
|
14624
14914
|
//# sourceMappingURL=index.js.map
|