@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.js CHANGED
@@ -4778,6 +4778,7 @@ function ElectronDownloadLink({
4778
4778
 
4779
4779
  // src/components/concepts-types.ts
4780
4780
  var CONCEPT_ILLUSTRATION_NOTICE = "These images are illustrations of the concept, not screenshots of the actual product.";
4781
+ var DOMAINS_URL = "https://burdenoff.com/domains";
4781
4782
  var CONCEPTS_PATH = "/concepts";
4782
4783
  var CONCEPT_PATH_PREFIX = "/concept";
4783
4784
  function conceptPath(slug) {
@@ -5168,6 +5169,102 @@ function FilterChip({
5168
5169
  }
5169
5170
  );
5170
5171
  }
5172
+ function SolutionsSection({
5173
+ id,
5174
+ title,
5175
+ lead,
5176
+ solutions,
5177
+ moreHref,
5178
+ moreLabel,
5179
+ className
5180
+ }) {
5181
+ return /* @__PURE__ */ jsxRuntime.jsxs(
5182
+ "section",
5183
+ {
5184
+ id,
5185
+ "aria-labelledby": `${id}-heading`,
5186
+ "data-concepts": "solutions",
5187
+ className: cn("scroll-mt-24", className),
5188
+ children: [
5189
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-3xl", children: [
5190
+ /* @__PURE__ */ jsxRuntime.jsx(
5191
+ "h2",
5192
+ {
5193
+ id: `${id}-heading`,
5194
+ className: "scroll-mt-24 text-2xl font-semibold tracking-tight text-foreground",
5195
+ children: title
5196
+ }
5197
+ ),
5198
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 leading-relaxed text-muted-foreground", children: lead })
5199
+ ] }),
5200
+ /* @__PURE__ */ jsxRuntime.jsx(
5201
+ "ul",
5202
+ {
5203
+ role: "list",
5204
+ className: cn(
5205
+ "mt-6 grid grid-cols-1 gap-5 sm:grid-cols-2",
5206
+ solutions.length >= 3 ? "lg:grid-cols-3" : "lg:grid-cols-2"
5207
+ ),
5208
+ children: solutions.map((solution) => /* @__PURE__ */ jsxRuntime.jsx(
5209
+ "li",
5210
+ {
5211
+ "data-domain": solution.domain,
5212
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
5213
+ "a",
5214
+ {
5215
+ href: solution.url,
5216
+ target: "_blank",
5217
+ rel: "noopener noreferrer",
5218
+ 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",
5219
+ children: [
5220
+ solution.image ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-[16/9] overflow-hidden border-b border-border bg-muted", children: /* @__PURE__ */ jsxRuntime.jsx(
5221
+ "img",
5222
+ {
5223
+ src: solution.image,
5224
+ alt: "",
5225
+ width: 640,
5226
+ height: 360,
5227
+ loading: "lazy",
5228
+ decoding: "async",
5229
+ 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"
5230
+ }
5231
+ ) }) : null,
5232
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 flex-col gap-2 p-4", children: [
5233
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.16em] text-primary", children: "Industry solution" }),
5234
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold leading-snug text-card-foreground transition-colors group-hover:text-primary", children: solution.name }),
5235
+ solution.summary ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "line-clamp-3 text-sm leading-relaxed text-muted-foreground", children: solution.summary }) : null,
5236
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "mt-auto inline-flex items-center gap-1.5 pt-1 text-sm font-medium text-primary", children: [
5237
+ "See the solution",
5238
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLink, { "aria-hidden": "true", className: "h-3.5 w-3.5" }),
5239
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "(opens in a new tab)" })
5240
+ ] })
5241
+ ] })
5242
+ ]
5243
+ }
5244
+ )
5245
+ },
5246
+ `${solution.domain}:${solution.url}`
5247
+ ))
5248
+ }
5249
+ ),
5250
+ moreHref ? /* @__PURE__ */ jsxRuntime.jsxs(
5251
+ "a",
5252
+ {
5253
+ href: moreHref,
5254
+ target: "_blank",
5255
+ rel: "noopener noreferrer",
5256
+ 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",
5257
+ children: [
5258
+ moreLabel ?? "Browse every industry solution",
5259
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { "aria-hidden": "true", className: "h-4 w-4" }),
5260
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "(opens in a new tab)" })
5261
+ ]
5262
+ }
5263
+ ) : null
5264
+ ]
5265
+ }
5266
+ );
5267
+ }
5171
5268
  function ConceptsPage({
5172
5269
  productName,
5173
5270
  siteUrl,
@@ -5177,6 +5274,8 @@ function ConceptsPage({
5177
5274
  linkComponent,
5178
5275
  title,
5179
5276
  description,
5277
+ solutions,
5278
+ solutionsUrl,
5180
5279
  className
5181
5280
  }) {
5182
5281
  const Link = linkComponent ?? DefaultConceptLink;
@@ -5317,167 +5416,181 @@ function ConceptsPage({
5317
5416
  /* @__PURE__ */ jsxRuntime.jsx(IllustrationNotice, { className: "mt-6 max-w-2xl" }),
5318
5417
  cta ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-8 flex flex-wrap gap-3", children: cta }) : null
5319
5418
  ] }) }),
5320
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto max-w-6xl px-4 pb-20 sm:px-6 lg:px-8", children: hasConcepts ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5321
- /* @__PURE__ */ jsxRuntime.jsxs(
5322
- "div",
5323
- {
5324
- role: "search",
5325
- "data-concepts": "filter",
5326
- className: "flex flex-col gap-4 py-8",
5327
- children: [
5328
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full max-w-md", children: [
5419
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-6xl px-4 pb-20 sm:px-6 lg:px-8", children: [
5420
+ hasConcepts ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5421
+ /* @__PURE__ */ jsxRuntime.jsxs(
5422
+ "div",
5423
+ {
5424
+ role: "search",
5425
+ "data-concepts": "filter",
5426
+ className: "flex flex-col gap-4 py-8",
5427
+ children: [
5428
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full max-w-md", children: [
5429
+ /* @__PURE__ */ jsxRuntime.jsx(
5430
+ lucideReact.Search,
5431
+ {
5432
+ "aria-hidden": "true",
5433
+ className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"
5434
+ }
5435
+ ),
5436
+ /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: searchId, className: "sr-only", children: "Search concepts" }),
5437
+ /* @__PURE__ */ jsxRuntime.jsx(
5438
+ "input",
5439
+ {
5440
+ id: searchId,
5441
+ type: "search",
5442
+ value: query,
5443
+ onChange: (event) => setQuery(event.target.value),
5444
+ placeholder: "Search concepts",
5445
+ autoComplete: "off",
5446
+ 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"
5447
+ }
5448
+ )
5449
+ ] }),
5450
+ /* @__PURE__ */ jsxRuntime.jsxs(
5451
+ "div",
5452
+ {
5453
+ role: "group",
5454
+ "aria-label": "Filter by category",
5455
+ className: "flex flex-wrap gap-2",
5456
+ children: [
5457
+ /* @__PURE__ */ jsxRuntime.jsx(
5458
+ FilterChip,
5459
+ {
5460
+ label: "All",
5461
+ category: "all",
5462
+ count: searched.length,
5463
+ active: activeCategory === null,
5464
+ onSelect: () => setActiveCategory(null)
5465
+ }
5466
+ ),
5467
+ groups.map((group) => /* @__PURE__ */ jsxRuntime.jsx(
5468
+ FilterChip,
5469
+ {
5470
+ label: group.name,
5471
+ category: group.name,
5472
+ count: countsByCategory.get(group.name) ?? 0,
5473
+ active: activeCategory === group.name,
5474
+ onSelect: () => setActiveCategory(
5475
+ (current) => current === group.name ? null : group.name
5476
+ )
5477
+ },
5478
+ group.anchor
5479
+ ))
5480
+ ]
5481
+ }
5482
+ ),
5483
+ /* @__PURE__ */ jsxRuntime.jsxs(
5484
+ "p",
5485
+ {
5486
+ "aria-live": "polite",
5487
+ className: filtering ? "text-sm text-muted-foreground" : "sr-only",
5488
+ children: [
5489
+ "Showing ",
5490
+ visibleTotal,
5491
+ " of ",
5492
+ ordered.length,
5493
+ " ",
5494
+ ordered.length === 1 ? "concept" : "concepts"
5495
+ ]
5496
+ }
5497
+ )
5498
+ ]
5499
+ }
5500
+ ),
5501
+ visibleTotal === 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
5502
+ "div",
5503
+ {
5504
+ "data-concepts": "empty",
5505
+ className: "rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5506
+ children: [
5329
5507
  /* @__PURE__ */ jsxRuntime.jsx(
5330
5508
  lucideReact.Search,
5331
5509
  {
5332
5510
  "aria-hidden": "true",
5333
- className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"
5511
+ className: "mx-auto h-8 w-8 text-muted-foreground"
5334
5512
  }
5335
5513
  ),
5336
- /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: searchId, className: "sr-only", children: "Search concepts" }),
5514
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts match your filters" }),
5515
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: "Try a different search, or show every category." }),
5337
5516
  /* @__PURE__ */ jsxRuntime.jsx(
5338
- "input",
5517
+ "button",
5339
5518
  {
5340
- id: searchId,
5341
- type: "search",
5342
- value: query,
5343
- onChange: (event) => setQuery(event.target.value),
5344
- placeholder: "Search concepts",
5345
- autoComplete: "off",
5346
- 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"
5519
+ type: "button",
5520
+ onClick: clearFilters,
5521
+ 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",
5522
+ children: "Clear filters"
5347
5523
  }
5348
5524
  )
5349
- ] }),
5350
- /* @__PURE__ */ jsxRuntime.jsxs(
5351
- "div",
5352
- {
5353
- role: "group",
5354
- "aria-label": "Filter by category",
5355
- className: "flex flex-wrap gap-2",
5356
- children: [
5357
- /* @__PURE__ */ jsxRuntime.jsx(
5358
- FilterChip,
5359
- {
5360
- label: "All",
5361
- category: "all",
5362
- count: searched.length,
5363
- active: activeCategory === null,
5364
- onSelect: () => setActiveCategory(null)
5365
- }
5366
- ),
5367
- groups.map((group) => /* @__PURE__ */ jsxRuntime.jsx(
5368
- FilterChip,
5369
- {
5370
- label: group.name,
5371
- category: group.name,
5372
- count: countsByCategory.get(group.name) ?? 0,
5373
- active: activeCategory === group.name,
5374
- onSelect: () => setActiveCategory(
5375
- (current) => current === group.name ? null : group.name
5376
- )
5377
- },
5378
- group.anchor
5379
- ))
5380
- ]
5381
- }
5382
- ),
5383
- /* @__PURE__ */ jsxRuntime.jsxs(
5384
- "p",
5385
- {
5386
- "aria-live": "polite",
5387
- className: filtering ? "text-sm text-muted-foreground" : "sr-only",
5388
- children: [
5389
- "Showing ",
5390
- visibleTotal,
5391
- " of ",
5392
- ordered.length,
5393
- " ",
5394
- ordered.length === 1 ? "concept" : "concepts"
5395
- ]
5396
- }
5397
- )
5398
- ]
5399
- }
5400
- ),
5401
- visibleTotal === 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
5402
- "div",
5403
- {
5404
- "data-concepts": "empty",
5405
- className: "rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5406
- children: [
5525
+ ]
5526
+ }
5527
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-14", children: visibleGroups.map((group) => /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-labelledby": group.anchor, children: [
5528
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-3xl", children: [
5407
5529
  /* @__PURE__ */ jsxRuntime.jsx(
5408
- lucideReact.Search,
5530
+ "h2",
5409
5531
  {
5410
- "aria-hidden": "true",
5411
- className: "mx-auto h-8 w-8 text-muted-foreground"
5532
+ id: group.anchor,
5533
+ className: "scroll-mt-24 text-2xl font-semibold tracking-tight text-foreground",
5534
+ children: group.name
5412
5535
  }
5413
5536
  ),
5414
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts match your filters" }),
5415
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: "Try a different search, or show every category." }),
5416
- /* @__PURE__ */ jsxRuntime.jsx(
5417
- "button",
5418
- {
5419
- type: "button",
5420
- onClick: clearFilters,
5421
- 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",
5422
- children: "Clear filters"
5423
- }
5424
- )
5425
- ]
5426
- }
5427
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-14", children: visibleGroups.map((group) => /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-labelledby": group.anchor, children: [
5428
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-3xl", children: [
5537
+ group.description ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 leading-relaxed text-muted-foreground", children: group.description }) : null
5538
+ ] }),
5429
5539
  /* @__PURE__ */ jsxRuntime.jsx(
5430
- "h2",
5540
+ "ul",
5431
5541
  {
5432
- id: group.anchor,
5433
- className: "scroll-mt-24 text-2xl font-semibold tracking-tight text-foreground",
5434
- children: group.name
5542
+ role: "list",
5543
+ className: "mt-6 grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3",
5544
+ children: group.concepts.map((concept) => /* @__PURE__ */ jsxRuntime.jsx(
5545
+ "li",
5546
+ {
5547
+ "data-concepts": "card",
5548
+ "data-slug": concept.slug,
5549
+ children: /* @__PURE__ */ jsxRuntime.jsx(ConceptCard, { concept, Link })
5550
+ },
5551
+ concept.slug
5552
+ ))
5435
5553
  }
5436
- ),
5437
- group.description ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 leading-relaxed text-muted-foreground", children: group.description }) : null
5438
- ] }),
5439
- /* @__PURE__ */ jsxRuntime.jsx(
5440
- "ul",
5554
+ )
5555
+ ] }, group.anchor)) })
5556
+ ] }) : (
5557
+ // Nothing published yet: no filter bar with an "All 0" chip, and no empty state
5558
+ // that blames filters the visitor never set.
5559
+ /* @__PURE__ */ jsxRuntime.jsxs(
5560
+ "div",
5441
5561
  {
5442
- role: "list",
5443
- className: "mt-6 grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3",
5444
- children: group.concepts.map((concept) => /* @__PURE__ */ jsxRuntime.jsx(
5445
- "li",
5446
- {
5447
- "data-concepts": "card",
5448
- "data-slug": concept.slug,
5449
- children: /* @__PURE__ */ jsxRuntime.jsx(ConceptCard, { concept, Link })
5450
- },
5451
- concept.slug
5452
- ))
5562
+ "data-concepts": "none",
5563
+ className: "mt-10 rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5564
+ children: [
5565
+ /* @__PURE__ */ jsxRuntime.jsx(
5566
+ lucideReact.ImageIcon,
5567
+ {
5568
+ "aria-hidden": "true",
5569
+ className: "mx-auto h-8 w-8 text-muted-foreground"
5570
+ }
5571
+ ),
5572
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts published yet" }),
5573
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-2 text-sm text-muted-foreground", children: [
5574
+ productName,
5575
+ " concepts will appear here as they are published."
5576
+ ] })
5577
+ ]
5453
5578
  }
5454
5579
  )
5455
- ] }, group.anchor)) })
5456
- ] }) : (
5457
- // Nothing published yet: no filter bar with an "All 0" chip, and no empty state
5458
- // that blames filters the visitor never set.
5459
- /* @__PURE__ */ jsxRuntime.jsxs(
5460
- "div",
5580
+ ),
5581
+ solutions && solutions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5582
+ SolutionsSection,
5461
5583
  {
5462
- "data-concepts": "none",
5463
- className: "mt-10 rounded-2xl border border-dashed border-border bg-muted/30 px-6 py-14 text-center",
5464
- children: [
5465
- /* @__PURE__ */ jsxRuntime.jsx(
5466
- lucideReact.ImageIcon,
5467
- {
5468
- "aria-hidden": "true",
5469
- className: "mx-auto h-8 w-8 text-muted-foreground"
5470
- }
5471
- ),
5472
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mt-4 text-lg font-semibold text-foreground", children: "No concepts published yet" }),
5473
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-2 text-sm text-muted-foreground", children: [
5474
- productName,
5475
- " concepts will appear here as they are published."
5476
- ] })
5477
- ]
5584
+ id: "industry-solutions",
5585
+ title: `${productName} in industry solutions`,
5586
+ 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.`,
5587
+ solutions,
5588
+ moreHref: solutionsUrl ?? DOMAINS_URL,
5589
+ moreLabel: "Browse every industry solution",
5590
+ className: "mt-16 border-t border-border pt-14"
5478
5591
  }
5479
- )
5480
- ) })
5592
+ ) : null
5593
+ ] })
5481
5594
  ]
5482
5595
  }
5483
5596
  );
@@ -5592,6 +5705,8 @@ function ConceptDetail({
5592
5705
  const canonical = absoluteUrl(base, conceptPath(concept.slug));
5593
5706
  const hero = concept.images[0];
5594
5707
  const imageTotal = concept.images.length;
5708
+ const solutions = concept.solutions ?? [];
5709
+ const solutionCount = solutions.length;
5595
5710
  const structuredData = React.useMemo(
5596
5711
  () => [
5597
5712
  {
@@ -5701,7 +5816,16 @@ function ConceptDetail({
5701
5816
  /* @__PURE__ */ jsxRuntime.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: [
5702
5817
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ImageIcon, { "aria-hidden": "true", className: "h-3.5 w-3.5" }),
5703
5818
  illustrationCount(imageTotal)
5704
- ] })
5819
+ ] }),
5820
+ solutionCount > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5821
+ "a",
5822
+ {
5823
+ href: "#concept-solutions",
5824
+ "data-concepts": "solutions-chip",
5825
+ 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",
5826
+ children: solutionCount === 1 ? "Part of 1 industry solution" : `Part of ${solutionCount} industry solutions`
5827
+ }
5828
+ ) : null
5705
5829
  ] }),
5706
5830
  /* @__PURE__ */ jsxRuntime.jsx(
5707
5831
  "h1",
@@ -5855,6 +5979,16 @@ function ConceptDetail({
5855
5979
  ]
5856
5980
  }
5857
5981
  ) : null,
5982
+ solutionCount > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5983
+ SolutionsSection,
5984
+ {
5985
+ id: "concept-solutions",
5986
+ title: solutionCount === 1 ? "Part of an industry solution" : "Part of industry solutions",
5987
+ 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.`,
5988
+ solutions,
5989
+ className: "mt-16"
5990
+ }
5991
+ ) : null,
5858
5992
  previous || next ? /* @__PURE__ */ jsxRuntime.jsxs(
5859
5993
  "nav",
5860
5994
  {
@@ -12124,7 +12258,7 @@ function ConceptStrip({
12124
12258
  "div",
12125
12259
  {
12126
12260
  "data-boff-explore": "concept-strip-block",
12127
- className: "boff-explore-rise boff-explore-rise-3 mt-5",
12261
+ className: "boff-explore-rise boff-explore-rise-3 mt-4",
12128
12262
  children: [
12129
12263
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.conceptStripTitle }),
12130
12264
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
@@ -12187,9 +12321,9 @@ function ConceptStrip({
12187
12321
  product: highlight.productName
12188
12322
  })
12189
12323
  ),
12190
- 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",
12324
+ 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",
12191
12325
  children: [
12192
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative block aspect-[16/9] w-full overflow-hidden bg-muted", children: [
12326
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative block aspect-[2/1] w-full overflow-hidden bg-muted", children: [
12193
12327
  /* @__PURE__ */ jsxRuntime.jsx(
12194
12328
  "img",
12195
12329
  {
@@ -12339,7 +12473,7 @@ function WelcomeState({
12339
12473
  onFocus,
12340
12474
  disabled
12341
12475
  }) {
12342
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-aura mx-auto my-auto w-full max-w-3xl px-4 py-5 sm:py-6", children: [
12476
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-aura mx-auto my-auto w-full max-w-3xl px-4 py-4 sm:py-5", children: [
12343
12477
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise text-center", children: [
12344
12478
  /* @__PURE__ */ jsxRuntime.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: [
12345
12479
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-3.5 w-3.5" }),
@@ -12348,10 +12482,10 @@ function WelcomeState({
12348
12482
  /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mt-3 text-balance break-words text-2xl font-bold tracking-tight sm:text-3xl", children: title }),
12349
12483
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mx-auto mt-2 max-w-2xl text-pretty text-sm leading-relaxed text-muted-foreground sm:text-base", children: body })
12350
12484
  ] }),
12351
- /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsxs(
12485
+ /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsxs(
12352
12486
  "li",
12353
12487
  {
12354
- 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",
12488
+ 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",
12355
12489
  children: [
12356
12490
  /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(Icon, { className: "h-3.5 w-3.5 sm:h-4 sm:w-4" }) }),
12357
12491
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] font-semibold leading-tight text-card-foreground sm:text-sm sm:leading-normal", children: T.capabilities[i] ?? "" }),
@@ -12360,7 +12494,7 @@ function WelcomeState({
12360
12494
  },
12361
12495
  i
12362
12496
  )) }),
12363
- prompts.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-5", children: [
12497
+ prompts.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-2 mt-4", children: [
12364
12498
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.tryAsking }),
12365
12499
  /* @__PURE__ */ jsxRuntime.jsx(
12366
12500
  PromptCarousel,
@@ -12372,7 +12506,7 @@ function WelcomeState({
12372
12506
  }
12373
12507
  )
12374
12508
  ] }) : null,
12375
- products.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-5", children: [
12509
+ products.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "boff-explore-rise boff-explore-rise-3 mt-4", children: [
12376
12510
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: T.focusProduct }),
12377
12511
  /* @__PURE__ */ jsxRuntime.jsx(
12378
12512
  ProductStrip,
@@ -12395,6 +12529,13 @@ function WelcomeState({
12395
12529
  )
12396
12530
  ] });
12397
12531
  }
12532
+ var EXPLORE_PREFILL_MAX_LENGTH = 500;
12533
+ function exploreQuestionHref(question, base = "/explore") {
12534
+ const trimmed = question.trim().slice(0, EXPLORE_PREFILL_MAX_LENGTH);
12535
+ if (!trimmed) return base;
12536
+ const joiner = base.includes("?") ? "&" : "?";
12537
+ return `${base}${joiner}q=${encodeURIComponent(trimmed)}`;
12538
+ }
12398
12539
  function ExplorePage({
12399
12540
  seo,
12400
12541
  productSlug,
@@ -12454,6 +12595,14 @@ function ExplorePage({
12454
12595
  });
12455
12596
  const [draft, setDraft] = React.useState("");
12456
12597
  const textareaRef = React.useRef(null);
12598
+ React.useEffect(() => {
12599
+ if (typeof window === "undefined") return;
12600
+ const params = new URLSearchParams(window.location.search);
12601
+ if (params.has("c")) return;
12602
+ const question = params.get("q")?.trim();
12603
+ if (!question) return;
12604
+ setDraft(question.slice(0, EXPLORE_PREFILL_MAX_LENGTH));
12605
+ }, []);
12457
12606
  const [historyOpen, setHistoryOpen] = React.useState(false);
12458
12607
  const speechStopRef = React.useRef(() => void 0);
12459
12608
  const stopDictation = React.useCallback(() => {
@@ -18067,6 +18216,7 @@ exports.ContentRenderer = ContentRenderer;
18067
18216
  exports.ContractsPage = ContractsPage;
18068
18217
  exports.DEFAULT_CONTACT_CATEGORIES = DEFAULT_CONTACT_CATEGORIES;
18069
18218
  exports.DEFAULT_EXPLORE_EXAMPLE_PROMPTS = DEFAULT_EXPLORE_EXAMPLE_PROMPTS;
18219
+ exports.DOMAINS_URL = DOMAINS_URL;
18070
18220
  exports.ECOSYSTEM_PRODUCTS = ECOSYSTEM_PRODUCTS;
18071
18221
  exports.ESCALATE_EXPLORE_CONVERSATION_MUTATION = ESCALATE_EXPLORE_CONVERSATION_MUTATION;
18072
18222
  exports.EXPLORE_CATALOG_QUERY = EXPLORE_CATALOG_QUERY;
@@ -18074,6 +18224,7 @@ exports.EXPLORE_CATALOG_QUERY_WITHOUT_HIGHLIGHTS = EXPLORE_CATALOG_QUERY_WITHOUT
18074
18224
  exports.EXPLORE_ESCALATION_NOTE_SOFT_MAX = EXPLORE_ESCALATION_NOTE_SOFT_MAX;
18075
18225
  exports.EXPLORE_LOCALES = EXPLORE_LOCALES;
18076
18226
  exports.EXPLORE_MESSAGE_QUERY = EXPLORE_MESSAGE_QUERY;
18227
+ exports.EXPLORE_PREFILL_MAX_LENGTH = EXPLORE_PREFILL_MAX_LENGTH;
18077
18228
  exports.EXPLORE_RECAPTCHA_ACTION = EXPLORE_RECAPTCHA_ACTION;
18078
18229
  exports.ElectronDownloadLink = ElectronDownloadLink;
18079
18230
  exports.ExploreAnswerBody = ExploreAnswerBody;
@@ -18124,6 +18275,7 @@ exports.classifyExploreError = classifyExploreError;
18124
18275
  exports.cn = cn;
18125
18276
  exports.conceptPath = conceptPath;
18126
18277
  exports.detectElectronPlatform = detectElectronPlatform;
18278
+ exports.exploreQuestionHref = exploreQuestionHref;
18127
18279
  exports.fetchPublicJobPosting = fetchPublicJobPosting;
18128
18280
  exports.fetchPublicJobPostings = fetchPublicJobPostings;
18129
18281
  exports.fetchPublicJobPostingsForSubmission = fetchPublicJobPostingsForSubmission;