@opensite/ui 3.3.8 → 3.4.0

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 +17 -3
  2. package/dist/about-culture-tabs.js +17 -3
  3. package/dist/about-developer-profile.cjs +17 -3
  4. package/dist/about-developer-profile.js +17 -3
  5. package/dist/about-developer-story.cjs +16 -2
  6. package/dist/about-developer-story.js +17 -3
  7. package/dist/about-expandable-values.cjs +17 -3
  8. package/dist/about-expandable-values.js +17 -3
  9. package/dist/about-mission-dual-image.cjs +16 -2
  10. package/dist/about-mission-dual-image.js +17 -3
  11. package/dist/about-network-spotlight.cjs +16 -2
  12. package/dist/about-network-spotlight.js +17 -3
  13. package/dist/about-story-expertise.cjs +17 -3
  14. package/dist/about-story-expertise.js +17 -3
  15. package/dist/about-streamline-team.cjs +17 -3
  16. package/dist/about-streamline-team.js +17 -3
  17. package/dist/carousel-feature-badge.cjs +16 -2
  18. package/dist/carousel-feature-badge.js +17 -3
  19. package/dist/carousel-image-hero.cjs +16 -2
  20. package/dist/carousel-image-hero.js +17 -3
  21. package/dist/carousel-portfolio-hero.cjs +16 -2
  22. package/dist/carousel-portfolio-hero.js +17 -3
  23. package/dist/community-initiatives.cjs +16 -2
  24. package/dist/community-initiatives.js +17 -3
  25. package/dist/components.cjs +16 -2
  26. package/dist/components.js +16 -2
  27. package/dist/cta-feature-checklist.cjs +16 -2
  28. package/dist/cta-feature-checklist.js +17 -3
  29. package/dist/faq-numbered-grid.cjs +16 -2
  30. package/dist/faq-numbered-grid.js +17 -3
  31. package/dist/hero-ad-campaign-expert.cjs +16 -2
  32. package/dist/hero-ad-campaign-expert.js +17 -3
  33. package/dist/hero-adaptable-product-grid.cjs +16 -2
  34. package/dist/hero-adaptable-product-grid.js +17 -3
  35. package/dist/hero-agency-animated-images.cjs +16 -2
  36. package/dist/hero-agency-animated-images.js +17 -3
  37. package/dist/hero-ai-powered-carousel.cjs +16 -2
  38. package/dist/hero-ai-powered-carousel.js +17 -3
  39. package/dist/hero-announcement-badge.cjs +16 -2
  40. package/dist/hero-announcement-badge.js +17 -3
  41. package/dist/hero-badge-image-split.cjs +16 -2
  42. package/dist/hero-badge-image-split.js +17 -3
  43. package/dist/hero-badge-shadow-overlay.cjs +16 -2
  44. package/dist/hero-badge-shadow-overlay.js +17 -3
  45. package/dist/hero-business-carousel-dots.cjs +16 -2
  46. package/dist/hero-business-carousel-dots.js +17 -3
  47. package/dist/hero-business-operations-mosaic.cjs +16 -2
  48. package/dist/hero-business-operations-mosaic.js +17 -3
  49. package/dist/hero-centered-gradient-cta.cjs +16 -2
  50. package/dist/hero-centered-gradient-cta.js +17 -3
  51. package/dist/hero-community-survey-cta.cjs +16 -2
  52. package/dist/hero-community-survey-cta.js +17 -3
  53. package/dist/hero-conversation-intelligence.cjs +16 -2
  54. package/dist/hero-conversation-intelligence.js +17 -3
  55. package/dist/hero-creative-studio-stacked.cjs +16 -2
  56. package/dist/hero-creative-studio-stacked.js +17 -3
  57. package/dist/hero-crm-streamlined.cjs +16 -2
  58. package/dist/hero-crm-streamlined.js +17 -3
  59. package/dist/hero-customer-support-layered.cjs +16 -2
  60. package/dist/hero-customer-support-layered.js +17 -3
  61. package/dist/hero-design-carousel-portfolio.cjs +16 -2
  62. package/dist/hero-design-carousel-portfolio.js +17 -3
  63. package/dist/hero-design-showcase-logos.cjs +16 -2
  64. package/dist/hero-design-showcase-logos.js +17 -3
  65. package/dist/hero-design-system-3d.cjs +16 -2
  66. package/dist/hero-design-system-3d.js +17 -3
  67. package/dist/hero-developer-tools-code.cjs +16 -2
  68. package/dist/hero-developer-tools-code.js +17 -3
  69. package/dist/hero-digital-agency-fullscreen.cjs +16 -2
  70. package/dist/hero-digital-agency-fullscreen.js +17 -3
  71. package/dist/hero-ecommerce-product-showcase.cjs +17 -3
  72. package/dist/hero-ecommerce-product-showcase.js +17 -3
  73. package/dist/hero-enterprise-security.cjs +16 -2
  74. package/dist/hero-enterprise-security.js +17 -3
  75. package/dist/hero-event-registration.cjs +16 -2
  76. package/dist/hero-event-registration.js +17 -3
  77. package/dist/hero-feature-cards-grid.cjs +16 -2
  78. package/dist/hero-feature-cards-grid.js +17 -3
  79. package/dist/hero-floating-images.cjs +16 -2
  80. package/dist/hero-floating-images.js +17 -3
  81. package/dist/hero-fullscreen-background-image.cjs +16 -2
  82. package/dist/hero-fullscreen-background-image.js +17 -3
  83. package/dist/hero-gradient-avatars-rating.cjs +16 -2
  84. package/dist/hero-gradient-avatars-rating.js +17 -3
  85. package/dist/hero-gradient-client-focused.cjs +16 -2
  86. package/dist/hero-gradient-client-focused.js +17 -3
  87. package/dist/hero-grid-pattern-solutions.cjs +16 -2
  88. package/dist/hero-grid-pattern-solutions.js +17 -3
  89. package/dist/hero-hiring-animated-text.cjs +16 -2
  90. package/dist/hero-hiring-animated-text.js +17 -3
  91. package/dist/hero-image-left-content.cjs +16 -2
  92. package/dist/hero-image-left-content.js +17 -3
  93. package/dist/hero-image-slider.cjs +16 -2
  94. package/dist/hero-image-slider.js +17 -3
  95. package/dist/hero-innovation-image-grid.cjs +16 -2
  96. package/dist/hero-innovation-image-grid.js +17 -3
  97. package/dist/hero-mental-health-team.cjs +16 -2
  98. package/dist/hero-mental-health-team.js +17 -3
  99. package/dist/hero-minimal-centered-dark.cjs +17 -3
  100. package/dist/hero-minimal-centered-dark.js +17 -3
  101. package/dist/hero-overlay-cta-grid.cjs +16 -2
  102. package/dist/hero-overlay-cta-grid.js +17 -3
  103. package/dist/hero-presentation-platform-video.cjs +16 -2
  104. package/dist/hero-presentation-platform-video.js +17 -3
  105. package/dist/hero-product-showcase-floating.cjs +17 -3
  106. package/dist/hero-product-showcase-floating.js +17 -3
  107. package/dist/hero-shared-inbox-layered.cjs +16 -2
  108. package/dist/hero-shared-inbox-layered.js +17 -3
  109. package/dist/hero-simple-centered-image.cjs +16 -2
  110. package/dist/hero-simple-centered-image.js +17 -3
  111. package/dist/hero-software-growth-video-dialog.cjs +16 -2
  112. package/dist/hero-software-growth-video-dialog.js +17 -3
  113. package/dist/hero-spiral-pattern-cards.cjs +17 -3
  114. package/dist/hero-spiral-pattern-cards.js +17 -3
  115. package/dist/hero-split-geometric-shapes.cjs +16 -2
  116. package/dist/hero-split-geometric-shapes.js +17 -3
  117. package/dist/hero-startup-launch-cta.cjs +17 -3
  118. package/dist/hero-startup-launch-cta.js +17 -3
  119. package/dist/hero-stats-social-proof.cjs +17 -3
  120. package/dist/hero-stats-social-proof.js +17 -3
  121. package/dist/hero-task-timer-animated.cjs +16 -2
  122. package/dist/hero-task-timer-animated.js +17 -3
  123. package/dist/hero-testimonial-image-grid.cjs +16 -2
  124. package/dist/hero-testimonial-image-grid.js +17 -3
  125. package/dist/hero-therapy-testimonial-grid.cjs +16 -2
  126. package/dist/hero-therapy-testimonial-grid.js +17 -3
  127. package/dist/hero-ui-library-showcase.cjs +16 -2
  128. package/dist/hero-ui-library-showcase.js +17 -3
  129. package/dist/hero-video-background-dark.cjs +17 -3
  130. package/dist/hero-video-background-dark.js +17 -3
  131. package/dist/hero-video-dialog-gradient.cjs +16 -2
  132. package/dist/hero-video-dialog-gradient.js +17 -3
  133. package/dist/hero-video-overlay-stars.cjs +16 -2
  134. package/dist/hero-video-overlay-stars.js +17 -3
  135. package/dist/hero-welcome-asymmetric-images.cjs +16 -2
  136. package/dist/hero-welcome-asymmetric-images.js +17 -3
  137. package/dist/index.cjs +16 -2
  138. package/dist/index.js +16 -2
  139. package/dist/process-sticky-steps.cjs +19 -5
  140. package/dist/process-sticky-steps.js +20 -6
  141. package/dist/registry.cjs +20 -6
  142. package/dist/registry.js +20 -6
  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 +16 -2
  146. package/dist/stats-growth-timeline.js +17 -3
  147. package/dist/testimonials-grid-add-review.cjs +16 -2
  148. package/dist/testimonials-grid-add-review.js +17 -3
  149. package/dist/testimonials-masonry-grid.cjs +16 -2
  150. package/dist/testimonials-masonry-grid.js +17 -3
  151. package/dist/testimonials-simple-grid.cjs +16 -2
  152. package/dist/testimonials-simple-grid.js +17 -3
  153. package/dist/testimonials-stats-header.cjs +16 -2
  154. package/dist/testimonials-stats-header.js +17 -3
  155. package/dist/testimonials-twitter-cards.cjs +16 -2
  156. package/dist/testimonials-twitter-cards.js +17 -3
  157. package/dist/testimonials-wall-compact.cjs +16 -2
  158. package/dist/testimonials-wall-compact.js +17 -3
  159. package/package.json +2 -2
@@ -595,16 +595,30 @@ function ActionComponent({ action }) {
595
595
  children,
596
596
  href,
597
597
  onClick,
598
+ asButton,
599
+ variant,
600
+ size,
598
601
  className: actionClassName,
599
602
  ...pressableProps
600
603
  } = action;
604
+ const shouldStyleAsButton = asButton ?? true;
605
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
606
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
601
607
  return /* @__PURE__ */ jsxRuntime.jsx(
602
608
  pressable.Pressable,
603
609
  {
604
610
  href,
605
611
  onClick,
606
- asButton: action.asButton ?? true,
607
- className: actionClassName,
612
+ asButton: shouldStyleAsButton,
613
+ variant: resolvedVariant,
614
+ size: resolvedSize,
615
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
616
+ "data-variant": resolvedVariant,
617
+ "data-size": resolvedSize,
618
+ className: cn(
619
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
620
+ actionClassName
621
+ ),
608
622
  ...pressableProps,
609
623
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
610
624
  icon,
@@ -6,7 +6,7 @@ import { twMerge } from 'tailwind-merge';
6
6
  import { Slot } from '@radix-ui/react-slot';
7
7
  import { cva } from 'class-variance-authority';
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
  import { Icon } from '@page-speed/icon';
11
11
  import { Img } from '@page-speed/img';
12
12
  import useEmblaCarousel from 'embla-carousel-react';
@@ -571,16 +571,30 @@ function ActionComponent({ action }) {
571
571
  children,
572
572
  href,
573
573
  onClick,
574
+ asButton,
575
+ variant,
576
+ size,
574
577
  className: actionClassName,
575
578
  ...pressableProps
576
579
  } = action;
580
+ const shouldStyleAsButton = asButton ?? true;
581
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
582
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
577
583
  return /* @__PURE__ */ jsx(
578
584
  Pressable,
579
585
  {
580
586
  href,
581
587
  onClick,
582
- asButton: action.asButton ?? true,
583
- className: actionClassName,
588
+ asButton: shouldStyleAsButton,
589
+ variant: resolvedVariant,
590
+ size: resolvedSize,
591
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
592
+ "data-variant": resolvedVariant,
593
+ "data-size": resolvedSize,
594
+ className: cn(
595
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
596
+ actionClassName
597
+ ),
584
598
  ...pressableProps,
585
599
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
586
600
  icon,
@@ -502,16 +502,30 @@ 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__ */ jsxRuntime.jsx(
509
515
  pressable.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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
523
+ "data-variant": resolvedVariant,
524
+ "data-size": resolvedSize,
525
+ className: cn(
526
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
527
+ actionClassName
528
+ ),
515
529
  ...pressableProps,
516
530
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
517
531
  icon,
@@ -4,7 +4,7 @@ import React4__default from 'react';
4
4
  import { useMotionValue, useMotionTemplate, motion } from 'framer-motion';
5
5
  import { clsx } from 'clsx';
6
6
  import { twMerge } from 'tailwind-merge';
7
- import { Pressable } from '@page-speed/pressable';
7
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
8
8
  import { Icon } from '@page-speed/icon';
9
9
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
10
10
  import { Img } from '@page-speed/img';
@@ -481,16 +481,30 @@ function ActionComponent({ action }) {
481
481
  children,
482
482
  href,
483
483
  onClick,
484
+ asButton,
485
+ variant,
486
+ size,
484
487
  className: actionClassName,
485
488
  ...pressableProps
486
489
  } = action;
490
+ const shouldStyleAsButton = asButton ?? true;
491
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
492
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
487
493
  return /* @__PURE__ */ jsx(
488
494
  Pressable,
489
495
  {
490
496
  href,
491
497
  onClick,
492
- asButton: action.asButton ?? true,
493
- className: actionClassName,
498
+ asButton: shouldStyleAsButton,
499
+ variant: resolvedVariant,
500
+ size: resolvedSize,
501
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
502
+ "data-variant": resolvedVariant,
503
+ "data-size": resolvedSize,
504
+ className: cn(
505
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
506
+ actionClassName
507
+ ),
494
508
  ...pressableProps,
495
509
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
496
510
  icon,
@@ -592,16 +592,30 @@ function ActionComponent({ action }) {
592
592
  children,
593
593
  href,
594
594
  onClick,
595
+ asButton,
596
+ variant,
597
+ size,
595
598
  className: actionClassName,
596
599
  ...pressableProps
597
600
  } = action;
601
+ const shouldStyleAsButton = asButton ?? true;
602
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
603
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
598
604
  return /* @__PURE__ */ jsxRuntime.jsx(
599
605
  pressable.Pressable,
600
606
  {
601
607
  href,
602
608
  onClick,
603
- asButton: action.asButton ?? true,
604
- className: actionClassName,
609
+ asButton: shouldStyleAsButton,
610
+ variant: resolvedVariant,
611
+ size: resolvedSize,
612
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
613
+ "data-variant": resolvedVariant,
614
+ "data-size": resolvedSize,
615
+ className: cn(
616
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
617
+ actionClassName
618
+ ),
605
619
  ...pressableProps,
606
620
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
607
621
  icon,
@@ -3,7 +3,7 @@ import * as React4 from 'react';
3
3
  import React4__default 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
  import { Img } from '@page-speed/img';
@@ -571,16 +571,30 @@ function ActionComponent({ action }) {
571
571
  children,
572
572
  href,
573
573
  onClick,
574
+ asButton,
575
+ variant,
576
+ size,
574
577
  className: actionClassName,
575
578
  ...pressableProps
576
579
  } = action;
580
+ const shouldStyleAsButton = asButton ?? true;
581
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
582
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
577
583
  return /* @__PURE__ */ jsx(
578
584
  Pressable,
579
585
  {
580
586
  href,
581
587
  onClick,
582
- asButton: action.asButton ?? true,
583
- className: actionClassName,
588
+ asButton: shouldStyleAsButton,
589
+ variant: resolvedVariant,
590
+ size: resolvedSize,
591
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
592
+ "data-variant": resolvedVariant,
593
+ "data-size": resolvedSize,
594
+ className: cn(
595
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
596
+ actionClassName
597
+ ),
584
598
  ...pressableProps,
585
599
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
586
600
  icon,
@@ -584,16 +584,30 @@ function ActionComponent({ action }) {
584
584
  children,
585
585
  href,
586
586
  onClick,
587
+ asButton,
588
+ variant,
589
+ size,
587
590
  className: actionClassName,
588
591
  ...pressableProps
589
592
  } = action;
593
+ const shouldStyleAsButton = asButton ?? true;
594
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
595
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
590
596
  return /* @__PURE__ */ jsxRuntime.jsx(
591
597
  pressable.Pressable,
592
598
  {
593
599
  href,
594
600
  onClick,
595
- asButton: action.asButton ?? true,
596
- className: actionClassName,
601
+ asButton: shouldStyleAsButton,
602
+ variant: resolvedVariant,
603
+ size: resolvedSize,
604
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
605
+ "data-variant": resolvedVariant,
606
+ "data-size": resolvedSize,
607
+ className: cn(
608
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
609
+ actionClassName
610
+ ),
597
611
  ...pressableProps,
598
612
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
599
613
  icon,
@@ -9,7 +9,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
9
9
  import * as TabsPrimitive from '@radix-ui/react-tabs';
10
10
  import { Slot } from '@radix-ui/react-slot';
11
11
  import { cva } from 'class-variance-authority';
12
- import { Pressable } from '@page-speed/pressable';
12
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
13
13
 
14
14
  // components/blocks/about/community-initiatives.tsx
15
15
  function cn(...inputs) {
@@ -562,16 +562,30 @@ function ActionComponent({ action }) {
562
562
  children,
563
563
  href,
564
564
  onClick,
565
+ asButton,
566
+ variant,
567
+ size,
565
568
  className: actionClassName,
566
569
  ...pressableProps
567
570
  } = action;
571
+ const shouldStyleAsButton = asButton ?? true;
572
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
573
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
568
574
  return /* @__PURE__ */ jsx(
569
575
  Pressable,
570
576
  {
571
577
  href,
572
578
  onClick,
573
- asButton: action.asButton ?? true,
574
- className: actionClassName,
579
+ asButton: shouldStyleAsButton,
580
+ variant: resolvedVariant,
581
+ size: resolvedSize,
582
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
583
+ "data-variant": resolvedVariant,
584
+ "data-size": resolvedSize,
585
+ className: cn(
586
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
587
+ actionClassName
588
+ ),
575
589
  ...pressableProps,
576
590
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
577
591
  icon,
@@ -1963,16 +1963,30 @@ function ActionComponent({ action }) {
1963
1963
  children,
1964
1964
  href,
1965
1965
  onClick,
1966
+ asButton,
1967
+ variant,
1968
+ size,
1966
1969
  className: actionClassName,
1967
1970
  ...pressableProps
1968
1971
  } = action;
1972
+ const shouldStyleAsButton = asButton ?? true;
1973
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
1974
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
1969
1975
  return /* @__PURE__ */ jsxRuntime.jsx(
1970
1976
  pressable.Pressable,
1971
1977
  {
1972
1978
  href,
1973
1979
  onClick,
1974
- asButton: action.asButton ?? true,
1975
- className: actionClassName,
1980
+ asButton: shouldStyleAsButton,
1981
+ variant: resolvedVariant,
1982
+ size: resolvedSize,
1983
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
1984
+ "data-variant": resolvedVariant,
1985
+ "data-size": resolvedSize,
1986
+ className: cn(
1987
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
1988
+ actionClassName
1989
+ ),
1976
1990
  ...pressableProps,
1977
1991
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1978
1992
  icon,
@@ -1940,16 +1940,30 @@ function ActionComponent({ action }) {
1940
1940
  children,
1941
1941
  href,
1942
1942
  onClick,
1943
+ asButton,
1944
+ variant,
1945
+ size,
1943
1946
  className: actionClassName,
1944
1947
  ...pressableProps
1945
1948
  } = action;
1949
+ const shouldStyleAsButton = asButton ?? true;
1950
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
1951
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
1946
1952
  return /* @__PURE__ */ jsx(
1947
1953
  Pressable,
1948
1954
  {
1949
1955
  href,
1950
1956
  onClick,
1951
- asButton: action.asButton ?? true,
1952
- className: actionClassName,
1957
+ asButton: shouldStyleAsButton,
1958
+ variant: resolvedVariant,
1959
+ size: resolvedSize,
1960
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
1961
+ "data-variant": resolvedVariant,
1962
+ "data-size": resolvedSize,
1963
+ className: cn(
1964
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
1965
+ actionClassName
1966
+ ),
1953
1967
  ...pressableProps,
1954
1968
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
1955
1969
  icon,
@@ -466,16 +466,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
487
+ "data-variant": resolvedVariant,
488
+ "data-size": resolvedSize,
489
+ className: cn(
490
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
491
+ actionClassName
492
+ ),
479
493
  ...pressableProps,
480
494
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
481
495
  icon,
@@ -5,7 +5,7 @@ import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
7
7
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
8
- import { Pressable } from '@page-speed/pressable';
8
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
9
9
 
10
10
  // components/blocks/cta/cta-feature-checklist.tsx
11
11
  function cn(...inputs) {
@@ -445,16 +445,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
466
+ "data-variant": resolvedVariant,
467
+ "data-size": resolvedSize,
468
+ className: cn(
469
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
470
+ actionClassName
471
+ ),
458
472
  ...pressableProps,
459
473
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
460
474
  icon,
@@ -484,16 +484,30 @@ function ActionComponent({ action }) {
484
484
  children,
485
485
  href,
486
486
  onClick,
487
+ asButton,
488
+ variant,
489
+ size,
487
490
  className: actionClassName,
488
491
  ...pressableProps
489
492
  } = action;
493
+ const shouldStyleAsButton = asButton ?? true;
494
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
495
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
490
496
  return /* @__PURE__ */ jsxRuntime.jsx(
491
497
  pressable.Pressable,
492
498
  {
493
499
  href,
494
500
  onClick,
495
- asButton: action.asButton ?? true,
496
- className: actionClassName,
501
+ asButton: shouldStyleAsButton,
502
+ variant: resolvedVariant,
503
+ size: resolvedSize,
504
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
505
+ "data-variant": resolvedVariant,
506
+ "data-size": resolvedSize,
507
+ className: cn(
508
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
509
+ actionClassName
510
+ ),
497
511
  ...pressableProps,
498
512
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
499
513
  icon,
@@ -4,7 +4,7 @@ import React4__default, { useMemo } from 'react';
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 } from '@page-speed/pressable';
7
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
8
8
 
9
9
  // components/blocks/faq/faq-numbered-grid.tsx
10
10
  function cn(...inputs) {
@@ -463,16 +463,30 @@ function ActionComponent({ action }) {
463
463
  children,
464
464
  href,
465
465
  onClick,
466
+ asButton,
467
+ variant,
468
+ size,
466
469
  className: actionClassName,
467
470
  ...pressableProps
468
471
  } = action;
472
+ const shouldStyleAsButton = asButton ?? true;
473
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
474
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
469
475
  return /* @__PURE__ */ jsx(
470
476
  Pressable,
471
477
  {
472
478
  href,
473
479
  onClick,
474
- asButton: action.asButton ?? true,
475
- className: actionClassName,
480
+ asButton: shouldStyleAsButton,
481
+ variant: resolvedVariant,
482
+ size: resolvedSize,
483
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
484
+ "data-variant": resolvedVariant,
485
+ "data-size": resolvedSize,
486
+ className: cn(
487
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
488
+ actionClassName
489
+ ),
476
490
  ...pressableProps,
477
491
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
478
492
  icon,
@@ -665,16 +665,30 @@ function ActionComponent({ action }) {
665
665
  children,
666
666
  href,
667
667
  onClick,
668
+ asButton,
669
+ variant,
670
+ size,
668
671
  className: actionClassName,
669
672
  ...pressableProps
670
673
  } = action;
674
+ const shouldStyleAsButton = asButton ?? true;
675
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
676
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
671
677
  return /* @__PURE__ */ jsxRuntime.jsx(
672
678
  pressable.Pressable,
673
679
  {
674
680
  href,
675
681
  onClick,
676
- asButton: action.asButton ?? true,
677
- className: actionClassName,
682
+ asButton: shouldStyleAsButton,
683
+ variant: resolvedVariant,
684
+ size: resolvedSize,
685
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
686
+ "data-variant": resolvedVariant,
687
+ "data-size": resolvedSize,
688
+ className: cn(
689
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
690
+ actionClassName
691
+ ),
678
692
  ...pressableProps,
679
693
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
680
694
  icon,
@@ -6,7 +6,7 @@ import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
  import { Img } from '@page-speed/img';
8
8
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
9
- import { Pressable } from '@page-speed/pressable';
9
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/hero/hero-ad-campaign-expert.tsx
12
12
  function cn(...inputs) {
@@ -643,16 +643,30 @@ function ActionComponent({ action }) {
643
643
  children,
644
644
  href,
645
645
  onClick,
646
+ asButton,
647
+ variant,
648
+ size,
646
649
  className: actionClassName,
647
650
  ...pressableProps
648
651
  } = action;
652
+ const shouldStyleAsButton = asButton ?? true;
653
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
654
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
649
655
  return /* @__PURE__ */ jsx(
650
656
  Pressable,
651
657
  {
652
658
  href,
653
659
  onClick,
654
- asButton: action.asButton ?? true,
655
- className: actionClassName,
660
+ asButton: shouldStyleAsButton,
661
+ variant: resolvedVariant,
662
+ size: resolvedSize,
663
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
664
+ "data-variant": resolvedVariant,
665
+ "data-size": resolvedSize,
666
+ className: cn(
667
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
668
+ actionClassName
669
+ ),
656
670
  ...pressableProps,
657
671
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
658
672
  icon,
@@ -437,16 +437,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
458
+ "data-variant": resolvedVariant,
459
+ "data-size": resolvedSize,
460
+ className: cn(
461
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
462
+ actionClassName
463
+ ),
450
464
  ...pressableProps,
451
465
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
452
466
  icon,