@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
@@ -471,16 +471,30 @@ function ActionComponent({ action }) {
471
471
  children,
472
472
  href,
473
473
  onClick,
474
+ asButton,
475
+ variant,
476
+ size,
474
477
  className: actionClassName,
475
478
  ...pressableProps
476
479
  } = action;
480
+ const shouldStyleAsButton = asButton ?? true;
481
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
482
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
477
483
  return /* @__PURE__ */ jsxRuntime.jsx(
478
484
  pressable.Pressable,
479
485
  {
480
486
  href,
481
487
  onClick,
482
- asButton: action.asButton ?? true,
483
- className: actionClassName,
488
+ asButton: shouldStyleAsButton,
489
+ variant: resolvedVariant,
490
+ size: resolvedSize,
491
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
492
+ "data-variant": resolvedVariant,
493
+ "data-size": resolvedSize,
494
+ className: cn(
495
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
496
+ actionClassName
497
+ ),
484
498
  ...pressableProps,
485
499
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
486
500
  icon,
@@ -2,7 +2,7 @@
2
2
  import React, { useMemo } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
- import { Pressable } from '@page-speed/pressable';
5
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
6
6
  import { Img } from '@page-speed/img';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  import { Slot } from '@radix-ui/react-slot';
@@ -465,16 +465,30 @@ function ActionComponent({ action }) {
465
465
  children,
466
466
  href,
467
467
  onClick,
468
+ asButton,
469
+ variant,
470
+ size,
468
471
  className: actionClassName,
469
472
  ...pressableProps
470
473
  } = action;
474
+ const shouldStyleAsButton = asButton ?? true;
475
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
476
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
471
477
  return /* @__PURE__ */ jsx(
472
478
  Pressable,
473
479
  {
474
480
  href,
475
481
  onClick,
476
- asButton: action.asButton ?? true,
477
- className: actionClassName,
482
+ asButton: shouldStyleAsButton,
483
+ variant: resolvedVariant,
484
+ size: resolvedSize,
485
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
486
+ "data-variant": resolvedVariant,
487
+ "data-size": resolvedSize,
488
+ className: cn(
489
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
490
+ actionClassName
491
+ ),
478
492
  ...pressableProps,
479
493
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
480
494
  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,
@@ -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-conversation-intelligence.tsx
10
10
  function cn(...inputs) {
@@ -431,16 +431,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
452
+ "data-variant": resolvedVariant,
453
+ "data-size": resolvedSize,
454
+ className: cn(
455
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
456
+ actionClassName
457
+ ),
444
458
  ...pressableProps,
445
459
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
446
460
  icon,
@@ -525,16 +525,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
546
+ "data-variant": resolvedVariant,
547
+ "data-size": resolvedSize,
548
+ className: cn(
549
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
550
+ actionClassName
551
+ ),
538
552
  ...pressableProps,
539
553
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
540
554
  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-creative-studio-stacked.tsx
16
16
  function cn(...inputs) {
@@ -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__ */ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
523
+ "data-variant": resolvedVariant,
524
+ "data-size": resolvedSize,
525
+ className: cn(
526
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
527
+ actionClassName
528
+ ),
515
529
  ...pressableProps,
516
530
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
517
531
  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,
@@ -4,7 +4,7 @@ import { twMerge } from 'tailwind-merge';
4
4
  import { Img } from '@page-speed/img';
5
5
  import React from 'react';
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
  // lib/utils.ts
10
10
  function cn(...inputs) {
@@ -431,16 +431,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
452
+ "data-variant": resolvedVariant,
453
+ "data-size": resolvedSize,
454
+ className: cn(
455
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
456
+ actionClassName
457
+ ),
444
458
  ...pressableProps,
445
459
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
446
460
  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,
@@ -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-customer-support-layered.tsx
10
10
  function cn(...inputs) {
@@ -431,16 +431,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
452
+ "data-variant": resolvedVariant,
453
+ "data-size": resolvedSize,
454
+ className: cn(
455
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
456
+ actionClassName
457
+ ),
444
458
  ...pressableProps,
445
459
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
446
460
  icon,
@@ -604,16 +604,30 @@ function ActionComponent({ action }) {
604
604
  children,
605
605
  href,
606
606
  onClick,
607
+ asButton,
608
+ variant,
609
+ size,
607
610
  className: actionClassName,
608
611
  ...pressableProps
609
612
  } = action;
613
+ const shouldStyleAsButton = asButton ?? true;
614
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
615
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
610
616
  return /* @__PURE__ */ jsxRuntime.jsx(
611
617
  pressable.Pressable,
612
618
  {
613
619
  href,
614
620
  onClick,
615
- asButton: action.asButton ?? true,
616
- className: actionClassName,
621
+ asButton: shouldStyleAsButton,
622
+ variant: resolvedVariant,
623
+ size: resolvedSize,
624
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
625
+ "data-variant": resolvedVariant,
626
+ "data-size": resolvedSize,
627
+ className: cn(
628
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
629
+ actionClassName
630
+ ),
617
631
  ...pressableProps,
618
632
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
619
633
  icon,
@@ -9,7 +9,7 @@ import { Icon } from '@page-speed/icon';
9
9
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
10
10
  import { Img } from '@page-speed/img';
11
11
  import useEmblaCarousel from 'embla-carousel-react';
12
- import { Pressable } from '@page-speed/pressable';
12
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
13
13
 
14
14
  // components/blocks/hero/hero-design-carousel-portfolio.tsx
15
15
  function cn(...inputs) {
@@ -578,16 +578,30 @@ function ActionComponent({ action }) {
578
578
  children,
579
579
  href,
580
580
  onClick,
581
+ asButton,
582
+ variant,
583
+ size,
581
584
  className: actionClassName,
582
585
  ...pressableProps
583
586
  } = action;
587
+ const shouldStyleAsButton = asButton ?? true;
588
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
589
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
584
590
  return /* @__PURE__ */ jsx(
585
591
  Pressable,
586
592
  {
587
593
  href,
588
594
  onClick,
589
- asButton: action.asButton ?? true,
590
- className: actionClassName,
595
+ asButton: shouldStyleAsButton,
596
+ variant: resolvedVariant,
597
+ size: resolvedSize,
598
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
599
+ "data-variant": resolvedVariant,
600
+ "data-size": resolvedSize,
601
+ className: cn(
602
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
603
+ actionClassName
604
+ ),
591
605
  ...pressableProps,
592
606
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
593
607
  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,
@@ -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-design-showcase-logos.tsx
10
10
  function cn(...inputs) {
@@ -431,16 +431,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
452
+ "data-variant": resolvedVariant,
453
+ "data-size": resolvedSize,
454
+ className: cn(
455
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
456
+ actionClassName
457
+ ),
444
458
  ...pressableProps,
445
459
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
446
460
  icon,
@@ -467,16 +467,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
488
+ "data-variant": resolvedVariant,
489
+ "data-size": resolvedSize,
490
+ className: cn(
491
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
492
+ actionClassName
493
+ ),
480
494
  ...pressableProps,
481
495
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
482
496
  icon,
@@ -6,7 +6,7 @@ import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
7
7
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
8
8
  import { Img } from '@page-speed/img';
9
- import { Pressable } from '@page-speed/pressable';
9
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/hero/hero-design-system-3d.tsx
12
12
  function cn(...inputs) {
@@ -446,16 +446,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
467
+ "data-variant": resolvedVariant,
468
+ "data-size": resolvedSize,
469
+ className: cn(
470
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
471
+ actionClassName
472
+ ),
459
473
  ...pressableProps,
460
474
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
461
475
  icon,
@@ -500,16 +500,30 @@ function ActionComponent({ action }) {
500
500
  children,
501
501
  href,
502
502
  onClick,
503
+ asButton,
504
+ variant,
505
+ size,
503
506
  className: actionClassName,
504
507
  ...pressableProps
505
508
  } = action;
509
+ const shouldStyleAsButton = asButton ?? true;
510
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
511
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
506
512
  return /* @__PURE__ */ jsxRuntime.jsx(
507
513
  pressable.Pressable,
508
514
  {
509
515
  href,
510
516
  onClick,
511
- asButton: action.asButton ?? true,
512
- className: actionClassName,
517
+ asButton: shouldStyleAsButton,
518
+ variant: resolvedVariant,
519
+ size: resolvedSize,
520
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
521
+ "data-variant": resolvedVariant,
522
+ "data-size": resolvedSize,
523
+ className: cn(
524
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
525
+ actionClassName
526
+ ),
513
527
  ...pressableProps,
514
528
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
515
529
  icon,