@opensite/ui 3.2.6 → 3.2.7

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.
Files changed (35) hide show
  1. package/dist/about-developer-story.cjs +7 -1
  2. package/dist/about-developer-story.js +7 -1
  3. package/dist/hero-overlay-cta-grid.cjs +82 -19
  4. package/dist/hero-overlay-cta-grid.d.cts +8 -13
  5. package/dist/hero-overlay-cta-grid.d.ts +8 -13
  6. package/dist/hero-overlay-cta-grid.js +83 -20
  7. package/dist/process-expandable-timeline.cjs +1 -2
  8. package/dist/process-expandable-timeline.js +1 -2
  9. package/dist/process-icon-timeline.cjs +9 -99
  10. package/dist/process-icon-timeline.d.cts +3 -3
  11. package/dist/process-icon-timeline.d.ts +3 -3
  12. package/dist/process-icon-timeline.js +9 -99
  13. package/dist/process-mission-principles.cjs +5 -67
  14. package/dist/process-mission-principles.d.cts +3 -3
  15. package/dist/process-mission-principles.d.ts +3 -3
  16. package/dist/process-mission-principles.js +5 -67
  17. package/dist/process-numbered-services.cjs +22 -116
  18. package/dist/process-numbered-services.d.cts +3 -3
  19. package/dist/process-numbered-services.d.ts +3 -3
  20. package/dist/process-numbered-services.js +22 -116
  21. package/dist/process-scroll-image.cjs +20 -85
  22. package/dist/process-scroll-image.d.cts +3 -11
  23. package/dist/process-scroll-image.d.ts +3 -11
  24. package/dist/process-scroll-image.js +18 -83
  25. package/dist/process-steps-grid.cjs +31 -99
  26. package/dist/process-steps-grid.d.cts +3 -3
  27. package/dist/process-steps-grid.d.ts +3 -3
  28. package/dist/process-steps-grid.js +31 -99
  29. package/dist/process-sticky-steps.cjs +6 -35
  30. package/dist/process-sticky-steps.d.cts +5 -1
  31. package/dist/process-sticky-steps.d.ts +5 -1
  32. package/dist/process-sticky-steps.js +6 -35
  33. package/dist/registry.cjs +107 -140
  34. package/dist/registry.js +107 -140
  35. package/package.json +1 -1
package/dist/registry.cjs CHANGED
@@ -7571,7 +7571,13 @@ function AboutDeveloperStory({
7571
7571
  containerClassName,
7572
7572
  children: [
7573
7573
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-4xl flex-col items-center gap-8 text-center", children: [
7574
- /* @__PURE__ */ jsxRuntime.jsx(ContentGroup, { items: contentItems }),
7574
+ /* @__PURE__ */ jsxRuntime.jsx(
7575
+ ContentGroup,
7576
+ {
7577
+ items: contentItems,
7578
+ className: "flex flex-col justify-center items-center gap-6"
7579
+ }
7580
+ ),
7575
7581
  /* @__PURE__ */ jsxRuntime.jsx(
7576
7582
  BlockActions,
7577
7583
  {
@@ -49354,9 +49360,9 @@ function HeroOverlayCtaGrid({
49354
49360
  badgeSlot,
49355
49361
  heading,
49356
49362
  description,
49357
- primaryCta,
49358
- secondaryCta,
49363
+ actions,
49359
49364
  actionsSlot,
49365
+ actionsClassName,
49360
49366
  cards,
49361
49367
  cardsSlot,
49362
49368
  backgroundImage,
@@ -49381,24 +49387,16 @@ function HeroOverlayCtaGrid({
49381
49387
  badgeText
49382
49388
  ] });
49383
49389
  }, [badgeSlot, badgeText, badgeIcon]);
49384
- const renderActions = React30.useMemo(() => {
49385
- if (actionsSlot) return actionsSlot;
49386
- if (!primaryCta && !secondaryCta) return null;
49387
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 flex flex-col items-center justify-center gap-4 sm:flex-row", children: [
49388
- primaryCta && /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { href: primaryCta.href, size: "lg", variant: "default", children: primaryCta.label }),
49389
- secondaryCta && /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { href: secondaryCta.href, size: "lg", variant: "secondary", children: secondaryCta.label })
49390
- ] });
49391
- }, [actionsSlot, primaryCta, secondaryCta]);
49392
49390
  const renderCards = React30.useMemo(() => {
49393
49391
  if (cardsSlot) return cardsSlot;
49394
49392
  if (!cards || cards.length === 0) return null;
49395
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-6xl overflow-hidden rounded-3xl border border-border bg-white/95 shadow-2xl px-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 divide-y divide-border md:grid-cols-3 md:divide-x md:divide-y-0", children: cards.map((card) => /* @__PURE__ */ jsxRuntime.jsxs(
49393
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-6xl overflow-hidden rounded-3xl border border-border bg-card shadow-2xl px-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 divide-y divide-border md:grid-cols-3 md:divide-x md:divide-y-0", children: cards.map((card) => /* @__PURE__ */ jsxRuntime.jsxs(
49396
49394
  pressable.Pressable,
49397
49395
  {
49398
49396
  href: card.href,
49399
49397
  className: "group flex items-center gap-4 px-6 py-6 transition-colors",
49400
49398
  children: [
49401
- /* @__PURE__ */ jsxRuntime.jsx(
49399
+ card.icon ? /* @__PURE__ */ jsxRuntime.jsx(
49402
49400
  "div",
49403
49401
  {
49404
49402
  className: cn(
@@ -49406,19 +49404,19 @@ function HeroOverlayCtaGrid({
49406
49404
  ),
49407
49405
  children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: card.icon, size: 22 })
49408
49406
  }
49409
- ),
49407
+ ) : null,
49410
49408
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
49411
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base font-semibold ", children: card.label }),
49412
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-black"), children: card.subtitle })
49409
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base font-semibold text-card-foreground", children: card.label }),
49410
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-card-foreground"), children: card.subtitle })
49413
49411
  ] }),
49414
- /* @__PURE__ */ jsxRuntime.jsx(
49412
+ card.href ? /* @__PURE__ */ jsxRuntime.jsx(
49415
49413
  DynamicIcon,
49416
49414
  {
49417
49415
  name: "lucide/arrow-right",
49418
49416
  size: 18,
49419
- className: cn("ml-auto flex-none text-muted")
49417
+ className: cn("ml-auto flex-none text-card-foreground")
49420
49418
  }
49421
- )
49419
+ ) : null
49422
49420
  ]
49423
49421
  },
49424
49422
  card.label
@@ -49503,7 +49501,14 @@ function HeroOverlayCtaGrid({
49503
49501
  children: description
49504
49502
  }
49505
49503
  )),
49506
- renderActions
49504
+ /* @__PURE__ */ jsxRuntime.jsx(
49505
+ BlockActions,
49506
+ {
49507
+ actions,
49508
+ actionsSlot,
49509
+ actionsClassName
49510
+ }
49511
+ )
49507
49512
  ]
49508
49513
  }
49509
49514
  ),
@@ -78267,7 +78272,8 @@ function ProcessStickySteps({
78267
78272
  background,
78268
78273
  spacing = "py-6 md:py-32",
78269
78274
  pattern,
78270
- patternOpacity
78275
+ patternOpacity,
78276
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
78271
78277
  }) {
78272
78278
  const renderActions = React30.useMemo(() => {
78273
78279
  return () => {
@@ -78323,8 +78329,7 @@ function ProcessStickySteps({
78323
78329
  {
78324
78330
  className: cn(
78325
78331
  "flex size-12 items-center justify-center px-4 py-1 tracking-tighter",
78326
- getNestedCardBg(background, "muted"),
78327
- getNestedCardTextColor(background)
78332
+ "bg-muted text-muted-foreground"
78328
78333
  ),
78329
78334
  children: step.step ?? `0${index + 1}`
78330
78335
  }
@@ -78347,6 +78352,7 @@ function ProcessStickySteps({
78347
78352
  className,
78348
78353
  pattern,
78349
78354
  patternOpacity,
78355
+ containerClassName,
78350
78356
  children: /* @__PURE__ */ jsxRuntime.jsxs(
78351
78357
  "div",
78352
78358
  {
@@ -78357,7 +78363,7 @@ function ProcessStickySteps({
78357
78363
  children: [
78358
78364
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
78359
78365
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
78360
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
78366
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : heading),
78361
78367
  /* @__PURE__ */ jsxRuntime.jsx(
78362
78368
  DynamicIcon,
78363
78369
  {
@@ -78367,7 +78373,7 @@ function ProcessStickySteps({
78367
78373
  }
78368
78374
  )
78369
78375
  ] }),
78370
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
78376
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : description),
78371
78377
  renderActions()
78372
78378
  ] }),
78373
78379
  renderSteps
@@ -78413,10 +78419,10 @@ var ProcessCard = ({
78413
78419
  step.className
78414
78420
  ),
78415
78421
  children: [
78416
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-fit items-center justify-center px-4 py-1 text-9xl tracking-tighter", children: step.step ?? `0${index + 1}` }),
78422
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-fit items-center justify-center px-4 py-1 text-5xl md:text-7xl tracking-tighter", children: step.step ?? `0${index + 1}` }),
78417
78423
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
78418
78424
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-2xl font-semibold tracking-tighter lg:text-3xl", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: step.title })),
78419
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: getTextColor(background, "muted"), children: step.description }))
78425
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: step.description }) : step.description)
78420
78426
  ] })
78421
78427
  ]
78422
78428
  }
@@ -78444,29 +78450,12 @@ function ProcessScrollImage({
78444
78450
  pattern,
78445
78451
  patternOpacity,
78446
78452
  optixFlowConfig,
78447
- // Backwards compatibility
78448
- title,
78449
- ctaText,
78450
- ctaUrl
78453
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
78451
78454
  }) {
78452
78455
  const [active, setActive] = React30__namespace.useState(0);
78453
78456
  const previousActive = usePrevious(active);
78454
- const resolvedHeading = title ?? heading;
78455
- const resolvedActions = actions ?? (ctaText && ctaUrl ? [
78456
- {
78457
- label: ctaText,
78458
- href: ctaUrl,
78459
- variant: "ghost",
78460
- icon: /* @__PURE__ */ jsxRuntime.jsx(
78461
- DynamicIcon,
78462
- {
78463
- name: "lucide/corner-down-right",
78464
- size: 20,
78465
- className: getAccentColor(background)
78466
- }
78467
- )
78468
- }
78469
- ] : []);
78457
+ const resolvedHeading = heading;
78458
+ const resolvedActions = actions || [];
78470
78459
  const renderActions = React30.useMemo(() => {
78471
78460
  return () => {
78472
78461
  if (actionsSlot) return actionsSlot;
@@ -78535,6 +78524,7 @@ function ProcessScrollImage({
78535
78524
  className,
78536
78525
  pattern,
78537
78526
  patternOpacity,
78527
+ containerClassName,
78538
78528
  children: /* @__PURE__ */ jsxRuntime.jsxs(
78539
78529
  "div",
78540
78530
  {
@@ -78560,18 +78550,8 @@ function ProcessScrollImage({
78560
78550
  ),
78561
78551
  children: resolvedHeading
78562
78552
  }
78563
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: resolvedHeading })),
78564
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
78565
- "p",
78566
- {
78567
- className: cn(
78568
- "text-base",
78569
- getTextColor(background, "muted"),
78570
- descriptionClassName
78571
- ),
78572
- children: description
78573
- }
78574
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
78553
+ ) : resolvedHeading),
78554
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-base", descriptionClassName), children: description }) : description),
78575
78555
  /* @__PURE__ */ jsxRuntime.jsxs(
78576
78556
  "div",
78577
78557
  {
@@ -78810,10 +78790,9 @@ function ProcessIconTimeline({
78810
78790
  spacing,
78811
78791
  pattern,
78812
78792
  patternOpacity,
78813
- // Backwards compatibility
78814
- title
78793
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
78815
78794
  }) {
78816
- const resolvedHeading = title ?? heading;
78795
+ const resolvedHeading = heading;
78817
78796
  const renderSteps = React30.useMemo(() => {
78818
78797
  if (stepsSlot) return stepsSlot;
78819
78798
  if (!steps?.length) return null;
@@ -78849,14 +78828,13 @@ function ProcessIconTimeline({
78849
78828
  {
78850
78829
  className: cn(
78851
78830
  "rounded-lg border p-6 shadow-sm",
78852
- getNestedCardBg(background, "card"),
78853
- getNestedCardTextColor(background),
78831
+ "bg-card text-card-foreground",
78854
78832
  index % 2 === 0 ? "lg:mr-12" : "lg:ml-12",
78855
78833
  stepCardClassName
78856
78834
  ),
78857
78835
  children: [
78858
78836
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title })),
78859
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description })),
78837
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4"), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4"), children: step.description })),
78860
78838
  step.highlights?.length ? /* @__PURE__ */ jsxRuntime.jsx(
78861
78839
  "div",
78862
78840
  {
@@ -78869,8 +78847,7 @@ function ProcessIconTimeline({
78869
78847
  {
78870
78848
  className: cn(
78871
78849
  "rounded-full px-3 py-1 text-xs font-medium",
78872
- getNestedCardBg(background, "muted"),
78873
- getNestedCardTextColor(background)
78850
+ "bg-primary text-primary-foreground"
78874
78851
  ),
78875
78852
  children: highlight
78876
78853
  },
@@ -78898,6 +78875,7 @@ function ProcessIconTimeline({
78898
78875
  className,
78899
78876
  pattern,
78900
78877
  patternOpacity,
78878
+ containerClassName,
78901
78879
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClassName, children: [
78902
78880
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 max-w-2xl", headerClassName), children: [
78903
78881
  resolvedHeading && (typeof resolvedHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -78909,18 +78887,8 @@ function ProcessIconTimeline({
78909
78887
  ),
78910
78888
  children: resolvedHeading
78911
78889
  }
78912
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: resolvedHeading })),
78913
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
78914
- "p",
78915
- {
78916
- className: cn(
78917
- "text-lg",
78918
- getTextColor(background, "muted"),
78919
- descriptionClassName
78920
- ),
78921
- children: description
78922
- }
78923
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
78890
+ ) : resolvedHeading),
78891
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : description)
78924
78892
  ] }),
78925
78893
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", timelineClassName), children: [
78926
78894
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -78928,7 +78896,7 @@ function ProcessIconTimeline({
78928
78896
  {
78929
78897
  className: cn(
78930
78898
  "absolute left-6 top-0 bottom-0 w-px lg:left-1/2 lg:-translate-x-1/2",
78931
- getBorderColor(background, "default"),
78899
+ "border-border border",
78932
78900
  timelineLineClassName
78933
78901
  )
78934
78902
  }
@@ -79010,7 +78978,7 @@ function ProcessExpandableTimeline({
79010
78978
  onClick: () => toggleExpand(index),
79011
78979
  className: cn(
79012
78980
  "group relative flex w-full items-start gap-6 border-b p-6 text-left transition-colors",
79013
- `hover:bg-card hover:text-card-foreground`,
78981
+ "hover:bg-card hover:text-card-foreground",
79014
78982
  expandedIndex === index ? "bg-card text-card-foreground" : "",
79015
78983
  stepItemClassName
79016
78984
  ),
@@ -79127,7 +79095,6 @@ function ProcessExpandableTimeline({
79127
79095
  {
79128
79096
  className: cn(
79129
79097
  "absolute left-6 top-0 bottom-0 w-px",
79130
- "border-2 border-dashed",
79131
79098
  timelineLineClassName
79132
79099
  )
79133
79100
  }
@@ -79348,10 +79315,9 @@ function ProcessMissionPrinciples({
79348
79315
  spacing,
79349
79316
  pattern,
79350
79317
  patternOpacity,
79351
- // Backwards compatibility
79352
- missionTitle
79318
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
79353
79319
  }) {
79354
- const resolvedMissionHeading = missionTitle ?? missionHeading;
79320
+ const resolvedMissionHeading = missionHeading;
79355
79321
  const renderPrinciples = React30.useMemo(() => {
79356
79322
  if (principlesSlot) return principlesSlot;
79357
79323
  if (!principles?.length) return null;
@@ -79367,8 +79333,7 @@ function ProcessMissionPrinciples({
79367
79333
  {
79368
79334
  className: cn(
79369
79335
  "group relative rounded-lg border p-6 transition-shadow hover:shadow-md",
79370
- getNestedCardBg(background, "card"),
79371
- getNestedCardTextColor(background),
79336
+ "bg-card text-card-foreground",
79372
79337
  principleCardClassName,
79373
79338
  principle.className
79374
79339
  ),
@@ -79385,7 +79350,7 @@ function ProcessMissionPrinciples({
79385
79350
  ),
79386
79351
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-4", children: [
79387
79352
  principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title })),
79388
- principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }))
79353
+ principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed"), children: principle.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-relaxed"), children: principle.description }))
79389
79354
  ] })
79390
79355
  ]
79391
79356
  },
@@ -79410,6 +79375,7 @@ function ProcessMissionPrinciples({
79410
79375
  className,
79411
79376
  pattern,
79412
79377
  patternOpacity,
79378
+ containerClassName,
79413
79379
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClassName, children: [
79414
79380
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-20 max-w-3xl", missionClassName), children: [
79415
79381
  missionLabel && (typeof missionLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -79417,7 +79383,6 @@ function ProcessMissionPrinciples({
79417
79383
  {
79418
79384
  className: cn(
79419
79385
  "mb-4 inline-block text-sm font-semibold uppercase tracking-wider",
79420
- getAccentColor(background),
79421
79386
  missionLabelClassName
79422
79387
  ),
79423
79388
  children: missionLabel
@@ -79479,10 +79444,9 @@ function ProcessStepsGrid({
79479
79444
  spacing,
79480
79445
  pattern,
79481
79446
  patternOpacity,
79482
- // Backwards compatibility
79483
- title
79447
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
79484
79448
  }) {
79485
- const resolvedHeading = title ?? heading;
79449
+ const resolvedHeading = heading;
79486
79450
  const renderSteps = React30.useMemo(() => {
79487
79451
  if (stepsSlot) return stepsSlot;
79488
79452
  if (!steps || steps.length === 0) return null;
@@ -79497,30 +79461,38 @@ function ProcessStepsGrid({
79497
79461
  "div",
79498
79462
  {
79499
79463
  className: cn(
79500
- "group relative overflow-hidden rounded-lg border p-8 transition-all hover:shadow-lg",
79501
- `hover:${getBorderColor(background, "accent")}/50`,
79502
- getNestedCardBg(background, "card"),
79503
- getNestedCardTextColor(background),
79464
+ "group relative overflow-hidden rounded-lg p-8 transition-all hover:shadow-lg",
79465
+ "border border-border hover:border-primary",
79466
+ "bg-card text-card-foreground",
79504
79467
  stepCardClassName,
79505
79468
  step.className
79506
79469
  ),
79507
79470
  children: [
79508
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("absolute -right-4 -top-4 text-[120px] font-bold leading-none transition-colors", getTextColor(background, "muted"), "opacity-20 group-hover:opacity-10", `group-hover:${getAccentColor(background)}`), children: String(index + 1).padStart(2, "0") }),
79471
+ /* @__PURE__ */ jsxRuntime.jsx(
79472
+ "span",
79473
+ {
79474
+ className: cn(
79475
+ "absolute -right-4 -top-4 text-[120px] font-bold leading-none transition-colors",
79476
+ "opacity-20 group-hover:opacity-100",
79477
+ "group-hover:text-primary"
79478
+ ),
79479
+ children: String(index + 1).padStart(2, "0")
79480
+ }
79481
+ ),
79509
79482
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10", children: [
79510
79483
  (step.iconSlot || step.icon) && /* @__PURE__ */ jsxRuntime.jsx(
79511
79484
  "div",
79512
79485
  {
79513
79486
  className: cn(
79514
79487
  "mb-6 flex size-14 items-center justify-center rounded-lg transition-colors",
79515
- getAccentColor(background),
79516
79488
  "bg-primary/10 group-hover:bg-primary group-hover:text-primary-foreground",
79517
79489
  stepIconClassName
79518
79490
  ),
79519
79491
  children: step.iconSlot ?? (step.icon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: step.icon, size: 28 }))
79520
79492
  }
79521
79493
  ),
79522
- step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title })),
79523
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }))
79494
+ step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3", children: step.title })),
79495
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed"), children: step.description }) : step.description)
79524
79496
  ] })
79525
79497
  ]
79526
79498
  },
@@ -79528,7 +79500,14 @@ function ProcessStepsGrid({
79528
79500
  ))
79529
79501
  }
79530
79502
  );
79531
- }, [stepsSlot, steps, background, stepsGridClassName, stepCardClassName, stepIconClassName]);
79503
+ }, [
79504
+ stepsSlot,
79505
+ steps,
79506
+ background,
79507
+ stepsGridClassName,
79508
+ stepCardClassName,
79509
+ stepIconClassName
79510
+ ]);
79532
79511
  return /* @__PURE__ */ jsxRuntime.jsx(
79533
79512
  Section,
79534
79513
  {
@@ -79538,29 +79517,29 @@ function ProcessStepsGrid({
79538
79517
  className,
79539
79518
  pattern,
79540
79519
  patternOpacity,
79520
+ containerClassName,
79541
79521
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClassName, children: [
79542
79522
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 text-center", headerClassName), children: [
79543
79523
  resolvedHeading && (typeof resolvedHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
79544
79524
  "h1",
79545
79525
  {
79546
79526
  className: cn(
79547
- "mb-4 text-4xl font-semibold tracking-tight lg:text-5xl",
79527
+ "mb-4 text-4xl font-semibold tracking-tight lg:text-5xl text-pretty",
79548
79528
  headingClassName
79549
79529
  ),
79550
79530
  children: resolvedHeading
79551
79531
  }
79552
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: resolvedHeading })),
79532
+ ) : resolvedHeading),
79553
79533
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
79554
79534
  "p",
79555
79535
  {
79556
79536
  className: cn(
79557
- "mx-auto max-w-2xl text-lg",
79558
- getTextColor(background, "muted"),
79537
+ "mx-auto max-w-2xl text-lg text-balance",
79559
79538
  descriptionClassName
79560
79539
  ),
79561
79540
  children: description
79562
79541
  }
79563
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
79542
+ ) : description)
79564
79543
  ] }),
79565
79544
  renderSteps
79566
79545
  ] })
@@ -79586,10 +79565,9 @@ function ProcessNumberedServices({
79586
79565
  spacing = "py-6 md:py-32",
79587
79566
  pattern,
79588
79567
  patternOpacity,
79589
- // Backwards compatibility
79590
- title
79568
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
79591
79569
  }) {
79592
- const resolvedHeading = title ?? heading;
79570
+ const resolvedHeading = heading;
79593
79571
  const renderServiceAction = React30.useMemo(() => {
79594
79572
  return (service) => {
79595
79573
  if (service.actionSlot) return service.actionSlot;
@@ -79607,11 +79585,19 @@ function ProcessNumberedServices({
79607
79585
  className: actionClassName,
79608
79586
  ...pressableProps
79609
79587
  } = action;
79610
- return /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { asButton: true, className: cn(actionClassName), ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
79611
- icon,
79612
- label,
79613
- iconAfter && iconAfter
79614
- ] }) });
79588
+ return /* @__PURE__ */ jsxRuntime.jsx(
79589
+ pressable.Pressable,
79590
+ {
79591
+ asButton: true,
79592
+ className: cn(actionClassName, "mt-4"),
79593
+ ...pressableProps,
79594
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
79595
+ icon,
79596
+ label,
79597
+ iconAfter && iconAfter
79598
+ ] })
79599
+ }
79600
+ );
79615
79601
  };
79616
79602
  }, []);
79617
79603
  const renderServices = React30.useMemo(() => {
@@ -79630,9 +79616,7 @@ function ProcessNumberedServices({
79630
79616
  "div",
79631
79617
  {
79632
79618
  className: cn(
79633
- "flex size-16 items-center justify-center rounded-full border-2 text-xl font-bold transition-colors",
79634
- getBorderColor(background, "accent"),
79635
- getAccentColor(background),
79619
+ "flex size-16 items-center justify-center rounded-full border-2 border-primary text-primary text-xl font-bold transition-colors",
79636
79620
  "bg-primary/5 group-hover:bg-primary group-hover:text-primary-foreground",
79637
79621
  serviceBadgeClassName
79638
79622
  ),
@@ -79640,8 +79624,8 @@ function ProcessNumberedServices({
79640
79624
  }
79641
79625
  ) }),
79642
79626
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-4", children: [
79643
- service.title && (typeof service.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title })),
79644
- service.description && (typeof service.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: service.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: service.description })),
79627
+ service.title && (typeof service.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title }) : service.title),
79628
+ service.description && (typeof service.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed"), children: service.description }) : service.description),
79645
79629
  renderServiceAction(service)
79646
79630
  ] }),
79647
79631
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:col-span-7", children: service.capabilities?.length ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -79656,18 +79640,10 @@ function ProcessNumberedServices({
79656
79640
  {
79657
79641
  className: cn(
79658
79642
  "flex items-center gap-3 rounded-lg px-4 py-3",
79659
- getNestedCardBg(background, "muted"),
79660
- getNestedCardTextColor(background)
79643
+ "bg-muted text-muted-foreground"
79661
79644
  ),
79662
79645
  children: [
79663
- /* @__PURE__ */ jsxRuntime.jsx(
79664
- DynamicIcon,
79665
- {
79666
- name: "lucide/check-circle-2",
79667
- size: 18,
79668
- className: getAccentColor(background)
79669
- }
79670
- ),
79646
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 18 }),
79671
79647
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: capability })
79672
79648
  ]
79673
79649
  },
@@ -79698,6 +79674,7 @@ function ProcessNumberedServices({
79698
79674
  className,
79699
79675
  pattern,
79700
79676
  patternOpacity,
79677
+ containerClassName,
79701
79678
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClassName, children: [
79702
79679
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 max-w-2xl", headerClassName), children: [
79703
79680
  resolvedHeading && (typeof resolvedHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -79710,17 +79687,7 @@ function ProcessNumberedServices({
79710
79687
  children: resolvedHeading
79711
79688
  }
79712
79689
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: resolvedHeading })),
79713
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
79714
- "p",
79715
- {
79716
- className: cn(
79717
- "text-lg",
79718
- getTextColor(background, "muted"),
79719
- descriptionClassName
79720
- ),
79721
- children: description
79722
- }
79723
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
79690
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : description)
79724
79691
  ] }),
79725
79692
  renderServices
79726
79693
  ] })