@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
@@ -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,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,
@@ -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-welcome-asymmetric-images.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,
package/dist/index.cjs CHANGED
@@ -2024,16 +2024,30 @@ function ActionComponent({ action }) {
2024
2024
  children,
2025
2025
  href,
2026
2026
  onClick,
2027
+ asButton,
2028
+ variant,
2029
+ size,
2027
2030
  className: actionClassName,
2028
2031
  ...pressableProps
2029
2032
  } = action;
2033
+ const shouldStyleAsButton = asButton ?? true;
2034
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
2035
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
2030
2036
  return /* @__PURE__ */ jsxRuntime.jsx(
2031
2037
  pressable.Pressable,
2032
2038
  {
2033
2039
  href,
2034
2040
  onClick,
2035
- asButton: action.asButton ?? true,
2036
- className: actionClassName,
2041
+ asButton: shouldStyleAsButton,
2042
+ variant: resolvedVariant,
2043
+ size: resolvedSize,
2044
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
2045
+ "data-variant": resolvedVariant,
2046
+ "data-size": resolvedSize,
2047
+ className: cn(
2048
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
2049
+ actionClassName
2050
+ ),
2037
2051
  ...pressableProps,
2038
2052
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2039
2053
  icon,
package/dist/index.js CHANGED
@@ -2002,16 +2002,30 @@ function ActionComponent({ action }) {
2002
2002
  children,
2003
2003
  href,
2004
2004
  onClick,
2005
+ asButton,
2006
+ variant,
2007
+ size,
2005
2008
  className: actionClassName,
2006
2009
  ...pressableProps
2007
2010
  } = action;
2011
+ const shouldStyleAsButton = asButton ?? true;
2012
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
2013
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
2008
2014
  return /* @__PURE__ */ jsx(
2009
2015
  Pressable,
2010
2016
  {
2011
2017
  href,
2012
2018
  onClick,
2013
- asButton: action.asButton ?? true,
2014
- className: actionClassName,
2019
+ asButton: shouldStyleAsButton,
2020
+ variant: resolvedVariant,
2021
+ size: resolvedSize,
2022
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
2023
+ "data-variant": resolvedVariant,
2024
+ "data-size": resolvedSize,
2025
+ className: cn(
2026
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
2027
+ actionClassName
2028
+ ),
2015
2029
  ...pressableProps,
2016
2030
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
2017
2031
  icon,
@@ -466,16 +466,30 @@ function ActionComponent({ action }) {
466
466
  children,
467
467
  href,
468
468
  onClick,
469
+ asButton,
470
+ variant,
471
+ size,
469
472
  className: actionClassName,
470
473
  ...pressableProps
471
474
  } = action;
475
+ const shouldStyleAsButton = asButton ?? true;
476
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
477
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
472
478
  return /* @__PURE__ */ jsxRuntime.jsx(
473
479
  pressable.Pressable,
474
480
  {
475
481
  href,
476
482
  onClick,
477
- asButton: action.asButton ?? true,
478
- className: actionClassName,
483
+ asButton: shouldStyleAsButton,
484
+ variant: resolvedVariant,
485
+ size: resolvedSize,
486
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
487
+ "data-variant": resolvedVariant,
488
+ "data-size": resolvedSize,
489
+ className: cn(
490
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
491
+ actionClassName
492
+ ),
479
493
  ...pressableProps,
480
494
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
481
495
  icon,
@@ -546,7 +560,7 @@ function ProcessStickySteps({
546
560
  const renderSteps = React.useMemo(() => {
547
561
  if (stepsSlot) return stepsSlot;
548
562
  if (!steps?.length) return null;
549
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-22", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
563
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-28", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
550
564
  "li",
551
565
  {
552
566
  className: cn(
@@ -597,7 +611,7 @@ function ProcessStickySteps({
597
611
  "div",
598
612
  {
599
613
  className: cn(
600
- "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-20",
614
+ "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-24",
601
615
  contentClassName
602
616
  ),
603
617
  children: [
@@ -609,7 +623,7 @@ function ProcessStickySteps({
609
623
  {
610
624
  name: "lucide/asterisk",
611
625
  size: 40,
612
- className: "absolute -top-2 -right-2 md:size-10 lg:-right-14"
626
+ className: "absolute -top-2 -right-2 md:size-10 lg:-right-10"
613
627
  }
614
628
  )
615
629
  ] }),
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import React__default, { useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
- import { Pressable } from '@page-speed/pressable';
6
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
7
7
  import { Icon } from '@page-speed/icon';
8
8
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
9
9
 
@@ -445,16 +445,30 @@ function ActionComponent({ action }) {
445
445
  children,
446
446
  href,
447
447
  onClick,
448
+ asButton,
449
+ variant,
450
+ size,
448
451
  className: actionClassName,
449
452
  ...pressableProps
450
453
  } = action;
454
+ const shouldStyleAsButton = asButton ?? true;
455
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
456
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
451
457
  return /* @__PURE__ */ jsx(
452
458
  Pressable,
453
459
  {
454
460
  href,
455
461
  onClick,
456
- asButton: action.asButton ?? true,
457
- className: actionClassName,
462
+ asButton: shouldStyleAsButton,
463
+ variant: resolvedVariant,
464
+ size: resolvedSize,
465
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
466
+ "data-variant": resolvedVariant,
467
+ "data-size": resolvedSize,
468
+ className: cn(
469
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
470
+ actionClassName
471
+ ),
458
472
  ...pressableProps,
459
473
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
460
474
  icon,
@@ -525,7 +539,7 @@ function ProcessStickySteps({
525
539
  const renderSteps = useMemo(() => {
526
540
  if (stepsSlot) return stepsSlot;
527
541
  if (!steps?.length) return null;
528
- return /* @__PURE__ */ jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-22", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxs(
542
+ return /* @__PURE__ */ jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-28", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxs(
529
543
  "li",
530
544
  {
531
545
  className: cn(
@@ -576,7 +590,7 @@ function ProcessStickySteps({
576
590
  "div",
577
591
  {
578
592
  className: cn(
579
- "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-20",
593
+ "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-24",
580
594
  contentClassName
581
595
  ),
582
596
  children: [
@@ -588,7 +602,7 @@ function ProcessStickySteps({
588
602
  {
589
603
  name: "lucide/asterisk",
590
604
  size: 40,
591
- className: "absolute -top-2 -right-2 md:size-10 lg:-right-14"
605
+ className: "absolute -top-2 -right-2 md:size-10 lg:-right-10"
592
606
  }
593
607
  )
594
608
  ] }),
package/dist/registry.cjs CHANGED
@@ -7,11 +7,11 @@ var jsxRuntime = require('react/jsx-runtime');
7
7
  var img = require('@page-speed/img');
8
8
  var react = require('motion/react');
9
9
  var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
10
+ var pressable = require('@page-speed/pressable');
10
11
  var reactSlot = require('@radix-ui/react-slot');
11
12
  var classVarianceAuthority = require('class-variance-authority');
12
13
  var PopoverPrimitive = require('@radix-ui/react-popover');
13
14
  var icon = require('@page-speed/icon');
14
- var pressable = require('@page-speed/pressable');
15
15
  var usePlatformFromUrl = require('@opensite/hooks/usePlatformFromUrl');
16
16
  var TabsPrimitive = require('@radix-ui/react-tabs');
17
17
  var integration = require('@page-speed/forms/integration');
@@ -1758,16 +1758,30 @@ function ActionComponent({ action }) {
1758
1758
  children,
1759
1759
  href,
1760
1760
  onClick,
1761
+ asButton,
1762
+ variant,
1763
+ size,
1761
1764
  className: actionClassName,
1762
1765
  ...pressableProps
1763
1766
  } = action;
1767
+ const shouldStyleAsButton = asButton ?? true;
1768
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
1769
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
1764
1770
  return /* @__PURE__ */ jsxRuntime.jsx(
1765
1771
  pressable.Pressable,
1766
1772
  {
1767
1773
  href,
1768
1774
  onClick,
1769
- asButton: action.asButton ?? true,
1770
- className: actionClassName,
1775
+ asButton: shouldStyleAsButton,
1776
+ variant: resolvedVariant,
1777
+ size: resolvedSize,
1778
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
1779
+ "data-variant": resolvedVariant,
1780
+ "data-size": resolvedSize,
1781
+ className: cn(
1782
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
1783
+ actionClassName
1784
+ ),
1771
1785
  ...pressableProps,
1772
1786
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1773
1787
  icon,
@@ -78312,7 +78326,7 @@ function ProcessStickySteps({
78312
78326
  const renderSteps = React30.useMemo(() => {
78313
78327
  if (stepsSlot) return stepsSlot;
78314
78328
  if (!steps?.length) return null;
78315
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-22", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
78329
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-28", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsxs(
78316
78330
  "li",
78317
78331
  {
78318
78332
  className: cn(
@@ -78363,7 +78377,7 @@ function ProcessStickySteps({
78363
78377
  "div",
78364
78378
  {
78365
78379
  className: cn(
78366
- "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-20",
78380
+ "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-24",
78367
78381
  contentClassName
78368
78382
  ),
78369
78383
  children: [
@@ -78375,7 +78389,7 @@ function ProcessStickySteps({
78375
78389
  {
78376
78390
  name: "lucide/asterisk",
78377
78391
  size: 40,
78378
- className: "absolute -top-2 -right-2 md:size-10 lg:-right-14"
78392
+ className: "absolute -top-2 -right-2 md:size-10 lg:-right-10"
78379
78393
  }
78380
78394
  )
78381
78395
  ] }),
package/dist/registry.js CHANGED
@@ -6,11 +6,11 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
6
  import { Img } from '@page-speed/img';
7
7
  import { motion as motion$1, AnimatePresence as AnimatePresence$1 } from 'motion/react';
8
8
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
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
12
  import * as PopoverPrimitive from '@radix-ui/react-popover';
12
13
  import { Icon } from '@page-speed/icon';
13
- import { Pressable } from '@page-speed/pressable';
14
14
  import { usePlatformFromUrl } from '@opensite/hooks/usePlatformFromUrl';
15
15
  import * as TabsPrimitive from '@radix-ui/react-tabs';
16
16
  import { FormEngine, useFileUpload, useContactForm, DynamicFormField, submitPageSpeedForm, PageSpeedFormSubmissionError, isValidEmail } from '@page-speed/forms/integration';
@@ -1718,16 +1718,30 @@ function ActionComponent({ action }) {
1718
1718
  children,
1719
1719
  href,
1720
1720
  onClick,
1721
+ asButton,
1722
+ variant,
1723
+ size,
1721
1724
  className: actionClassName,
1722
1725
  ...pressableProps
1723
1726
  } = action;
1727
+ const shouldStyleAsButton = asButton ?? true;
1728
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
1729
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
1724
1730
  return /* @__PURE__ */ jsx(
1725
1731
  Pressable,
1726
1732
  {
1727
1733
  href,
1728
1734
  onClick,
1729
- asButton: action.asButton ?? true,
1730
- className: actionClassName,
1735
+ asButton: shouldStyleAsButton,
1736
+ variant: resolvedVariant,
1737
+ size: resolvedSize,
1738
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
1739
+ "data-variant": resolvedVariant,
1740
+ "data-size": resolvedSize,
1741
+ className: cn(
1742
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
1743
+ actionClassName
1744
+ ),
1731
1745
  ...pressableProps,
1732
1746
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
1733
1747
  icon,
@@ -78272,7 +78286,7 @@ function ProcessStickySteps({
78272
78286
  const renderSteps = useMemo(() => {
78273
78287
  if (stepsSlot) return stepsSlot;
78274
78288
  if (!steps?.length) return null;
78275
- return /* @__PURE__ */ jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-22", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxs(
78289
+ return /* @__PURE__ */ jsx("ul", { className: cn("relative col-span-4 w-full lg:pl-28", stepsClassName), children: steps.map((step, index) => /* @__PURE__ */ jsxs(
78276
78290
  "li",
78277
78291
  {
78278
78292
  className: cn(
@@ -78323,7 +78337,7 @@ function ProcessStickySteps({
78323
78337
  "div",
78324
78338
  {
78325
78339
  className: cn(
78326
- "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-20",
78340
+ "grid grid-cols-1 gap-5 lg:grid-cols-6 lg:gap-24",
78327
78341
  contentClassName
78328
78342
  ),
78329
78343
  children: [
@@ -78335,7 +78349,7 @@ function ProcessStickySteps({
78335
78349
  {
78336
78350
  name: "lucide/asterisk",
78337
78351
  size: 40,
78338
- className: "absolute -top-2 -right-2 md:size-10 lg:-right-14"
78352
+ className: "absolute -top-2 -right-2 md:size-10 lg:-right-10"
78339
78353
  }
78340
78354
  )
78341
78355
  ] }),
@@ -77,6 +77,6 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
77
77
  * />
78
78
  * ```
79
79
  */
80
- declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement>>;
80
+ declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
81
81
 
82
82
  export { SocialLinkIcon, type SocialLinkIconDynamicIconProps, type SocialLinkIconProps };
@@ -77,6 +77,6 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
77
77
  * />
78
78
  * ```
79
79
  */
80
- declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement>>;
80
+ declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
81
81
 
82
82
  export { SocialLinkIcon, type SocialLinkIconDynamicIconProps, type SocialLinkIconProps };
@@ -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,
@@ -7,7 +7,7 @@ import { Slot } from '@radix-ui/react-slot';
7
7
  import { cva } from 'class-variance-authority';
8
8
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
9
9
  import { Icon } from '@page-speed/icon';
10
- import { Pressable } from '@page-speed/pressable';
10
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
11
11
 
12
12
  // components/blocks/stats/stats-growth-timeline.tsx
13
13
  function cn(...inputs) {
@@ -479,16 +479,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
500
+ "data-variant": resolvedVariant,
501
+ "data-size": resolvedSize,
502
+ className: cn(
503
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
504
+ actionClassName
505
+ ),
492
506
  ...pressableProps,
493
507
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
494
508
  icon,
@@ -553,16 +553,30 @@ function ActionComponent({ action }) {
553
553
  children,
554
554
  href,
555
555
  onClick,
556
+ asButton,
557
+ variant,
558
+ size,
556
559
  className: actionClassName,
557
560
  ...pressableProps
558
561
  } = action;
562
+ const shouldStyleAsButton = asButton ?? true;
563
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
564
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
559
565
  return /* @__PURE__ */ jsxRuntime.jsx(
560
566
  pressable.Pressable,
561
567
  {
562
568
  href,
563
569
  onClick,
564
- asButton: action.asButton ?? true,
565
- className: actionClassName,
570
+ asButton: shouldStyleAsButton,
571
+ variant: resolvedVariant,
572
+ size: resolvedSize,
573
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
574
+ "data-variant": resolvedVariant,
575
+ "data-size": resolvedSize,
576
+ className: cn(
577
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
578
+ actionClassName
579
+ ),
566
580
  ...pressableProps,
567
581
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
568
582
  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 * as AvatarPrimitive from '@radix-ui/react-avatar';
9
- import { Pressable } from '@page-speed/pressable';
9
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/testimonials/testimonials-grid-add-review.tsx
12
12
  function cn(...inputs) {
@@ -531,16 +531,30 @@ function ActionComponent({ action }) {
531
531
  children,
532
532
  href,
533
533
  onClick,
534
+ asButton,
535
+ variant,
536
+ size,
534
537
  className: actionClassName,
535
538
  ...pressableProps
536
539
  } = action;
540
+ const shouldStyleAsButton = asButton ?? true;
541
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
542
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
537
543
  return /* @__PURE__ */ jsx(
538
544
  Pressable,
539
545
  {
540
546
  href,
541
547
  onClick,
542
- asButton: action.asButton ?? true,
543
- className: actionClassName,
548
+ asButton: shouldStyleAsButton,
549
+ variant: resolvedVariant,
550
+ size: resolvedSize,
551
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
552
+ "data-variant": resolvedVariant,
553
+ "data-size": resolvedSize,
554
+ className: cn(
555
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
556
+ actionClassName
557
+ ),
544
558
  ...pressableProps,
545
559
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
546
560
  icon,
@@ -501,16 +501,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
522
+ "data-variant": resolvedVariant,
523
+ "data-size": resolvedSize,
524
+ className: cn(
525
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
526
+ actionClassName
527
+ ),
514
528
  ...pressableProps,
515
529
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
516
530
  icon,