@opensite/ui 2.8.8 → 2.9.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.
- package/dist/about-culture-tabs.cjs +174 -174
- package/dist/about-culture-tabs.js +174 -174
- package/dist/about-developer-profile.cjs +200 -200
- package/dist/about-developer-profile.js +198 -198
- package/dist/about-developer-story.cjs +142 -142
- package/dist/about-developer-story.js +142 -142
- package/dist/about-mission-dual-image.cjs +142 -142
- package/dist/about-mission-dual-image.js +142 -142
- package/dist/about-mission-features.cjs +142 -142
- package/dist/about-mission-features.js +142 -142
- package/dist/about-network-spotlight.cjs +142 -142
- package/dist/about-network-spotlight.js +142 -142
- package/dist/about-story-expertise.cjs +142 -142
- package/dist/about-story-expertise.js +142 -142
- package/dist/about-streamline-team.cjs +142 -142
- package/dist/about-streamline-team.js +142 -142
- package/dist/carousel-feature-badge.cjs +162 -42
- package/dist/carousel-feature-badge.d.cts +14 -1
- package/dist/carousel-feature-badge.d.ts +14 -1
- package/dist/carousel-feature-badge.js +163 -43
- package/dist/community-initiatives.cjs +142 -142
- package/dist/community-initiatives.js +142 -142
- package/dist/components.cjs +723 -1378
- package/dist/components.d.cts +0 -2
- package/dist/components.d.ts +0 -2
- package/dist/components.js +633 -1287
- package/dist/contact-map.cjs +14 -1083
- package/dist/contact-map.d.cts +13 -3
- package/dist/contact-map.d.ts +13 -3
- package/dist/contact-map.js +14 -1083
- package/dist/cta-feature-checklist.cjs +142 -142
- package/dist/cta-feature-checklist.js +142 -142
- package/dist/faq-numbered-grid.cjs +142 -142
- package/dist/faq-numbered-grid.js +142 -142
- package/dist/feature-animated-carousel.cjs +142 -142
- package/dist/feature-animated-carousel.js +142 -142
- package/dist/feature-bento-utilities.cjs +142 -142
- package/dist/feature-bento-utilities.js +142 -142
- package/dist/feature-capabilities-grid.cjs +142 -142
- package/dist/feature-capabilities-grid.js +142 -142
- package/dist/feature-category-image-cards.cjs +142 -142
- package/dist/feature-category-image-cards.js +142 -142
- package/dist/feature-icon-grid-bordered.cjs +142 -142
- package/dist/feature-icon-grid-bordered.js +142 -142
- package/dist/feature-icon-grid-muted.cjs +142 -142
- package/dist/feature-icon-grid-muted.js +142 -142
- package/dist/feature-numbered-cards.cjs +142 -142
- package/dist/feature-numbered-cards.js +142 -142
- package/dist/feature-three-column-values.cjs +142 -142
- package/dist/feature-three-column-values.js +142 -142
- package/dist/hero-ad-campaign-expert.cjs +142 -142
- package/dist/hero-ad-campaign-expert.js +142 -142
- package/dist/hero-adaptable-product-grid.cjs +142 -142
- package/dist/hero-adaptable-product-grid.js +142 -142
- package/dist/hero-agency-animated-images.cjs +142 -142
- package/dist/hero-agency-animated-images.js +142 -142
- package/dist/hero-announcement-badge.cjs +142 -142
- package/dist/hero-announcement-badge.js +142 -142
- package/dist/hero-badge-image-split.cjs +142 -142
- package/dist/hero-badge-image-split.js +142 -142
- package/dist/hero-business-carousel-dots.cjs +142 -142
- package/dist/hero-business-carousel-dots.js +142 -142
- package/dist/hero-business-operations-mosaic.cjs +142 -142
- package/dist/hero-business-operations-mosaic.js +142 -142
- package/dist/hero-conversation-intelligence.cjs +142 -142
- package/dist/hero-conversation-intelligence.js +142 -142
- package/dist/hero-creative-studio-stacked.cjs +142 -142
- package/dist/hero-creative-studio-stacked.js +142 -142
- package/dist/hero-crm-streamlined.cjs +142 -142
- package/dist/hero-crm-streamlined.js +142 -142
- package/dist/hero-customer-support-layered.cjs +142 -142
- package/dist/hero-customer-support-layered.js +142 -142
- package/dist/hero-design-showcase-logos.cjs +142 -142
- package/dist/hero-design-showcase-logos.js +142 -142
- package/dist/hero-design-system-3d.cjs +142 -142
- package/dist/hero-design-system-3d.js +142 -142
- package/dist/hero-developer-tools-code.cjs +142 -142
- package/dist/hero-developer-tools-code.js +142 -142
- package/dist/hero-digital-agency-fullscreen.cjs +142 -142
- package/dist/hero-digital-agency-fullscreen.js +142 -142
- package/dist/hero-ecommerce-product-showcase.cjs +174 -174
- package/dist/hero-ecommerce-product-showcase.js +174 -174
- package/dist/hero-event-registration.cjs +142 -142
- package/dist/hero-event-registration.js +142 -142
- package/dist/hero-fullscreen-background-image.cjs +142 -142
- package/dist/hero-fullscreen-background-image.js +142 -142
- package/dist/hero-gradient-avatars-rating.cjs +142 -142
- package/dist/hero-gradient-avatars-rating.js +142 -142
- package/dist/hero-gradient-client-focused.cjs +142 -142
- package/dist/hero-gradient-client-focused.js +142 -142
- package/dist/hero-hiring-animated-text.cjs +142 -142
- package/dist/hero-hiring-animated-text.js +142 -142
- package/dist/hero-image-left-content.cjs +142 -142
- package/dist/hero-image-left-content.js +142 -142
- package/dist/hero-innovation-image-grid.cjs +142 -142
- package/dist/hero-innovation-image-grid.js +142 -142
- package/dist/hero-mental-health-team.cjs +142 -142
- package/dist/hero-mental-health-team.js +142 -142
- package/dist/hero-minimal-centered-dark.cjs +174 -174
- package/dist/hero-minimal-centered-dark.js +174 -174
- package/dist/hero-presentation-platform-video.cjs +142 -142
- package/dist/hero-presentation-platform-video.js +142 -142
- package/dist/hero-product-showcase-floating.cjs +174 -174
- package/dist/hero-product-showcase-floating.js +174 -174
- package/dist/hero-shared-inbox-layered.cjs +142 -142
- package/dist/hero-shared-inbox-layered.js +142 -142
- package/dist/hero-software-growth-video-dialog.cjs +142 -142
- package/dist/hero-software-growth-video-dialog.js +142 -142
- package/dist/hero-spiral-pattern-cards.cjs +174 -174
- package/dist/hero-spiral-pattern-cards.js +174 -174
- package/dist/hero-split-geometric-shapes.cjs +142 -142
- package/dist/hero-split-geometric-shapes.js +142 -142
- package/dist/hero-startup-launch-cta.cjs +174 -174
- package/dist/hero-startup-launch-cta.js +174 -174
- package/dist/hero-stats-social-proof.cjs +174 -174
- package/dist/hero-stats-social-proof.js +174 -174
- package/dist/hero-task-timer-animated.cjs +142 -142
- package/dist/hero-task-timer-animated.js +142 -142
- package/dist/hero-testimonial-image-grid.cjs +142 -142
- package/dist/hero-testimonial-image-grid.js +142 -142
- package/dist/hero-therapy-testimonial-grid.cjs +142 -142
- package/dist/hero-therapy-testimonial-grid.js +142 -142
- package/dist/hero-ui-library-showcase.cjs +142 -142
- package/dist/hero-ui-library-showcase.js +142 -142
- package/dist/hero-video-background-dark.cjs +174 -174
- package/dist/hero-video-background-dark.js +174 -174
- package/dist/hero-video-dialog-gradient.cjs +142 -142
- package/dist/hero-video-dialog-gradient.js +142 -142
- package/dist/hero-video-overlay-stars.cjs +142 -142
- package/dist/hero-video-overlay-stars.js +142 -142
- package/dist/hero-welcome-asymmetric-images.cjs +142 -142
- package/dist/hero-welcome-asymmetric-images.js +142 -142
- package/dist/index.cjs +725 -1380
- package/dist/index.d.cts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +634 -1288
- package/dist/registry.cjs +2201 -2827
- package/dist/registry.js +948 -1574
- package/dist/testimonials-masonry-grid.cjs +142 -142
- package/dist/testimonials-masonry-grid.js +142 -142
- package/dist/testimonials-stats-header.cjs +159 -159
- package/dist/testimonials-stats-header.js +159 -159
- package/package.json +4 -7
- package/dist/geo-map.cjs +0 -1117
- package/dist/geo-map.d.cts +0 -92
- package/dist/geo-map.d.ts +0 -92
- package/dist/geo-map.js +0 -1095
|
@@ -501,6 +501,180 @@ var Section = React4__namespace.default.forwardRef(
|
|
|
501
501
|
}
|
|
502
502
|
);
|
|
503
503
|
Section.displayName = "Section";
|
|
504
|
+
var baseStyles = [
|
|
505
|
+
// Layout
|
|
506
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap shrink-0",
|
|
507
|
+
// Typography - using CSS variables with sensible defaults
|
|
508
|
+
"font-[var(--button-font-family,inherit)]",
|
|
509
|
+
"font-[var(--button-font-weight,500)]",
|
|
510
|
+
"tracking-[var(--button-letter-spacing,0)]",
|
|
511
|
+
"leading-[var(--button-line-height,1.25)]",
|
|
512
|
+
"[text-transform:var(--button-text-transform,none)]",
|
|
513
|
+
"text-sm",
|
|
514
|
+
// Border radius
|
|
515
|
+
"rounded-[var(--button-radius,var(--radius,0.375rem))]",
|
|
516
|
+
// Smooth transition - using [transition:...] to set full shorthand property (not just transition-property)
|
|
517
|
+
"[transition:var(--button-transition,all_250ms_cubic-bezier(0.4,0,0.2,1))]",
|
|
518
|
+
// Box shadow (master level) - using [box-shadow:...] for complex multi-value shadows
|
|
519
|
+
"[box-shadow:var(--button-shadow,none)]",
|
|
520
|
+
"hover:[box-shadow:var(--button-shadow-hover,var(--button-shadow,none))]",
|
|
521
|
+
// Disabled state
|
|
522
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
523
|
+
// SVG handling
|
|
524
|
+
"[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",
|
|
525
|
+
// Focus styles
|
|
526
|
+
"outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
527
|
+
// Invalid state
|
|
528
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
529
|
+
].join(" ");
|
|
530
|
+
var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
531
|
+
variants: {
|
|
532
|
+
variant: {
|
|
533
|
+
// Default (Primary) variant - full customization
|
|
534
|
+
default: [
|
|
535
|
+
"bg-[var(--button-default-bg,hsl(var(--primary)))]",
|
|
536
|
+
"text-[var(--button-default-fg,hsl(var(--primary-foreground)))]",
|
|
537
|
+
"border-[length:var(--button-default-border-width,0px)]",
|
|
538
|
+
"border-[color:var(--button-default-border,transparent)]",
|
|
539
|
+
"[box-shadow:var(--button-default-shadow,var(--button-shadow,none))]",
|
|
540
|
+
"hover:bg-[var(--button-default-hover-bg,hsl(var(--primary)/0.9))]",
|
|
541
|
+
"hover:text-[var(--button-default-hover-fg,var(--button-default-fg,hsl(var(--primary-foreground))))]",
|
|
542
|
+
"hover:border-[color:var(--button-default-hover-border,var(--button-default-border,transparent))]",
|
|
543
|
+
"hover:[box-shadow:var(--button-default-shadow-hover,var(--button-shadow-hover,var(--button-default-shadow,var(--button-shadow,none))))]"
|
|
544
|
+
].join(" "),
|
|
545
|
+
// Destructive variant - full customization
|
|
546
|
+
destructive: [
|
|
547
|
+
"bg-[var(--button-destructive-bg,hsl(var(--destructive)))]",
|
|
548
|
+
"text-[var(--button-destructive-fg,white)]",
|
|
549
|
+
"border-[length:var(--button-destructive-border-width,0px)]",
|
|
550
|
+
"border-[color:var(--button-destructive-border,transparent)]",
|
|
551
|
+
"[box-shadow:var(--button-destructive-shadow,var(--button-shadow,none))]",
|
|
552
|
+
"hover:bg-[var(--button-destructive-hover-bg,hsl(var(--destructive)/0.9))]",
|
|
553
|
+
"hover:text-[var(--button-destructive-hover-fg,var(--button-destructive-fg,white))]",
|
|
554
|
+
"hover:border-[color:var(--button-destructive-hover-border,var(--button-destructive-border,transparent))]",
|
|
555
|
+
"hover:[box-shadow:var(--button-destructive-shadow-hover,var(--button-shadow-hover,var(--button-destructive-shadow,var(--button-shadow,none))))]",
|
|
556
|
+
"focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
|
|
557
|
+
"dark:bg-destructive/60"
|
|
558
|
+
].join(" "),
|
|
559
|
+
// Outline variant - full customization with proper border handling
|
|
560
|
+
outline: [
|
|
561
|
+
"bg-[var(--button-outline-bg,hsl(var(--background)))]",
|
|
562
|
+
"text-[var(--button-outline-fg,inherit)]",
|
|
563
|
+
"border-[length:var(--button-outline-border-width,1px)]",
|
|
564
|
+
"border-[color:var(--button-outline-border,hsl(var(--border)))]",
|
|
565
|
+
"[box-shadow:var(--button-outline-shadow,var(--button-shadow,0_1px_2px_0_rgb(0_0_0/0.05)))]",
|
|
566
|
+
"hover:bg-[var(--button-outline-hover-bg,hsl(var(--accent)))]",
|
|
567
|
+
"hover:text-[var(--button-outline-hover-fg,hsl(var(--accent-foreground)))]",
|
|
568
|
+
"hover:border-[color:var(--button-outline-hover-border,var(--button-outline-border,hsl(var(--border))))]",
|
|
569
|
+
"hover:[box-shadow:var(--button-outline-shadow-hover,var(--button-shadow-hover,var(--button-outline-shadow,var(--button-shadow,none))))]",
|
|
570
|
+
"dark:bg-input/30 dark:border-input dark:hover:bg-input/50"
|
|
571
|
+
].join(" "),
|
|
572
|
+
// Secondary variant - full customization
|
|
573
|
+
secondary: [
|
|
574
|
+
"bg-[var(--button-secondary-bg,hsl(var(--secondary)))]",
|
|
575
|
+
"text-[var(--button-secondary-fg,hsl(var(--secondary-foreground)))]",
|
|
576
|
+
"border-[length:var(--button-secondary-border-width,0px)]",
|
|
577
|
+
"border-[color:var(--button-secondary-border,transparent)]",
|
|
578
|
+
"[box-shadow:var(--button-secondary-shadow,var(--button-shadow,none))]",
|
|
579
|
+
"hover:bg-[var(--button-secondary-hover-bg,hsl(var(--secondary)/0.8))]",
|
|
580
|
+
"hover:text-[var(--button-secondary-hover-fg,var(--button-secondary-fg,hsl(var(--secondary-foreground))))]",
|
|
581
|
+
"hover:border-[color:var(--button-secondary-hover-border,var(--button-secondary-border,transparent))]",
|
|
582
|
+
"hover:[box-shadow:var(--button-secondary-shadow-hover,var(--button-shadow-hover,var(--button-secondary-shadow,var(--button-shadow,none))))]"
|
|
583
|
+
].join(" "),
|
|
584
|
+
// Ghost variant - full customization
|
|
585
|
+
ghost: [
|
|
586
|
+
"bg-[var(--button-ghost-bg,transparent)]",
|
|
587
|
+
"text-[var(--button-ghost-fg,inherit)]",
|
|
588
|
+
"border-[length:var(--button-ghost-border-width,0px)]",
|
|
589
|
+
"border-[color:var(--button-ghost-border,transparent)]",
|
|
590
|
+
"[box-shadow:var(--button-ghost-shadow,var(--button-shadow,none))]",
|
|
591
|
+
"hover:bg-[var(--button-ghost-hover-bg,hsl(var(--accent)))]",
|
|
592
|
+
"hover:text-[var(--button-ghost-hover-fg,hsl(var(--accent-foreground)))]",
|
|
593
|
+
"hover:border-[color:var(--button-ghost-hover-border,var(--button-ghost-border,transparent))]",
|
|
594
|
+
"hover:[box-shadow:var(--button-ghost-shadow-hover,var(--button-shadow-hover,var(--button-ghost-shadow,var(--button-shadow,none))))]",
|
|
595
|
+
"dark:hover:bg-accent/50"
|
|
596
|
+
].join(" "),
|
|
597
|
+
// Link variant - full customization
|
|
598
|
+
link: [
|
|
599
|
+
"bg-[var(--button-link-bg,transparent)]",
|
|
600
|
+
"text-[var(--button-link-fg,hsl(var(--primary)))]",
|
|
601
|
+
"border-[length:var(--button-link-border-width,0px)]",
|
|
602
|
+
"border-[color:var(--button-link-border,transparent)]",
|
|
603
|
+
"[box-shadow:var(--button-link-shadow,none)]",
|
|
604
|
+
"hover:bg-[var(--button-link-hover-bg,transparent)]",
|
|
605
|
+
"hover:text-[var(--button-link-hover-fg,var(--button-link-fg,hsl(var(--primary))))]",
|
|
606
|
+
"hover:[box-shadow:var(--button-link-shadow-hover,none)]",
|
|
607
|
+
"underline-offset-4 hover:underline"
|
|
608
|
+
].join(" ")
|
|
609
|
+
},
|
|
610
|
+
size: {
|
|
611
|
+
default: [
|
|
612
|
+
"h-[var(--button-height-md,2.25rem)]",
|
|
613
|
+
"px-[var(--button-padding-x-md,1rem)]",
|
|
614
|
+
"py-[var(--button-padding-y-md,0.5rem)]",
|
|
615
|
+
"has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
|
|
616
|
+
].join(" "),
|
|
617
|
+
sm: [
|
|
618
|
+
"h-[var(--button-height-sm,2rem)]",
|
|
619
|
+
"px-[var(--button-padding-x-sm,0.75rem)]",
|
|
620
|
+
"py-[var(--button-padding-y-sm,0.25rem)]",
|
|
621
|
+
"gap-1.5",
|
|
622
|
+
"has-[>svg]:px-[calc(var(--button-padding-x-sm,0.75rem)*0.83)]"
|
|
623
|
+
].join(" "),
|
|
624
|
+
md: [
|
|
625
|
+
"h-[var(--button-height-md,2.25rem)]",
|
|
626
|
+
"px-[var(--button-padding-x-md,1rem)]",
|
|
627
|
+
"py-[var(--button-padding-y-md,0.5rem)]",
|
|
628
|
+
"has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
|
|
629
|
+
].join(" "),
|
|
630
|
+
lg: [
|
|
631
|
+
"h-[var(--button-height-lg,2.5rem)]",
|
|
632
|
+
"px-[var(--button-padding-x-lg,1.5rem)]",
|
|
633
|
+
"py-[var(--button-padding-y-lg,0.5rem)]",
|
|
634
|
+
"has-[>svg]:px-[calc(var(--button-padding-x-lg,1.5rem)*0.67)]"
|
|
635
|
+
].join(" "),
|
|
636
|
+
icon: "size-[var(--button-height-md,2.25rem)]",
|
|
637
|
+
"icon-sm": "size-[var(--button-height-sm,2rem)]",
|
|
638
|
+
"icon-lg": "size-[var(--button-height-lg,2.5rem)]"
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
defaultVariants: {
|
|
642
|
+
variant: "default",
|
|
643
|
+
size: "default"
|
|
644
|
+
}
|
|
645
|
+
});
|
|
646
|
+
var badgeVariants = classVarianceAuthority.cva(
|
|
647
|
+
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
648
|
+
{
|
|
649
|
+
variants: {
|
|
650
|
+
variant: {
|
|
651
|
+
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
652
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
653
|
+
destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
654
|
+
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
defaultVariants: {
|
|
658
|
+
variant: "default"
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
);
|
|
662
|
+
function Badge({
|
|
663
|
+
className,
|
|
664
|
+
variant,
|
|
665
|
+
asChild = false,
|
|
666
|
+
...props
|
|
667
|
+
}) {
|
|
668
|
+
const Comp = asChild ? reactSlot.Slot : "span";
|
|
669
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
670
|
+
Comp,
|
|
671
|
+
{
|
|
672
|
+
"data-slot": "badge",
|
|
673
|
+
className: cn(badgeVariants({ variant }), className),
|
|
674
|
+
...props
|
|
675
|
+
}
|
|
676
|
+
);
|
|
677
|
+
}
|
|
504
678
|
function normalizePhoneNumber(input) {
|
|
505
679
|
const trimmed = input.trim();
|
|
506
680
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -679,148 +853,6 @@ function useNavigation({
|
|
|
679
853
|
handleClick
|
|
680
854
|
};
|
|
681
855
|
}
|
|
682
|
-
var baseStyles = [
|
|
683
|
-
// Layout
|
|
684
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap shrink-0",
|
|
685
|
-
// Typography - using CSS variables with sensible defaults
|
|
686
|
-
"font-[var(--button-font-family,inherit)]",
|
|
687
|
-
"font-[var(--button-font-weight,500)]",
|
|
688
|
-
"tracking-[var(--button-letter-spacing,0)]",
|
|
689
|
-
"leading-[var(--button-line-height,1.25)]",
|
|
690
|
-
"[text-transform:var(--button-text-transform,none)]",
|
|
691
|
-
"text-sm",
|
|
692
|
-
// Border radius
|
|
693
|
-
"rounded-[var(--button-radius,var(--radius,0.375rem))]",
|
|
694
|
-
// Smooth transition - using [transition:...] to set full shorthand property (not just transition-property)
|
|
695
|
-
"[transition:var(--button-transition,all_250ms_cubic-bezier(0.4,0,0.2,1))]",
|
|
696
|
-
// Box shadow (master level) - using [box-shadow:...] for complex multi-value shadows
|
|
697
|
-
"[box-shadow:var(--button-shadow,none)]",
|
|
698
|
-
"hover:[box-shadow:var(--button-shadow-hover,var(--button-shadow,none))]",
|
|
699
|
-
// Disabled state
|
|
700
|
-
"disabled:pointer-events-none disabled:opacity-50",
|
|
701
|
-
// SVG handling
|
|
702
|
-
"[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",
|
|
703
|
-
// Focus styles
|
|
704
|
-
"outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
705
|
-
// Invalid state
|
|
706
|
-
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
|
|
707
|
-
].join(" ");
|
|
708
|
-
var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
709
|
-
variants: {
|
|
710
|
-
variant: {
|
|
711
|
-
// Default (Primary) variant - full customization
|
|
712
|
-
default: [
|
|
713
|
-
"bg-[var(--button-default-bg,hsl(var(--primary)))]",
|
|
714
|
-
"text-[var(--button-default-fg,hsl(var(--primary-foreground)))]",
|
|
715
|
-
"border-[length:var(--button-default-border-width,0px)]",
|
|
716
|
-
"border-[color:var(--button-default-border,transparent)]",
|
|
717
|
-
"[box-shadow:var(--button-default-shadow,var(--button-shadow,none))]",
|
|
718
|
-
"hover:bg-[var(--button-default-hover-bg,hsl(var(--primary)/0.9))]",
|
|
719
|
-
"hover:text-[var(--button-default-hover-fg,var(--button-default-fg,hsl(var(--primary-foreground))))]",
|
|
720
|
-
"hover:border-[color:var(--button-default-hover-border,var(--button-default-border,transparent))]",
|
|
721
|
-
"hover:[box-shadow:var(--button-default-shadow-hover,var(--button-shadow-hover,var(--button-default-shadow,var(--button-shadow,none))))]"
|
|
722
|
-
].join(" "),
|
|
723
|
-
// Destructive variant - full customization
|
|
724
|
-
destructive: [
|
|
725
|
-
"bg-[var(--button-destructive-bg,hsl(var(--destructive)))]",
|
|
726
|
-
"text-[var(--button-destructive-fg,white)]",
|
|
727
|
-
"border-[length:var(--button-destructive-border-width,0px)]",
|
|
728
|
-
"border-[color:var(--button-destructive-border,transparent)]",
|
|
729
|
-
"[box-shadow:var(--button-destructive-shadow,var(--button-shadow,none))]",
|
|
730
|
-
"hover:bg-[var(--button-destructive-hover-bg,hsl(var(--destructive)/0.9))]",
|
|
731
|
-
"hover:text-[var(--button-destructive-hover-fg,var(--button-destructive-fg,white))]",
|
|
732
|
-
"hover:border-[color:var(--button-destructive-hover-border,var(--button-destructive-border,transparent))]",
|
|
733
|
-
"hover:[box-shadow:var(--button-destructive-shadow-hover,var(--button-shadow-hover,var(--button-destructive-shadow,var(--button-shadow,none))))]",
|
|
734
|
-
"focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
|
|
735
|
-
"dark:bg-destructive/60"
|
|
736
|
-
].join(" "),
|
|
737
|
-
// Outline variant - full customization with proper border handling
|
|
738
|
-
outline: [
|
|
739
|
-
"bg-[var(--button-outline-bg,hsl(var(--background)))]",
|
|
740
|
-
"text-[var(--button-outline-fg,inherit)]",
|
|
741
|
-
"border-[length:var(--button-outline-border-width,1px)]",
|
|
742
|
-
"border-[color:var(--button-outline-border,hsl(var(--border)))]",
|
|
743
|
-
"[box-shadow:var(--button-outline-shadow,var(--button-shadow,0_1px_2px_0_rgb(0_0_0/0.05)))]",
|
|
744
|
-
"hover:bg-[var(--button-outline-hover-bg,hsl(var(--accent)))]",
|
|
745
|
-
"hover:text-[var(--button-outline-hover-fg,hsl(var(--accent-foreground)))]",
|
|
746
|
-
"hover:border-[color:var(--button-outline-hover-border,var(--button-outline-border,hsl(var(--border))))]",
|
|
747
|
-
"hover:[box-shadow:var(--button-outline-shadow-hover,var(--button-shadow-hover,var(--button-outline-shadow,var(--button-shadow,none))))]",
|
|
748
|
-
"dark:bg-input/30 dark:border-input dark:hover:bg-input/50"
|
|
749
|
-
].join(" "),
|
|
750
|
-
// Secondary variant - full customization
|
|
751
|
-
secondary: [
|
|
752
|
-
"bg-[var(--button-secondary-bg,hsl(var(--secondary)))]",
|
|
753
|
-
"text-[var(--button-secondary-fg,hsl(var(--secondary-foreground)))]",
|
|
754
|
-
"border-[length:var(--button-secondary-border-width,0px)]",
|
|
755
|
-
"border-[color:var(--button-secondary-border,transparent)]",
|
|
756
|
-
"[box-shadow:var(--button-secondary-shadow,var(--button-shadow,none))]",
|
|
757
|
-
"hover:bg-[var(--button-secondary-hover-bg,hsl(var(--secondary)/0.8))]",
|
|
758
|
-
"hover:text-[var(--button-secondary-hover-fg,var(--button-secondary-fg,hsl(var(--secondary-foreground))))]",
|
|
759
|
-
"hover:border-[color:var(--button-secondary-hover-border,var(--button-secondary-border,transparent))]",
|
|
760
|
-
"hover:[box-shadow:var(--button-secondary-shadow-hover,var(--button-shadow-hover,var(--button-secondary-shadow,var(--button-shadow,none))))]"
|
|
761
|
-
].join(" "),
|
|
762
|
-
// Ghost variant - full customization
|
|
763
|
-
ghost: [
|
|
764
|
-
"bg-[var(--button-ghost-bg,transparent)]",
|
|
765
|
-
"text-[var(--button-ghost-fg,inherit)]",
|
|
766
|
-
"border-[length:var(--button-ghost-border-width,0px)]",
|
|
767
|
-
"border-[color:var(--button-ghost-border,transparent)]",
|
|
768
|
-
"[box-shadow:var(--button-ghost-shadow,var(--button-shadow,none))]",
|
|
769
|
-
"hover:bg-[var(--button-ghost-hover-bg,hsl(var(--accent)))]",
|
|
770
|
-
"hover:text-[var(--button-ghost-hover-fg,hsl(var(--accent-foreground)))]",
|
|
771
|
-
"hover:border-[color:var(--button-ghost-hover-border,var(--button-ghost-border,transparent))]",
|
|
772
|
-
"hover:[box-shadow:var(--button-ghost-shadow-hover,var(--button-shadow-hover,var(--button-ghost-shadow,var(--button-shadow,none))))]",
|
|
773
|
-
"dark:hover:bg-accent/50"
|
|
774
|
-
].join(" "),
|
|
775
|
-
// Link variant - full customization
|
|
776
|
-
link: [
|
|
777
|
-
"bg-[var(--button-link-bg,transparent)]",
|
|
778
|
-
"text-[var(--button-link-fg,hsl(var(--primary)))]",
|
|
779
|
-
"border-[length:var(--button-link-border-width,0px)]",
|
|
780
|
-
"border-[color:var(--button-link-border,transparent)]",
|
|
781
|
-
"[box-shadow:var(--button-link-shadow,none)]",
|
|
782
|
-
"hover:bg-[var(--button-link-hover-bg,transparent)]",
|
|
783
|
-
"hover:text-[var(--button-link-hover-fg,var(--button-link-fg,hsl(var(--primary))))]",
|
|
784
|
-
"hover:[box-shadow:var(--button-link-shadow-hover,none)]",
|
|
785
|
-
"underline-offset-4 hover:underline"
|
|
786
|
-
].join(" ")
|
|
787
|
-
},
|
|
788
|
-
size: {
|
|
789
|
-
default: [
|
|
790
|
-
"h-[var(--button-height-md,2.25rem)]",
|
|
791
|
-
"px-[var(--button-padding-x-md,1rem)]",
|
|
792
|
-
"py-[var(--button-padding-y-md,0.5rem)]",
|
|
793
|
-
"has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
|
|
794
|
-
].join(" "),
|
|
795
|
-
sm: [
|
|
796
|
-
"h-[var(--button-height-sm,2rem)]",
|
|
797
|
-
"px-[var(--button-padding-x-sm,0.75rem)]",
|
|
798
|
-
"py-[var(--button-padding-y-sm,0.25rem)]",
|
|
799
|
-
"gap-1.5",
|
|
800
|
-
"has-[>svg]:px-[calc(var(--button-padding-x-sm,0.75rem)*0.83)]"
|
|
801
|
-
].join(" "),
|
|
802
|
-
md: [
|
|
803
|
-
"h-[var(--button-height-md,2.25rem)]",
|
|
804
|
-
"px-[var(--button-padding-x-md,1rem)]",
|
|
805
|
-
"py-[var(--button-padding-y-md,0.5rem)]",
|
|
806
|
-
"has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
|
|
807
|
-
].join(" "),
|
|
808
|
-
lg: [
|
|
809
|
-
"h-[var(--button-height-lg,2.5rem)]",
|
|
810
|
-
"px-[var(--button-padding-x-lg,1.5rem)]",
|
|
811
|
-
"py-[var(--button-padding-y-lg,0.5rem)]",
|
|
812
|
-
"has-[>svg]:px-[calc(var(--button-padding-x-lg,1.5rem)*0.67)]"
|
|
813
|
-
].join(" "),
|
|
814
|
-
icon: "size-[var(--button-height-md,2.25rem)]",
|
|
815
|
-
"icon-sm": "size-[var(--button-height-sm,2rem)]",
|
|
816
|
-
"icon-lg": "size-[var(--button-height-lg,2.5rem)]"
|
|
817
|
-
}
|
|
818
|
-
},
|
|
819
|
-
defaultVariants: {
|
|
820
|
-
variant: "default",
|
|
821
|
-
size: "default"
|
|
822
|
-
}
|
|
823
|
-
});
|
|
824
856
|
var Pressable = React4__namespace.forwardRef(
|
|
825
857
|
({
|
|
826
858
|
children,
|
|
@@ -919,38 +951,6 @@ var Pressable = React4__namespace.forwardRef(
|
|
|
919
951
|
}
|
|
920
952
|
);
|
|
921
953
|
Pressable.displayName = "Pressable";
|
|
922
|
-
var badgeVariants = classVarianceAuthority.cva(
|
|
923
|
-
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
924
|
-
{
|
|
925
|
-
variants: {
|
|
926
|
-
variant: {
|
|
927
|
-
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
928
|
-
secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
929
|
-
destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
930
|
-
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
931
|
-
}
|
|
932
|
-
},
|
|
933
|
-
defaultVariants: {
|
|
934
|
-
variant: "default"
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
);
|
|
938
|
-
function Badge({
|
|
939
|
-
className,
|
|
940
|
-
variant,
|
|
941
|
-
asChild = false,
|
|
942
|
-
...props
|
|
943
|
-
}) {
|
|
944
|
-
const Comp = asChild ? reactSlot.Slot : "span";
|
|
945
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
946
|
-
Comp,
|
|
947
|
-
{
|
|
948
|
-
"data-slot": "badge",
|
|
949
|
-
className: cn(badgeVariants({ variant }), className),
|
|
950
|
-
...props
|
|
951
|
-
}
|
|
952
|
-
);
|
|
953
|
-
}
|
|
954
954
|
function TextInner({ as, className, children, ...props }, ref) {
|
|
955
955
|
const Component = as || "span";
|
|
956
956
|
return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: cn(className), ...props, children });
|