@opensite/ui 3.3.8 → 3.3.9

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 (159) hide show
  1. package/dist/about-culture-tabs.cjs +14 -3
  2. package/dist/about-culture-tabs.js +14 -3
  3. package/dist/about-developer-profile.cjs +14 -3
  4. package/dist/about-developer-profile.js +14 -3
  5. package/dist/about-developer-story.cjs +13 -2
  6. package/dist/about-developer-story.js +14 -3
  7. package/dist/about-expandable-values.cjs +14 -3
  8. package/dist/about-expandable-values.js +14 -3
  9. package/dist/about-mission-dual-image.cjs +13 -2
  10. package/dist/about-mission-dual-image.js +14 -3
  11. package/dist/about-network-spotlight.cjs +13 -2
  12. package/dist/about-network-spotlight.js +14 -3
  13. package/dist/about-story-expertise.cjs +14 -3
  14. package/dist/about-story-expertise.js +14 -3
  15. package/dist/about-streamline-team.cjs +14 -3
  16. package/dist/about-streamline-team.js +14 -3
  17. package/dist/carousel-feature-badge.cjs +13 -2
  18. package/dist/carousel-feature-badge.js +14 -3
  19. package/dist/carousel-image-hero.cjs +13 -2
  20. package/dist/carousel-image-hero.js +14 -3
  21. package/dist/carousel-portfolio-hero.cjs +13 -2
  22. package/dist/carousel-portfolio-hero.js +14 -3
  23. package/dist/community-initiatives.cjs +13 -2
  24. package/dist/community-initiatives.js +14 -3
  25. package/dist/components.cjs +13 -2
  26. package/dist/components.js +13 -2
  27. package/dist/cta-feature-checklist.cjs +13 -2
  28. package/dist/cta-feature-checklist.js +14 -3
  29. package/dist/faq-numbered-grid.cjs +13 -2
  30. package/dist/faq-numbered-grid.js +14 -3
  31. package/dist/hero-ad-campaign-expert.cjs +13 -2
  32. package/dist/hero-ad-campaign-expert.js +14 -3
  33. package/dist/hero-adaptable-product-grid.cjs +13 -2
  34. package/dist/hero-adaptable-product-grid.js +14 -3
  35. package/dist/hero-agency-animated-images.cjs +13 -2
  36. package/dist/hero-agency-animated-images.js +14 -3
  37. package/dist/hero-ai-powered-carousel.cjs +13 -2
  38. package/dist/hero-ai-powered-carousel.js +14 -3
  39. package/dist/hero-announcement-badge.cjs +13 -2
  40. package/dist/hero-announcement-badge.js +14 -3
  41. package/dist/hero-badge-image-split.cjs +13 -2
  42. package/dist/hero-badge-image-split.js +14 -3
  43. package/dist/hero-badge-shadow-overlay.cjs +13 -2
  44. package/dist/hero-badge-shadow-overlay.js +14 -3
  45. package/dist/hero-business-carousel-dots.cjs +13 -2
  46. package/dist/hero-business-carousel-dots.js +14 -3
  47. package/dist/hero-business-operations-mosaic.cjs +13 -2
  48. package/dist/hero-business-operations-mosaic.js +14 -3
  49. package/dist/hero-centered-gradient-cta.cjs +13 -2
  50. package/dist/hero-centered-gradient-cta.js +14 -3
  51. package/dist/hero-community-survey-cta.cjs +13 -2
  52. package/dist/hero-community-survey-cta.js +14 -3
  53. package/dist/hero-conversation-intelligence.cjs +13 -2
  54. package/dist/hero-conversation-intelligence.js +14 -3
  55. package/dist/hero-creative-studio-stacked.cjs +13 -2
  56. package/dist/hero-creative-studio-stacked.js +14 -3
  57. package/dist/hero-crm-streamlined.cjs +13 -2
  58. package/dist/hero-crm-streamlined.js +14 -3
  59. package/dist/hero-customer-support-layered.cjs +13 -2
  60. package/dist/hero-customer-support-layered.js +14 -3
  61. package/dist/hero-design-carousel-portfolio.cjs +13 -2
  62. package/dist/hero-design-carousel-portfolio.js +14 -3
  63. package/dist/hero-design-showcase-logos.cjs +13 -2
  64. package/dist/hero-design-showcase-logos.js +14 -3
  65. package/dist/hero-design-system-3d.cjs +13 -2
  66. package/dist/hero-design-system-3d.js +14 -3
  67. package/dist/hero-developer-tools-code.cjs +13 -2
  68. package/dist/hero-developer-tools-code.js +14 -3
  69. package/dist/hero-digital-agency-fullscreen.cjs +13 -2
  70. package/dist/hero-digital-agency-fullscreen.js +14 -3
  71. package/dist/hero-ecommerce-product-showcase.cjs +14 -3
  72. package/dist/hero-ecommerce-product-showcase.js +14 -3
  73. package/dist/hero-enterprise-security.cjs +13 -2
  74. package/dist/hero-enterprise-security.js +14 -3
  75. package/dist/hero-event-registration.cjs +13 -2
  76. package/dist/hero-event-registration.js +14 -3
  77. package/dist/hero-feature-cards-grid.cjs +13 -2
  78. package/dist/hero-feature-cards-grid.js +14 -3
  79. package/dist/hero-floating-images.cjs +13 -2
  80. package/dist/hero-floating-images.js +14 -3
  81. package/dist/hero-fullscreen-background-image.cjs +13 -2
  82. package/dist/hero-fullscreen-background-image.js +14 -3
  83. package/dist/hero-gradient-avatars-rating.cjs +13 -2
  84. package/dist/hero-gradient-avatars-rating.js +14 -3
  85. package/dist/hero-gradient-client-focused.cjs +13 -2
  86. package/dist/hero-gradient-client-focused.js +14 -3
  87. package/dist/hero-grid-pattern-solutions.cjs +13 -2
  88. package/dist/hero-grid-pattern-solutions.js +14 -3
  89. package/dist/hero-hiring-animated-text.cjs +13 -2
  90. package/dist/hero-hiring-animated-text.js +14 -3
  91. package/dist/hero-image-left-content.cjs +13 -2
  92. package/dist/hero-image-left-content.js +14 -3
  93. package/dist/hero-image-slider.cjs +13 -2
  94. package/dist/hero-image-slider.js +14 -3
  95. package/dist/hero-innovation-image-grid.cjs +13 -2
  96. package/dist/hero-innovation-image-grid.js +14 -3
  97. package/dist/hero-mental-health-team.cjs +13 -2
  98. package/dist/hero-mental-health-team.js +14 -3
  99. package/dist/hero-minimal-centered-dark.cjs +14 -3
  100. package/dist/hero-minimal-centered-dark.js +14 -3
  101. package/dist/hero-overlay-cta-grid.cjs +13 -2
  102. package/dist/hero-overlay-cta-grid.js +14 -3
  103. package/dist/hero-presentation-platform-video.cjs +13 -2
  104. package/dist/hero-presentation-platform-video.js +14 -3
  105. package/dist/hero-product-showcase-floating.cjs +14 -3
  106. package/dist/hero-product-showcase-floating.js +14 -3
  107. package/dist/hero-shared-inbox-layered.cjs +13 -2
  108. package/dist/hero-shared-inbox-layered.js +14 -3
  109. package/dist/hero-simple-centered-image.cjs +13 -2
  110. package/dist/hero-simple-centered-image.js +14 -3
  111. package/dist/hero-software-growth-video-dialog.cjs +13 -2
  112. package/dist/hero-software-growth-video-dialog.js +14 -3
  113. package/dist/hero-spiral-pattern-cards.cjs +14 -3
  114. package/dist/hero-spiral-pattern-cards.js +14 -3
  115. package/dist/hero-split-geometric-shapes.cjs +13 -2
  116. package/dist/hero-split-geometric-shapes.js +14 -3
  117. package/dist/hero-startup-launch-cta.cjs +14 -3
  118. package/dist/hero-startup-launch-cta.js +14 -3
  119. package/dist/hero-stats-social-proof.cjs +14 -3
  120. package/dist/hero-stats-social-proof.js +14 -3
  121. package/dist/hero-task-timer-animated.cjs +13 -2
  122. package/dist/hero-task-timer-animated.js +14 -3
  123. package/dist/hero-testimonial-image-grid.cjs +13 -2
  124. package/dist/hero-testimonial-image-grid.js +14 -3
  125. package/dist/hero-therapy-testimonial-grid.cjs +13 -2
  126. package/dist/hero-therapy-testimonial-grid.js +14 -3
  127. package/dist/hero-ui-library-showcase.cjs +13 -2
  128. package/dist/hero-ui-library-showcase.js +14 -3
  129. package/dist/hero-video-background-dark.cjs +14 -3
  130. package/dist/hero-video-background-dark.js +14 -3
  131. package/dist/hero-video-dialog-gradient.cjs +13 -2
  132. package/dist/hero-video-dialog-gradient.js +14 -3
  133. package/dist/hero-video-overlay-stars.cjs +13 -2
  134. package/dist/hero-video-overlay-stars.js +14 -3
  135. package/dist/hero-welcome-asymmetric-images.cjs +13 -2
  136. package/dist/hero-welcome-asymmetric-images.js +14 -3
  137. package/dist/index.cjs +13 -2
  138. package/dist/index.js +13 -2
  139. package/dist/process-sticky-steps.cjs +29 -9
  140. package/dist/process-sticky-steps.js +30 -10
  141. package/dist/registry.cjs +30 -10
  142. package/dist/registry.js +30 -10
  143. package/dist/social-link-icon.d.cts +1 -1
  144. package/dist/social-link-icon.d.ts +1 -1
  145. package/dist/stats-growth-timeline.cjs +13 -2
  146. package/dist/stats-growth-timeline.js +14 -3
  147. package/dist/testimonials-grid-add-review.cjs +13 -2
  148. package/dist/testimonials-grid-add-review.js +14 -3
  149. package/dist/testimonials-masonry-grid.cjs +13 -2
  150. package/dist/testimonials-masonry-grid.js +14 -3
  151. package/dist/testimonials-simple-grid.cjs +13 -2
  152. package/dist/testimonials-simple-grid.js +14 -3
  153. package/dist/testimonials-stats-header.cjs +13 -2
  154. package/dist/testimonials-stats-header.js +14 -3
  155. package/dist/testimonials-twitter-cards.cjs +13 -2
  156. package/dist/testimonials-twitter-cards.js +14 -3
  157. package/dist/testimonials-wall-compact.cjs +13 -2
  158. package/dist/testimonials-wall-compact.js +14 -3
  159. package/package.json +2 -2
@@ -6,9 +6,9 @@ var video = require('@page-speed/video');
6
6
  var clsx = require('clsx');
7
7
  var tailwindMerge = require('tailwind-merge');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
+ var pressable = require('@page-speed/pressable');
9
10
  var reactSlot = require('@radix-ui/react-slot');
10
11
  var classVarianceAuthority = require('class-variance-authority');
11
- var pressable = require('@page-speed/pressable');
12
12
 
13
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
 
@@ -532,16 +532,27 @@ function ActionComponent({ action }) {
532
532
  children,
533
533
  href,
534
534
  onClick,
535
+ asButton,
536
+ variant,
537
+ size,
535
538
  className: actionClassName,
536
539
  ...pressableProps
537
540
  } = action;
541
+ const shouldStyleAsButton = asButton ?? true;
542
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
543
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
538
544
  return /* @__PURE__ */ jsxRuntime.jsx(
539
545
  pressable.Pressable,
540
546
  {
541
547
  href,
542
548
  onClick,
543
- asButton: action.asButton ?? true,
544
- className: actionClassName,
549
+ asButton: shouldStyleAsButton,
550
+ variant: resolvedVariant,
551
+ size: resolvedSize,
552
+ className: cn(
553
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
554
+ actionClassName
555
+ ),
545
556
  ...pressableProps,
546
557
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
547
558
  icon,
@@ -4,9 +4,9 @@ import { Video } from '@page-speed/video';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
7
8
  import { Slot } from '@radix-ui/react-slot';
8
9
  import { cva } from 'class-variance-authority';
9
- import { Pressable } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/hero/hero-video-background-dark.tsx
12
12
  function cn(...inputs) {
@@ -526,16 +526,27 @@ function ActionComponent({ action }) {
526
526
  children,
527
527
  href,
528
528
  onClick,
529
+ asButton,
530
+ variant,
531
+ size,
529
532
  className: actionClassName,
530
533
  ...pressableProps
531
534
  } = action;
535
+ const shouldStyleAsButton = asButton ?? true;
536
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
537
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
532
538
  return /* @__PURE__ */ jsx(
533
539
  Pressable,
534
540
  {
535
541
  href,
536
542
  onClick,
537
- asButton: action.asButton ?? true,
538
- className: actionClassName,
543
+ asButton: shouldStyleAsButton,
544
+ variant: resolvedVariant,
545
+ size: resolvedSize,
546
+ className: cn(
547
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
548
+ actionClassName
549
+ ),
539
550
  ...pressableProps,
540
551
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
541
552
  icon,
@@ -525,16 +525,27 @@ function ActionComponent({ action }) {
525
525
  children,
526
526
  href,
527
527
  onClick,
528
+ asButton,
529
+ variant,
530
+ size,
528
531
  className: actionClassName,
529
532
  ...pressableProps
530
533
  } = action;
534
+ const shouldStyleAsButton = asButton ?? true;
535
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
536
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
531
537
  return /* @__PURE__ */ jsxRuntime.jsx(
532
538
  pressable.Pressable,
533
539
  {
534
540
  href,
535
541
  onClick,
536
- asButton: action.asButton ?? true,
537
- className: actionClassName,
542
+ asButton: shouldStyleAsButton,
543
+ variant: resolvedVariant,
544
+ size: resolvedSize,
545
+ className: cn(
546
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
547
+ actionClassName
548
+ ),
538
549
  ...pressableProps,
539
550
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
540
551
  icon,
@@ -10,7 +10,7 @@ import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
10
10
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
11
11
  import * as DialogPrimitive from '@radix-ui/react-dialog';
12
12
  import { Icon } from '@page-speed/icon';
13
- import { Pressable } from '@page-speed/pressable';
13
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
14
14
 
15
15
  // components/blocks/hero/hero-video-dialog-gradient.tsx
16
16
  function cn(...inputs) {
@@ -502,16 +502,27 @@ function ActionComponent({ action }) {
502
502
  children,
503
503
  href,
504
504
  onClick,
505
+ asButton,
506
+ variant,
507
+ size,
505
508
  className: actionClassName,
506
509
  ...pressableProps
507
510
  } = action;
511
+ const shouldStyleAsButton = asButton ?? true;
512
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
513
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
508
514
  return /* @__PURE__ */ jsx(
509
515
  Pressable,
510
516
  {
511
517
  href,
512
518
  onClick,
513
- asButton: action.asButton ?? true,
514
- className: actionClassName,
519
+ asButton: shouldStyleAsButton,
520
+ variant: resolvedVariant,
521
+ size: resolvedSize,
522
+ className: cn(
523
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
524
+ actionClassName
525
+ ),
515
526
  ...pressableProps,
516
527
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
517
528
  icon,
@@ -467,16 +467,27 @@ function ActionComponent({ action }) {
467
467
  children,
468
468
  href,
469
469
  onClick,
470
+ asButton,
471
+ variant,
472
+ size,
470
473
  className: actionClassName,
471
474
  ...pressableProps
472
475
  } = action;
476
+ const shouldStyleAsButton = asButton ?? true;
477
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
478
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
473
479
  return /* @__PURE__ */ jsxRuntime.jsx(
474
480
  pressable.Pressable,
475
481
  {
476
482
  href,
477
483
  onClick,
478
- asButton: action.asButton ?? true,
479
- className: actionClassName,
484
+ asButton: shouldStyleAsButton,
485
+ variant: resolvedVariant,
486
+ size: resolvedSize,
487
+ className: cn(
488
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
489
+ actionClassName
490
+ ),
480
491
  ...pressableProps,
481
492
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
482
493
  icon,
@@ -6,7 +6,7 @@ import { twMerge } from 'tailwind-merge';
6
6
  import { Video } from '@page-speed/video';
7
7
  import { Icon } from '@page-speed/icon';
8
8
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
9
- import { Pressable } from '@page-speed/pressable';
9
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/hero/hero-video-overlay-stars.tsx
12
12
  function cn(...inputs) {
@@ -446,16 +446,27 @@ function ActionComponent({ action }) {
446
446
  children,
447
447
  href,
448
448
  onClick,
449
+ asButton,
450
+ variant,
451
+ size,
449
452
  className: actionClassName,
450
453
  ...pressableProps
451
454
  } = action;
455
+ const shouldStyleAsButton = asButton ?? true;
456
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
457
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
452
458
  return /* @__PURE__ */ jsx(
453
459
  Pressable,
454
460
  {
455
461
  href,
456
462
  onClick,
457
- asButton: action.asButton ?? true,
458
- className: actionClassName,
463
+ asButton: shouldStyleAsButton,
464
+ variant: resolvedVariant,
465
+ size: resolvedSize,
466
+ className: cn(
467
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
468
+ actionClassName
469
+ ),
459
470
  ...pressableProps,
460
471
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
461
472
  icon,
@@ -437,16 +437,27 @@ function ActionComponent({ action }) {
437
437
  children,
438
438
  href,
439
439
  onClick,
440
+ asButton,
441
+ variant,
442
+ size,
440
443
  className: actionClassName,
441
444
  ...pressableProps
442
445
  } = action;
446
+ const shouldStyleAsButton = asButton ?? true;
447
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
448
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
443
449
  return /* @__PURE__ */ jsxRuntime.jsx(
444
450
  pressable.Pressable,
445
451
  {
446
452
  href,
447
453
  onClick,
448
- asButton: action.asButton ?? true,
449
- className: actionClassName,
454
+ asButton: shouldStyleAsButton,
455
+ variant: resolvedVariant,
456
+ size: resolvedSize,
457
+ className: cn(
458
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
459
+ actionClassName
460
+ ),
450
461
  ...pressableProps,
451
462
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
452
463
  icon,
@@ -4,7 +4,7 @@ import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { Img } from '@page-speed/img';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
- import { Pressable } from '@page-speed/pressable';
7
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
8
8
 
9
9
  // components/blocks/hero/hero-welcome-asymmetric-images.tsx
10
10
  function cn(...inputs) {
@@ -431,16 +431,27 @@ function ActionComponent({ action }) {
431
431
  children,
432
432
  href,
433
433
  onClick,
434
+ asButton,
435
+ variant,
436
+ size,
434
437
  className: actionClassName,
435
438
  ...pressableProps
436
439
  } = action;
440
+ const shouldStyleAsButton = asButton ?? true;
441
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
442
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
437
443
  return /* @__PURE__ */ jsx(
438
444
  Pressable,
439
445
  {
440
446
  href,
441
447
  onClick,
442
- asButton: action.asButton ?? true,
443
- className: actionClassName,
448
+ asButton: shouldStyleAsButton,
449
+ variant: resolvedVariant,
450
+ size: resolvedSize,
451
+ className: cn(
452
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
453
+ actionClassName
454
+ ),
444
455
  ...pressableProps,
445
456
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
446
457
  icon,
package/dist/index.cjs CHANGED
@@ -2024,16 +2024,27 @@ function ActionComponent({ action }) {
2024
2024
  children,
2025
2025
  href,
2026
2026
  onClick,
2027
+ asButton,
2028
+ variant,
2029
+ size,
2027
2030
  className: actionClassName,
2028
2031
  ...pressableProps
2029
2032
  } = action;
2033
+ const shouldStyleAsButton = asButton ?? true;
2034
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
2035
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
2030
2036
  return /* @__PURE__ */ jsxRuntime.jsx(
2031
2037
  pressable.Pressable,
2032
2038
  {
2033
2039
  href,
2034
2040
  onClick,
2035
- asButton: action.asButton ?? true,
2036
- className: actionClassName,
2041
+ asButton: shouldStyleAsButton,
2042
+ variant: resolvedVariant,
2043
+ size: resolvedSize,
2044
+ className: cn(
2045
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
2046
+ actionClassName
2047
+ ),
2037
2048
  ...pressableProps,
2038
2049
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2039
2050
  icon,
package/dist/index.js CHANGED
@@ -2002,16 +2002,27 @@ function ActionComponent({ action }) {
2002
2002
  children,
2003
2003
  href,
2004
2004
  onClick,
2005
+ asButton,
2006
+ variant,
2007
+ size,
2005
2008
  className: actionClassName,
2006
2009
  ...pressableProps
2007
2010
  } = action;
2011
+ const shouldStyleAsButton = asButton ?? true;
2012
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
2013
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
2008
2014
  return /* @__PURE__ */ jsx(
2009
2015
  Pressable,
2010
2016
  {
2011
2017
  href,
2012
2018
  onClick,
2013
- asButton: action.asButton ?? true,
2014
- className: actionClassName,
2019
+ asButton: shouldStyleAsButton,
2020
+ variant: resolvedVariant,
2021
+ size: resolvedSize,
2022
+ className: cn(
2023
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
2024
+ actionClassName
2025
+ ),
2015
2026
  ...pressableProps,
2016
2027
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
2017
2028
  icon,
@@ -466,16 +466,27 @@ function ActionComponent({ action }) {
466
466
  children,
467
467
  href,
468
468
  onClick,
469
+ asButton,
470
+ variant,
471
+ size,
469
472
  className: actionClassName,
470
473
  ...pressableProps
471
474
  } = action;
475
+ const shouldStyleAsButton = asButton ?? true;
476
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
477
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
472
478
  return /* @__PURE__ */ jsxRuntime.jsx(
473
479
  pressable.Pressable,
474
480
  {
475
481
  href,
476
482
  onClick,
477
- asButton: action.asButton ?? true,
478
- className: actionClassName,
483
+ asButton: shouldStyleAsButton,
484
+ variant: resolvedVariant,
485
+ size: resolvedSize,
486
+ className: cn(
487
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
488
+ actionClassName
489
+ ),
479
490
  ...pressableProps,
480
491
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
481
492
  icon,
@@ -546,11 +557,11 @@ function ProcessStickySteps({
546
557
  const renderSteps = React.useMemo(() => {
547
558
  if (stepsSlot) return stepsSlot;
548
559
  if (!steps?.length) return null;
549
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-22", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
560
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative w-full min-w-0", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
550
561
  "li",
551
562
  {
552
563
  className: cn(
553
- "relative flex flex-col justify-between gap-10 border-t py-8 md:flex-row lg:py-10",
564
+ "relative grid grid-cols-1 gap-6 border-t py-8 md:grid-cols-[auto_minmax(0,1fr)] md:gap-10 lg:py-10",
554
565
  stepItemClassName,
555
566
  step.className
556
567
  ),
@@ -574,7 +585,7 @@ function ProcessStickySteps({
574
585
  children: step.step ?? `0${index + 1}`
575
586
  }
576
587
  ),
577
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
588
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 pr-10", children: [
578
589
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { href: step.href, className: "mb-4 block", children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-semibold tracking-tighter lg:text-3xl", children: step.title }) }) : /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { href: step.href, className: "mb-4 block", children: step.title })),
579
590
  step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: step.description }) : step.description)
580
591
  ] })
@@ -597,13 +608,22 @@ function ProcessStickySteps({
597
608
  "div",
598
609
  {
599
610
  className: cn(
600
- "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-20",
611
+ "grid grid-cols-1 gap-10 lg:grid-cols-[minmax(0,0.85fr)_minmax(0,1.35fr)] lg:gap-16 xl:gap-24",
601
612
  contentClassName
602
613
  ),
603
614
  children: [
604
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
605
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
606
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : heading),
615
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "top-10 h-fit min-w-0 max-w-full space-y-7 py-8 lg:sticky", children: [
616
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative max-w-full text-5xl font-semibold tracking-tight lg:text-6xl xl:text-7xl", children: [
617
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
618
+ "h1",
619
+ {
620
+ className: cn(
621
+ "max-w-[12ch] text-balance break-words",
622
+ headingClassName
623
+ ),
624
+ children: heading
625
+ }
626
+ ) : heading),
607
627
  /* @__PURE__ */ jsxRuntime.jsx(
608
628
  DynamicIcon,
609
629
  {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import React__default, { useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
- import { Pressable } from '@page-speed/pressable';
6
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
7
7
  import { Icon } from '@page-speed/icon';
8
8
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
9
9
 
@@ -445,16 +445,27 @@ function ActionComponent({ action }) {
445
445
  children,
446
446
  href,
447
447
  onClick,
448
+ asButton,
449
+ variant,
450
+ size,
448
451
  className: actionClassName,
449
452
  ...pressableProps
450
453
  } = action;
454
+ const shouldStyleAsButton = asButton ?? true;
455
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
456
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
451
457
  return /* @__PURE__ */ jsx(
452
458
  Pressable,
453
459
  {
454
460
  href,
455
461
  onClick,
456
- asButton: action.asButton ?? true,
457
- className: actionClassName,
462
+ asButton: shouldStyleAsButton,
463
+ variant: resolvedVariant,
464
+ size: resolvedSize,
465
+ className: cn(
466
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
467
+ actionClassName
468
+ ),
458
469
  ...pressableProps,
459
470
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
460
471
  icon,
@@ -525,11 +536,11 @@ function ProcessStickySteps({
525
536
  const renderSteps = useMemo(() => {
526
537
  if (stepsSlot) return stepsSlot;
527
538
  if (!steps?.length) return null;
528
- return /* @__PURE__ */ jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-22", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxs(
539
+ return /* @__PURE__ */ jsx("ul", { className: cn("relative w-full min-w-0", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxs(
529
540
  "li",
530
541
  {
531
542
  className: cn(
532
- "relative flex flex-col justify-between gap-10 border-t py-8 md:flex-row lg:py-10",
543
+ "relative grid grid-cols-1 gap-6 border-t py-8 md:grid-cols-[auto_minmax(0,1fr)] md:gap-10 lg:py-10",
533
544
  stepItemClassName,
534
545
  step.className
535
546
  ),
@@ -553,7 +564,7 @@ function ProcessStickySteps({
553
564
  children: step.step ?? `0${index + 1}`
554
565
  }
555
566
  ),
556
- /* @__PURE__ */ jsxs("div", { children: [
567
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 pr-10", children: [
557
568
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx(Pressable, { href: step.href, className: "mb-4 block", children: /* @__PURE__ */ jsx("h3", { className: "text-2xl font-semibold tracking-tighter lg:text-3xl", children: step.title }) }) : /* @__PURE__ */ jsx(Pressable, { href: step.href, className: "mb-4 block", children: step.title })),
558
569
  step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { children: step.description }) : step.description)
559
570
  ] })
@@ -576,13 +587,22 @@ function ProcessStickySteps({
576
587
  "div",
577
588
  {
578
589
  className: cn(
579
- "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-20",
590
+ "grid grid-cols-1 gap-10 lg:grid-cols-[minmax(0,0.85fr)_minmax(0,1.35fr)] lg:gap-16 xl:gap-24",
580
591
  contentClassName
581
592
  ),
582
593
  children: [
583
- /* @__PURE__ */ jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
584
- /* @__PURE__ */ jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
585
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : heading),
594
+ /* @__PURE__ */ jsxs("div", { className: "top-10 h-fit min-w-0 max-w-full space-y-7 py-8 lg:sticky", children: [
595
+ /* @__PURE__ */ jsxs("div", { className: "relative max-w-full text-5xl font-semibold tracking-tight lg:text-6xl xl:text-7xl", children: [
596
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
597
+ "h1",
598
+ {
599
+ className: cn(
600
+ "max-w-[12ch] text-balance break-words",
601
+ headingClassName
602
+ ),
603
+ children: heading
604
+ }
605
+ ) : heading),
586
606
  /* @__PURE__ */ jsx(
587
607
  DynamicIcon,
588
608
  {
package/dist/registry.cjs CHANGED
@@ -7,11 +7,11 @@ var jsxRuntime = require('react/jsx-runtime');
7
7
  var img = require('@page-speed/img');
8
8
  var react = require('motion/react');
9
9
  var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
10
+ var pressable = require('@page-speed/pressable');
10
11
  var reactSlot = require('@radix-ui/react-slot');
11
12
  var classVarianceAuthority = require('class-variance-authority');
12
13
  var PopoverPrimitive = require('@radix-ui/react-popover');
13
14
  var icon = require('@page-speed/icon');
14
- var pressable = require('@page-speed/pressable');
15
15
  var usePlatformFromUrl = require('@opensite/hooks/usePlatformFromUrl');
16
16
  var TabsPrimitive = require('@radix-ui/react-tabs');
17
17
  var integration = require('@page-speed/forms/integration');
@@ -1758,16 +1758,27 @@ function ActionComponent({ action }) {
1758
1758
  children,
1759
1759
  href,
1760
1760
  onClick,
1761
+ asButton,
1762
+ variant,
1763
+ size,
1761
1764
  className: actionClassName,
1762
1765
  ...pressableProps
1763
1766
  } = action;
1767
+ const shouldStyleAsButton = asButton ?? true;
1768
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
1769
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
1764
1770
  return /* @__PURE__ */ jsxRuntime.jsx(
1765
1771
  pressable.Pressable,
1766
1772
  {
1767
1773
  href,
1768
1774
  onClick,
1769
- asButton: action.asButton ?? true,
1770
- className: actionClassName,
1775
+ asButton: shouldStyleAsButton,
1776
+ variant: resolvedVariant,
1777
+ size: resolvedSize,
1778
+ className: cn(
1779
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
1780
+ actionClassName
1781
+ ),
1771
1782
  ...pressableProps,
1772
1783
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1773
1784
  icon,
@@ -78312,11 +78323,11 @@ function ProcessStickySteps({
78312
78323
  const renderSteps = React30.useMemo(() => {
78313
78324
  if (stepsSlot) return stepsSlot;
78314
78325
  if (!steps?.length) return null;
78315
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-22", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
78326
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative w-full min-w-0", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
78316
78327
  "li",
78317
78328
  {
78318
78329
  className: cn(
78319
- "relative flex flex-col justify-between gap-10 border-t py-8 md:flex-row lg:py-10",
78330
+ "relative grid grid-cols-1 gap-6 border-t py-8 md:grid-cols-[auto_minmax(0,1fr)] md:gap-10 lg:py-10",
78320
78331
  stepItemClassName,
78321
78332
  step.className
78322
78333
  ),
@@ -78340,7 +78351,7 @@ function ProcessStickySteps({
78340
78351
  children: step.step ?? `0${index + 1}`
78341
78352
  }
78342
78353
  ),
78343
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
78354
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 pr-10", children: [
78344
78355
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { href: step.href, className: "mb-4 block", children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-semibold tracking-tighter lg:text-3xl", children: step.title }) }) : /* @__PURE__ */ jsxRuntime.jsx(pressable.Pressable, { href: step.href, className: "mb-4 block", children: step.title })),
78345
78356
  step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: step.description }) : step.description)
78346
78357
  ] })
@@ -78363,13 +78374,22 @@ function ProcessStickySteps({
78363
78374
  "div",
78364
78375
  {
78365
78376
  className: cn(
78366
- "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-20",
78377
+ "grid grid-cols-1 gap-10 lg:grid-cols-[minmax(0,0.85fr)_minmax(0,1.35fr)] lg:gap-16 xl:gap-24",
78367
78378
  contentClassName
78368
78379
  ),
78369
78380
  children: [
78370
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
78371
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
78372
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : heading),
78381
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "top-10 h-fit min-w-0 max-w-full space-y-7 py-8 lg:sticky", children: [
78382
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative max-w-full text-5xl font-semibold tracking-tight lg:text-6xl xl:text-7xl", children: [
78383
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
78384
+ "h1",
78385
+ {
78386
+ className: cn(
78387
+ "max-w-[12ch] text-balance break-words",
78388
+ headingClassName
78389
+ ),
78390
+ children: heading
78391
+ }
78392
+ ) : heading),
78373
78393
  /* @__PURE__ */ jsxRuntime.jsx(
78374
78394
  DynamicIcon,
78375
78395
  {