@burdenoff/website-sdk 2026.924.1 → 2026.924.3

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
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { createContext, useMemo, useContext, useState, useCallback, useLayoutEffect, useRef, useEffect, useId, version, Children, isValidElement, cloneElement } from 'react';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
- import { Instagram, Youtube, Facebook, Github, Linkedin, Twitter, Mail, Phone, MapPin, Clock, Send, CheckCircle, Upload, Globe, ChevronDown, Search, Rocket, ArrowRight, Download, ImageIcon, ChevronRight, Maximize2, Check, ArrowLeft, Sparkles, RotateCcw, Link2, History, Trash2, Paperclip, X, Mic, Square, ArrowUp, Info, ChevronLeft, BookOpenText, ExternalLink, Layers, TriangleAlert, FileText, Copy, ThumbsUp, ThumbsDown, Volume2 } from 'lucide-react';
4
+ import { Instagram, Youtube, Facebook, Github, Linkedin, Twitter, Mail, Phone, MapPin, Clock, Send, CheckCircle, Upload, Globe, ChevronDown, Search, Rocket, ArrowRight, Download, ImageIcon, ChevronRight, Maximize2, Check, ArrowLeft, Sparkles, RotateCcw, Link2, History, Trash2, Paperclip, X, Mic, Square, ArrowUp, Info, ExternalLink, ChevronLeft, BookOpenText, Layers, TriangleAlert, FileText, Copy, ThumbsUp, ThumbsDown, Volume2 } from 'lucide-react';
5
5
  import ReCAPTCHA4 from 'react-google-recaptcha';
6
6
  import { toast } from 'sonner';
7
7
  import { Helmet } from 'react-helmet-async';
@@ -4748,6 +4748,7 @@ function ElectronDownloadLink({
4748
4748
 
4749
4749
  // src/components/concepts-types.ts
4750
4750
  var CONCEPT_ILLUSTRATION_NOTICE = "These images are illustrations of the concept, not screenshots of the actual product.";
4751
+ var DOMAINS_URL = "https://burdenoff.com/domains";
4751
4752
  var CONCEPTS_PATH = "/concepts";
4752
4753
  var CONCEPT_PATH_PREFIX = "/concept";
4753
4754
  function conceptPath(slug) {
@@ -5138,6 +5139,102 @@ function FilterChip({
5138
5139
  }
5139
5140
  );
5140
5141
  }
5142
+ function SolutionsSection({
5143
+ id,
5144
+ title,
5145
+ lead,
5146
+ solutions,
5147
+ moreHref,
5148
+ moreLabel,
5149
+ className
5150
+ }) {
5151
+ return /* @__PURE__ */ jsxs(
5152
+ "section",
5153
+ {
5154
+ id,
5155
+ "aria-labelledby": `${id}-heading`,
5156
+ "data-concepts": "solutions",
5157
+ className: cn("scroll-mt-24", className),
5158
+ children: [
5159
+ /* @__PURE__ */ jsxs("div", { className: "max-w-3xl", children: [
5160
+ /* @__PURE__ */ jsx(
5161
+ "h2",
5162
+ {
5163
+ id: `${id}-heading`,
5164
+ className: "scroll-mt-24 text-2xl font-semibold tracking-tight text-foreground",
5165
+ children: title
5166
+ }
5167
+ ),
5168
+ /* @__PURE__ */ jsx("p", { className: "mt-2 leading-relaxed text-muted-foreground", children: lead })
5169
+ ] }),
5170
+ /* @__PURE__ */ jsx(
5171
+ "ul",
5172
+ {
5173
+ role: "list",
5174
+ className: cn(
5175
+ "mt-6 grid grid-cols-1 gap-5 sm:grid-cols-2",
5176
+ solutions.length >= 3 ? "lg:grid-cols-3" : "lg:grid-cols-2"
5177
+ ),
5178
+ children: solutions.map((solution) => /* @__PURE__ */ jsx(
5179
+ "li",
5180
+ {
5181
+ "data-domain": solution.domain,
5182
+ children: /* @__PURE__ */ jsxs(
5183
+ "a",
5184
+ {
5185
+ href: solution.url,
5186
+ target: "_blank",
5187
+ rel: "noopener noreferrer",
5188
+ className: "group flex h-full flex-col overflow-hidden rounded-2xl border border-border bg-card text-card-foreground shadow-sm transition hover:-translate-y-0.5 hover:border-primary/40 hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring motion-reduce:transform-none motion-reduce:transition-none",
5189
+ children: [
5190
+ solution.image ? /* @__PURE__ */ jsx("div", { className: "aspect-[16/9] overflow-hidden border-b border-border bg-muted", children: /* @__PURE__ */ jsx(
5191
+ "img",
5192
+ {
5193
+ src: solution.image,
5194
+ alt: "",
5195
+ width: 640,
5196
+ height: 360,
5197
+ loading: "lazy",
5198
+ decoding: "async",
5199
+ className: "h-full w-full object-cover transition duration-300 group-hover:scale-[1.03] motion-reduce:transition-none motion-reduce:group-hover:scale-100"
5200
+ }
5201
+ ) }) : null,
5202
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col gap-2 p-4", children: [
5203
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.16em] text-primary", children: "Industry solution" }),
5204
+ /* @__PURE__ */ jsx("h3", { className: "text-base font-semibold leading-snug text-card-foreground transition-colors group-hover:text-primary", children: solution.name }),
5205
+ solution.summary ? /* @__PURE__ */ jsx("p", { className: "line-clamp-3 text-sm leading-relaxed text-muted-foreground", children: solution.summary }) : null,
5206
+ /* @__PURE__ */ jsxs("span", { className: "mt-auto inline-flex items-center gap-1.5 pt-1 text-sm font-medium text-primary", children: [
5207
+ "See the solution",
5208
+ /* @__PURE__ */ jsx(ExternalLink, { "aria-hidden": "true", className: "h-3.5 w-3.5" }),
5209
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "(opens in a new tab)" })
5210
+ ] })
5211
+ ] })
5212
+ ]
5213
+ }
5214
+ )
5215
+ },
5216
+ `${solution.domain}:${solution.url}`
5217
+ ))
5218
+ }
5219
+ ),
5220
+ moreHref ? /* @__PURE__ */ jsxs(
5221
+ "a",
5222
+ {
5223
+ href: moreHref,
5224
+ target: "_blank",
5225
+ rel: "noopener noreferrer",
5226
+ className: "mt-6 inline-flex items-center gap-2 rounded text-sm font-medium text-primary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
5227
+ children: [
5228
+ moreLabel ?? "Browse every industry solution",
5229
+ /* @__PURE__ */ jsx(ArrowRight, { "aria-hidden": "true", className: "h-4 w-4" }),
5230
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "(opens in a new tab)" })
5231
+ ]
5232
+ }
5233
+ ) : null
5234
+ ]
5235
+ }
5236
+ );
5237
+ }
5141
5238
  function ConceptsPage({
5142
5239
  productName,
5143
5240
  siteUrl,
@@ -5147,6 +5244,8 @@ function ConceptsPage({
5147
5244
  linkComponent,
5148
5245
  title,
5149
5246
  description,
5247
+ solutions,
5248
+ solutionsUrl,
5150
5249
  className
5151
5250
  }) {
5152
5251
  const Link = linkComponent ?? DefaultConceptLink;
@@ -5287,167 +5386,181 @@ function ConceptsPage({
5287
5386
  /* @__PURE__ */ jsx(IllustrationNotice, { className: "mt-6 max-w-2xl" }),
5288
5387
  cta ? /* @__PURE__ */ jsx("div", { className: "mt-8 flex flex-wrap gap-3", children: cta }) : null
5289
5388
  ] }) }),
5290
- /* @__PURE__ */ jsx("div", { className: "mx-auto max-w-6xl px-4 pb-20 sm:px-6 lg:px-8", children: hasConcepts ? /* @__PURE__ */ jsxs(Fragment, { children: [
5291
- /* @__PURE__ */ jsxs(
5292
- "div",
5293
- {
5294
- role: "search",
5295
- "data-concepts": "filter",
5296
- className: "flex flex-col gap-4 py-8",
5297
- children: [
5298
- /* @__PURE__ */ jsxs("div", { className: "relative w-full max-w-md", children: [
5389
+ /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-6xl px-4 pb-20 sm:px-6 lg:px-8", children: [
5390
+ hasConcepts ? /* @__PURE__ */ jsxs(Fragment, { children: [
5391
+ /* @__PURE__ */ jsxs(
5392
+ "div",
5393
+ {
5394
+ role: "search",
5395
+ "data-concepts": "filter",
5396
+ className: "flex flex-col gap-4 py-8",
5397
+ children: [
5398
+ /* @__PURE__ */ jsxs("div", { className: "relative w-full max-w-md", children: [
5399
+ /* @__PURE__ */ jsx(
5400
+ Search,
5401
+ {
5402
+ "aria-hidden": "true",
5403
+ className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"
5404
+ }
5405
+ ),
5406
+ /* @__PURE__ */ jsx("label", { htmlFor: searchId, className: "sr-only", children: "Search concepts" }),
5407
+ /* @__PURE__ */ jsx(
5408
+ "input",
5409
+ {
5410
+ id: searchId,
5411
+ type: "search",
5412
+ value: query,
5413
+ onChange: (event) => setQuery(event.target.value),
5414
+ placeholder: "Search concepts",
5415
+ autoComplete: "off",
5416
+ className: "h-10 w-full rounded-lg border border-border bg-background pl-9 pr-3 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
5417
+ }
5418
+ )
5419
+ ] }),
5420
+ /* @__PURE__ */ jsxs(
5421
+ "div",
5422
+ {
5423
+ role: "group",
5424
+ "aria-label": "Filter by category",
5425
+ className: "flex flex-wrap gap-2",
5426
+ children: [
5427
+ /* @__PURE__ */ jsx(
5428
+ FilterChip,
5429
+ {
5430
+ label: "All",
5431
+ category: "all",
5432
+ count: searched.length,
5433
+ active: activeCategory === null,
5434
+ onSelect: () => setActiveCategory(null)
5435
+ }
5436
+ ),
5437
+ groups.map((group) => /* @__PURE__ */ jsx(
5438
+ FilterChip,
5439
+ {
5440
+ label: group.name,
5441
+ category: group.name,
5442
+ count: countsByCategory.get(group.name) ?? 0,
5443
+ active: activeCategory === group.name,
5444
+ onSelect: () => setActiveCategory(
5445
+ (current) => current === group.name ? null : group.name
5446
+ )
5447
+ },
5448
+ group.anchor
5449
+ ))
5450
+ ]
5451
+ }
5452
+ ),
5453
+ /* @__PURE__ */ jsxs(
5454
+ "p",
5455
+ {
5456
+ "aria-live": "polite",
5457
+ className: filtering ? "text-sm text-muted-foreground" : "sr-only",
5458
+ children: [
5459
+ "Showing ",
5460
+ visibleTotal,
5461
+ " of ",
5462
+ ordered.length,
5463
+ " ",
5464
+ ordered.length === 1 ? "concept" : "concepts"
5465
+ ]
5466
+ }
5467
+ )
5468
+ ]
5469
+ }
5470
+ ),
5471
+ visibleTotal === 0 ? /* @__PURE__ */ jsxs(
5472
+ "div",
5473
+ {
5474
+ "data-concepts": "empty",
5475
+ className: "rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5476
+ children: [
5299
5477
  /* @__PURE__ */ jsx(
5300
5478
  Search,
5301
5479
  {
5302
5480
  "aria-hidden": "true",
5303
- className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"
5481
+ className: "mx-auto h-8 w-8 text-muted-foreground"
5304
5482
  }
5305
5483
  ),
5306
- /* @__PURE__ */ jsx("label", { htmlFor: searchId, className: "sr-only", children: "Search concepts" }),
5484
+ /* @__PURE__ */ jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts match your filters" }),
5485
+ /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: "Try a different search, or show every category." }),
5307
5486
  /* @__PURE__ */ jsx(
5308
- "input",
5487
+ "button",
5309
5488
  {
5310
- id: searchId,
5311
- type: "search",
5312
- value: query,
5313
- onChange: (event) => setQuery(event.target.value),
5314
- placeholder: "Search concepts",
5315
- autoComplete: "off",
5316
- className: "h-10 w-full rounded-lg border border-border bg-background pl-9 pr-3 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
5489
+ type: "button",
5490
+ onClick: clearFilters,
5491
+ className: "mt-6 inline-flex items-center rounded-full border border-border bg-card px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
5492
+ children: "Clear filters"
5317
5493
  }
5318
5494
  )
5319
- ] }),
5320
- /* @__PURE__ */ jsxs(
5321
- "div",
5322
- {
5323
- role: "group",
5324
- "aria-label": "Filter by category",
5325
- className: "flex flex-wrap gap-2",
5326
- children: [
5327
- /* @__PURE__ */ jsx(
5328
- FilterChip,
5329
- {
5330
- label: "All",
5331
- category: "all",
5332
- count: searched.length,
5333
- active: activeCategory === null,
5334
- onSelect: () => setActiveCategory(null)
5335
- }
5336
- ),
5337
- groups.map((group) => /* @__PURE__ */ jsx(
5338
- FilterChip,
5339
- {
5340
- label: group.name,
5341
- category: group.name,
5342
- count: countsByCategory.get(group.name) ?? 0,
5343
- active: activeCategory === group.name,
5344
- onSelect: () => setActiveCategory(
5345
- (current) => current === group.name ? null : group.name
5346
- )
5347
- },
5348
- group.anchor
5349
- ))
5350
- ]
5351
- }
5352
- ),
5353
- /* @__PURE__ */ jsxs(
5354
- "p",
5355
- {
5356
- "aria-live": "polite",
5357
- className: filtering ? "text-sm text-muted-foreground" : "sr-only",
5358
- children: [
5359
- "Showing ",
5360
- visibleTotal,
5361
- " of ",
5362
- ordered.length,
5363
- " ",
5364
- ordered.length === 1 ? "concept" : "concepts"
5365
- ]
5366
- }
5367
- )
5368
- ]
5369
- }
5370
- ),
5371
- visibleTotal === 0 ? /* @__PURE__ */ jsxs(
5372
- "div",
5373
- {
5374
- "data-concepts": "empty",
5375
- className: "rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5376
- children: [
5495
+ ]
5496
+ }
5497
+ ) : /* @__PURE__ */ jsx("div", { className: "space-y-14", children: visibleGroups.map((group) => /* @__PURE__ */ jsxs("section", { "aria-labelledby": group.anchor, children: [
5498
+ /* @__PURE__ */ jsxs("div", { className: "max-w-3xl", children: [
5377
5499
  /* @__PURE__ */ jsx(
5378
- Search,
5500
+ "h2",
5379
5501
  {
5380
- "aria-hidden": "true",
5381
- className: "mx-auto h-8 w-8 text-muted-foreground"
5502
+ id: group.anchor,
5503
+ className: "scroll-mt-24 text-2xl font-semibold tracking-tight text-foreground",
5504
+ children: group.name
5382
5505
  }
5383
5506
  ),
5384
- /* @__PURE__ */ jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts match your filters" }),
5385
- /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: "Try a different search, or show every category." }),
5386
- /* @__PURE__ */ jsx(
5387
- "button",
5388
- {
5389
- type: "button",
5390
- onClick: clearFilters,
5391
- className: "mt-6 inline-flex items-center rounded-full border border-border bg-card px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
5392
- children: "Clear filters"
5393
- }
5394
- )
5395
- ]
5396
- }
5397
- ) : /* @__PURE__ */ jsx("div", { className: "space-y-14", children: visibleGroups.map((group) => /* @__PURE__ */ jsxs("section", { "aria-labelledby": group.anchor, children: [
5398
- /* @__PURE__ */ jsxs("div", { className: "max-w-3xl", children: [
5507
+ group.description ? /* @__PURE__ */ jsx("p", { className: "mt-2 leading-relaxed text-muted-foreground", children: group.description }) : null
5508
+ ] }),
5399
5509
  /* @__PURE__ */ jsx(
5400
- "h2",
5510
+ "ul",
5401
5511
  {
5402
- id: group.anchor,
5403
- className: "scroll-mt-24 text-2xl font-semibold tracking-tight text-foreground",
5404
- children: group.name
5512
+ role: "list",
5513
+ className: "mt-6 grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3",
5514
+ children: group.concepts.map((concept) => /* @__PURE__ */ jsx(
5515
+ "li",
5516
+ {
5517
+ "data-concepts": "card",
5518
+ "data-slug": concept.slug,
5519
+ children: /* @__PURE__ */ jsx(ConceptCard, { concept, Link })
5520
+ },
5521
+ concept.slug
5522
+ ))
5405
5523
  }
5406
- ),
5407
- group.description ? /* @__PURE__ */ jsx("p", { className: "mt-2 leading-relaxed text-muted-foreground", children: group.description }) : null
5408
- ] }),
5409
- /* @__PURE__ */ jsx(
5410
- "ul",
5524
+ )
5525
+ ] }, group.anchor)) })
5526
+ ] }) : (
5527
+ // Nothing published yet: no filter bar with an "All 0" chip, and no empty state
5528
+ // that blames filters the visitor never set.
5529
+ /* @__PURE__ */ jsxs(
5530
+ "div",
5411
5531
  {
5412
- role: "list",
5413
- className: "mt-6 grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3",
5414
- children: group.concepts.map((concept) => /* @__PURE__ */ jsx(
5415
- "li",
5416
- {
5417
- "data-concepts": "card",
5418
- "data-slug": concept.slug,
5419
- children: /* @__PURE__ */ jsx(ConceptCard, { concept, Link })
5420
- },
5421
- concept.slug
5422
- ))
5532
+ "data-concepts": "none",
5533
+ className: "mt-10 rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5534
+ children: [
5535
+ /* @__PURE__ */ jsx(
5536
+ ImageIcon,
5537
+ {
5538
+ "aria-hidden": "true",
5539
+ className: "mx-auto h-8 w-8 text-muted-foreground"
5540
+ }
5541
+ ),
5542
+ /* @__PURE__ */ jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts published yet" }),
5543
+ /* @__PURE__ */ jsxs("p", { className: "mt-2 text-sm text-muted-foreground", children: [
5544
+ productName,
5545
+ " concepts will appear here as they are published."
5546
+ ] })
5547
+ ]
5423
5548
  }
5424
5549
  )
5425
- ] }, group.anchor)) })
5426
- ] }) : (
5427
- // Nothing published yet: no filter bar with an "All 0" chip, and no empty state
5428
- // that blames filters the visitor never set.
5429
- /* @__PURE__ */ jsxs(
5430
- "div",
5550
+ ),
5551
+ solutions && solutions.length > 0 ? /* @__PURE__ */ jsx(
5552
+ SolutionsSection,
5431
5553
  {
5432
- "data-concepts": "none",
5433
- className: "mt-10 rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5434
- children: [
5435
- /* @__PURE__ */ jsx(
5436
- ImageIcon,
5437
- {
5438
- "aria-hidden": "true",
5439
- className: "mx-auto h-8 w-8 text-muted-foreground"
5440
- }
5441
- ),
5442
- /* @__PURE__ */ jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts published yet" }),
5443
- /* @__PURE__ */ jsxs("p", { className: "mt-2 text-sm text-muted-foreground", children: [
5444
- productName,
5445
- " concepts will appear here as they are published."
5446
- ] })
5447
- ]
5554
+ id: "industry-solutions",
5555
+ title: `${productName} in industry solutions`,
5556
+ lead: `See how ${productName} works with other Burdenoff products to solve real problems in specific industries \u2014 each solution walks through the challenges, the products involved and the concepts behind them.`,
5557
+ solutions,
5558
+ moreHref: solutionsUrl ?? DOMAINS_URL,
5559
+ moreLabel: "Browse every industry solution",
5560
+ className: "mt-16 border-t border-border pt-14"
5448
5561
  }
5449
- )
5450
- ) })
5562
+ ) : null
5563
+ ] })
5451
5564
  ]
5452
5565
  }
5453
5566
  );
@@ -5562,6 +5675,8 @@ function ConceptDetail({
5562
5675
  const canonical = absoluteUrl(base, conceptPath(concept.slug));
5563
5676
  const hero = concept.images[0];
5564
5677
  const imageTotal = concept.images.length;
5678
+ const solutions = concept.solutions ?? [];
5679
+ const solutionCount = solutions.length;
5565
5680
  const structuredData = useMemo(
5566
5681
  () => [
5567
5682
  {
@@ -5671,7 +5786,16 @@ function ConceptDetail({
5671
5786
  /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 rounded-full border border-border bg-background px-3 py-1 text-xs font-medium text-muted-foreground", children: [
5672
5787
  /* @__PURE__ */ jsx(ImageIcon, { "aria-hidden": "true", className: "h-3.5 w-3.5" }),
5673
5788
  illustrationCount(imageTotal)
5674
- ] })
5789
+ ] }),
5790
+ solutionCount > 0 ? /* @__PURE__ */ jsx(
5791
+ "a",
5792
+ {
5793
+ href: "#concept-solutions",
5794
+ "data-concepts": "solutions-chip",
5795
+ className: "inline-flex items-center gap-1.5 rounded-full border border-border bg-background px-3 py-1 text-xs font-medium text-muted-foreground transition-colors hover:border-primary/40 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
5796
+ children: solutionCount === 1 ? "Part of 1 industry solution" : `Part of ${solutionCount} industry solutions`
5797
+ }
5798
+ ) : null
5675
5799
  ] }),
5676
5800
  /* @__PURE__ */ jsx(
5677
5801
  "h1",
@@ -5825,6 +5949,16 @@ function ConceptDetail({
5825
5949
  ]
5826
5950
  }
5827
5951
  ) : null,
5952
+ solutionCount > 0 ? /* @__PURE__ */ jsx(
5953
+ SolutionsSection,
5954
+ {
5955
+ id: "concept-solutions",
5956
+ title: solutionCount === 1 ? "Part of an industry solution" : "Part of industry solutions",
5957
+ lead: `This concept appears in ${solutionCount === 1 ? "a cross-product solution" : "cross-product solutions"} on burdenoff.com \u2014 see how it works alongside other Burdenoff products to solve a problem in that industry.`,
5958
+ solutions,
5959
+ className: "mt-16"
5960
+ }
5961
+ ) : null,
5828
5962
  previous || next ? /* @__PURE__ */ jsxs(
5829
5963
  "nav",
5830
5964
  {
@@ -12094,7 +12228,7 @@ function ConceptStrip({
12094
12228
  "div",
12095
12229
  {
12096
12230
  "data-boff-explore": "concept-strip-block",
12097
- className: "boff-explore-rise boff-explore-rise-3 mt-5",
12231
+ className: "boff-explore-rise boff-explore-rise-3 mt-4",
12098
12232
  children: [
12099
12233
  /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.conceptStripTitle }),
12100
12234
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
@@ -12157,9 +12291,9 @@ function ConceptStrip({
12157
12291
  product: highlight.productName
12158
12292
  })
12159
12293
  ),
12160
- 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-48",
12294
+ 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",
12161
12295
  children: [
12162
- /* @__PURE__ */ jsxs("span", { className: "relative block aspect-[16/9] w-full overflow-hidden bg-muted", children: [
12296
+ /* @__PURE__ */ jsxs("span", { className: "relative block aspect-[2/1] w-full overflow-hidden bg-muted", children: [
12163
12297
  /* @__PURE__ */ jsx(
12164
12298
  "img",
12165
12299
  {
@@ -12309,7 +12443,7 @@ function WelcomeState({
12309
12443
  onFocus,
12310
12444
  disabled
12311
12445
  }) {
12312
- return /* @__PURE__ */ jsxs("div", { className: "boff-explore-aura mx-auto my-auto w-full max-w-3xl px-4 py-5 sm:py-6", children: [
12446
+ 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: [
12313
12447
  /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise text-center", children: [
12314
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: [
12315
12449
  /* @__PURE__ */ jsx(Sparkles, { className: "h-3.5 w-3.5" }),
@@ -12318,10 +12452,10 @@ function WelcomeState({
12318
12452
  /* @__PURE__ */ jsx("h1", { className: "mt-3 text-balance break-words text-2xl font-bold tracking-tight sm:text-3xl", children: title }),
12319
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 })
12320
12454
  ] }),
12321
- /* @__PURE__ */ jsx("ul", { className: "boff-explore-rise boff-explore-rise-1 mt-5 grid grid-cols-3 gap-2 sm:gap-2.5", children: CAPABILITIES.map(({ icon: Icon, body: capBody }, i) => /* @__PURE__ */ jsxs(
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(
12322
12456
  "li",
12323
12457
  {
12324
- className: "rounded-xl border border-border/70 bg-card/60 p-2.5 text-center transition-colors hover:border-border sm:p-3 sm:text-left",
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",
12325
12459
  children: [
12326
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" }) }),
12327
12461
  /* @__PURE__ */ jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-normal", children: T.capabilities[i] ?? "" }),
@@ -12330,7 +12464,7 @@ function WelcomeState({
12330
12464
  },
12331
12465
  i
12332
12466
  )) }),
12333
- prompts.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-5", children: [
12467
+ prompts.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-4", children: [
12334
12468
  /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
12335
12469
  /* @__PURE__ */ jsx(
12336
12470
  PromptCarousel,
@@ -12342,7 +12476,7 @@ function WelcomeState({
12342
12476
  }
12343
12477
  )
12344
12478
  ] }) : null,
12345
- products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-5", children: [
12479
+ products.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-4", children: [
12346
12480
  /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
12347
12481
  /* @__PURE__ */ jsx(
12348
12482
  ProductStrip,
@@ -12365,6 +12499,13 @@ function WelcomeState({
12365
12499
  )
12366
12500
  ] });
12367
12501
  }
12502
+ var EXPLORE_PREFILL_MAX_LENGTH = 500;
12503
+ function exploreQuestionHref(question, base = "/explore") {
12504
+ const trimmed = question.trim().slice(0, EXPLORE_PREFILL_MAX_LENGTH);
12505
+ if (!trimmed) return base;
12506
+ const joiner = base.includes("?") ? "&" : "?";
12507
+ return `${base}${joiner}q=${encodeURIComponent(trimmed)}`;
12508
+ }
12368
12509
  function ExplorePage({
12369
12510
  seo,
12370
12511
  productSlug,
@@ -12424,6 +12565,14 @@ function ExplorePage({
12424
12565
  });
12425
12566
  const [draft, setDraft] = useState("");
12426
12567
  const textareaRef = useRef(null);
12568
+ useEffect(() => {
12569
+ if (typeof window === "undefined") return;
12570
+ const params = new URLSearchParams(window.location.search);
12571
+ if (params.has("c")) return;
12572
+ const question = params.get("q")?.trim();
12573
+ if (!question) return;
12574
+ setDraft(question.slice(0, EXPLORE_PREFILL_MAX_LENGTH));
12575
+ }, []);
12427
12576
  const [historyOpen, setHistoryOpen] = useState(false);
12428
12577
  const speechStopRef = useRef(() => void 0);
12429
12578
  const stopDictation = useCallback(() => {
@@ -18014,6 +18163,6 @@ function shouldRenderSiteFooter(pathname) {
18014
18163
  return !isFooterlessPath(pathname);
18015
18164
  }
18016
18165
 
18017
- export { ANSWERS_PATH, ANSWER_HEADING_SHIFT, ANSWER_PATH_PREFIX, AnswerDetailPage, AnswersPage, BlogListPage, BlogPostPage, Button, CONCEPTS_PATH, CONCEPT_ILLUSTRATION_NOTICE, CONCEPT_PATH_PREFIX, CareersApplyForm, CareersSubmissionForm, CaseStudiesListPage, CaseStudyPage, ChangelogPage, ConceptDetailPage, ConceptsPage, ContactPage, ContentRenderer, ContractsPage, DEFAULT_CONTACT_CATEGORIES, DEFAULT_EXPLORE_EXAMPLE_PROMPTS, ECOSYSTEM_PRODUCTS, ESCALATE_EXPLORE_CONVERSATION_MUTATION, EXPLORE_CATALOG_QUERY, EXPLORE_CATALOG_QUERY_WITHOUT_HIGHLIGHTS, EXPLORE_ESCALATION_NOTE_SOFT_MAX, EXPLORE_LOCALES, EXPLORE_MESSAGE_QUERY, EXPLORE_RECAPTCHA_ACTION, ElectronDownloadLink, ExploreAnswerBody, ExploreAnswerStyles, ExploreCta, ExplorePage, FALLBACK_EXPLORE_LIMITS, FOOTERLESS_ROUTES, Input, Label, LaunchCountdown, Markdown, NewsletterForm, NewsletterPage, PUBLISHED_ANSWER_FIELDS, PageHead, PartnersPage, PressKitPage, PricingPage, PricingSection, ProblemsSolvedSection, ProductCard, ProductProvider, ResourceLinks, RybbitAnalytics, SEND_EXPLORE_MESSAGE_MUTATION, Select, SocialLinks, StarRating, StoreBrowsePage, StoreHomePage, StoreProductDetailPage, Textarea, TypeBadge, UnsubscribePage, WaitlistForm, WaitlistPage, WebSDKClient, WebSDKProvider, WebsiteSwitcher, answerPath, answerPlainText, answerSourceHost, answerSpeechText, answerStrings, buttonVariants, classifyExploreError, cn, conceptPath, detectElectronPlatform, fetchPublicJobPosting, fetchPublicJobPostings, fetchPublicJobPostingsForSubmission, formatAnswerDate, formatDownloads, formatPrice2 as formatPrice, getAnswerBySlug, getConceptBySlug, getRecaptchaV3Token, inlineImageOrigins, isFooterlessPath, isInlineImageAllowed, isPublishedSourceUrl, isValidUrl, loadRecaptchaV3, looksLikeDeliverableEmail, normalizeRoutePath, shouldRenderSiteFooter, speechLocaleOf, stopSpeaking, useContentPage, useContentPages, useExploreChat, useProduct, useProductConfig, useProgressiveReveal, usePublicJobPosting, usePublicJobPostings, usePublicJobPostingsForSubmission, useSpeechOutput, useWebSDK, useWebSDKConfig };
18166
+ export { ANSWERS_PATH, ANSWER_HEADING_SHIFT, ANSWER_PATH_PREFIX, AnswerDetailPage, AnswersPage, BlogListPage, BlogPostPage, Button, CONCEPTS_PATH, CONCEPT_ILLUSTRATION_NOTICE, CONCEPT_PATH_PREFIX, CareersApplyForm, CareersSubmissionForm, CaseStudiesListPage, CaseStudyPage, ChangelogPage, ConceptDetailPage, ConceptsPage, ContactPage, ContentRenderer, ContractsPage, DEFAULT_CONTACT_CATEGORIES, DEFAULT_EXPLORE_EXAMPLE_PROMPTS, DOMAINS_URL, ECOSYSTEM_PRODUCTS, ESCALATE_EXPLORE_CONVERSATION_MUTATION, EXPLORE_CATALOG_QUERY, EXPLORE_CATALOG_QUERY_WITHOUT_HIGHLIGHTS, EXPLORE_ESCALATION_NOTE_SOFT_MAX, EXPLORE_LOCALES, EXPLORE_MESSAGE_QUERY, EXPLORE_PREFILL_MAX_LENGTH, EXPLORE_RECAPTCHA_ACTION, ElectronDownloadLink, ExploreAnswerBody, ExploreAnswerStyles, ExploreCta, ExplorePage, FALLBACK_EXPLORE_LIMITS, FOOTERLESS_ROUTES, Input, Label, LaunchCountdown, Markdown, NewsletterForm, NewsletterPage, PUBLISHED_ANSWER_FIELDS, PageHead, PartnersPage, PressKitPage, PricingPage, PricingSection, ProblemsSolvedSection, ProductCard, ProductProvider, ResourceLinks, RybbitAnalytics, SEND_EXPLORE_MESSAGE_MUTATION, Select, SocialLinks, StarRating, StoreBrowsePage, StoreHomePage, StoreProductDetailPage, Textarea, TypeBadge, UnsubscribePage, WaitlistForm, WaitlistPage, WebSDKClient, WebSDKProvider, WebsiteSwitcher, answerPath, answerPlainText, answerSourceHost, answerSpeechText, answerStrings, buttonVariants, classifyExploreError, cn, conceptPath, detectElectronPlatform, exploreQuestionHref, fetchPublicJobPosting, fetchPublicJobPostings, fetchPublicJobPostingsForSubmission, formatAnswerDate, formatDownloads, formatPrice2 as formatPrice, getAnswerBySlug, getConceptBySlug, getRecaptchaV3Token, inlineImageOrigins, isFooterlessPath, isInlineImageAllowed, isPublishedSourceUrl, isValidUrl, loadRecaptchaV3, looksLikeDeliverableEmail, normalizeRoutePath, shouldRenderSiteFooter, speechLocaleOf, stopSpeaking, useContentPage, useContentPages, useExploreChat, useProduct, useProductConfig, useProgressiveReveal, usePublicJobPosting, usePublicJobPostings, usePublicJobPostingsForSubmission, useSpeechOutput, useWebSDK, useWebSDKConfig };
18018
18167
  //# sourceMappingURL=index.mjs.map
18019
18168
  //# sourceMappingURL=index.mjs.map