@burdenoff/website-sdk 2026.924.3 → 2026.924.5

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/index.mjs CHANGED
@@ -12230,7 +12230,7 @@ function ConceptStrip({
12230
12230
  "data-boff-explore": "concept-strip-block",
12231
12231
  className: "boff-explore-rise boff-explore-rise-3 mt-4",
12232
12232
  children: [
12233
- /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.conceptStripTitle }),
12233
+ /* @__PURE__ */ jsx("p", { className: "mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.conceptStripTitle }),
12234
12234
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
12235
12235
  /* @__PURE__ */ jsx(
12236
12236
  "button",
@@ -12449,8 +12449,8 @@ function WelcomeState({
12449
12449
  /* @__PURE__ */ jsx(Sparkles, { className: "h-3.5 w-3.5" }),
12450
12450
  T.badge
12451
12451
  ] }),
12452
- /* @__PURE__ */ jsx("h1", { className: "mt-3 text-balance break-words text-2xl font-bold tracking-tight sm:text-3xl", children: title }),
12453
- /* @__PURE__ */ jsx("p", { className: "mx-auto mt-2 max-w-2xl text-pretty text-sm leading-relaxed text-muted-foreground sm:text-base", children: body })
12452
+ /* @__PURE__ */ jsx("h1", { className: "mt-2 text-balance break-words text-2xl font-bold tracking-tight sm:text-3xl", children: title }),
12453
+ /* @__PURE__ */ jsx("p", { className: "mx-auto mt-2 max-w-2xl text-pretty text-sm leading-relaxed text-muted-foreground", children: body })
12454
12454
  ] }),
12455
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(
12456
12456
  "li",
@@ -12458,14 +12458,14 @@ function WelcomeState({
12458
12458
  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",
12459
12459
  children: [
12460
12460
  /* @__PURE__ */ jsx("span", { className: "mx-auto mb-1.5 flex h-7 w-7 items-center justify-center rounded-lg bg-primary/10 text-primary sm:mx-0 sm:mb-2 sm:h-8 sm:w-8", children: /* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5 sm:h-4 sm:w-4" }) }),
12461
- /* @__PURE__ */ jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-normal", children: T.capabilities[i] ?? "" }),
12461
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-snug", children: T.capabilities[i] ?? "" }),
12462
12462
  /* @__PURE__ */ jsx("p", { className: "mt-1 hidden text-xs leading-snug text-muted-foreground lg:block", children: capBody })
12463
12463
  ]
12464
12464
  },
12465
12465
  i
12466
12466
  )) }),
12467
12467
  prompts.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-4", children: [
12468
- /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
12468
+ /* @__PURE__ */ jsx("p", { className: "mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
12469
12469
  /* @__PURE__ */ jsx(
12470
12470
  PromptCarousel,
12471
12471
  {
@@ -12477,7 +12477,7 @@ function WelcomeState({
12477
12477
  )
12478
12478
  ] }) : null,
12479
12479
  products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-4", children: [
12480
- /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
12480
+ /* @__PURE__ */ jsx("p", { className: "mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
12481
12481
  /* @__PURE__ */ jsx(
12482
12482
  ProductStrip,
12483
12483
  {
@@ -13293,7 +13293,13 @@ function ExplorePage({
13293
13293
  {
13294
13294
  "data-boff-explore": "composer-field",
13295
13295
  className: cn(
13296
- "flex min-w-0 items-end gap-2 rounded-2xl border bg-card p-2 shadow-sm transition-all",
13296
+ // Stacked on a phone, one row from `sm` up. Three 36px icon buttons beside
13297
+ // the field left it 138px wide at 320px — about seventeen characters — so on
13298
+ // the narrowest screens the field takes the full width and the buttons get
13299
+ // their own row beneath it. The buttons' wrapper is `sm:contents`, so from
13300
+ // `sm` up it stops being a box and the buttons are direct flex children of
13301
+ // this row again: the desktop layout is byte-for-byte what it was.
13302
+ "flex min-w-0 flex-col items-stretch gap-1 rounded-2xl border bg-card p-2 shadow-sm transition-all sm:flex-row sm:items-end sm:gap-2",
13297
13303
  busy && "boff-explore-busy",
13298
13304
  overLimit ? "border-destructive/60" : "border-border focus-within:border-primary/40 focus-within:ring-1 focus-within:ring-ring",
13299
13305
  // The halo is an invitation, and an invitation is only useful before it has
@@ -13341,62 +13347,64 @@ function ExplorePage({
13341
13347
  }
13342
13348
  }
13343
13349
  ),
13344
- /* @__PURE__ */ jsx(
13345
- Button,
13346
- {
13347
- "data-boff-explore": "attach",
13348
- type: "button",
13349
- size: "icon",
13350
- variant: "ghost",
13351
- disabled: composerDisabled || staged.length >= MAX_ATTACHMENTS,
13352
- "aria-label": T.attach,
13353
- title: `${T.attach} \u2014 ${fill(T.attachHint, {
13354
- max: String(MAX_ATTACHMENTS),
13355
- size: String(MAX_ATTACHMENT_BYTES / (1024 * 1024))
13356
- })}`,
13357
- onClick: () => fileInputRef.current?.click(),
13358
- children: /* @__PURE__ */ jsx(Paperclip, { className: "h-4 w-4" })
13359
- }
13360
- ),
13361
- speech.supported ? /* @__PURE__ */ jsx(
13362
- Button,
13363
- {
13364
- "data-boff-explore": "mic",
13365
- "data-listening": speech.listening ? "true" : "false",
13366
- type: "button",
13367
- size: "icon",
13368
- variant: speech.listening ? "default" : "ghost",
13369
- disabled: composerDisabled,
13370
- "aria-label": speech.listening ? T.stopDictating : T.dictate,
13371
- "aria-pressed": speech.listening,
13372
- title: speech.listening ? T.stopDictating : T.dictate,
13373
- onClick: speech.toggle,
13374
- className: cn(speech.listening && "animate-pulse"),
13375
- children: /* @__PURE__ */ jsx(Mic, { className: "h-4 w-4" })
13376
- }
13377
- ) : null,
13378
- busy ? /* @__PURE__ */ jsx(
13379
- Button,
13380
- {
13381
- "data-boff-explore": "stop",
13382
- type: "button",
13383
- size: "icon",
13384
- variant: "secondary",
13385
- "aria-label": T.stop,
13386
- onClick: stop,
13387
- children: /* @__PURE__ */ jsx(Square, { className: "h-4 w-4" })
13388
- }
13389
- ) : /* @__PURE__ */ jsx(
13390
- Button,
13391
- {
13392
- "data-boff-explore": "send",
13393
- type: "submit",
13394
- size: "icon",
13395
- disabled: !canSubmit,
13396
- "aria-label": T.send,
13397
- children: /* @__PURE__ */ jsx(ArrowUp, { className: "h-4 w-4" })
13398
- }
13399
- )
13350
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-1 sm:contents", children: [
13351
+ /* @__PURE__ */ jsx(
13352
+ Button,
13353
+ {
13354
+ "data-boff-explore": "attach",
13355
+ type: "button",
13356
+ size: "icon",
13357
+ variant: "ghost",
13358
+ disabled: composerDisabled || staged.length >= MAX_ATTACHMENTS,
13359
+ "aria-label": T.attach,
13360
+ title: `${T.attach} \u2014 ${fill(T.attachHint, {
13361
+ max: String(MAX_ATTACHMENTS),
13362
+ size: String(MAX_ATTACHMENT_BYTES / (1024 * 1024))
13363
+ })}`,
13364
+ onClick: () => fileInputRef.current?.click(),
13365
+ children: /* @__PURE__ */ jsx(Paperclip, { className: "h-4 w-4" })
13366
+ }
13367
+ ),
13368
+ speech.supported ? /* @__PURE__ */ jsx(
13369
+ Button,
13370
+ {
13371
+ "data-boff-explore": "mic",
13372
+ "data-listening": speech.listening ? "true" : "false",
13373
+ type: "button",
13374
+ size: "icon",
13375
+ variant: speech.listening ? "default" : "ghost",
13376
+ disabled: composerDisabled,
13377
+ "aria-label": speech.listening ? T.stopDictating : T.dictate,
13378
+ "aria-pressed": speech.listening,
13379
+ title: speech.listening ? T.stopDictating : T.dictate,
13380
+ onClick: speech.toggle,
13381
+ className: cn(speech.listening && "animate-pulse"),
13382
+ children: /* @__PURE__ */ jsx(Mic, { className: "h-4 w-4" })
13383
+ }
13384
+ ) : null,
13385
+ busy ? /* @__PURE__ */ jsx(
13386
+ Button,
13387
+ {
13388
+ "data-boff-explore": "stop",
13389
+ type: "button",
13390
+ size: "icon",
13391
+ variant: "secondary",
13392
+ "aria-label": T.stop,
13393
+ onClick: stop,
13394
+ children: /* @__PURE__ */ jsx(Square, { className: "h-4 w-4" })
13395
+ }
13396
+ ) : /* @__PURE__ */ jsx(
13397
+ Button,
13398
+ {
13399
+ "data-boff-explore": "send",
13400
+ type: "submit",
13401
+ size: "icon",
13402
+ disabled: !canSubmit,
13403
+ "aria-label": T.send,
13404
+ children: /* @__PURE__ */ jsx(ArrowUp, { className: "h-4 w-4" })
13405
+ }
13406
+ )
13407
+ ] })
13400
13408
  ]
13401
13409
  }
13402
13410
  ),