@opensite/ui 3.2.5 → 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 (39) hide show
  1. package/dist/about-developer-story.cjs +7 -1
  2. package/dist/about-developer-story.js +7 -1
  3. package/dist/badge.d.cts +1 -1
  4. package/dist/badge.d.ts +1 -1
  5. package/dist/hero-overlay-cta-grid.cjs +82 -19
  6. package/dist/hero-overlay-cta-grid.d.cts +8 -13
  7. package/dist/hero-overlay-cta-grid.d.ts +8 -13
  8. package/dist/hero-overlay-cta-grid.js +83 -20
  9. package/dist/process-expandable-timeline.cjs +1 -2
  10. package/dist/process-expandable-timeline.js +1 -2
  11. package/dist/process-icon-timeline.cjs +9 -99
  12. package/dist/process-icon-timeline.d.cts +3 -3
  13. package/dist/process-icon-timeline.d.ts +3 -3
  14. package/dist/process-icon-timeline.js +9 -99
  15. package/dist/process-mission-principles.cjs +5 -67
  16. package/dist/process-mission-principles.d.cts +3 -3
  17. package/dist/process-mission-principles.d.ts +3 -3
  18. package/dist/process-mission-principles.js +5 -67
  19. package/dist/process-numbered-services.cjs +22 -116
  20. package/dist/process-numbered-services.d.cts +3 -3
  21. package/dist/process-numbered-services.d.ts +3 -3
  22. package/dist/process-numbered-services.js +22 -116
  23. package/dist/process-scroll-image.cjs +20 -85
  24. package/dist/process-scroll-image.d.cts +3 -11
  25. package/dist/process-scroll-image.d.ts +3 -11
  26. package/dist/process-scroll-image.js +18 -83
  27. package/dist/process-steps-grid.cjs +31 -99
  28. package/dist/process-steps-grid.d.cts +3 -3
  29. package/dist/process-steps-grid.d.ts +3 -3
  30. package/dist/process-steps-grid.js +31 -99
  31. package/dist/process-sticky-steps.cjs +6 -35
  32. package/dist/process-sticky-steps.d.cts +5 -1
  33. package/dist/process-sticky-steps.d.ts +5 -1
  34. package/dist/process-sticky-steps.js +6 -35
  35. package/dist/registry.cjs +107 -140
  36. package/dist/registry.js +107 -140
  37. package/dist/social-link-icon.d.cts +1 -1
  38. package/dist/social-link-icon.d.ts +1 -1
  39. package/package.json +3 -3
@@ -113,15 +113,15 @@ interface ProcessIconTimelineProps {
113
113
  */
114
114
  optixFlowConfig?: OptixFlowConfig;
115
115
  /**
116
- * @deprecated Use `heading` instead
116
+ * Additional CSS classes for the container
117
117
  */
118
- title?: string;
118
+ containerClassName?: string;
119
119
  /** Optional Section ID */
120
120
  sectionId?: string;
121
121
  }
122
122
  /**
123
123
  * ProcessIconTimeline - A process section with icon-based timeline steps.
124
124
  */
125
- declare function ProcessIconTimeline({ sectionId, heading, description, steps, stepsSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, timelineClassName, timelineLineClassName, stepCardClassName, stepBadgeClassName, background, spacing, pattern, patternOpacity, title, }: ProcessIconTimelineProps): React.JSX.Element;
125
+ declare function ProcessIconTimeline({ sectionId, heading, description, steps, stepsSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, timelineClassName, timelineLineClassName, stepCardClassName, stepBadgeClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessIconTimelineProps): React.JSX.Element;
126
126
 
127
127
  export { ProcessIconTimeline, type ProcessIconTimelineProps };
@@ -10,84 +10,6 @@ import { jsx, jsxs } from 'react/jsx-runtime';
10
10
  function cn(...inputs) {
11
11
  return twMerge(clsx(inputs));
12
12
  }
13
- function getNestedCardBg(parentBg, variant = "muted", options) {
14
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
15
- if (isDark) {
16
- switch (variant) {
17
- case "muted":
18
- return "bg-background";
19
- case "card":
20
- return "bg-card";
21
- case "accent":
22
- return "bg-accent";
23
- case "subtle":
24
- return "bg-background/50";
25
- }
26
- } else {
27
- switch (variant) {
28
- case "muted":
29
- return "bg-muted";
30
- case "card":
31
- return "bg-card";
32
- case "accent":
33
- return "bg-accent";
34
- case "subtle":
35
- return "bg-muted/50";
36
- }
37
- }
38
- }
39
- function getNestedCardTextColor(parentBg, options) {
40
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
41
- return isDark ? "text-foreground" : "";
42
- }
43
- function getTextColor(parentBg, variant = "default", options) {
44
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
45
- if (isDark) {
46
- switch (variant) {
47
- case "default":
48
- return "text-foreground";
49
- case "muted":
50
- return "text-foreground/80";
51
- case "subtle":
52
- return "text-foreground/60";
53
- case "accent":
54
- return "text-accent-foreground";
55
- }
56
- } else {
57
- switch (variant) {
58
- case "default":
59
- return "text-foreground";
60
- case "muted":
61
- return "text-muted-foreground";
62
- case "subtle":
63
- return "text-muted-foreground/70";
64
- case "accent":
65
- return "text-primary";
66
- }
67
- }
68
- }
69
- function getBorderColor(parentBg, variant = "default", options) {
70
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
71
- if (isDark) {
72
- switch (variant) {
73
- case "default":
74
- return "border-foreground/20";
75
- case "muted":
76
- return "border-foreground/10";
77
- case "accent":
78
- return "border-accent-foreground";
79
- }
80
- } else {
81
- switch (variant) {
82
- case "default":
83
- return "border-border";
84
- case "muted":
85
- return "border-muted";
86
- case "accent":
87
- return "border-primary";
88
- }
89
- }
90
- }
91
13
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
92
14
  var DynamicIcon = React.memo(function DynamicIcon2({
93
15
  apiKey,
@@ -491,10 +413,9 @@ function ProcessIconTimeline({
491
413
  spacing,
492
414
  pattern,
493
415
  patternOpacity,
494
- // Backwards compatibility
495
- title
416
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
496
417
  }) {
497
- const resolvedHeading = title ?? heading;
418
+ const resolvedHeading = heading;
498
419
  const renderSteps = useMemo(() => {
499
420
  if (stepsSlot) return stepsSlot;
500
421
  if (!steps?.length) return null;
@@ -530,14 +451,13 @@ function ProcessIconTimeline({
530
451
  {
531
452
  className: cn(
532
453
  "rounded-lg border p-6 shadow-sm",
533
- getNestedCardBg(background, "card"),
534
- getNestedCardTextColor(background),
454
+ "bg-card text-card-foreground",
535
455
  index % 2 === 0 ? "lg:mr-12" : "lg:ml-12",
536
456
  stepCardClassName
537
457
  ),
538
458
  children: [
539
459
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title })),
540
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description })),
460
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4"), children: step.description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4"), children: step.description })),
541
461
  step.highlights?.length ? /* @__PURE__ */ jsx(
542
462
  "div",
543
463
  {
@@ -550,8 +470,7 @@ function ProcessIconTimeline({
550
470
  {
551
471
  className: cn(
552
472
  "rounded-full px-3 py-1 text-xs font-medium",
553
- getNestedCardBg(background, "muted"),
554
- getNestedCardTextColor(background)
473
+ "bg-primary text-primary-foreground"
555
474
  ),
556
475
  children: highlight
557
476
  },
@@ -579,6 +498,7 @@ function ProcessIconTimeline({
579
498
  className,
580
499
  pattern,
581
500
  patternOpacity,
501
+ containerClassName,
582
502
  children: /* @__PURE__ */ jsxs("div", { className: contentClassName, children: [
583
503
  /* @__PURE__ */ jsxs("div", { className: cn("mb-16 max-w-2xl", headerClassName), children: [
584
504
  resolvedHeading && (typeof resolvedHeading === "string" ? /* @__PURE__ */ jsx(
@@ -590,18 +510,8 @@ function ProcessIconTimeline({
590
510
  ),
591
511
  children: resolvedHeading
592
512
  }
593
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: resolvedHeading })),
594
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
595
- "p",
596
- {
597
- className: cn(
598
- "text-lg",
599
- getTextColor(background, "muted"),
600
- descriptionClassName
601
- ),
602
- children: description
603
- }
604
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
513
+ ) : resolvedHeading),
514
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : description)
605
515
  ] }),
606
516
  /* @__PURE__ */ jsxs("div", { className: cn("relative", timelineClassName), children: [
607
517
  /* @__PURE__ */ jsx(
@@ -609,7 +519,7 @@ function ProcessIconTimeline({
609
519
  {
610
520
  className: cn(
611
521
  "absolute left-6 top-0 bottom-0 w-px lg:left-1/2 lg:-translate-x-1/2",
612
- getBorderColor(background, "default"),
522
+ "border-border border",
613
523
  timelineLineClassName
614
524
  )
615
525
  }
@@ -14,66 +14,6 @@ var React__default = /*#__PURE__*/_interopDefault(React);
14
14
  function cn(...inputs) {
15
15
  return tailwindMerge.twMerge(clsx.clsx(inputs));
16
16
  }
17
- function getNestedCardBg(parentBg, variant = "muted", options) {
18
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
19
- if (isDark) {
20
- switch (variant) {
21
- case "muted":
22
- return "bg-background";
23
- case "card":
24
- return "bg-card";
25
- case "accent":
26
- return "bg-accent";
27
- case "subtle":
28
- return "bg-background/50";
29
- }
30
- } else {
31
- switch (variant) {
32
- case "muted":
33
- return "bg-muted";
34
- case "card":
35
- return "bg-card";
36
- case "accent":
37
- return "bg-accent";
38
- case "subtle":
39
- return "bg-muted/50";
40
- }
41
- }
42
- }
43
- function getNestedCardTextColor(parentBg, options) {
44
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
45
- return isDark ? "text-foreground" : "";
46
- }
47
- function getTextColor(parentBg, variant = "default", options) {
48
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
49
- if (isDark) {
50
- switch (variant) {
51
- case "default":
52
- return "text-foreground";
53
- case "muted":
54
- return "text-foreground/80";
55
- case "subtle":
56
- return "text-foreground/60";
57
- case "accent":
58
- return "text-accent-foreground";
59
- }
60
- } else {
61
- switch (variant) {
62
- case "default":
63
- return "text-foreground";
64
- case "muted":
65
- return "text-muted-foreground";
66
- case "subtle":
67
- return "text-muted-foreground/70";
68
- case "accent":
69
- return "text-primary";
70
- }
71
- }
72
- }
73
- function getAccentColor(parentBg, options) {
74
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
75
- return isDark ? "text-accent-foreground" : "text-primary";
76
- }
77
17
  var maxWidthStyles = {
78
18
  sm: "max-w-screen-sm",
79
19
  md: "max-w-screen-md",
@@ -473,10 +413,9 @@ function ProcessMissionPrinciples({
473
413
  spacing,
474
414
  pattern,
475
415
  patternOpacity,
476
- // Backwards compatibility
477
- missionTitle
416
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
478
417
  }) {
479
- const resolvedMissionHeading = missionTitle ?? missionHeading;
418
+ const resolvedMissionHeading = missionHeading;
480
419
  const renderPrinciples = React.useMemo(() => {
481
420
  if (principlesSlot) return principlesSlot;
482
421
  if (!principles?.length) return null;
@@ -492,8 +431,7 @@ function ProcessMissionPrinciples({
492
431
  {
493
432
  className: cn(
494
433
  "group relative rounded-lg border p-6 transition-shadow hover:shadow-md",
495
- getNestedCardBg(background, "card"),
496
- getNestedCardTextColor(background),
434
+ "bg-card text-card-foreground",
497
435
  principleCardClassName,
498
436
  principle.className
499
437
  ),
@@ -510,7 +448,7 @@ function ProcessMissionPrinciples({
510
448
  ),
511
449
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-4", children: [
512
450
  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 })),
513
- 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 }))
451
+ 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 }))
514
452
  ] })
515
453
  ]
516
454
  },
@@ -535,6 +473,7 @@ function ProcessMissionPrinciples({
535
473
  className,
536
474
  pattern,
537
475
  patternOpacity,
476
+ containerClassName,
538
477
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClassName, children: [
539
478
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-20 max-w-3xl", missionClassName), children: [
540
479
  missionLabel && (typeof missionLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -542,7 +481,6 @@ function ProcessMissionPrinciples({
542
481
  {
543
482
  className: cn(
544
483
  "mb-4 inline-block text-sm font-semibold uppercase tracking-wider",
545
- getAccentColor(background),
546
484
  missionLabelClassName
547
485
  ),
548
486
  children: missionLabel
@@ -117,15 +117,15 @@ interface ProcessMissionPrinciplesProps {
117
117
  */
118
118
  optixFlowConfig?: OptixFlowConfig;
119
119
  /**
120
- * @deprecated Use `missionHeading` instead
120
+ * Additional CSS classes for the container
121
121
  */
122
- missionTitle?: string;
122
+ containerClassName?: string;
123
123
  /** Optional Section ID */
124
124
  sectionId?: string;
125
125
  }
126
126
  /**
127
127
  * ProcessMissionPrinciples - A mission statement and principles section.
128
128
  */
129
- declare function ProcessMissionPrinciples({ sectionId, missionLabel, missionHeading, missionDescription, principlesLabel, principles, principlesSlot, className, contentClassName, missionClassName, missionLabelClassName, missionHeadingClassName, missionDescriptionClassName, principlesSectionClassName, principlesLabelClassName, principlesGridClassName, principleCardClassName, principleBadgeClassName, background, spacing, pattern, patternOpacity, missionTitle, }: ProcessMissionPrinciplesProps): React.JSX.Element;
129
+ declare function ProcessMissionPrinciples({ sectionId, missionLabel, missionHeading, missionDescription, principlesLabel, principles, principlesSlot, className, contentClassName, missionClassName, missionLabelClassName, missionHeadingClassName, missionDescriptionClassName, principlesSectionClassName, principlesLabelClassName, principlesGridClassName, principleCardClassName, principleBadgeClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessMissionPrinciplesProps): React.JSX.Element;
130
130
 
131
131
  export { ProcessMissionPrinciples, type ProcessMissionPrinciplesProps };
@@ -117,15 +117,15 @@ interface ProcessMissionPrinciplesProps {
117
117
  */
118
118
  optixFlowConfig?: OptixFlowConfig;
119
119
  /**
120
- * @deprecated Use `missionHeading` instead
120
+ * Additional CSS classes for the container
121
121
  */
122
- missionTitle?: string;
122
+ containerClassName?: string;
123
123
  /** Optional Section ID */
124
124
  sectionId?: string;
125
125
  }
126
126
  /**
127
127
  * ProcessMissionPrinciples - A mission statement and principles section.
128
128
  */
129
- declare function ProcessMissionPrinciples({ sectionId, missionLabel, missionHeading, missionDescription, principlesLabel, principles, principlesSlot, className, contentClassName, missionClassName, missionLabelClassName, missionHeadingClassName, missionDescriptionClassName, principlesSectionClassName, principlesLabelClassName, principlesGridClassName, principleCardClassName, principleBadgeClassName, background, spacing, pattern, patternOpacity, missionTitle, }: ProcessMissionPrinciplesProps): React.JSX.Element;
129
+ declare function ProcessMissionPrinciples({ sectionId, missionLabel, missionHeading, missionDescription, principlesLabel, principles, principlesSlot, className, contentClassName, missionClassName, missionLabelClassName, missionHeadingClassName, missionDescriptionClassName, principlesSectionClassName, principlesLabelClassName, principlesGridClassName, principleCardClassName, principleBadgeClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessMissionPrinciplesProps): React.JSX.Element;
130
130
 
131
131
  export { ProcessMissionPrinciples, type ProcessMissionPrinciplesProps };
@@ -8,66 +8,6 @@ import { jsx, jsxs } from 'react/jsx-runtime';
8
8
  function cn(...inputs) {
9
9
  return twMerge(clsx(inputs));
10
10
  }
11
- function getNestedCardBg(parentBg, variant = "muted", options) {
12
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
13
- if (isDark) {
14
- switch (variant) {
15
- case "muted":
16
- return "bg-background";
17
- case "card":
18
- return "bg-card";
19
- case "accent":
20
- return "bg-accent";
21
- case "subtle":
22
- return "bg-background/50";
23
- }
24
- } else {
25
- switch (variant) {
26
- case "muted":
27
- return "bg-muted";
28
- case "card":
29
- return "bg-card";
30
- case "accent":
31
- return "bg-accent";
32
- case "subtle":
33
- return "bg-muted/50";
34
- }
35
- }
36
- }
37
- function getNestedCardTextColor(parentBg, options) {
38
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
39
- return isDark ? "text-foreground" : "";
40
- }
41
- function getTextColor(parentBg, variant = "default", options) {
42
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
43
- if (isDark) {
44
- switch (variant) {
45
- case "default":
46
- return "text-foreground";
47
- case "muted":
48
- return "text-foreground/80";
49
- case "subtle":
50
- return "text-foreground/60";
51
- case "accent":
52
- return "text-accent-foreground";
53
- }
54
- } else {
55
- switch (variant) {
56
- case "default":
57
- return "text-foreground";
58
- case "muted":
59
- return "text-muted-foreground";
60
- case "subtle":
61
- return "text-muted-foreground/70";
62
- case "accent":
63
- return "text-primary";
64
- }
65
- }
66
- }
67
- function getAccentColor(parentBg, options) {
68
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
69
- return isDark ? "text-accent-foreground" : "text-primary";
70
- }
71
11
  var maxWidthStyles = {
72
12
  sm: "max-w-screen-sm",
73
13
  md: "max-w-screen-md",
@@ -467,10 +407,9 @@ function ProcessMissionPrinciples({
467
407
  spacing,
468
408
  pattern,
469
409
  patternOpacity,
470
- // Backwards compatibility
471
- missionTitle
410
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
472
411
  }) {
473
- const resolvedMissionHeading = missionTitle ?? missionHeading;
412
+ const resolvedMissionHeading = missionHeading;
474
413
  const renderPrinciples = useMemo(() => {
475
414
  if (principlesSlot) return principlesSlot;
476
415
  if (!principles?.length) return null;
@@ -486,8 +425,7 @@ function ProcessMissionPrinciples({
486
425
  {
487
426
  className: cn(
488
427
  "group relative rounded-lg border p-6 transition-shadow hover:shadow-md",
489
- getNestedCardBg(background, "card"),
490
- getNestedCardTextColor(background),
428
+ "bg-card text-card-foreground",
491
429
  principleCardClassName,
492
430
  principle.className
493
431
  ),
@@ -504,7 +442,7 @@ function ProcessMissionPrinciples({
504
442
  ),
505
443
  /* @__PURE__ */ jsxs("div", { className: "pt-4", children: [
506
444
  principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title }) : /* @__PURE__ */ jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: principle.title })),
507
- principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: principle.description }))
445
+ principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed"), children: principle.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-relaxed"), children: principle.description }))
508
446
  ] })
509
447
  ]
510
448
  },
@@ -529,6 +467,7 @@ function ProcessMissionPrinciples({
529
467
  className,
530
468
  pattern,
531
469
  patternOpacity,
470
+ containerClassName,
532
471
  children: /* @__PURE__ */ jsxs("div", { className: contentClassName, children: [
533
472
  /* @__PURE__ */ jsxs("div", { className: cn("mb-20 max-w-3xl", missionClassName), children: [
534
473
  missionLabel && (typeof missionLabel === "string" ? /* @__PURE__ */ jsx(
@@ -536,7 +475,6 @@ function ProcessMissionPrinciples({
536
475
  {
537
476
  className: cn(
538
477
  "mb-4 inline-block text-sm font-semibold uppercase tracking-wider",
539
- getAccentColor(background),
540
478
  missionLabelClassName
541
479
  ),
542
480
  children: missionLabel
@@ -32,88 +32,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
32
  function cn(...inputs) {
33
33
  return tailwindMerge.twMerge(clsx.clsx(inputs));
34
34
  }
35
- function getNestedCardBg(parentBg, variant = "muted", options) {
36
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
37
- if (isDark) {
38
- switch (variant) {
39
- case "muted":
40
- return "bg-background";
41
- case "card":
42
- return "bg-card";
43
- case "accent":
44
- return "bg-accent";
45
- case "subtle":
46
- return "bg-background/50";
47
- }
48
- } else {
49
- switch (variant) {
50
- case "muted":
51
- return "bg-muted";
52
- case "card":
53
- return "bg-card";
54
- case "accent":
55
- return "bg-accent";
56
- case "subtle":
57
- return "bg-muted/50";
58
- }
59
- }
60
- }
61
- function getNestedCardTextColor(parentBg, options) {
62
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
63
- return isDark ? "text-foreground" : "";
64
- }
65
- function getTextColor(parentBg, variant = "default", options) {
66
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
67
- if (isDark) {
68
- switch (variant) {
69
- case "default":
70
- return "text-foreground";
71
- case "muted":
72
- return "text-foreground/80";
73
- case "subtle":
74
- return "text-foreground/60";
75
- case "accent":
76
- return "text-accent-foreground";
77
- }
78
- } else {
79
- switch (variant) {
80
- case "default":
81
- return "text-foreground";
82
- case "muted":
83
- return "text-muted-foreground";
84
- case "subtle":
85
- return "text-muted-foreground/70";
86
- case "accent":
87
- return "text-primary";
88
- }
89
- }
90
- }
91
- function getAccentColor(parentBg, options) {
92
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
93
- return isDark ? "text-accent-foreground" : "text-primary";
94
- }
95
- function getBorderColor(parentBg, variant = "default", options) {
96
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
97
- if (isDark) {
98
- switch (variant) {
99
- case "default":
100
- return "border-foreground/20";
101
- case "muted":
102
- return "border-foreground/10";
103
- case "accent":
104
- return "border-accent-foreground";
105
- }
106
- } else {
107
- switch (variant) {
108
- case "default":
109
- return "border-border";
110
- case "muted":
111
- return "border-muted";
112
- case "accent":
113
- return "border-primary";
114
- }
115
- }
116
- }
117
35
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
118
36
  var DynamicIcon = React__namespace.memo(function DynamicIcon2({
119
37
  apiKey,
@@ -517,10 +435,9 @@ function ProcessNumberedServices({
517
435
  spacing = "py-6 md:py-32",
518
436
  pattern,
519
437
  patternOpacity,
520
- // Backwards compatibility
521
- title
438
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
522
439
  }) {
523
- const resolvedHeading = title ?? heading;
440
+ const resolvedHeading = heading;
524
441
  const renderServiceAction = React.useMemo(() => {
525
442
  return (service) => {
526
443
  if (service.actionSlot) return service.actionSlot;
@@ -538,11 +455,19 @@ function ProcessNumberedServices({
538
455
  className: actionClassName,
539
456
  ...pressableProps
540
457
  } = action;
541
- return /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { asButton: true, className: cn(actionClassName), ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
542
- icon,
543
- label,
544
- iconAfter && iconAfter
545
- ] }) });
458
+ return /* @__PURE__ */ jsxRuntime.jsx(
459
+ pressable.Pressable,
460
+ {
461
+ asButton: true,
462
+ className: cn(actionClassName, "mt-4"),
463
+ ...pressableProps,
464
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
465
+ icon,
466
+ label,
467
+ iconAfter && iconAfter
468
+ ] })
469
+ }
470
+ );
546
471
  };
547
472
  }, []);
548
473
  const renderServices = React.useMemo(() => {
@@ -561,9 +486,7 @@ function ProcessNumberedServices({
561
486
  "div",
562
487
  {
563
488
  className: cn(
564
- "flex size-16 items-center justify-center rounded-full border-2 text-xl font-bold transition-colors",
565
- getBorderColor(background, "accent"),
566
- getAccentColor(background),
489
+ "flex size-16 items-center justify-center rounded-full border-2 border-primary text-primary text-xl font-bold transition-colors",
567
490
  "bg-primary/5 group-hover:bg-primary group-hover:text-primary-foreground",
568
491
  serviceBadgeClassName
569
492
  ),
@@ -571,8 +494,8 @@ function ProcessNumberedServices({
571
494
  }
572
495
  ) }),
573
496
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-4", children: [
574
- 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 })),
575
- 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 })),
497
+ service.title && (typeof service.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-2xl font-semibold tracking-tight", children: service.title }) : service.title),
498
+ service.description && (typeof service.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed"), children: service.description }) : service.description),
576
499
  renderServiceAction(service)
577
500
  ] }),
578
501
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:col-span-7", children: service.capabilities?.length ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -587,18 +510,10 @@ function ProcessNumberedServices({
587
510
  {
588
511
  className: cn(
589
512
  "flex items-center gap-3 rounded-lg px-4 py-3",
590
- getNestedCardBg(background, "muted"),
591
- getNestedCardTextColor(background)
513
+ "bg-muted text-muted-foreground"
592
514
  ),
593
515
  children: [
594
- /* @__PURE__ */ jsxRuntime.jsx(
595
- DynamicIcon,
596
- {
597
- name: "lucide/check-circle-2",
598
- size: 18,
599
- className: getAccentColor(background)
600
- }
601
- ),
516
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 18 }),
602
517
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: capability })
603
518
  ]
604
519
  },
@@ -629,6 +544,7 @@ function ProcessNumberedServices({
629
544
  className,
630
545
  pattern,
631
546
  patternOpacity,
547
+ containerClassName,
632
548
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClassName, children: [
633
549
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 max-w-2xl", headerClassName), children: [
634
550
  resolvedHeading && (typeof resolvedHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -641,17 +557,7 @@ function ProcessNumberedServices({
641
557
  children: resolvedHeading
642
558
  }
643
559
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: resolvedHeading })),
644
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
645
- "p",
646
- {
647
- className: cn(
648
- "text-lg",
649
- getTextColor(background, "muted"),
650
- descriptionClassName
651
- ),
652
- children: description
653
- }
654
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
560
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : description)
655
561
  ] }),
656
562
  renderServices
657
563
  ] })
@@ -121,15 +121,15 @@ interface ProcessNumberedServicesProps {
121
121
  */
122
122
  optixFlowConfig?: OptixFlowConfig;
123
123
  /**
124
- * @deprecated Use `heading` instead
124
+ * Additional CSS classes for the container
125
125
  */
126
- title?: string;
126
+ containerClassName?: string;
127
127
  /** Optional Section ID */
128
128
  sectionId?: string;
129
129
  }
130
130
  /**
131
131
  * ProcessNumberedServices - A numbered services section with capabilities grid.
132
132
  */
133
- declare function ProcessNumberedServices({ sectionId, heading, description, services, servicesSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, servicesClassName, serviceItemClassName, serviceBadgeClassName, capabilitiesClassName, background, spacing, pattern, patternOpacity, title, }: ProcessNumberedServicesProps): React.JSX.Element;
133
+ declare function ProcessNumberedServices({ sectionId, heading, description, services, servicesSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, servicesClassName, serviceItemClassName, serviceBadgeClassName, capabilitiesClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessNumberedServicesProps): React.JSX.Element;
134
134
 
135
135
  export { ProcessNumberedServices, type ProcessNumberedServicesProps };