@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
@@ -31,88 +31,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
31
  function cn(...inputs) {
32
32
  return tailwindMerge.twMerge(clsx.clsx(inputs));
33
33
  }
34
- function getNestedCardBg(parentBg, variant = "muted", options) {
35
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
36
- if (isDark) {
37
- switch (variant) {
38
- case "muted":
39
- return "bg-background";
40
- case "card":
41
- return "bg-card";
42
- case "accent":
43
- return "bg-accent";
44
- case "subtle":
45
- return "bg-background/50";
46
- }
47
- } else {
48
- switch (variant) {
49
- case "muted":
50
- return "bg-muted";
51
- case "card":
52
- return "bg-card";
53
- case "accent":
54
- return "bg-accent";
55
- case "subtle":
56
- return "bg-muted/50";
57
- }
58
- }
59
- }
60
- function getNestedCardTextColor(parentBg, options) {
61
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
62
- return isDark ? "text-foreground" : "";
63
- }
64
- function getTextColor(parentBg, variant = "default", options) {
65
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
66
- if (isDark) {
67
- switch (variant) {
68
- case "default":
69
- return "text-foreground";
70
- case "muted":
71
- return "text-foreground/80";
72
- case "subtle":
73
- return "text-foreground/60";
74
- case "accent":
75
- return "text-accent-foreground";
76
- }
77
- } else {
78
- switch (variant) {
79
- case "default":
80
- return "text-foreground";
81
- case "muted":
82
- return "text-muted-foreground";
83
- case "subtle":
84
- return "text-muted-foreground/70";
85
- case "accent":
86
- return "text-primary";
87
- }
88
- }
89
- }
90
- function getAccentColor(parentBg, options) {
91
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
92
- return isDark ? "text-accent-foreground" : "text-primary";
93
- }
94
- function getBorderColor(parentBg, variant = "default", options) {
95
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
96
- if (isDark) {
97
- switch (variant) {
98
- case "default":
99
- return "border-foreground/20";
100
- case "muted":
101
- return "border-foreground/10";
102
- case "accent":
103
- return "border-accent-foreground";
104
- }
105
- } else {
106
- switch (variant) {
107
- case "default":
108
- return "border-border";
109
- case "muted":
110
- return "border-muted";
111
- case "accent":
112
- return "border-primary";
113
- }
114
- }
115
- }
116
34
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
117
35
  var DynamicIcon = React__namespace.memo(function DynamicIcon2({
118
36
  apiKey,
@@ -515,10 +433,9 @@ function ProcessStepsGrid({
515
433
  spacing,
516
434
  pattern,
517
435
  patternOpacity,
518
- // Backwards compatibility
519
- title
436
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
520
437
  }) {
521
- const resolvedHeading = title ?? heading;
438
+ const resolvedHeading = heading;
522
439
  const renderSteps = React.useMemo(() => {
523
440
  if (stepsSlot) return stepsSlot;
524
441
  if (!steps || steps.length === 0) return null;
@@ -533,30 +450,38 @@ function ProcessStepsGrid({
533
450
  "div",
534
451
  {
535
452
  className: cn(
536
- "group relative overflow-hidden rounded-lg border p-8 transition-all hover:shadow-lg",
537
- `hover:${getBorderColor(background, "accent")}/50`,
538
- getNestedCardBg(background, "card"),
539
- getNestedCardTextColor(background),
453
+ "group relative overflow-hidden rounded-lg p-8 transition-all hover:shadow-lg",
454
+ "border border-border hover:border-primary",
455
+ "bg-card text-card-foreground",
540
456
  stepCardClassName,
541
457
  step.className
542
458
  ),
543
459
  children: [
544
- /* @__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") }),
460
+ /* @__PURE__ */ jsxRuntime.jsx(
461
+ "span",
462
+ {
463
+ className: cn(
464
+ "absolute -right-4 -top-4 text-[120px] font-bold leading-none transition-colors",
465
+ "opacity-20 group-hover:opacity-100",
466
+ "group-hover:text-primary"
467
+ ),
468
+ children: String(index + 1).padStart(2, "0")
469
+ }
470
+ ),
545
471
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10", children: [
546
472
  (step.iconSlot || step.icon) && /* @__PURE__ */ jsxRuntime.jsx(
547
473
  "div",
548
474
  {
549
475
  className: cn(
550
476
  "mb-6 flex size-14 items-center justify-center rounded-lg transition-colors",
551
- getAccentColor(background),
552
477
  "bg-primary/10 group-hover:bg-primary group-hover:text-primary-foreground",
553
478
  stepIconClassName
554
479
  ),
555
480
  children: step.iconSlot ?? (step.icon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: step.icon, size: 28 }))
556
481
  }
557
482
  ),
558
- 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 })),
559
- 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 }))
483
+ 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 })),
484
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed"), children: step.description }) : step.description)
560
485
  ] })
561
486
  ]
562
487
  },
@@ -564,7 +489,14 @@ function ProcessStepsGrid({
564
489
  ))
565
490
  }
566
491
  );
567
- }, [stepsSlot, steps, background, stepsGridClassName, stepCardClassName, stepIconClassName]);
492
+ }, [
493
+ stepsSlot,
494
+ steps,
495
+ background,
496
+ stepsGridClassName,
497
+ stepCardClassName,
498
+ stepIconClassName
499
+ ]);
568
500
  return /* @__PURE__ */ jsxRuntime.jsx(
569
501
  Section,
570
502
  {
@@ -574,29 +506,29 @@ function ProcessStepsGrid({
574
506
  className,
575
507
  pattern,
576
508
  patternOpacity,
509
+ containerClassName,
577
510
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClassName, children: [
578
511
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 text-center", headerClassName), children: [
579
512
  resolvedHeading && (typeof resolvedHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
580
513
  "h1",
581
514
  {
582
515
  className: cn(
583
- "mb-4 text-4xl font-semibold tracking-tight lg:text-5xl",
516
+ "mb-4 text-4xl font-semibold tracking-tight lg:text-5xl text-pretty",
584
517
  headingClassName
585
518
  ),
586
519
  children: resolvedHeading
587
520
  }
588
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: resolvedHeading })),
521
+ ) : resolvedHeading),
589
522
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
590
523
  "p",
591
524
  {
592
525
  className: cn(
593
- "mx-auto max-w-2xl text-lg",
594
- getTextColor(background, "muted"),
526
+ "mx-auto max-w-2xl text-lg text-balance",
595
527
  descriptionClassName
596
528
  ),
597
529
  children: description
598
530
  }
599
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
531
+ ) : description)
600
532
  ] }),
601
533
  renderSteps
602
534
  ] })
@@ -101,15 +101,15 @@ interface ProcessStepsGridProps {
101
101
  */
102
102
  optixFlowConfig?: OptixFlowConfig;
103
103
  /**
104
- * @deprecated Use `heading` instead
104
+ * Additional CSS classes for the container
105
105
  */
106
- title?: string;
106
+ containerClassName?: string;
107
107
  /** Optional Section ID */
108
108
  sectionId?: string;
109
109
  }
110
110
  /**
111
111
  * ProcessStepsGrid - A grid-based process section with numbered step cards.
112
112
  */
113
- declare function ProcessStepsGrid({ sectionId, heading, description, steps, stepsSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, stepsGridClassName, stepCardClassName, stepIconClassName, background, spacing, pattern, patternOpacity, title, }: ProcessStepsGridProps): React.JSX.Element;
113
+ declare function ProcessStepsGrid({ sectionId, heading, description, steps, stepsSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, stepsGridClassName, stepCardClassName, stepIconClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessStepsGridProps): React.JSX.Element;
114
114
 
115
115
  export { ProcessStepsGrid, type ProcessStepsGridProps };
@@ -101,15 +101,15 @@ interface ProcessStepsGridProps {
101
101
  */
102
102
  optixFlowConfig?: OptixFlowConfig;
103
103
  /**
104
- * @deprecated Use `heading` instead
104
+ * Additional CSS classes for the container
105
105
  */
106
- title?: string;
106
+ containerClassName?: string;
107
107
  /** Optional Section ID */
108
108
  sectionId?: string;
109
109
  }
110
110
  /**
111
111
  * ProcessStepsGrid - A grid-based process section with numbered step cards.
112
112
  */
113
- declare function ProcessStepsGrid({ sectionId, heading, description, steps, stepsSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, stepsGridClassName, stepCardClassName, stepIconClassName, background, spacing, pattern, patternOpacity, title, }: ProcessStepsGridProps): React.JSX.Element;
113
+ declare function ProcessStepsGrid({ sectionId, heading, description, steps, stepsSlot, className, contentClassName, headerClassName, headingClassName, descriptionClassName, stepsGridClassName, stepCardClassName, stepIconClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessStepsGridProps): React.JSX.Element;
114
114
 
115
115
  export { ProcessStepsGrid, type ProcessStepsGridProps };
@@ -10,88 +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 getAccentColor(parentBg, options) {
70
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
71
- return isDark ? "text-accent-foreground" : "text-primary";
72
- }
73
- function getBorderColor(parentBg, variant = "default", options) {
74
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
75
- if (isDark) {
76
- switch (variant) {
77
- case "default":
78
- return "border-foreground/20";
79
- case "muted":
80
- return "border-foreground/10";
81
- case "accent":
82
- return "border-accent-foreground";
83
- }
84
- } else {
85
- switch (variant) {
86
- case "default":
87
- return "border-border";
88
- case "muted":
89
- return "border-muted";
90
- case "accent":
91
- return "border-primary";
92
- }
93
- }
94
- }
95
13
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
96
14
  var DynamicIcon = React.memo(function DynamicIcon2({
97
15
  apiKey,
@@ -494,10 +412,9 @@ function ProcessStepsGrid({
494
412
  spacing,
495
413
  pattern,
496
414
  patternOpacity,
497
- // Backwards compatibility
498
- title
415
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
499
416
  }) {
500
- const resolvedHeading = title ?? heading;
417
+ const resolvedHeading = heading;
501
418
  const renderSteps = useMemo(() => {
502
419
  if (stepsSlot) return stepsSlot;
503
420
  if (!steps || steps.length === 0) return null;
@@ -512,30 +429,38 @@ function ProcessStepsGrid({
512
429
  "div",
513
430
  {
514
431
  className: cn(
515
- "group relative overflow-hidden rounded-lg border p-8 transition-all hover:shadow-lg",
516
- `hover:${getBorderColor(background, "accent")}/50`,
517
- getNestedCardBg(background, "card"),
518
- getNestedCardTextColor(background),
432
+ "group relative overflow-hidden rounded-lg p-8 transition-all hover:shadow-lg",
433
+ "border border-border hover:border-primary",
434
+ "bg-card text-card-foreground",
519
435
  stepCardClassName,
520
436
  step.className
521
437
  ),
522
438
  children: [
523
- /* @__PURE__ */ 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") }),
439
+ /* @__PURE__ */ jsx(
440
+ "span",
441
+ {
442
+ className: cn(
443
+ "absolute -right-4 -top-4 text-[120px] font-bold leading-none transition-colors",
444
+ "opacity-20 group-hover:opacity-100",
445
+ "group-hover:text-primary"
446
+ ),
447
+ children: String(index + 1).padStart(2, "0")
448
+ }
449
+ ),
524
450
  /* @__PURE__ */ jsxs("div", { className: "relative z-10", children: [
525
451
  (step.iconSlot || step.icon) && /* @__PURE__ */ jsx(
526
452
  "div",
527
453
  {
528
454
  className: cn(
529
455
  "mb-6 flex size-14 items-center justify-center rounded-lg transition-colors",
530
- getAccentColor(background),
531
456
  "bg-primary/10 group-hover:bg-primary group-hover:text-primary-foreground",
532
457
  stepIconClassName
533
458
  ),
534
459
  children: step.iconSlot ?? (step.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: step.icon, size: 28 }))
535
460
  }
536
461
  ),
537
- step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title })),
538
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }))
462
+ step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-3", children: step.title })),
463
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed"), children: step.description }) : step.description)
539
464
  ] })
540
465
  ]
541
466
  },
@@ -543,7 +468,14 @@ function ProcessStepsGrid({
543
468
  ))
544
469
  }
545
470
  );
546
- }, [stepsSlot, steps, background, stepsGridClassName, stepCardClassName, stepIconClassName]);
471
+ }, [
472
+ stepsSlot,
473
+ steps,
474
+ background,
475
+ stepsGridClassName,
476
+ stepCardClassName,
477
+ stepIconClassName
478
+ ]);
547
479
  return /* @__PURE__ */ jsx(
548
480
  Section,
549
481
  {
@@ -553,29 +485,29 @@ function ProcessStepsGrid({
553
485
  className,
554
486
  pattern,
555
487
  patternOpacity,
488
+ containerClassName,
556
489
  children: /* @__PURE__ */ jsxs("div", { className: contentClassName, children: [
557
490
  /* @__PURE__ */ jsxs("div", { className: cn("mb-16 text-center", headerClassName), children: [
558
491
  resolvedHeading && (typeof resolvedHeading === "string" ? /* @__PURE__ */ jsx(
559
492
  "h1",
560
493
  {
561
494
  className: cn(
562
- "mb-4 text-4xl font-semibold tracking-tight lg:text-5xl",
495
+ "mb-4 text-4xl font-semibold tracking-tight lg:text-5xl text-pretty",
563
496
  headingClassName
564
497
  ),
565
498
  children: resolvedHeading
566
499
  }
567
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: resolvedHeading })),
500
+ ) : resolvedHeading),
568
501
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
569
502
  "p",
570
503
  {
571
504
  className: cn(
572
- "mx-auto max-w-2xl text-lg",
573
- getTextColor(background, "muted"),
505
+ "mx-auto max-w-2xl text-lg text-balance",
574
506
  descriptionClassName
575
507
  ),
576
508
  children: description
577
509
  }
578
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
510
+ ) : description)
579
511
  ] }),
580
512
  renderSteps
581
513
  ] })
@@ -32,36 +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
35
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
66
36
  var DynamicIcon = React__namespace.memo(function DynamicIcon2({
67
37
  apiKey,
@@ -501,7 +471,8 @@ function ProcessStickySteps({
501
471
  background,
502
472
  spacing = "py-6 md:py-32",
503
473
  pattern,
504
- patternOpacity
474
+ patternOpacity,
475
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
505
476
  }) {
506
477
  const renderActions = React.useMemo(() => {
507
478
  return () => {
@@ -557,8 +528,7 @@ function ProcessStickySteps({
557
528
  {
558
529
  className: cn(
559
530
  "flex size-12 items-center justify-center px-4 py-1 tracking-tighter",
560
- getNestedCardBg(background, "muted"),
561
- getNestedCardTextColor(background)
531
+ "bg-muted text-muted-foreground"
562
532
  ),
563
533
  children: step.step ?? `0${index + 1}`
564
534
  }
@@ -581,6 +551,7 @@ function ProcessStickySteps({
581
551
  className,
582
552
  pattern,
583
553
  patternOpacity,
554
+ containerClassName,
584
555
  children: /* @__PURE__ */ jsxRuntime.jsxs(
585
556
  "div",
586
557
  {
@@ -591,7 +562,7 @@ function ProcessStickySteps({
591
562
  children: [
592
563
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
593
564
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
594
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
565
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : heading),
595
566
  /* @__PURE__ */ jsxRuntime.jsx(
596
567
  DynamicIcon,
597
568
  {
@@ -601,7 +572,7 @@ function ProcessStickySteps({
601
572
  }
602
573
  )
603
574
  ] }),
604
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
575
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : description),
605
576
  renderActions()
606
577
  ] }),
607
578
  renderSteps
@@ -100,6 +100,10 @@ interface ProcessStickyStepsProps {
100
100
  * OptixFlow image optimization configuration
101
101
  */
102
102
  optixFlowConfig?: OptixFlowConfig;
103
+ /**
104
+ * Additional CSS classes for the container
105
+ */
106
+ containerClassName?: string;
103
107
  /** Optional Section ID */
104
108
  sectionId?: string;
105
109
  }
@@ -107,6 +111,6 @@ interface ProcessStickyStepsProps {
107
111
  * ProcessStickySteps - A process section with sticky sidebar containing heading,
108
112
  * description, and CTA, with scrollable steps on the right side.
109
113
  */
110
- declare function ProcessStickySteps({ sectionId, heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity, }: ProcessStickyStepsProps): React.JSX.Element;
114
+ declare function ProcessStickySteps({ sectionId, heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessStickyStepsProps): React.JSX.Element;
111
115
 
112
116
  export { ProcessStickySteps, type ProcessStickyStepsProps };
@@ -100,6 +100,10 @@ interface ProcessStickyStepsProps {
100
100
  * OptixFlow image optimization configuration
101
101
  */
102
102
  optixFlowConfig?: OptixFlowConfig;
103
+ /**
104
+ * Additional CSS classes for the container
105
+ */
106
+ containerClassName?: string;
103
107
  /** Optional Section ID */
104
108
  sectionId?: string;
105
109
  }
@@ -107,6 +111,6 @@ interface ProcessStickyStepsProps {
107
111
  * ProcessStickySteps - A process section with sticky sidebar containing heading,
108
112
  * description, and CTA, with scrollable steps on the right side.
109
113
  */
110
- declare function ProcessStickySteps({ sectionId, heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity, }: ProcessStickyStepsProps): React.JSX.Element;
114
+ declare function ProcessStickySteps({ sectionId, heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity, containerClassName, }: ProcessStickyStepsProps): React.JSX.Element;
111
115
 
112
116
  export { ProcessStickySteps, type ProcessStickyStepsProps };
@@ -11,36 +11,6 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
11
  function cn(...inputs) {
12
12
  return twMerge(clsx(inputs));
13
13
  }
14
- function getNestedCardBg(parentBg, variant = "muted", options) {
15
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
16
- if (isDark) {
17
- switch (variant) {
18
- case "muted":
19
- return "bg-background";
20
- case "card":
21
- return "bg-card";
22
- case "accent":
23
- return "bg-accent";
24
- case "subtle":
25
- return "bg-background/50";
26
- }
27
- } else {
28
- switch (variant) {
29
- case "muted":
30
- return "bg-muted";
31
- case "card":
32
- return "bg-card";
33
- case "accent":
34
- return "bg-accent";
35
- case "subtle":
36
- return "bg-muted/50";
37
- }
38
- }
39
- }
40
- function getNestedCardTextColor(parentBg, options) {
41
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
42
- return isDark ? "text-foreground" : "";
43
- }
44
14
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
45
15
  var DynamicIcon = React.memo(function DynamicIcon2({
46
16
  apiKey,
@@ -480,7 +450,8 @@ function ProcessStickySteps({
480
450
  background,
481
451
  spacing = "py-6 md:py-32",
482
452
  pattern,
483
- patternOpacity
453
+ patternOpacity,
454
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
484
455
  }) {
485
456
  const renderActions = useMemo(() => {
486
457
  return () => {
@@ -536,8 +507,7 @@ function ProcessStickySteps({
536
507
  {
537
508
  className: cn(
538
509
  "flex size-12 items-center justify-center px-4 py-1 tracking-tighter",
539
- getNestedCardBg(background, "muted"),
540
- getNestedCardTextColor(background)
510
+ "bg-muted text-muted-foreground"
541
511
  ),
542
512
  children: step.step ?? `0${index + 1}`
543
513
  }
@@ -560,6 +530,7 @@ function ProcessStickySteps({
560
530
  className,
561
531
  pattern,
562
532
  patternOpacity,
533
+ containerClassName,
563
534
  children: /* @__PURE__ */ jsxs(
564
535
  "div",
565
536
  {
@@ -570,7 +541,7 @@ function ProcessStickySteps({
570
541
  children: [
571
542
  /* @__PURE__ */ jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
572
543
  /* @__PURE__ */ jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
573
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
544
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : heading),
574
545
  /* @__PURE__ */ jsx(
575
546
  DynamicIcon,
576
547
  {
@@ -580,7 +551,7 @@ function ProcessStickySteps({
580
551
  }
581
552
  )
582
553
  ] }),
583
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
554
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : description),
584
555
  renderActions()
585
556
  ] }),
586
557
  renderSteps