@opensite/ui 3.3.7 → 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 (173) 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/cta-video-background-hero.cjs +9 -0
  30. package/dist/cta-video-background-hero.js +9 -0
  31. package/dist/faq-numbered-grid.cjs +13 -2
  32. package/dist/faq-numbered-grid.js +14 -3
  33. package/dist/hero-ad-campaign-expert.cjs +13 -2
  34. package/dist/hero-ad-campaign-expert.js +14 -3
  35. package/dist/hero-adaptable-product-grid.cjs +13 -2
  36. package/dist/hero-adaptable-product-grid.js +14 -3
  37. package/dist/hero-agency-animated-images.cjs +13 -2
  38. package/dist/hero-agency-animated-images.js +14 -3
  39. package/dist/hero-ai-powered-carousel.cjs +13 -2
  40. package/dist/hero-ai-powered-carousel.js +14 -3
  41. package/dist/hero-announcement-badge.cjs +13 -2
  42. package/dist/hero-announcement-badge.js +14 -3
  43. package/dist/hero-badge-image-split.cjs +13 -2
  44. package/dist/hero-badge-image-split.js +14 -3
  45. package/dist/hero-badge-shadow-overlay.cjs +13 -2
  46. package/dist/hero-badge-shadow-overlay.js +14 -3
  47. package/dist/hero-business-carousel-dots.cjs +13 -2
  48. package/dist/hero-business-carousel-dots.js +14 -3
  49. package/dist/hero-business-operations-mosaic.cjs +13 -2
  50. package/dist/hero-business-operations-mosaic.js +14 -3
  51. package/dist/hero-centered-gradient-cta.cjs +13 -2
  52. package/dist/hero-centered-gradient-cta.js +14 -3
  53. package/dist/hero-community-survey-cta.cjs +13 -2
  54. package/dist/hero-community-survey-cta.js +14 -3
  55. package/dist/hero-conversation-intelligence.cjs +13 -2
  56. package/dist/hero-conversation-intelligence.js +14 -3
  57. package/dist/hero-conversion-video-play.cjs +9 -0
  58. package/dist/hero-conversion-video-play.js +9 -0
  59. package/dist/hero-creative-studio-stacked.cjs +22 -2
  60. package/dist/hero-creative-studio-stacked.js +23 -3
  61. package/dist/hero-crm-streamlined.cjs +13 -2
  62. package/dist/hero-crm-streamlined.js +14 -3
  63. package/dist/hero-customer-support-layered.cjs +13 -2
  64. package/dist/hero-customer-support-layered.js +14 -3
  65. package/dist/hero-design-carousel-portfolio.cjs +13 -2
  66. package/dist/hero-design-carousel-portfolio.js +14 -3
  67. package/dist/hero-design-showcase-logos.cjs +13 -2
  68. package/dist/hero-design-showcase-logos.js +14 -3
  69. package/dist/hero-design-system-3d.cjs +13 -2
  70. package/dist/hero-design-system-3d.js +14 -3
  71. package/dist/hero-developer-tools-code.cjs +13 -2
  72. package/dist/hero-developer-tools-code.js +14 -3
  73. package/dist/hero-digital-agency-fullscreen.cjs +13 -2
  74. package/dist/hero-digital-agency-fullscreen.js +14 -3
  75. package/dist/hero-ecommerce-product-showcase.cjs +14 -3
  76. package/dist/hero-ecommerce-product-showcase.js +14 -3
  77. package/dist/hero-enterprise-security.cjs +13 -2
  78. package/dist/hero-enterprise-security.js +14 -3
  79. package/dist/hero-event-registration.cjs +13 -2
  80. package/dist/hero-event-registration.js +14 -3
  81. package/dist/hero-feature-cards-grid.cjs +13 -2
  82. package/dist/hero-feature-cards-grid.js +14 -3
  83. package/dist/hero-floating-images.cjs +18 -10
  84. package/dist/hero-floating-images.js +19 -11
  85. package/dist/hero-fullscreen-background-image.cjs +13 -2
  86. package/dist/hero-fullscreen-background-image.js +14 -3
  87. package/dist/hero-gradient-avatars-rating.cjs +13 -2
  88. package/dist/hero-gradient-avatars-rating.js +14 -3
  89. package/dist/hero-gradient-client-focused.cjs +13 -2
  90. package/dist/hero-gradient-client-focused.js +14 -3
  91. package/dist/hero-grid-pattern-solutions.cjs +13 -2
  92. package/dist/hero-grid-pattern-solutions.js +14 -3
  93. package/dist/hero-hiring-animated-text.cjs +13 -2
  94. package/dist/hero-hiring-animated-text.js +14 -3
  95. package/dist/hero-image-left-content.cjs +13 -2
  96. package/dist/hero-image-left-content.js +14 -3
  97. package/dist/hero-image-slider.cjs +13 -2
  98. package/dist/hero-image-slider.js +14 -3
  99. package/dist/hero-innovation-image-grid.cjs +13 -2
  100. package/dist/hero-innovation-image-grid.js +14 -3
  101. package/dist/hero-mental-health-team.cjs +13 -2
  102. package/dist/hero-mental-health-team.js +14 -3
  103. package/dist/hero-mentorship-video-split.cjs +9 -0
  104. package/dist/hero-mentorship-video-split.js +9 -0
  105. package/dist/hero-minimal-centered-dark.cjs +14 -3
  106. package/dist/hero-minimal-centered-dark.js +14 -3
  107. package/dist/hero-overlay-cta-grid.cjs +13 -2
  108. package/dist/hero-overlay-cta-grid.js +14 -3
  109. package/dist/hero-presentation-platform-video.cjs +13 -2
  110. package/dist/hero-presentation-platform-video.js +14 -3
  111. package/dist/hero-product-showcase-floating.cjs +14 -3
  112. package/dist/hero-product-showcase-floating.js +14 -3
  113. package/dist/hero-shared-inbox-layered.cjs +13 -2
  114. package/dist/hero-shared-inbox-layered.js +14 -3
  115. package/dist/hero-simple-centered-image.cjs +13 -2
  116. package/dist/hero-simple-centered-image.js +14 -3
  117. package/dist/hero-software-growth-video-dialog.cjs +22 -2
  118. package/dist/hero-software-growth-video-dialog.js +23 -3
  119. package/dist/hero-spiral-pattern-cards.cjs +14 -3
  120. package/dist/hero-spiral-pattern-cards.js +14 -3
  121. package/dist/hero-split-geometric-shapes.cjs +13 -2
  122. package/dist/hero-split-geometric-shapes.js +14 -3
  123. package/dist/hero-startup-launch-cta.cjs +14 -3
  124. package/dist/hero-startup-launch-cta.js +14 -3
  125. package/dist/hero-stats-social-proof.cjs +14 -3
  126. package/dist/hero-stats-social-proof.js +14 -3
  127. package/dist/hero-task-timer-animated.cjs +13 -2
  128. package/dist/hero-task-timer-animated.js +14 -3
  129. package/dist/hero-testimonial-image-grid.cjs +13 -2
  130. package/dist/hero-testimonial-image-grid.js +14 -3
  131. package/dist/hero-therapy-testimonial-grid.cjs +13 -2
  132. package/dist/hero-therapy-testimonial-grid.js +14 -3
  133. package/dist/hero-ui-library-showcase.cjs +13 -2
  134. package/dist/hero-ui-library-showcase.js +14 -3
  135. package/dist/hero-video-background-dark.cjs +14 -3
  136. package/dist/hero-video-background-dark.js +14 -3
  137. package/dist/hero-video-dialog-gradient.cjs +22 -2
  138. package/dist/hero-video-dialog-gradient.js +23 -3
  139. package/dist/hero-video-overlay-stars.cjs +13 -2
  140. package/dist/hero-video-overlay-stars.js +14 -3
  141. package/dist/hero-welcome-asymmetric-images.cjs +13 -2
  142. package/dist/hero-welcome-asymmetric-images.js +14 -3
  143. package/dist/index.cjs +13 -2
  144. package/dist/index.js +13 -2
  145. package/dist/link-page-bento-layout.cjs +2 -2
  146. package/dist/link-page-bento-layout.js +2 -2
  147. package/dist/link-page-grid-cards.cjs +2 -2
  148. package/dist/link-page-grid-cards.js +2 -2
  149. package/dist/link-page-minimal-profile.cjs +2 -2
  150. package/dist/link-page-minimal-profile.js +2 -2
  151. package/dist/link-page-newsletter-social.cjs +2 -2
  152. package/dist/link-page-newsletter-social.js +2 -2
  153. package/dist/link-tree-block.cjs +2 -2
  154. package/dist/link-tree-block.js +2 -2
  155. package/dist/process-sticky-steps.cjs +29 -9
  156. package/dist/process-sticky-steps.js +30 -10
  157. package/dist/registry.cjs +99 -28
  158. package/dist/registry.js +99 -28
  159. package/dist/stats-growth-timeline.cjs +13 -2
  160. package/dist/stats-growth-timeline.js +14 -3
  161. package/dist/testimonials-grid-add-review.cjs +13 -2
  162. package/dist/testimonials-grid-add-review.js +14 -3
  163. package/dist/testimonials-masonry-grid.cjs +13 -2
  164. package/dist/testimonials-masonry-grid.js +14 -3
  165. package/dist/testimonials-simple-grid.cjs +13 -2
  166. package/dist/testimonials-simple-grid.js +14 -3
  167. package/dist/testimonials-stats-header.cjs +13 -2
  168. package/dist/testimonials-stats-header.js +14 -3
  169. package/dist/testimonials-twitter-cards.cjs +13 -2
  170. package/dist/testimonials-twitter-cards.js +14 -3
  171. package/dist/testimonials-wall-compact.cjs +13 -2
  172. package/dist/testimonials-wall-compact.js +14 -3
  173. package/package.json +2 -2
@@ -7,9 +7,9 @@ var tailwindMerge = require('tailwind-merge');
7
7
  var icon = require('@page-speed/icon');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
  var img = require('@page-speed/img');
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
- var pressable = require('@page-speed/pressable');
13
13
 
14
14
  function _interopNamespace(e) {
15
15
  if (e && e.__esModule) return e;
@@ -501,16 +501,27 @@ function ActionComponent({ action }) {
501
501
  children,
502
502
  href,
503
503
  onClick,
504
+ asButton,
505
+ variant,
506
+ size,
504
507
  className: actionClassName,
505
508
  ...pressableProps
506
509
  } = action;
510
+ const shouldStyleAsButton = asButton ?? true;
511
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
512
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
507
513
  return /* @__PURE__ */ jsxRuntime.jsx(
508
514
  pressable.Pressable,
509
515
  {
510
516
  href,
511
517
  onClick,
512
- asButton: action.asButton ?? true,
513
- className: actionClassName,
518
+ asButton: shouldStyleAsButton,
519
+ variant: resolvedVariant,
520
+ size: resolvedSize,
521
+ className: cn(
522
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
523
+ actionClassName
524
+ ),
514
525
  ...pressableProps,
515
526
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
516
527
  icon,
@@ -6,9 +6,9 @@ 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, buttonVariants } from '@page-speed/pressable';
9
10
  import { Slot } from '@radix-ui/react-slot';
10
11
  import { cva } from 'class-variance-authority';
11
- import { Pressable } from '@page-speed/pressable';
12
12
 
13
13
  // components/blocks/hero/hero-ecommerce-product-showcase.tsx
14
14
  function cn(...inputs) {
@@ -480,16 +480,27 @@ function ActionComponent({ action }) {
480
480
  children,
481
481
  href,
482
482
  onClick,
483
+ asButton,
484
+ variant,
485
+ size,
483
486
  className: actionClassName,
484
487
  ...pressableProps
485
488
  } = action;
489
+ const shouldStyleAsButton = asButton ?? true;
490
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
491
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
486
492
  return /* @__PURE__ */ jsx(
487
493
  Pressable,
488
494
  {
489
495
  href,
490
496
  onClick,
491
- asButton: action.asButton ?? true,
492
- className: actionClassName,
497
+ asButton: shouldStyleAsButton,
498
+ variant: resolvedVariant,
499
+ size: resolvedSize,
500
+ className: cn(
501
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
502
+ actionClassName
503
+ ),
493
504
  ...pressableProps,
494
505
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
495
506
  icon,
@@ -500,16 +500,27 @@ 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
+ className: cn(
521
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
522
+ actionClassName
523
+ ),
513
524
  ...pressableProps,
514
525
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
515
526
  icon,
@@ -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
  import { Slot } from '@radix-ui/react-slot';
@@ -479,16 +479,27 @@ function ActionComponent({ action }) {
479
479
  children,
480
480
  href,
481
481
  onClick,
482
+ asButton,
483
+ variant,
484
+ size,
482
485
  className: actionClassName,
483
486
  ...pressableProps
484
487
  } = action;
488
+ const shouldStyleAsButton = asButton ?? true;
489
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
490
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
485
491
  return /* @__PURE__ */ jsx(
486
492
  Pressable,
487
493
  {
488
494
  href,
489
495
  onClick,
490
- asButton: action.asButton ?? true,
491
- className: actionClassName,
496
+ asButton: shouldStyleAsButton,
497
+ variant: resolvedVariant,
498
+ size: resolvedSize,
499
+ className: cn(
500
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
501
+ actionClassName
502
+ ),
492
503
  ...pressableProps,
493
504
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
494
505
  icon,
@@ -501,16 +501,27 @@ function ActionComponent({ action }) {
501
501
  children,
502
502
  href,
503
503
  onClick,
504
+ asButton,
505
+ variant,
506
+ size,
504
507
  className: actionClassName,
505
508
  ...pressableProps
506
509
  } = action;
510
+ const shouldStyleAsButton = asButton ?? true;
511
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
512
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
507
513
  return /* @__PURE__ */ jsxRuntime.jsx(
508
514
  pressable.Pressable,
509
515
  {
510
516
  href,
511
517
  onClick,
512
- asButton: action.asButton ?? true,
513
- className: actionClassName,
518
+ asButton: shouldStyleAsButton,
519
+ variant: resolvedVariant,
520
+ size: resolvedSize,
521
+ className: cn(
522
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
523
+ actionClassName
524
+ ),
514
525
  ...pressableProps,
515
526
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
516
527
  icon,
@@ -8,7 +8,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
8
8
  import { Slot } from '@radix-ui/react-slot';
9
9
  import { cva } from 'class-variance-authority';
10
10
  import { Img } from '@page-speed/img';
11
- import { Pressable } from '@page-speed/pressable';
11
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
12
12
 
13
13
  // components/blocks/hero/hero-event-registration.tsx
14
14
  function cn(...inputs) {
@@ -480,16 +480,27 @@ function ActionComponent({ action }) {
480
480
  children,
481
481
  href,
482
482
  onClick,
483
+ asButton,
484
+ variant,
485
+ size,
483
486
  className: actionClassName,
484
487
  ...pressableProps
485
488
  } = action;
489
+ const shouldStyleAsButton = asButton ?? true;
490
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
491
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
486
492
  return /* @__PURE__ */ jsx(
487
493
  Pressable,
488
494
  {
489
495
  href,
490
496
  onClick,
491
- asButton: action.asButton ?? true,
492
- className: actionClassName,
497
+ asButton: shouldStyleAsButton,
498
+ variant: resolvedVariant,
499
+ size: resolvedSize,
500
+ className: cn(
501
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
502
+ actionClassName
503
+ ),
493
504
  ...pressableProps,
494
505
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
495
506
  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,
@@ -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,
@@ -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__ */ 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
+ className: cn(
523
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
524
+ actionClassName
525
+ ),
515
526
  ...pressableProps,
516
527
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
517
528
  icon,
@@ -600,7 +611,7 @@ function HeroFloatingImages({
600
611
  "absolute inset-0 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100",
601
612
  zoomIndicatorClassName
602
613
  ),
603
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-background/90 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: zoomIconName, size: 20 }) })
614
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: zoomIconName, size: 20 }) })
604
615
  }
605
616
  ),
606
617
  [zoomIconName, zoomIndicatorClassName]
@@ -745,7 +756,7 @@ function HeroFloatingImages({
745
756
  ),
746
757
  children: [
747
758
  hasContent ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-center", contentClassName), children: [
748
- (badge || badgeIcon) && /* @__PURE__ */ jsxRuntime.jsxs(
759
+ badge && /* @__PURE__ */ jsxRuntime.jsxs(
749
760
  Badge,
750
761
  {
751
762
  variant: "secondary",
@@ -765,17 +776,14 @@ function HeroFloatingImages({
765
776
  ),
766
777
  children: heading
767
778
  }
768
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
779
+ ) : heading),
769
780
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
770
781
  "p",
771
782
  {
772
- className: cn(
773
- "mb-8 max-w-lg text-lg text-muted-foreground",
774
- descriptionClassName
775
- ),
783
+ className: cn("mb-8 max-w-lg text-lg", descriptionClassName),
776
784
  children: description
777
785
  }
778
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
786
+ ) : description),
779
787
  /* @__PURE__ */ jsxRuntime.jsx(
780
788
  BlockActions,
781
789
  {
@@ -9,7 +9,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { Icon } from '@page-speed/icon';
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/hero/hero-floating-images.tsx
15
15
  function cn(...inputs) {
@@ -481,16 +481,27 @@ 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
+ className: cn(
502
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
503
+ actionClassName
504
+ ),
494
505
  ...pressableProps,
495
506
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
496
507
  icon,
@@ -579,7 +590,7 @@ function HeroFloatingImages({
579
590
  "absolute inset-0 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100",
580
591
  zoomIndicatorClassName
581
592
  ),
582
- children: /* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-background/90 shadow-lg", children: /* @__PURE__ */ jsx(DynamicIcon, { name: zoomIconName, size: 20 }) })
593
+ children: /* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg", children: /* @__PURE__ */ jsx(DynamicIcon, { name: zoomIconName, size: 20 }) })
583
594
  }
584
595
  ),
585
596
  [zoomIconName, zoomIndicatorClassName]
@@ -724,7 +735,7 @@ function HeroFloatingImages({
724
735
  ),
725
736
  children: [
726
737
  hasContent ? /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col justify-center", contentClassName), children: [
727
- (badge || badgeIcon) && /* @__PURE__ */ jsxs(
738
+ badge && /* @__PURE__ */ jsxs(
728
739
  Badge,
729
740
  {
730
741
  variant: "secondary",
@@ -744,17 +755,14 @@ function HeroFloatingImages({
744
755
  ),
745
756
  children: heading
746
757
  }
747
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
758
+ ) : heading),
748
759
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
749
760
  "p",
750
761
  {
751
- className: cn(
752
- "mb-8 max-w-lg text-lg text-muted-foreground",
753
- descriptionClassName
754
- ),
762
+ className: cn("mb-8 max-w-lg text-lg", descriptionClassName),
755
763
  children: description
756
764
  }
757
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
765
+ ) : description),
758
766
  /* @__PURE__ */ jsx(
759
767
  BlockActions,
760
768
  {
@@ -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,
@@ -3,7 +3,7 @@ import React, { useMemo } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
- import { Pressable } from '@page-speed/pressable';
6
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
7
7
  import { Img } from '@page-speed/img';
8
8
 
9
9
  // components/blocks/hero/hero-fullscreen-background-image.tsx
@@ -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,
@@ -498,16 +498,27 @@ function ActionComponent({ action }) {
498
498
  children,
499
499
  href,
500
500
  onClick,
501
+ asButton,
502
+ variant,
503
+ size,
501
504
  className: actionClassName,
502
505
  ...pressableProps
503
506
  } = action;
507
+ const shouldStyleAsButton = asButton ?? true;
508
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
509
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
504
510
  return /* @__PURE__ */ jsxRuntime.jsx(
505
511
  pressable.Pressable,
506
512
  {
507
513
  href,
508
514
  onClick,
509
- asButton: action.asButton ?? true,
510
- className: actionClassName,
515
+ asButton: shouldStyleAsButton,
516
+ variant: resolvedVariant,
517
+ size: resolvedSize,
518
+ className: cn(
519
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
520
+ actionClassName
521
+ ),
511
522
  ...pressableProps,
512
523
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
513
524
  icon,
@@ -7,7 +7,7 @@ import { Icon } from '@page-speed/icon';
7
7
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
8
8
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
9
9
  import { Img } from '@page-speed/img';
10
- import { Pressable } from '@page-speed/pressable';
10
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
11
11
 
12
12
  // components/blocks/hero/hero-gradient-avatars-rating.tsx
13
13
  function cn(...inputs) {
@@ -476,16 +476,27 @@ function ActionComponent({ action }) {
476
476
  children,
477
477
  href,
478
478
  onClick,
479
+ asButton,
480
+ variant,
481
+ size,
479
482
  className: actionClassName,
480
483
  ...pressableProps
481
484
  } = action;
485
+ const shouldStyleAsButton = asButton ?? true;
486
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
487
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
482
488
  return /* @__PURE__ */ jsx(
483
489
  Pressable,
484
490
  {
485
491
  href,
486
492
  onClick,
487
- asButton: action.asButton ?? true,
488
- className: actionClassName,
493
+ asButton: shouldStyleAsButton,
494
+ variant: resolvedVariant,
495
+ size: resolvedSize,
496
+ className: cn(
497
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
498
+ actionClassName
499
+ ),
489
500
  ...pressableProps,
490
501
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
491
502
  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-gradient-client-focused.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,