@burdenoff/website-sdk 2026.924.7 → 2026.924.9
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 +56 -4
- package/dist/components/explore.js.map +1 -1
- package/dist/components/explore.mjs +56 -4
- package/dist/components/explore.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +56 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +56 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -10677,6 +10677,9 @@ function toPayload(staged) {
|
|
|
10677
10677
|
}));
|
|
10678
10678
|
}
|
|
10679
10679
|
var SHORT_VIEWPORT_PX = 420;
|
|
10680
|
+
var WELCOME_FIT_MIN_WIDTH_PX = 640;
|
|
10681
|
+
var WELCOME_FIT_STEP_PX = [700, 549, 505, 422];
|
|
10682
|
+
var toRem = (px) => `${px / 16}rem`;
|
|
10680
10683
|
var EXPLORE_CSS = `
|
|
10681
10684
|
@keyframes boff-explore-pulse {
|
|
10682
10685
|
0%, 80%, 100% { opacity: 0.25; transform: translateY(0); }
|
|
@@ -10887,6 +10890,50 @@ var EXPLORE_CSS = `
|
|
|
10887
10890
|
}
|
|
10888
10891
|
}
|
|
10889
10892
|
|
|
10893
|
+
/* ---- Welcome fit ----------------------------------------------------------------------
|
|
10894
|
+
The ladder is documented at WELCOME_FIT_STEP_PX. The pane becomes a query container only
|
|
10895
|
+
in viewport mode and above the short-viewport threshold, because size containment sizes
|
|
10896
|
+
an element as if it had no content. That is safe exactly while the pane's height comes
|
|
10897
|
+
from its flex parent. In \`auto\` mode, and in the short-viewport fallback above, the pane
|
|
10898
|
+
grows WITH its content \u2014 and containment there would collapse it to zero height.
|
|
10899
|
+
|
|
10900
|
+
Selectors are two classes deep on purpose. The host sites' Tailwind puts \`py-5\`, \`mt-4\`
|
|
10901
|
+
and \`aspect-[2/1]\` on these same elements; unlayered SDK CSS already outranks a v4
|
|
10902
|
+
\`@layer utilities\` rule, and the extra class makes it outrank a v3 one too, whichever
|
|
10903
|
+
stylesheet happens to load last.
|
|
10904
|
+
|
|
10905
|
+
Nothing here hides the concept strip, and nothing here hides content the page does not
|
|
10906
|
+
also say elsewhere. Below the last step the pane scrolls, so every control stays
|
|
10907
|
+
reachable at every zoom level. */
|
|
10908
|
+
@media (min-height: ${SHORT_VIEWPORT_PX + 1}px) {
|
|
10909
|
+
.boff-explore-viewport .boff-explore-scroll {
|
|
10910
|
+
container: boff-explore-pane / size;
|
|
10911
|
+
}
|
|
10912
|
+
}
|
|
10913
|
+
@container boff-explore-pane (min-width: ${toRem(WELCOME_FIT_MIN_WIDTH_PX)}) and (max-height: ${toRem(WELCOME_FIT_STEP_PX[0])}) {
|
|
10914
|
+
/* Step 1. Each tile restates something the page already says in the badge, the intro or
|
|
10915
|
+
the composer footer, so this is the one block whose absence loses nothing. */
|
|
10916
|
+
.boff-explore-scroll .boff-explore-capabilities { display: none; }
|
|
10917
|
+
}
|
|
10918
|
+
@container boff-explore-pane (min-width: ${toRem(WELCOME_FIT_MIN_WIDTH_PX)}) and (max-height: ${toRem(WELCOME_FIT_STEP_PX[1])}) {
|
|
10919
|
+
/* Step 2. */
|
|
10920
|
+
.boff-explore-scroll .boff-explore-concept-media { aspect-ratio: 4 / 1; }
|
|
10921
|
+
}
|
|
10922
|
+
@container boff-explore-pane (min-width: ${toRem(WELCOME_FIT_MIN_WIDTH_PX)}) and (max-height: ${toRem(WELCOME_FIT_STEP_PX[2])}) {
|
|
10923
|
+
/* Step 3. Title-only cards. The "concept illustration" caveat lives on the picture, so it
|
|
10924
|
+
goes with it; the button's accessible name never depended on the image. Lazy images
|
|
10925
|
+
inside a display:none box are not fetched until there is room to show them. */
|
|
10926
|
+
.boff-explore-scroll .boff-explore-concept-media { display: none; }
|
|
10927
|
+
.boff-explore-scroll .boff-explore-aura { padding-top: 0.75rem; padding-bottom: 0.75rem; }
|
|
10928
|
+
.boff-explore-scroll .boff-explore-aura > :not(:first-child) { margin-top: 0.5rem; }
|
|
10929
|
+
}
|
|
10930
|
+
@container boff-explore-pane (min-width: ${toRem(WELCOME_FIT_MIN_WIDTH_PX)}) and (max-height: ${toRem(WELCOME_FIT_STEP_PX[3])}) {
|
|
10931
|
+
/* Step 4. The badge is the third statement on this screen that answers come from our
|
|
10932
|
+
documentation. The heading beneath it loses its top margin so the hero starts flush. */
|
|
10933
|
+
.boff-explore-scroll .boff-explore-hero-badge { display: none; }
|
|
10934
|
+
.boff-explore-scroll .boff-explore-hero-badge + h1 { margin-top: 0; }
|
|
10935
|
+
}
|
|
10936
|
+
|
|
10890
10937
|
/* ---- Composer dock --------------------------------------------------------------------
|
|
10891
10938
|
Three declarations, each the fallback for the one after it: a plain 1rem where \`max()\`
|
|
10892
10939
|
is unknown, then the measured overlap of any FOREIGN fixed chrome sitting over the
|
|
@@ -12213,7 +12260,12 @@ function ConceptStrip({
|
|
|
12213
12260
|
measureRail();
|
|
12214
12261
|
const onResize = () => measureRail();
|
|
12215
12262
|
window.addEventListener("resize", onResize);
|
|
12216
|
-
|
|
12263
|
+
const observer = typeof ResizeObserver === "function" ? new ResizeObserver(onResize) : null;
|
|
12264
|
+
observer?.observe(el);
|
|
12265
|
+
return () => {
|
|
12266
|
+
window.removeEventListener("resize", onResize);
|
|
12267
|
+
observer?.disconnect();
|
|
12268
|
+
};
|
|
12217
12269
|
}, [measureRail, highlights.length, failed]);
|
|
12218
12270
|
const scrollRail = useCallback((direction) => {
|
|
12219
12271
|
const el = railRef.current;
|
|
@@ -12293,7 +12345,7 @@ function ConceptStrip({
|
|
|
12293
12345
|
),
|
|
12294
12346
|
className: "group flex w-40 flex-col overflow-hidden rounded-xl border border-border bg-card text-left 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 sm:w-44",
|
|
12295
12347
|
children: [
|
|
12296
|
-
/* @__PURE__ */ jsxs("span", { className: "relative block aspect-[2/1] w-full overflow-hidden bg-muted", children: [
|
|
12348
|
+
/* @__PURE__ */ jsxs("span", { className: "boff-explore-concept-media relative block aspect-[2/1] w-full overflow-hidden bg-muted", children: [
|
|
12297
12349
|
/* @__PURE__ */ jsx(
|
|
12298
12350
|
"img",
|
|
12299
12351
|
{
|
|
@@ -12445,14 +12497,14 @@ function WelcomeState({
|
|
|
12445
12497
|
}) {
|
|
12446
12498
|
return /* @__PURE__ */ jsxs("div", { className: "boff-explore-aura mx-auto my-auto w-full max-w-3xl px-4 py-4 sm:py-5", children: [
|
|
12447
12499
|
/* @__PURE__ */ jsxs("div", { className: "boff-explore-rise text-center", children: [
|
|
12448
|
-
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 rounded-full border border-border bg-muted px-3 py-1 text-xs font-medium text-muted-foreground", children: [
|
|
12500
|
+
/* @__PURE__ */ jsxs("span", { className: "boff-explore-hero-badge inline-flex items-center gap-1.5 rounded-full border border-border bg-muted px-3 py-1 text-xs font-medium text-muted-foreground", children: [
|
|
12449
12501
|
/* @__PURE__ */ jsx(Sparkles, { className: "h-3.5 w-3.5" }),
|
|
12450
12502
|
T.badge
|
|
12451
12503
|
] }),
|
|
12452
12504
|
/* @__PURE__ */ jsx("h1", { className: "mt-2 text-balance break-words text-2xl font-bold tracking-tight sm:text-3xl", children: title }),
|
|
12453
12505
|
/* @__PURE__ */ jsx("p", { className: "mx-auto mt-2 max-w-2xl text-pretty text-sm leading-relaxed text-muted-foreground", children: body })
|
|
12454
12506
|
] }),
|
|
12455
|
-
/* @__PURE__ */ jsx("ul", { className: "boff-explore-rise boff-explore-rise-1 mt-4 grid grid-cols-3 gap-2 sm:gap-2.5", children: CAPABILITIES.map(({ icon: Icon, body: capBody }, i) => /* @__PURE__ */ jsxs(
|
|
12507
|
+
/* @__PURE__ */ jsx("ul", { className: "boff-explore-capabilities boff-explore-rise boff-explore-rise-1 mt-4 grid grid-cols-3 gap-2 sm:gap-2.5", children: CAPABILITIES.map(({ icon: Icon, body: capBody }, i) => /* @__PURE__ */ jsxs(
|
|
12456
12508
|
"li",
|
|
12457
12509
|
{
|
|
12458
12510
|
className: "rounded-xl border border-border/70 bg-card/60 p-2.5 text-center transition-colors hover:border-border sm:p-2.5 sm:text-left",
|