@burdenoff/website-sdk 2026.924.11 → 2026.924.12
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/components/explore.js +61 -23
- package/dist/components/explore.js.map +1 -1
- package/dist/components/explore.mjs +61 -23
- package/dist/components/explore.mjs.map +1 -1
- package/dist/index.js +61 -23
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -23
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -3968,6 +3968,24 @@ var EXPLORE_CSS = `
|
|
|
3968
3968
|
mask-image: linear-gradient(to left, hsl(var(--foreground)) calc(100% - 2rem), hsl(var(--foreground) / 0));
|
|
3969
3969
|
}
|
|
3970
3970
|
|
|
3971
|
+
/* The concept rail had the chip row's problem: the card at its edge was cut hard mid-word
|
|
3972
|
+
("Apparatus Rig", "CONCEPT ILLUST") on a dozen sites. It fades an edge only while there are
|
|
3973
|
+
more cards beyond it \u2014 the same state that lights the arrow on that side \u2014 so a rail
|
|
3974
|
+
scrolled to its end shows its last card whole. Physical edges, because that state is
|
|
3975
|
+
physical: it is measured from the left in either reading direction. */
|
|
3976
|
+
.boff-explore-rail-fade-left {
|
|
3977
|
+
-webkit-mask-image: linear-gradient(to right, hsl(var(--foreground) / 0), hsl(var(--foreground)) 3rem);
|
|
3978
|
+
mask-image: linear-gradient(to right, hsl(var(--foreground) / 0), hsl(var(--foreground)) 3rem);
|
|
3979
|
+
}
|
|
3980
|
+
.boff-explore-rail-fade-right {
|
|
3981
|
+
-webkit-mask-image: linear-gradient(to right, hsl(var(--foreground)) calc(100% - 3rem), hsl(var(--foreground) / 0));
|
|
3982
|
+
mask-image: linear-gradient(to right, hsl(var(--foreground)) calc(100% - 3rem), hsl(var(--foreground) / 0));
|
|
3983
|
+
}
|
|
3984
|
+
.boff-explore-rail-fade-left.boff-explore-rail-fade-right {
|
|
3985
|
+
-webkit-mask-image: linear-gradient(to right, hsl(var(--foreground) / 0), hsl(var(--foreground)) 3rem, hsl(var(--foreground)) calc(100% - 3rem), hsl(var(--foreground) / 0));
|
|
3986
|
+
mask-image: linear-gradient(to right, hsl(var(--foreground) / 0), hsl(var(--foreground)) 3rem, hsl(var(--foreground)) calc(100% - 3rem), hsl(var(--foreground) / 0));
|
|
3987
|
+
}
|
|
3988
|
+
|
|
3971
3989
|
@keyframes boff-explore-fade-in {
|
|
3972
3990
|
from { opacity: 0; transform: translateY(2px); }
|
|
3973
3991
|
to { opacity: 1; transform: none; }
|
|
@@ -4146,8 +4164,18 @@ var EXPLORE_CSS = `
|
|
|
4146
4164
|
.boff-explore-scroll .boff-explore-capabilities { display: none; }
|
|
4147
4165
|
}
|
|
4148
4166
|
@container boff-explore-pane (min-width: ${toRem(WELCOME_FIT_MIN_WIDTH_PX)}) and (max-height: ${toRem(WELCOME_FIT_STEP_PX[1])}) {
|
|
4149
|
-
/* Step 2.
|
|
4167
|
+
/* Step 2. At a 4:1 crop the picture is ~44px tall, and the full-size caveat badge covered
|
|
4168
|
+
half of it \u2014 on ten sites, every card, whenever the consent banner was up. It stays (the
|
|
4169
|
+
picture is still a mockup), just smaller and tucked into the corner. */
|
|
4150
4170
|
.boff-explore-scroll .boff-explore-concept-media { aspect-ratio: 4 / 1; }
|
|
4171
|
+
.boff-explore-scroll .boff-explore-concept-badge {
|
|
4172
|
+
top: 0.25rem;
|
|
4173
|
+
left: 0.25rem;
|
|
4174
|
+
padding: 0 0.3125rem;
|
|
4175
|
+
font-size: 0.5rem;
|
|
4176
|
+
line-height: 0.75rem;
|
|
4177
|
+
letter-spacing: 0.02em;
|
|
4178
|
+
}
|
|
4151
4179
|
}
|
|
4152
4180
|
@container boff-explore-pane (min-width: ${toRem(WELCOME_FIT_MIN_WIDTH_PX)}) and (max-height: ${toRem(WELCOME_FIT_STEP_PX[2])}) {
|
|
4153
4181
|
/* Step 3. Title-only cards. The "concept illustration" caveat lives on the picture, so it
|
|
@@ -5306,6 +5334,7 @@ function ErrorBanner({
|
|
|
5306
5334
|
}
|
|
5307
5335
|
function PromptCarousel({
|
|
5308
5336
|
strings: T,
|
|
5337
|
+
label,
|
|
5309
5338
|
prompts,
|
|
5310
5339
|
onPrompt,
|
|
5311
5340
|
disabled
|
|
@@ -5337,7 +5366,7 @@ function PromptCarousel({
|
|
|
5337
5366
|
return /* @__PURE__ */ jsxs(
|
|
5338
5367
|
"div",
|
|
5339
5368
|
{
|
|
5340
|
-
className: "
|
|
5369
|
+
className: "grid min-w-0 touch-pan-y grid-cols-[minmax(0,1fr)_auto_auto] items-center gap-x-1.5 gap-y-1.5 sm:grid-cols-[auto_minmax(0,1fr)_auto]",
|
|
5341
5370
|
role: "group",
|
|
5342
5371
|
"aria-roledescription": "carousel",
|
|
5343
5372
|
"aria-label": "Example questions",
|
|
@@ -5347,13 +5376,14 @@ function PromptCarousel({
|
|
|
5347
5376
|
onBlurCapture: () => setPaused(false),
|
|
5348
5377
|
...swipe,
|
|
5349
5378
|
children: [
|
|
5379
|
+
/* @__PURE__ */ jsx("p", { className: "col-start-1 row-start-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground sm:col-span-3", children: label }),
|
|
5350
5380
|
count > 1 ? /* @__PURE__ */ jsx(
|
|
5351
5381
|
"button",
|
|
5352
5382
|
{
|
|
5353
5383
|
type: "button",
|
|
5354
5384
|
"aria-label": T.prevSuggestion,
|
|
5355
5385
|
onClick: () => go(-1),
|
|
5356
|
-
className: "inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
5386
|
+
className: "col-start-2 row-start-1 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring sm:col-start-1 sm:row-start-2",
|
|
5357
5387
|
children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" })
|
|
5358
5388
|
}
|
|
5359
5389
|
) : null,
|
|
@@ -5367,18 +5397,21 @@ function PromptCarousel({
|
|
|
5367
5397
|
"aria-label": `Ask: ${current}`,
|
|
5368
5398
|
"aria-live": paused ? "polite" : "off",
|
|
5369
5399
|
onClick: () => onPrompt(current),
|
|
5370
|
-
className:
|
|
5400
|
+
className: cn(
|
|
5401
|
+
"group col-span-3 row-start-2 flex min-w-0 items-center gap-2 rounded-full border border-border bg-card px-4 py-2 max-sm:min-h-[3.625rem] max-sm:rounded-2xl text-left text-sm text-card-foreground shadow-sm transition-colors hover:border-primary/50 hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
5402
|
+
count > 1 ? "sm:col-span-1 sm:col-start-2" : "sm:col-span-3"
|
|
5403
|
+
),
|
|
5371
5404
|
children: [
|
|
5372
5405
|
/* @__PURE__ */ jsx(Sparkles, { className: "h-3.5 w-3.5 shrink-0 text-primary" }),
|
|
5373
5406
|
/* @__PURE__ */ jsx(
|
|
5374
5407
|
"span",
|
|
5375
5408
|
{
|
|
5376
|
-
className: "boff-explore-fade min-w-0 max-sm:line-clamp-
|
|
5409
|
+
className: "boff-explore-fade min-w-0 max-sm:line-clamp-3 sm:truncate",
|
|
5377
5410
|
children: current
|
|
5378
5411
|
},
|
|
5379
5412
|
current
|
|
5380
5413
|
),
|
|
5381
|
-
/* @__PURE__ */ jsx(ArrowUp, { className: "ml-auto h-3.5 w-3.5 shrink-0 rotate-45 text-muted-foreground transition-colors group-hover:text-primary" })
|
|
5414
|
+
/* @__PURE__ */ jsx(ArrowUp, { className: "ml-auto h-3.5 w-3.5 shrink-0 rotate-45 text-muted-foreground transition-colors group-hover:text-primary max-sm:hidden" })
|
|
5382
5415
|
]
|
|
5383
5416
|
}
|
|
5384
5417
|
),
|
|
@@ -5388,7 +5421,7 @@ function PromptCarousel({
|
|
|
5388
5421
|
type: "button",
|
|
5389
5422
|
"aria-label": T.nextSuggestion,
|
|
5390
5423
|
onClick: () => go(1),
|
|
5391
|
-
className: "inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
5424
|
+
className: "col-start-3 row-start-1 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring sm:row-start-2",
|
|
5392
5425
|
children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
|
|
5393
5426
|
}
|
|
5394
5427
|
) : null
|
|
@@ -5487,8 +5520,11 @@ function ConceptStrip({
|
|
|
5487
5520
|
const measureRail = useCallback(() => {
|
|
5488
5521
|
const el = railRef.current;
|
|
5489
5522
|
if (!el) return;
|
|
5490
|
-
|
|
5491
|
-
|
|
5523
|
+
const max = el.scrollWidth - el.clientWidth;
|
|
5524
|
+
const rtl = typeof getComputedStyle === "function" && getComputedStyle(el).direction === "rtl";
|
|
5525
|
+
const fromLeft = rtl ? max + el.scrollLeft : el.scrollLeft;
|
|
5526
|
+
setCanLeft(fromLeft > 1);
|
|
5527
|
+
setCanRight(fromLeft < max - 1);
|
|
5492
5528
|
}, []);
|
|
5493
5529
|
useEffect(() => {
|
|
5494
5530
|
const el = railRef.current;
|
|
@@ -5557,7 +5593,11 @@ function ConceptStrip({
|
|
|
5557
5593
|
onScroll: measureRail,
|
|
5558
5594
|
"data-boff-explore": "concept-strip",
|
|
5559
5595
|
"aria-label": T.conceptStripLabel,
|
|
5560
|
-
className:
|
|
5596
|
+
className: cn(
|
|
5597
|
+
"boff-explore-strip flex min-w-0 snap-x gap-3 overflow-x-auto pb-1 sm:mx-10",
|
|
5598
|
+
canLeft && "boff-explore-rail-fade-left",
|
|
5599
|
+
canRight && "boff-explore-rail-fade-right"
|
|
5600
|
+
),
|
|
5561
5601
|
children: visible.map((highlight) => /* @__PURE__ */ jsx(
|
|
5562
5602
|
"li",
|
|
5563
5603
|
{
|
|
@@ -5597,7 +5637,7 @@ function ConceptStrip({
|
|
|
5597
5637
|
"span",
|
|
5598
5638
|
{
|
|
5599
5639
|
"aria-hidden": "true",
|
|
5600
|
-
className: "pointer-events-none absolute left-1.5 top-1.5 rounded-full border border-border bg-background/90 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-foreground",
|
|
5640
|
+
className: "boff-explore-concept-badge pointer-events-none absolute left-1.5 top-1.5 rounded-full border border-border bg-background/90 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-foreground",
|
|
5601
5641
|
children: T.conceptIllustration
|
|
5602
5642
|
}
|
|
5603
5643
|
)
|
|
@@ -5752,18 +5792,16 @@ function WelcomeState({
|
|
|
5752
5792
|
},
|
|
5753
5793
|
i
|
|
5754
5794
|
)) }),
|
|
5755
|
-
prompts.length > 0 ? /* @__PURE__ */
|
|
5756
|
-
|
|
5757
|
-
|
|
5758
|
-
|
|
5759
|
-
|
|
5760
|
-
|
|
5761
|
-
|
|
5762
|
-
|
|
5763
|
-
|
|
5764
|
-
|
|
5765
|
-
)
|
|
5766
|
-
] }) : null,
|
|
5795
|
+
prompts.length > 0 ? /* @__PURE__ */ jsx("div", { className: "boff-explore-rise boff-explore-rise-2 mt-4", children: /* @__PURE__ */ jsx(
|
|
5796
|
+
PromptCarousel,
|
|
5797
|
+
{
|
|
5798
|
+
strings: T,
|
|
5799
|
+
label: T.tryAsking,
|
|
5800
|
+
prompts,
|
|
5801
|
+
onPrompt,
|
|
5802
|
+
disabled
|
|
5803
|
+
}
|
|
5804
|
+
) }) : null,
|
|
5767
5805
|
products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-4", children: [
|
|
5768
5806
|
/* @__PURE__ */ jsx("p", { className: "mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
|
|
5769
5807
|
/* @__PURE__ */ jsx(
|