@burdenoff/website-sdk 2026.924.4 → 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.js CHANGED
@@ -13323,7 +13323,13 @@ function ExplorePage({
13323
13323
  {
13324
13324
  "data-boff-explore": "composer-field",
13325
13325
  className: cn(
13326
- "flex min-w-0 items-end gap-2 rounded-2xl border bg-card p-2 shadow-sm transition-all",
13326
+ // Stacked on a phone, one row from `sm` up. Three 36px icon buttons beside
13327
+ // the field left it 138px wide at 320px — about seventeen characters — so on
13328
+ // the narrowest screens the field takes the full width and the buttons get
13329
+ // their own row beneath it. The buttons' wrapper is `sm:contents`, so from
13330
+ // `sm` up it stops being a box and the buttons are direct flex children of
13331
+ // this row again: the desktop layout is byte-for-byte what it was.
13332
+ "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",
13327
13333
  busy && "boff-explore-busy",
13328
13334
  overLimit ? "border-destructive/60" : "border-border focus-within:border-primary/40 focus-within:ring-1 focus-within:ring-ring",
13329
13335
  // The halo is an invitation, and an invitation is only useful before it has
@@ -13371,62 +13377,64 @@ function ExplorePage({
13371
13377
  }
13372
13378
  }
13373
13379
  ),
13374
- /* @__PURE__ */ jsxRuntime.jsx(
13375
- Button,
13376
- {
13377
- "data-boff-explore": "attach",
13378
- type: "button",
13379
- size: "icon",
13380
- variant: "ghost",
13381
- disabled: composerDisabled || staged.length >= MAX_ATTACHMENTS,
13382
- "aria-label": T.attach,
13383
- title: `${T.attach} \u2014 ${fill(T.attachHint, {
13384
- max: String(MAX_ATTACHMENTS),
13385
- size: String(MAX_ATTACHMENT_BYTES / (1024 * 1024))
13386
- })}`,
13387
- onClick: () => fileInputRef.current?.click(),
13388
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Paperclip, { className: "h-4 w-4" })
13389
- }
13390
- ),
13391
- speech.supported ? /* @__PURE__ */ jsxRuntime.jsx(
13392
- Button,
13393
- {
13394
- "data-boff-explore": "mic",
13395
- "data-listening": speech.listening ? "true" : "false",
13396
- type: "button",
13397
- size: "icon",
13398
- variant: speech.listening ? "default" : "ghost",
13399
- disabled: composerDisabled,
13400
- "aria-label": speech.listening ? T.stopDictating : T.dictate,
13401
- "aria-pressed": speech.listening,
13402
- title: speech.listening ? T.stopDictating : T.dictate,
13403
- onClick: speech.toggle,
13404
- className: cn(speech.listening && "animate-pulse"),
13405
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mic, { className: "h-4 w-4" })
13406
- }
13407
- ) : null,
13408
- busy ? /* @__PURE__ */ jsxRuntime.jsx(
13409
- Button,
13410
- {
13411
- "data-boff-explore": "stop",
13412
- type: "button",
13413
- size: "icon",
13414
- variant: "secondary",
13415
- "aria-label": T.stop,
13416
- onClick: stop,
13417
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-4 w-4" })
13418
- }
13419
- ) : /* @__PURE__ */ jsxRuntime.jsx(
13420
- Button,
13421
- {
13422
- "data-boff-explore": "send",
13423
- type: "submit",
13424
- size: "icon",
13425
- disabled: !canSubmit,
13426
- "aria-label": T.send,
13427
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp, { className: "h-4 w-4" })
13428
- }
13429
- )
13380
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-1 sm:contents", children: [
13381
+ /* @__PURE__ */ jsxRuntime.jsx(
13382
+ Button,
13383
+ {
13384
+ "data-boff-explore": "attach",
13385
+ type: "button",
13386
+ size: "icon",
13387
+ variant: "ghost",
13388
+ disabled: composerDisabled || staged.length >= MAX_ATTACHMENTS,
13389
+ "aria-label": T.attach,
13390
+ title: `${T.attach} \u2014 ${fill(T.attachHint, {
13391
+ max: String(MAX_ATTACHMENTS),
13392
+ size: String(MAX_ATTACHMENT_BYTES / (1024 * 1024))
13393
+ })}`,
13394
+ onClick: () => fileInputRef.current?.click(),
13395
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Paperclip, { className: "h-4 w-4" })
13396
+ }
13397
+ ),
13398
+ speech.supported ? /* @__PURE__ */ jsxRuntime.jsx(
13399
+ Button,
13400
+ {
13401
+ "data-boff-explore": "mic",
13402
+ "data-listening": speech.listening ? "true" : "false",
13403
+ type: "button",
13404
+ size: "icon",
13405
+ variant: speech.listening ? "default" : "ghost",
13406
+ disabled: composerDisabled,
13407
+ "aria-label": speech.listening ? T.stopDictating : T.dictate,
13408
+ "aria-pressed": speech.listening,
13409
+ title: speech.listening ? T.stopDictating : T.dictate,
13410
+ onClick: speech.toggle,
13411
+ className: cn(speech.listening && "animate-pulse"),
13412
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mic, { className: "h-4 w-4" })
13413
+ }
13414
+ ) : null,
13415
+ busy ? /* @__PURE__ */ jsxRuntime.jsx(
13416
+ Button,
13417
+ {
13418
+ "data-boff-explore": "stop",
13419
+ type: "button",
13420
+ size: "icon",
13421
+ variant: "secondary",
13422
+ "aria-label": T.stop,
13423
+ onClick: stop,
13424
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-4 w-4" })
13425
+ }
13426
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
13427
+ Button,
13428
+ {
13429
+ "data-boff-explore": "send",
13430
+ type: "submit",
13431
+ size: "icon",
13432
+ disabled: !canSubmit,
13433
+ "aria-label": T.send,
13434
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp, { className: "h-4 w-4" })
13435
+ }
13436
+ )
13437
+ ] })
13430
13438
  ]
13431
13439
  }
13432
13440
  ),