@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
@@ -4,9 +4,9 @@ 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, buttonVariants } from '@page-speed/pressable';
7
8
  import { Slot } from '@radix-ui/react-slot';
8
9
  import { cva } from 'class-variance-authority';
9
- import { Pressable } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/hero/hero-stats-social-proof.tsx
12
12
  function cn(...inputs) {
@@ -465,16 +465,27 @@ 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
+ className: cn(
486
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
487
+ actionClassName
488
+ ),
478
489
  ...pressableProps,
479
490
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
480
491
  icon,
@@ -462,16 +462,27 @@ function ActionComponent({ action }) {
462
462
  children,
463
463
  href,
464
464
  onClick,
465
+ asButton,
466
+ variant,
467
+ size,
465
468
  className: actionClassName,
466
469
  ...pressableProps
467
470
  } = action;
471
+ const shouldStyleAsButton = asButton ?? true;
472
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
473
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
468
474
  return /* @__PURE__ */ jsxRuntime.jsx(
469
475
  pressable.Pressable,
470
476
  {
471
477
  href,
472
478
  onClick,
473
- asButton: action.asButton ?? true,
474
- className: actionClassName,
479
+ asButton: shouldStyleAsButton,
480
+ variant: resolvedVariant,
481
+ size: resolvedSize,
482
+ className: cn(
483
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
484
+ actionClassName
485
+ ),
475
486
  ...pressableProps,
476
487
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
477
488
  icon,
@@ -5,7 +5,7 @@ import { twMerge } from 'tailwind-merge';
5
5
  import { Img } from '@page-speed/img';
6
6
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
7
7
  import { jsx, jsxs, Fragment } 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/hero/hero-task-timer-animated.tsx
11
11
  function cn(...inputs) {
@@ -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__ */ jsx(
444
450
  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 && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
459
+ actionClassName
460
+ ),
450
461
  ...pressableProps,
451
462
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
452
463
  icon,
@@ -509,16 +509,27 @@ function ActionComponent({ action }) {
509
509
  children,
510
510
  href,
511
511
  onClick,
512
+ asButton,
513
+ variant,
514
+ size,
512
515
  className: actionClassName,
513
516
  ...pressableProps
514
517
  } = action;
518
+ const shouldStyleAsButton = asButton ?? true;
519
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
520
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
515
521
  return /* @__PURE__ */ jsxRuntime.jsx(
516
522
  pressable.Pressable,
517
523
  {
518
524
  href,
519
525
  onClick,
520
- asButton: action.asButton ?? true,
521
- className: actionClassName,
526
+ asButton: shouldStyleAsButton,
527
+ variant: resolvedVariant,
528
+ size: resolvedSize,
529
+ className: cn(
530
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
531
+ actionClassName
532
+ ),
522
533
  ...pressableProps,
523
534
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
524
535
  icon,
@@ -6,7 +6,7 @@ import * as AvatarPrimitive from '@radix-ui/react-avatar';
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-testimonial-image-grid.tsx
12
12
  function cn(...inputs) {
@@ -483,16 +483,27 @@ function ActionComponent({ action }) {
483
483
  children,
484
484
  href,
485
485
  onClick,
486
+ asButton,
487
+ variant,
488
+ size,
486
489
  className: actionClassName,
487
490
  ...pressableProps
488
491
  } = action;
492
+ const shouldStyleAsButton = asButton ?? true;
493
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
494
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
489
495
  return /* @__PURE__ */ jsx(
490
496
  Pressable,
491
497
  {
492
498
  href,
493
499
  onClick,
494
- asButton: action.asButton ?? true,
495
- className: actionClassName,
500
+ asButton: shouldStyleAsButton,
501
+ variant: resolvedVariant,
502
+ size: resolvedSize,
503
+ className: cn(
504
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
505
+ actionClassName
506
+ ),
496
507
  ...pressableProps,
497
508
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
498
509
  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-therapy-testimonial-grid.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,
@@ -462,16 +462,27 @@ function ActionComponent({ action }) {
462
462
  children,
463
463
  href,
464
464
  onClick,
465
+ asButton,
466
+ variant,
467
+ size,
465
468
  className: actionClassName,
466
469
  ...pressableProps
467
470
  } = action;
471
+ const shouldStyleAsButton = asButton ?? true;
472
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
473
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
468
474
  return /* @__PURE__ */ jsxRuntime.jsx(
469
475
  pressable.Pressable,
470
476
  {
471
477
  href,
472
478
  onClick,
473
- asButton: action.asButton ?? true,
474
- className: actionClassName,
479
+ asButton: shouldStyleAsButton,
480
+ variant: resolvedVariant,
481
+ size: resolvedSize,
482
+ className: cn(
483
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
484
+ actionClassName
485
+ ),
475
486
  ...pressableProps,
476
487
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
477
488
  icon,
@@ -5,7 +5,7 @@ import { twMerge } from 'tailwind-merge';
5
5
  import { Img } from '@page-speed/img';
6
6
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
7
7
  import { jsx, jsxs, Fragment } 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/hero/hero-ui-library-showcase.tsx
11
11
  function cn(...inputs) {
@@ -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__ */ jsx(
444
450
  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 && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
459
+ actionClassName
460
+ ),
450
461
  ...pressableProps,
451
462
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
452
463
  icon,
@@ -6,9 +6,9 @@ var video = require('@page-speed/video');
6
6
  var clsx = require('clsx');
7
7
  var tailwindMerge = require('tailwind-merge');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
+ var pressable = require('@page-speed/pressable');
9
10
  var reactSlot = require('@radix-ui/react-slot');
10
11
  var classVarianceAuthority = require('class-variance-authority');
11
- var pressable = require('@page-speed/pressable');
12
12
 
13
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
 
@@ -532,16 +532,27 @@ function ActionComponent({ action }) {
532
532
  children,
533
533
  href,
534
534
  onClick,
535
+ asButton,
536
+ variant,
537
+ size,
535
538
  className: actionClassName,
536
539
  ...pressableProps
537
540
  } = action;
541
+ const shouldStyleAsButton = asButton ?? true;
542
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
543
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
538
544
  return /* @__PURE__ */ jsxRuntime.jsx(
539
545
  pressable.Pressable,
540
546
  {
541
547
  href,
542
548
  onClick,
543
- asButton: action.asButton ?? true,
544
- className: actionClassName,
549
+ asButton: shouldStyleAsButton,
550
+ variant: resolvedVariant,
551
+ size: resolvedSize,
552
+ className: cn(
553
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
554
+ actionClassName
555
+ ),
545
556
  ...pressableProps,
546
557
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
547
558
  icon,
@@ -4,9 +4,9 @@ import { Video } from '@page-speed/video';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
7
8
  import { Slot } from '@radix-ui/react-slot';
8
9
  import { cva } from 'class-variance-authority';
9
- import { Pressable } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/hero/hero-video-background-dark.tsx
12
12
  function cn(...inputs) {
@@ -526,16 +526,27 @@ function ActionComponent({ action }) {
526
526
  children,
527
527
  href,
528
528
  onClick,
529
+ asButton,
530
+ variant,
531
+ size,
529
532
  className: actionClassName,
530
533
  ...pressableProps
531
534
  } = action;
535
+ const shouldStyleAsButton = asButton ?? true;
536
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
537
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
532
538
  return /* @__PURE__ */ jsx(
533
539
  Pressable,
534
540
  {
535
541
  href,
536
542
  onClick,
537
- asButton: action.asButton ?? true,
538
- className: actionClassName,
543
+ asButton: shouldStyleAsButton,
544
+ variant: resolvedVariant,
545
+ size: resolvedSize,
546
+ className: cn(
547
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
548
+ actionClassName
549
+ ),
539
550
  ...pressableProps,
540
551
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
541
552
  icon,
@@ -525,16 +525,27 @@ function ActionComponent({ action }) {
525
525
  children,
526
526
  href,
527
527
  onClick,
528
+ asButton,
529
+ variant,
530
+ size,
528
531
  className: actionClassName,
529
532
  ...pressableProps
530
533
  } = action;
534
+ const shouldStyleAsButton = asButton ?? true;
535
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
536
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
531
537
  return /* @__PURE__ */ jsxRuntime.jsx(
532
538
  pressable.Pressable,
533
539
  {
534
540
  href,
535
541
  onClick,
536
- asButton: action.asButton ?? true,
537
- className: actionClassName,
542
+ asButton: shouldStyleAsButton,
543
+ variant: resolvedVariant,
544
+ size: resolvedSize,
545
+ className: cn(
546
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
547
+ actionClassName
548
+ ),
538
549
  ...pressableProps,
539
550
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
540
551
  icon,
@@ -572,10 +583,19 @@ function HeroVideoDialogGradient({
572
583
  const [skinClasses, setSkinClasses] = React.useState(null);
573
584
  const [skinStyle, setSkinStyle] = React.useState(null);
574
585
  React.useEffect(() => {
586
+ let isMounted = true;
575
587
  skins.loadSkinFromJsDelivr("0.1.2", "skins/video/base.json").then((skin) => {
588
+ if (!isMounted) return;
576
589
  setSkinClasses(skins.resolveVideoClasses(skin));
577
590
  setSkinStyle(skins.getSkinStyleObject(skin));
591
+ }).catch(() => {
592
+ if (!isMounted) return;
593
+ setSkinClasses(null);
594
+ setSkinStyle(null);
578
595
  });
596
+ return () => {
597
+ isMounted = false;
598
+ };
579
599
  }, []);
580
600
  const handleVideoClick = () => {
581
601
  if (onVideoClick) {
@@ -10,7 +10,7 @@ import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
10
10
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
11
11
  import * as DialogPrimitive from '@radix-ui/react-dialog';
12
12
  import { Icon } from '@page-speed/icon';
13
- import { Pressable } from '@page-speed/pressable';
13
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
14
14
 
15
15
  // components/blocks/hero/hero-video-dialog-gradient.tsx
16
16
  function cn(...inputs) {
@@ -502,16 +502,27 @@ function ActionComponent({ action }) {
502
502
  children,
503
503
  href,
504
504
  onClick,
505
+ asButton,
506
+ variant,
507
+ size,
505
508
  className: actionClassName,
506
509
  ...pressableProps
507
510
  } = action;
511
+ const shouldStyleAsButton = asButton ?? true;
512
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
513
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
508
514
  return /* @__PURE__ */ jsx(
509
515
  Pressable,
510
516
  {
511
517
  href,
512
518
  onClick,
513
- asButton: action.asButton ?? true,
514
- className: actionClassName,
519
+ asButton: shouldStyleAsButton,
520
+ variant: resolvedVariant,
521
+ size: resolvedSize,
522
+ className: cn(
523
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
524
+ actionClassName
525
+ ),
515
526
  ...pressableProps,
516
527
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
517
528
  icon,
@@ -549,10 +560,19 @@ function HeroVideoDialogGradient({
549
560
  const [skinClasses, setSkinClasses] = useState(null);
550
561
  const [skinStyle, setSkinStyle] = useState(null);
551
562
  useEffect(() => {
563
+ let isMounted = true;
552
564
  loadSkinFromJsDelivr("0.1.2", "skins/video/base.json").then((skin) => {
565
+ if (!isMounted) return;
553
566
  setSkinClasses(resolveVideoClasses(skin));
554
567
  setSkinStyle(getSkinStyleObject(skin));
568
+ }).catch(() => {
569
+ if (!isMounted) return;
570
+ setSkinClasses(null);
571
+ setSkinStyle(null);
555
572
  });
573
+ return () => {
574
+ isMounted = false;
575
+ };
556
576
  }, []);
557
577
  const handleVideoClick = () => {
558
578
  if (onVideoClick) {
@@ -467,16 +467,27 @@ function ActionComponent({ action }) {
467
467
  children,
468
468
  href,
469
469
  onClick,
470
+ asButton,
471
+ variant,
472
+ size,
470
473
  className: actionClassName,
471
474
  ...pressableProps
472
475
  } = action;
476
+ const shouldStyleAsButton = asButton ?? true;
477
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
478
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
473
479
  return /* @__PURE__ */ jsxRuntime.jsx(
474
480
  pressable.Pressable,
475
481
  {
476
482
  href,
477
483
  onClick,
478
- asButton: action.asButton ?? true,
479
- className: actionClassName,
484
+ asButton: shouldStyleAsButton,
485
+ variant: resolvedVariant,
486
+ size: resolvedSize,
487
+ className: cn(
488
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
489
+ actionClassName
490
+ ),
480
491
  ...pressableProps,
481
492
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
482
493
  icon,
@@ -6,7 +6,7 @@ import { twMerge } from 'tailwind-merge';
6
6
  import { Video } from '@page-speed/video';
7
7
  import { Icon } from '@page-speed/icon';
8
8
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
9
- import { Pressable } from '@page-speed/pressable';
9
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/hero/hero-video-overlay-stars.tsx
12
12
  function cn(...inputs) {
@@ -446,16 +446,27 @@ function ActionComponent({ action }) {
446
446
  children,
447
447
  href,
448
448
  onClick,
449
+ asButton,
450
+ variant,
451
+ size,
449
452
  className: actionClassName,
450
453
  ...pressableProps
451
454
  } = action;
455
+ const shouldStyleAsButton = asButton ?? true;
456
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
457
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
452
458
  return /* @__PURE__ */ jsx(
453
459
  Pressable,
454
460
  {
455
461
  href,
456
462
  onClick,
457
- asButton: action.asButton ?? true,
458
- className: actionClassName,
463
+ asButton: shouldStyleAsButton,
464
+ variant: resolvedVariant,
465
+ size: resolvedSize,
466
+ className: cn(
467
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
468
+ actionClassName
469
+ ),
459
470
  ...pressableProps,
460
471
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
461
472
  icon,
@@ -437,16 +437,27 @@ function ActionComponent({ action }) {
437
437
  children,
438
438
  href,
439
439
  onClick,
440
+ asButton,
441
+ variant,
442
+ size,
440
443
  className: actionClassName,
441
444
  ...pressableProps
442
445
  } = action;
446
+ const shouldStyleAsButton = asButton ?? true;
447
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
448
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
443
449
  return /* @__PURE__ */ jsxRuntime.jsx(
444
450
  pressable.Pressable,
445
451
  {
446
452
  href,
447
453
  onClick,
448
- asButton: action.asButton ?? true,
449
- className: actionClassName,
454
+ asButton: shouldStyleAsButton,
455
+ variant: resolvedVariant,
456
+ size: resolvedSize,
457
+ className: cn(
458
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
459
+ actionClassName
460
+ ),
450
461
  ...pressableProps,
451
462
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
452
463
  icon,
@@ -4,7 +4,7 @@ import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { Img } from '@page-speed/img';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
- import { Pressable } from '@page-speed/pressable';
7
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
8
8
 
9
9
  // components/blocks/hero/hero-welcome-asymmetric-images.tsx
10
10
  function cn(...inputs) {
@@ -431,16 +431,27 @@ function ActionComponent({ action }) {
431
431
  children,
432
432
  href,
433
433
  onClick,
434
+ asButton,
435
+ variant,
436
+ size,
434
437
  className: actionClassName,
435
438
  ...pressableProps
436
439
  } = action;
440
+ const shouldStyleAsButton = asButton ?? true;
441
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
442
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
437
443
  return /* @__PURE__ */ jsx(
438
444
  Pressable,
439
445
  {
440
446
  href,
441
447
  onClick,
442
- asButton: action.asButton ?? true,
443
- className: actionClassName,
448
+ asButton: shouldStyleAsButton,
449
+ variant: resolvedVariant,
450
+ size: resolvedSize,
451
+ className: cn(
452
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
453
+ actionClassName
454
+ ),
444
455
  ...pressableProps,
445
456
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
446
457
  icon,