@sikka/hawa 0.27.23-next → 0.28.0-next

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 (47) hide show
  1. package/dist/blocks/auth/index.d.mts +29 -3
  2. package/dist/blocks/auth/index.d.ts +29 -3
  3. package/dist/blocks/auth/index.js +385 -382
  4. package/dist/blocks/auth/index.mjs +314 -308
  5. package/dist/blocks/feedback/index.d.mts +1 -1
  6. package/dist/blocks/feedback/index.d.ts +1 -1
  7. package/dist/blocks/feedback/index.mjs +5 -5
  8. package/dist/blocks/index.d.mts +28 -2
  9. package/dist/blocks/index.d.ts +28 -2
  10. package/dist/blocks/index.js +1244 -1174
  11. package/dist/blocks/index.mjs +19 -15
  12. package/dist/blocks/misc/index.d.mts +1 -1
  13. package/dist/blocks/misc/index.d.ts +1 -1
  14. package/dist/blocks/misc/index.js +87 -20
  15. package/dist/blocks/misc/index.mjs +92 -25
  16. package/dist/blocks/pricing/index.d.mts +1 -1
  17. package/dist/blocks/pricing/index.d.ts +1 -1
  18. package/dist/blocks/pricing/index.mjs +4 -4
  19. package/dist/{chunk-W5I4VB5Z.mjs → chunk-4F7LNY2V.mjs} +1 -1
  20. package/dist/{chunk-MMOEFJSP.mjs → chunk-6HOSGMTV.mjs} +1 -1
  21. package/dist/{chunk-M6XGGAPQ.mjs → chunk-KZCOE6V3.mjs} +1 -1
  22. package/dist/{chunk-EFWL3FFK.mjs → chunk-N5J4XNGU.mjs} +1 -1
  23. package/dist/{chunk-DUL6C2S2.mjs → chunk-NK7TELIV.mjs} +1 -1
  24. package/dist/{chunk-ZOWDRDAM.mjs → chunk-R2NAPFAZ.mjs} +221 -221
  25. package/dist/{chunk-7QEBDFLT.mjs → chunk-SYZ5JMYJ.mjs} +2 -4
  26. package/dist/{chunk-7CYXEZDV.mjs → chunk-TIQERSM3.mjs} +1 -1
  27. package/dist/{chunk-5UYZN5SQ.mjs → chunk-Y3HUZNCH.mjs} +88 -21
  28. package/dist/{chunk-DQHPOUHR.mjs → chunk-ZV3KYZ5G.mjs} +1 -1
  29. package/dist/elements/index.d.mts +5 -4
  30. package/dist/elements/index.d.ts +5 -4
  31. package/dist/elements/index.js +87 -20
  32. package/dist/elements/index.mjs +3 -3
  33. package/dist/index.css +29 -0
  34. package/dist/index.d.mts +54 -27
  35. package/dist/index.d.ts +54 -27
  36. package/dist/index.js +105 -33
  37. package/dist/index.mjs +104 -33
  38. package/dist/layout/index.mjs +2 -2
  39. package/dist/tabs/index.d.mts +2 -1
  40. package/dist/tabs/index.d.ts +2 -1
  41. package/dist/tabs/index.js +89 -20
  42. package/dist/tabs/index.js.map +1 -1
  43. package/dist/tabs/index.mjs +89 -20
  44. package/dist/tabs/index.mjs.map +1 -1
  45. package/dist/{textTypes-u4OSE-rn.d.ts → textTypes-ah2JJr8v.d.mts} +1 -1
  46. package/dist/{textTypes-u4OSE-rn.d.mts → textTypes-ah2JJr8v.d.ts} +1 -1
  47. package/package.json +2 -1
@@ -5,7 +5,7 @@ import {
5
5
  Skeleton,
6
6
  Tooltip,
7
7
  cn
8
- } from "./chunk-ZOWDRDAM.mjs";
8
+ } from "./chunk-R2NAPFAZ.mjs";
9
9
 
10
10
  // elements/alert/Alert.tsx
11
11
  import React, { useRef, useState, useEffect } from "react";
@@ -2804,31 +2804,100 @@ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
2804
2804
  // elements/tabs/Tabs.tsx
2805
2805
  import * as React13 from "react";
2806
2806
  import * as TabsPrimitive from "@radix-ui/react-tabs";
2807
- var TabsContext = React13.createContext({ orientation: "vertical" });
2808
- var Tabs = React13.forwardRef(
2809
- ({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React13.createElement(
2810
- TabsPrimitive.Root,
2807
+ import { tv } from "tailwind-variants";
2808
+ var tabsListVariant = tv({
2809
+ base: "",
2810
+ variants: {
2811
+ variant: {
2812
+ default: "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-border hawa-bg-muted hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
2813
+ underlined: "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
2814
+ underlined_tabs: "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-text-muted-foreground"
2815
+ },
2816
+ orientation: {
2817
+ horizontal: "",
2818
+ vertical: ""
2819
+ }
2820
+ },
2821
+ compoundVariants: [
2811
2822
  {
2812
- ref,
2813
- className: cn(
2814
- "hawa-flex hawa-gap-2",
2815
- orientation === "vertical" ? "hawa-flex-row" : "hawa-flex-col",
2816
- className
2817
- ),
2818
- ...props
2823
+ variant: "underlined_tabs",
2824
+ orientation: "vertical",
2825
+ class: "hawa-border-e-2 hawa-border-e-primary"
2819
2826
  },
2820
- /* @__PURE__ */ React13.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
2821
- )
2822
- );
2827
+ {
2828
+ variant: "underlined_tabs",
2829
+ orientation: "horizontal",
2830
+ class: "hawa-border-b-2 hawa-border-b-primary"
2831
+ }
2832
+ ],
2833
+ defaultVariants: {
2834
+ variant: "default",
2835
+ orientation: "horizontal"
2836
+ }
2837
+ });
2838
+ var tabsTriggerVariant = tv({
2839
+ base: "",
2840
+ variants: {
2841
+ variant: {
2842
+ default: "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-border hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground data-[state=active]:hawa-shadow-sm dark:hawa-border-primary/10",
2843
+ underlined: "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-rounded-none hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
2844
+ underlined_tabs: "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 hawa-bg-primary/10 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground dark:hawa-border-primary/10"
2845
+ },
2846
+ orientation: {
2847
+ horizontal: "",
2848
+ vertical: ""
2849
+ }
2850
+ },
2851
+ compoundVariants: [
2852
+ {
2853
+ variant: "underlined",
2854
+ orientation: "horizontal",
2855
+ class: "data-[state=active]:hawa-border-b-primary hawa-border-b hawa-border-b-2"
2856
+ },
2857
+ {
2858
+ variant: "underlined",
2859
+ orientation: "vertical",
2860
+ class: "data-[state=active]:hawa-border-e-primary hawa-border-e hawa-border-e-2"
2861
+ },
2862
+ {
2863
+ variant: "underlined_tabs",
2864
+ orientation: "horizontal",
2865
+ class: "hawa-rounded-b-none"
2866
+ },
2867
+ {
2868
+ variant: "underlined_tabs",
2869
+ orientation: "vertical",
2870
+ class: "hawa-rounded-e-none"
2871
+ }
2872
+ ],
2873
+ defaultVariants: {
2874
+ variant: "default",
2875
+ orientation: "horizontal"
2876
+ }
2877
+ });
2878
+ var TabsContext = React13.createContext({ orientation: "horizontal", variant: "default" });
2879
+ var Tabs = React13.forwardRef(({ className, orientation, variant = "default", ...props }, ref) => /* @__PURE__ */ React13.createElement(
2880
+ TabsPrimitive.Root,
2881
+ {
2882
+ ref,
2883
+ className: cn(
2884
+ "hawa-flex hawa-gap-2",
2885
+ orientation === "vertical" ? "hawa-flex-row" : "hawa-flex-col",
2886
+ className
2887
+ ),
2888
+ ...props
2889
+ },
2890
+ /* @__PURE__ */ React13.createElement(TabsContext.Provider, { value: { orientation, variant } }, props.children)
2891
+ ));
2823
2892
  Tabs.displayName = TabsPrimitive.Root.displayName;
2824
2893
  var TabsList = React13.forwardRef(({ className, ...props }, ref) => {
2825
- const { orientation } = React13.useContext(TabsContext);
2894
+ const { orientation, variant } = React13.useContext(TabsContext);
2826
2895
  return /* @__PURE__ */ React13.createElement(
2827
2896
  TabsPrimitive.List,
2828
2897
  {
2829
2898
  ref,
2830
2899
  className: cn(
2831
- "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-border hawa-bg-muted hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
2900
+ tabsListVariant({ variant, orientation }),
2832
2901
  orientation === "vertical" ? "hawa-flex-col" : "hawa-flex-row",
2833
2902
  className
2834
2903
  ),
@@ -2838,14 +2907,12 @@ var TabsList = React13.forwardRef(({ className, ...props }, ref) => {
2838
2907
  });
2839
2908
  TabsList.displayName = TabsPrimitive.List.displayName;
2840
2909
  var TabsTrigger = React13.forwardRef(({ className, chipProps, ...props }, ref) => {
2910
+ const { orientation, variant } = React13.useContext(TabsContext);
2841
2911
  return /* @__PURE__ */ React13.createElement(
2842
2912
  TabsPrimitive.Trigger,
2843
2913
  {
2844
2914
  ref,
2845
- className: cn(
2846
- "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-border hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground data-[state=active]:hawa-shadow-sm dark:hawa-border-primary/10",
2847
- className
2848
- ),
2915
+ className: cn(tabsTriggerVariant({ variant, orientation }), className),
2849
2916
  ...props
2850
2917
  },
2851
2918
  props.children,
@@ -3,7 +3,7 @@ import {
3
3
  Label,
4
4
  Skeleton,
5
5
  cn
6
- } from "./chunk-7QEBDFLT.mjs";
6
+ } from "./chunk-SYZ5JMYJ.mjs";
7
7
 
8
8
  // elements/select/Select.tsx
9
9
  import React from "react";
@@ -454,8 +454,9 @@ type SortButtonProps = {
454
454
  };
455
455
  declare const SortButton: React__default.FC<SortButtonProps>;
456
456
 
457
+ type TabsVariants = "default" | "underlined" | "underlined_tabs";
457
458
  declare const Tabs: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
458
- orientation?: "vertical" | "horizontal" | undefined;
459
+ variant?: TabsVariants | undefined;
459
460
  } & React.RefAttributes<HTMLDivElement>>;
460
461
  declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
461
462
  declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & {
@@ -498,8 +499,8 @@ type TextFieldTypes = React__default.InputHTMLAttributes<HTMLInputElement> & {
498
499
  declare const Input: React__default.ForwardRefExoticComponent<React__default.InputHTMLAttributes<HTMLInputElement> & {
499
500
  isLoading?: boolean | undefined;
500
501
  containerClassName?: string | undefined;
501
- margin?: "none" | "normal" | "large" | undefined;
502
- width?: "full" | "normal" | "small" | "auto" | undefined;
502
+ margin?: "normal" | "none" | "large" | undefined;
503
+ width?: "normal" | "small" | "full" | "auto" | undefined;
503
504
  /** The label of the input field */
504
505
  label?: any;
505
506
  labelProps?: LabelProps | undefined;
@@ -521,7 +522,7 @@ declare const Input: React__default.ForwardRefExoticComponent<React__default.Inp
521
522
  placeholder?: React__default.ReactNode;
522
523
  /** Show the count of characters left in the input field. Works along with maxLength prop. */
523
524
  showCount?: boolean | undefined;
524
- countPosition?: "top" | "bottom" | "center" | undefined;
525
+ countPosition?: "center" | "top" | "bottom" | undefined;
525
526
  popup?: boolean | undefined;
526
527
  popupContent?: React__default.ReactNode;
527
528
  prefixText?: any;
@@ -454,8 +454,9 @@ type SortButtonProps = {
454
454
  };
455
455
  declare const SortButton: React__default.FC<SortButtonProps>;
456
456
 
457
+ type TabsVariants = "default" | "underlined" | "underlined_tabs";
457
458
  declare const Tabs: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
458
- orientation?: "vertical" | "horizontal" | undefined;
459
+ variant?: TabsVariants | undefined;
459
460
  } & React.RefAttributes<HTMLDivElement>>;
460
461
  declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
461
462
  declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & {
@@ -498,8 +499,8 @@ type TextFieldTypes = React__default.InputHTMLAttributes<HTMLInputElement> & {
498
499
  declare const Input: React__default.ForwardRefExoticComponent<React__default.InputHTMLAttributes<HTMLInputElement> & {
499
500
  isLoading?: boolean | undefined;
500
501
  containerClassName?: string | undefined;
501
- margin?: "none" | "normal" | "large" | undefined;
502
- width?: "full" | "normal" | "small" | "auto" | undefined;
502
+ margin?: "normal" | "none" | "large" | undefined;
503
+ width?: "normal" | "small" | "full" | "auto" | undefined;
503
504
  /** The label of the input field */
504
505
  label?: any;
505
506
  labelProps?: LabelProps | undefined;
@@ -521,7 +522,7 @@ declare const Input: React__default.ForwardRefExoticComponent<React__default.Inp
521
522
  placeholder?: React__default.ReactNode;
522
523
  /** Show the count of characters left in the input field. Works along with maxLength prop. */
523
524
  showCount?: boolean | undefined;
524
- countPosition?: "top" | "bottom" | "center" | undefined;
525
+ countPosition?: "center" | "top" | "bottom" | undefined;
525
526
  popup?: boolean | undefined;
526
527
  popupContent?: React__default.ReactNode;
527
528
  prefixText?: any;
@@ -3826,31 +3826,100 @@ var SortButton = (props) => {
3826
3826
  // elements/tabs/Tabs.tsx
3827
3827
  var React31 = __toESM(require("react"));
3828
3828
  var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"));
3829
- var TabsContext = React31.createContext({ orientation: "vertical" });
3830
- var Tabs = React31.forwardRef(
3831
- ({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React31.createElement(
3832
- TabsPrimitive.Root,
3829
+ var import_tailwind_variants = require("tailwind-variants");
3830
+ var tabsListVariant = (0, import_tailwind_variants.tv)({
3831
+ base: "",
3832
+ variants: {
3833
+ variant: {
3834
+ default: "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-border hawa-bg-muted hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
3835
+ underlined: "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
3836
+ underlined_tabs: "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-text-muted-foreground"
3837
+ },
3838
+ orientation: {
3839
+ horizontal: "",
3840
+ vertical: ""
3841
+ }
3842
+ },
3843
+ compoundVariants: [
3833
3844
  {
3834
- ref,
3835
- className: cn(
3836
- "hawa-flex hawa-gap-2",
3837
- orientation === "vertical" ? "hawa-flex-row" : "hawa-flex-col",
3838
- className
3839
- ),
3840
- ...props
3845
+ variant: "underlined_tabs",
3846
+ orientation: "vertical",
3847
+ class: "hawa-border-e-2 hawa-border-e-primary"
3841
3848
  },
3842
- /* @__PURE__ */ React31.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
3843
- )
3844
- );
3849
+ {
3850
+ variant: "underlined_tabs",
3851
+ orientation: "horizontal",
3852
+ class: "hawa-border-b-2 hawa-border-b-primary"
3853
+ }
3854
+ ],
3855
+ defaultVariants: {
3856
+ variant: "default",
3857
+ orientation: "horizontal"
3858
+ }
3859
+ });
3860
+ var tabsTriggerVariant = (0, import_tailwind_variants.tv)({
3861
+ base: "",
3862
+ variants: {
3863
+ variant: {
3864
+ default: "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-border hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground data-[state=active]:hawa-shadow-sm dark:hawa-border-primary/10",
3865
+ underlined: "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-rounded-none hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
3866
+ underlined_tabs: "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 hawa-bg-primary/10 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground dark:hawa-border-primary/10"
3867
+ },
3868
+ orientation: {
3869
+ horizontal: "",
3870
+ vertical: ""
3871
+ }
3872
+ },
3873
+ compoundVariants: [
3874
+ {
3875
+ variant: "underlined",
3876
+ orientation: "horizontal",
3877
+ class: "data-[state=active]:hawa-border-b-primary hawa-border-b hawa-border-b-2"
3878
+ },
3879
+ {
3880
+ variant: "underlined",
3881
+ orientation: "vertical",
3882
+ class: "data-[state=active]:hawa-border-e-primary hawa-border-e hawa-border-e-2"
3883
+ },
3884
+ {
3885
+ variant: "underlined_tabs",
3886
+ orientation: "horizontal",
3887
+ class: "hawa-rounded-b-none"
3888
+ },
3889
+ {
3890
+ variant: "underlined_tabs",
3891
+ orientation: "vertical",
3892
+ class: "hawa-rounded-e-none"
3893
+ }
3894
+ ],
3895
+ defaultVariants: {
3896
+ variant: "default",
3897
+ orientation: "horizontal"
3898
+ }
3899
+ });
3900
+ var TabsContext = React31.createContext({ orientation: "horizontal", variant: "default" });
3901
+ var Tabs = React31.forwardRef(({ className, orientation, variant = "default", ...props }, ref) => /* @__PURE__ */ React31.createElement(
3902
+ TabsPrimitive.Root,
3903
+ {
3904
+ ref,
3905
+ className: cn(
3906
+ "hawa-flex hawa-gap-2",
3907
+ orientation === "vertical" ? "hawa-flex-row" : "hawa-flex-col",
3908
+ className
3909
+ ),
3910
+ ...props
3911
+ },
3912
+ /* @__PURE__ */ React31.createElement(TabsContext.Provider, { value: { orientation, variant } }, props.children)
3913
+ ));
3845
3914
  Tabs.displayName = TabsPrimitive.Root.displayName;
3846
3915
  var TabsList = React31.forwardRef(({ className, ...props }, ref) => {
3847
- const { orientation } = React31.useContext(TabsContext);
3916
+ const { orientation, variant } = React31.useContext(TabsContext);
3848
3917
  return /* @__PURE__ */ React31.createElement(
3849
3918
  TabsPrimitive.List,
3850
3919
  {
3851
3920
  ref,
3852
3921
  className: cn(
3853
- "hawa-flex hawa-w-fit hawa-flex-wrap hawa-items-center hawa-justify-start hawa-gap-1 hawa-rounded hawa-border hawa-bg-muted hawa-p-1 hawa-text-muted-foreground dark:hawa-border-primary/10",
3922
+ tabsListVariant({ variant, orientation }),
3854
3923
  orientation === "vertical" ? "hawa-flex-col" : "hawa-flex-row",
3855
3924
  className
3856
3925
  ),
@@ -3860,14 +3929,12 @@ var TabsList = React31.forwardRef(({ className, ...props }, ref) => {
3860
3929
  });
3861
3930
  TabsList.displayName = TabsPrimitive.List.displayName;
3862
3931
  var TabsTrigger = React31.forwardRef(({ className, chipProps, ...props }, ref) => {
3932
+ const { orientation, variant } = React31.useContext(TabsContext);
3863
3933
  return /* @__PURE__ */ React31.createElement(
3864
3934
  TabsPrimitive.Trigger,
3865
3935
  {
3866
3936
  ref,
3867
- className: cn(
3868
- "hawa-inline-flex hawa-w-full hawa-flex-1 hawa-select-none hawa-items-center hawa-justify-center hawa-gap-2 hawa-whitespace-nowrap hawa-rounded hawa-border hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-all focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50 data-[state=active]:hawa-bg-primary data-[state=active]:hawa-text-primary-foreground data-[state=active]:hawa-shadow-sm dark:hawa-border-primary/10",
3869
- className
3870
- ),
3937
+ className: cn(tabsTriggerVariant({ variant, orientation }), className),
3871
3938
  ...props
3872
3939
  },
3873
3940
  props.children,
@@ -28,7 +28,7 @@ import {
28
28
  TabsTrigger,
29
29
  Textarea,
30
30
  UncheckMark
31
- } from "../chunk-5UYZN5SQ.mjs";
31
+ } from "../chunk-Y3HUZNCH.mjs";
32
32
  import {
33
33
  Sheet,
34
34
  SheetClose,
@@ -40,7 +40,7 @@ import {
40
40
  SheetPortal,
41
41
  SheetTitle,
42
42
  SheetTrigger
43
- } from "../chunk-7CYXEZDV.mjs";
43
+ } from "../chunk-TIQERSM3.mjs";
44
44
  import {
45
45
  Button,
46
46
  Card,
@@ -74,7 +74,7 @@ import {
74
74
  buttonVariants,
75
75
  calculateLuminance,
76
76
  cn
77
- } from "../chunk-ZOWDRDAM.mjs";
77
+ } from "../chunk-R2NAPFAZ.mjs";
78
78
  import {
79
79
  __require
80
80
  } from "../chunk-4OOSUQZG.mjs";
package/dist/index.css CHANGED
@@ -2024,6 +2024,14 @@ input[type="number"]::-webkit-inner-spin-button,
2024
2024
  border-bottom-right-radius: var(--radius);
2025
2025
  border-bottom-left-radius: var(--radius);
2026
2026
  }
2027
+ .hawa-rounded-b-none {
2028
+ border-bottom-right-radius: 0px;
2029
+ border-bottom-left-radius: 0px;
2030
+ }
2031
+ .hawa-rounded-e-none {
2032
+ border-start-end-radius: 0px;
2033
+ border-end-end-radius: 0px;
2034
+ }
2027
2035
  .hawa-rounded-l {
2028
2036
  border-top-left-radius: var(--radius);
2029
2037
  border-bottom-left-radius: var(--radius);
@@ -2085,6 +2093,12 @@ input[type="number"]::-webkit-inner-spin-button,
2085
2093
  .hawa-border-b-2 {
2086
2094
  border-bottom-width: 2px;
2087
2095
  }
2096
+ .hawa-border-e {
2097
+ border-inline-end-width: 1px;
2098
+ }
2099
+ .hawa-border-e-2 {
2100
+ border-inline-end-width: 2px;
2101
+ }
2088
2102
  .hawa-border-l {
2089
2103
  border-left-width: 1px;
2090
2104
  }
@@ -2141,9 +2155,15 @@ input[type="number"]::-webkit-inner-spin-button,
2141
2155
  border-left-color: transparent;
2142
2156
  border-right-color: transparent;
2143
2157
  }
2158
+ .hawa-border-b-primary {
2159
+ border-bottom-color: hsl(var(--primary));
2160
+ }
2144
2161
  .hawa-border-b-transparent {
2145
2162
  border-bottom-color: transparent;
2146
2163
  }
2164
+ .hawa-border-e-primary {
2165
+ border-inline-end-color: hsl(var(--primary));
2166
+ }
2147
2167
  .hawa-border-l-transparent {
2148
2168
  border-left-color: transparent;
2149
2169
  }
@@ -2547,6 +2567,9 @@ input[type="number"]::-webkit-inner-spin-button,
2547
2567
  .hawa-pb-2 {
2548
2568
  padding-bottom: 0.5rem;
2549
2569
  }
2570
+ .hawa-pb-4 {
2571
+ padding-bottom: 1rem;
2572
+ }
2550
2573
  .hawa-pe-0 {
2551
2574
  padding-inline-end: 0px;
2552
2575
  }
@@ -3568,6 +3591,12 @@ body {
3568
3591
  border-top-left-radius: 0px;
3569
3592
  border-top-right-radius: 0px;
3570
3593
  }
3594
+ .data-\[state\=active\]\:hawa-border-b-primary[data-state=active] {
3595
+ border-bottom-color: hsl(var(--primary));
3596
+ }
3597
+ .data-\[state\=active\]\:hawa-border-e-primary[data-state=active] {
3598
+ border-inline-end-color: hsl(var(--primary));
3599
+ }
3571
3600
  .data-\[active\]\:hawa-bg-accent\/50[data-active] {
3572
3601
  background-color: hsl(var(--accent) / 0.5);
3573
3602
  }
package/dist/index.d.mts CHANGED
@@ -612,8 +612,9 @@ type SortButtonProps = {
612
612
  };
613
613
  declare const SortButton: React__default.FC<SortButtonProps>;
614
614
 
615
+ type TabsVariants = "default" | "underlined" | "underlined_tabs";
615
616
  declare const Tabs: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
616
- orientation?: "vertical" | "horizontal" | undefined;
617
+ variant?: TabsVariants | undefined;
617
618
  } & React$1.RefAttributes<HTMLDivElement>>;
618
619
  declare const TabsList: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
619
620
  declare const TabsTrigger: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & {
@@ -1299,31 +1300,6 @@ type DocsSidebarType = {
1299
1300
  };
1300
1301
  declare const DocsSidebar: React__default.FC<DocsSidebarType>;
1301
1302
 
1302
- type PlanFeature = {
1303
- soon?: boolean;
1304
- included?: boolean;
1305
- text: string;
1306
- hint?: string;
1307
- hintSide?: PositionType;
1308
- };
1309
- type PricingCardProps = {
1310
- direction?: DirectionType;
1311
- features: PlanFeature[];
1312
- endButton?: boolean;
1313
- price: number;
1314
- oldPrice?: number;
1315
- noPrice?: boolean;
1316
- id?: string;
1317
- discount?: string;
1318
- onPlanClicked?: () => void;
1319
- currentPlan?: boolean;
1320
- recommended?: boolean;
1321
- size?: "small" | "medium" | "large";
1322
- isLoadingPrice?: boolean;
1323
- isLoadingCard?: boolean;
1324
- texts: PricingPlanTexts;
1325
- };
1326
-
1327
1303
  type PricingPlanTexts = {
1328
1304
  title?: string;
1329
1305
  subtitle?: string;
@@ -1411,6 +1387,57 @@ type NewPasswordTextsTypes = {
1411
1387
  registerText?: string;
1412
1388
  };
1413
1389
 
1390
+ type AuthButtonsType = {
1391
+ texts?: ThirdPartyAuthTextsTypes;
1392
+ viaGoogle?: boolean;
1393
+ viaTwitter?: boolean;
1394
+ viaGithub?: boolean;
1395
+ viaMicrosoft?: boolean;
1396
+ viaEmail?: boolean;
1397
+ viaPhone?: boolean;
1398
+ viaApple?: boolean;
1399
+ isGoogleLoading?: boolean;
1400
+ isGithubLoading?: boolean;
1401
+ isTwitterLoading?: boolean;
1402
+ isMicrosoftLoading?: boolean;
1403
+ isEmailLoading?: boolean;
1404
+ isPhoneLoading?: boolean;
1405
+ isAppleLoading?: boolean;
1406
+ handleGoogle?: () => void;
1407
+ handleTwitter?: () => void;
1408
+ handleApple?: () => void;
1409
+ handleMicrosoft?: () => void;
1410
+ handleGithub?: () => void;
1411
+ handleEmail?: () => void;
1412
+ handlePhone?: () => void;
1413
+ };
1414
+ declare const AuthButtons: React__default.FC<AuthButtonsType>;
1415
+
1416
+ type PlanFeature = {
1417
+ soon?: boolean;
1418
+ included?: boolean;
1419
+ text: string;
1420
+ hint?: string;
1421
+ hintSide?: PositionType;
1422
+ };
1423
+ type PricingCardProps = {
1424
+ direction?: DirectionType;
1425
+ features: PlanFeature[];
1426
+ endButton?: boolean;
1427
+ price: number;
1428
+ oldPrice?: number;
1429
+ noPrice?: boolean;
1430
+ id?: string;
1431
+ discount?: string;
1432
+ onPlanClicked?: () => void;
1433
+ currentPlan?: boolean;
1434
+ recommended?: boolean;
1435
+ size?: "small" | "medium" | "large";
1436
+ isLoadingPrice?: boolean;
1437
+ isLoadingCard?: boolean;
1438
+ texts: PricingPlanTexts;
1439
+ };
1440
+
1414
1441
  type LoginFormTypes = {
1415
1442
  /** Object containing text labels used throughout the form. */
1416
1443
  texts?: LoginFormTextsTypes;
@@ -1995,4 +2022,4 @@ declare function useTabs(initialTab?: string): {
1995
2022
  handleTabChange: (index: any) => void;
1996
2023
  };
1997
2024
 
1998
- export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, AccordionRoot, AccordionTrigger, ActionCard, AdCard, Alert, Announcement, AppLanding, AppLayout, type AppSidebarItemProps, AppStores, AppTabs, AppTopbar, Avatar, BackToTop, Badge, BadgedComponent, Breadcrumb, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CheckEmail, Checkbox, Chip, type ChipColors, type ChipTypes, CodeBlock, CodeConfirmation, ColorPicker, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ComparingPlans, ContactForm, Copyrights, Count, DataTable, DestroyableCard, Dialog, DialogBody, DialogCarousel, DialogCarouselContent, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogStep, DialogSteps, DialogTitle, DialogTrigger, DocsLayout, DocsSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadio, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FeedbackEmoji, FeedbackForm, FeedbackRating, FileDropzone, FileUploader, HorizontalPricing, Input, InterfaceSettings, ItemCard, Label, type LabelProps, LandingCard, LeadGenerator, LegalTexts, Loading, LoginForm, Logos, type MenuItemType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Navbar, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem$1 as NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, NewPasswordForm, NoPermission, NotFound, Pagination, PasswordInput, PasswordStrengthIndicator, PhoneInput, PinInput, Popover, PopoverContent, PopoverTrigger, PricingCard, PricingPlans, Progress, ProgressCircle, Radio, type RadioOptionsTypes, RegisterForm, ResetPasswordForm, ScrollArea, ScrollBar, ScrollIndicator, Select, type SelectOptionProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarGroup, SidebarItem, SimpleTable, Skeleton, Slider, SortButton, StandardNavigationMenuItem, Stats, StopPropagationWrapper, type SubItem$1 as SubItem, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Testimonial, type TextFieldTypes, Textarea, type TextareaProps, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, type ToasterToastProps, Tooltip, Usage, type UseFocusWithinOptions, type UseMediaQueryOptions, UserReferralSource, buttonVariants, navigationMenuTriggerStyle, reducer, toast, useBreakpoint, useClipboard, useDialogCarousel, useFocusWithin, useIsomorphicEffect, useMediaQuery, useMultiStepDialog, useTabs, useToast, useWindowSize };
2025
+ export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, AccordionRoot, AccordionTrigger, ActionCard, AdCard, Alert, Announcement, AppLanding, AppLayout, type AppSidebarItemProps, AppStores, AppTabs, AppTopbar, AuthButtons, Avatar, BackToTop, Badge, BadgedComponent, Breadcrumb, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CheckEmail, Checkbox, Chip, type ChipColors, type ChipTypes, CodeBlock, CodeConfirmation, ColorPicker, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ComparingPlans, ContactForm, Copyrights, Count, DataTable, DestroyableCard, Dialog, DialogBody, DialogCarousel, DialogCarouselContent, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogStep, DialogSteps, DialogTitle, DialogTrigger, DocsLayout, DocsSidebar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadio, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FeedbackEmoji, FeedbackForm, FeedbackRating, FileDropzone, FileUploader, HorizontalPricing, Input, InterfaceSettings, ItemCard, Label, type LabelProps, LandingCard, LeadGenerator, LegalTexts, Loading, LoginForm, Logos, type MenuItemType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Navbar, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem$1 as NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, NewPasswordForm, NoPermission, NotFound, Pagination, PasswordInput, PasswordStrengthIndicator, PhoneInput, PinInput, Popover, PopoverContent, PopoverTrigger, PricingCard, PricingPlans, Progress, ProgressCircle, Radio, type RadioOptionsTypes, RegisterForm, ResetPasswordForm, ScrollArea, ScrollBar, ScrollIndicator, Select, type SelectOptionProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarGroup, SidebarItem, SimpleTable, Skeleton, Slider, SortButton, StandardNavigationMenuItem, Stats, StopPropagationWrapper, type SubItem$1 as SubItem, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Testimonial, type TextFieldTypes, Textarea, type TextareaProps, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, type ToasterToastProps, Tooltip, Usage, type UseFocusWithinOptions, type UseMediaQueryOptions, UserReferralSource, buttonVariants, navigationMenuTriggerStyle, reducer, toast, useBreakpoint, useClipboard, useDialogCarousel, useFocusWithin, useIsomorphicEffect, useMediaQuery, useMultiStepDialog, useTabs, useToast, useWindowSize };