@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
@@ -4,7 +4,7 @@ import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
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/testimonials/testimonials-masonry-grid.tsx
10
10
  function cn(...inputs) {
@@ -476,16 +476,30 @@ 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
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
497
+ "data-variant": resolvedVariant,
498
+ "data-size": resolvedSize,
499
+ className: cn(
500
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
501
+ actionClassName
502
+ ),
489
503
  ...pressableProps,
490
504
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
491
505
  icon,
@@ -511,16 +511,30 @@ function ActionComponent({ action }) {
511
511
  children,
512
512
  href,
513
513
  onClick,
514
+ asButton,
515
+ variant,
516
+ size,
514
517
  className: actionClassName,
515
518
  ...pressableProps
516
519
  } = action;
520
+ const shouldStyleAsButton = asButton ?? true;
521
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
522
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
517
523
  return /* @__PURE__ */ jsxRuntime.jsx(
518
524
  pressable.Pressable,
519
525
  {
520
526
  href,
521
527
  onClick,
522
- asButton: action.asButton ?? true,
523
- className: actionClassName,
528
+ asButton: shouldStyleAsButton,
529
+ variant: resolvedVariant,
530
+ size: resolvedSize,
531
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
532
+ "data-variant": resolvedVariant,
533
+ "data-size": resolvedSize,
534
+ className: cn(
535
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
536
+ actionClassName
537
+ ),
524
538
  ...pressableProps,
525
539
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
526
540
  icon,
@@ -4,7 +4,7 @@ import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
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/testimonials/testimonials-simple-grid.tsx
10
10
  function cn(...inputs) {
@@ -486,16 +486,30 @@ function ActionComponent({ action }) {
486
486
  children,
487
487
  href,
488
488
  onClick,
489
+ asButton,
490
+ variant,
491
+ size,
489
492
  className: actionClassName,
490
493
  ...pressableProps
491
494
  } = action;
495
+ const shouldStyleAsButton = asButton ?? true;
496
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
497
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
492
498
  return /* @__PURE__ */ jsx(
493
499
  Pressable,
494
500
  {
495
501
  href,
496
502
  onClick,
497
- asButton: action.asButton ?? true,
498
- className: actionClassName,
503
+ asButton: shouldStyleAsButton,
504
+ variant: resolvedVariant,
505
+ size: resolvedSize,
506
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
507
+ "data-variant": resolvedVariant,
508
+ "data-size": resolvedSize,
509
+ className: cn(
510
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
511
+ actionClassName
512
+ ),
499
513
  ...pressableProps,
500
514
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
501
515
  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-stats-header.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,
@@ -644,16 +644,30 @@ function ActionComponent({ action }) {
644
644
  children,
645
645
  href,
646
646
  onClick,
647
+ asButton,
648
+ variant,
649
+ size,
647
650
  className: actionClassName,
648
651
  ...pressableProps
649
652
  } = action;
653
+ const shouldStyleAsButton = asButton ?? true;
654
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
655
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
650
656
  return /* @__PURE__ */ jsxRuntime.jsx(
651
657
  pressable.Pressable,
652
658
  {
653
659
  href,
654
660
  onClick,
655
- asButton: action.asButton ?? true,
656
- className: actionClassName,
661
+ asButton: shouldStyleAsButton,
662
+ variant: resolvedVariant,
663
+ size: resolvedSize,
664
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
665
+ "data-variant": resolvedVariant,
666
+ "data-size": resolvedSize,
667
+ className: cn(
668
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
669
+ actionClassName
670
+ ),
657
671
  ...pressableProps,
658
672
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
659
673
  icon,
@@ -5,7 +5,7 @@ import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
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
  import { Icon } from '@page-speed/icon';
10
10
  import { usePlatformFromUrl } from '@opensite/hooks/usePlatformFromUrl';
11
11
 
@@ -622,16 +622,30 @@ function ActionComponent({ action }) {
622
622
  children,
623
623
  href,
624
624
  onClick,
625
+ asButton,
626
+ variant,
627
+ size,
625
628
  className: actionClassName,
626
629
  ...pressableProps
627
630
  } = action;
631
+ const shouldStyleAsButton = asButton ?? true;
632
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
633
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
628
634
  return /* @__PURE__ */ jsx(
629
635
  Pressable,
630
636
  {
631
637
  href,
632
638
  onClick,
633
- asButton: action.asButton ?? true,
634
- className: actionClassName,
639
+ asButton: shouldStyleAsButton,
640
+ variant: resolvedVariant,
641
+ size: resolvedSize,
642
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
643
+ "data-variant": resolvedVariant,
644
+ "data-size": resolvedSize,
645
+ className: cn(
646
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
647
+ actionClassName
648
+ ),
635
649
  ...pressableProps,
636
650
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
637
651
  icon,
@@ -535,16 +535,30 @@ function ActionComponent({ action }) {
535
535
  children,
536
536
  href,
537
537
  onClick,
538
+ asButton,
539
+ variant,
540
+ size,
538
541
  className: actionClassName,
539
542
  ...pressableProps
540
543
  } = action;
544
+ const shouldStyleAsButton = asButton ?? true;
545
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
546
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
541
547
  return /* @__PURE__ */ jsxRuntime.jsx(
542
548
  pressable.Pressable,
543
549
  {
544
550
  href,
545
551
  onClick,
546
- asButton: action.asButton ?? true,
547
- className: actionClassName,
552
+ asButton: shouldStyleAsButton,
553
+ variant: resolvedVariant,
554
+ size: resolvedSize,
555
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
556
+ "data-variant": resolvedVariant,
557
+ "data-size": resolvedSize,
558
+ className: cn(
559
+ shouldStyleAsButton && pressable.buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
560
+ actionClassName
561
+ ),
548
562
  ...pressableProps,
549
563
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
550
564
  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 { Slot } from '@radix-ui/react-slot';
8
8
  import { cva } from 'class-variance-authority';
9
- import { Pressable } from '@page-speed/pressable';
9
+ import { Pressable, buttonVariants } from '@page-speed/pressable';
10
10
 
11
11
  // components/blocks/testimonials/testimonials-wall-compact.tsx
12
12
  function cn(...inputs) {
@@ -510,16 +510,30 @@ function ActionComponent({ action }) {
510
510
  children,
511
511
  href,
512
512
  onClick,
513
+ asButton,
514
+ variant,
515
+ size,
513
516
  className: actionClassName,
514
517
  ...pressableProps
515
518
  } = action;
519
+ const shouldStyleAsButton = asButton ?? true;
520
+ const resolvedVariant = shouldStyleAsButton ? variant ?? "default" : void 0;
521
+ const resolvedSize = shouldStyleAsButton ? size ?? "default" : void 0;
516
522
  return /* @__PURE__ */ jsx(
517
523
  Pressable,
518
524
  {
519
525
  href,
520
526
  onClick,
521
- asButton: action.asButton ?? true,
522
- className: actionClassName,
527
+ asButton: shouldStyleAsButton,
528
+ variant: resolvedVariant,
529
+ size: resolvedSize,
530
+ "data-slot": shouldStyleAsButton ? "button" : void 0,
531
+ "data-variant": resolvedVariant,
532
+ "data-size": resolvedSize,
533
+ className: cn(
534
+ shouldStyleAsButton && buttonVariants({ variant: resolvedVariant, size: resolvedSize }),
535
+ actionClassName
536
+ ),
523
537
  ...pressableProps,
524
538
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
525
539
  icon,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "3.3.8",
3
+ "version": "3.4.0",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",
@@ -3387,7 +3387,7 @@
3387
3387
  },
3388
3388
  "peerDependencies": {
3389
3389
  "@tailwindcss/typography": ">=0.5.0",
3390
- "@page-speed/pressable": ">=0.0.7",
3390
+ "@page-speed/pressable": ">=0.0.9",
3391
3391
  "@page-speed/router": ">=1.0.0",
3392
3392
  "react": ">=16.8.0",
3393
3393
  "react-dom": ">=16.8.0"