@sikka/hawa 0.2.44-next → 0.2.47-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.
package/dist/index.mjs CHANGED
@@ -478,14 +478,14 @@ var CodeBlock = ({
478
478
  fileName
479
479
  )),
480
480
  /* @__PURE__ */ React7.createElement("pre", null, /* @__PURE__ */ React7.createElement(
481
- "code",
481
+ "div",
482
482
  {
483
483
  className: cn(
484
- "hawa-relative hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-between hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base hawa-bg-gray-300 ",
484
+ "hawa-relative hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-between hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base hawa-bg-gray-300 ",
485
485
  tabs || fileName ? "hawa-rounded-b hawa-rounded-t-none" : "hawa-rounded"
486
486
  )
487
487
  },
488
- /* @__PURE__ */ React7.createElement("div", { className: "hawa-flex hawa-min-h-[37.75px] hawa-w-full hawa-flex-row hawa-justify-start hawa-overflow-auto hawa-p-4 hawa-text-foreground hawa-bg-background/70 hawa-font-mono " }, tabs ? tabs[selectedTab].code : code),
488
+ /* @__PURE__ */ React7.createElement("code", { className: "hawa-flex hawa-min-h-[37.75px] hawa-w-full hawa-flex-row hawa-justify-start hawa-overflow-auto hawa-p-4 hawa-text-foreground hawa-bg-background/70 hawa-font-mono" }, tabs ? tabs[selectedTab].code : code),
489
489
  /* @__PURE__ */ React7.createElement("div", { className: "hawa-absolute hawa-right-0 hawa-flex hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-p-2" }, /* @__PURE__ */ React7.createElement(
490
490
  Tooltip,
491
491
  {
@@ -1292,6 +1292,7 @@ var Popover = ({
1292
1292
  },
1293
1293
  children
1294
1294
  ));
1295
+ var PopoverTrigger = PopoverPrimitive.Trigger;
1295
1296
 
1296
1297
  // components/elements/Textarea.tsx
1297
1298
  import * as React19 from "react";
@@ -1985,7 +1986,7 @@ var FileDropzone = ({
1985
1986
  };
1986
1987
 
1987
1988
  // components/elements/PhoneInput.tsx
1988
- import React26, { useState as useState11 } from "react";
1989
+ import React28, { useState as useState11 } from "react";
1989
1990
 
1990
1991
  // components/countries.ts
1991
1992
  var countries = [
@@ -3680,8 +3681,73 @@ var countries = [
3680
3681
  ];
3681
3682
  var countries_default = countries;
3682
3683
 
3683
- // components/elements/PhoneInput.tsx
3684
- import Select from "react-select";
3684
+ // components/elements/Input.tsx
3685
+ import React26 from "react";
3686
+ var Input = ({
3687
+ margin = "none",
3688
+ width = "full",
3689
+ preview = false,
3690
+ ...props
3691
+ }) => {
3692
+ let marginStyles = {
3693
+ none: "hawa-mb-0",
3694
+ normal: "hawa-mb-3",
3695
+ large: "hawa-mb-5"
3696
+ };
3697
+ let widthStyles = {
3698
+ small: "hawa-w-full hawa-max-w-2xs",
3699
+ normal: "hawa-w-1/2",
3700
+ full: "hawa-w-full",
3701
+ auto: ""
3702
+ };
3703
+ let defaultStyle = "hawa-flex hawa-max-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-2";
3704
+ let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-2 hawa-text-sm hawa-text-black dark:hawa-text-white ";
3705
+ return /* @__PURE__ */ React26.createElement(
3706
+ "div",
3707
+ {
3708
+ className: cn(
3709
+ defaultStyle,
3710
+ marginStyles[margin],
3711
+ widthStyles[width],
3712
+ props.containerClassName,
3713
+ "hawa-w-full"
3714
+ )
3715
+ },
3716
+ props.label && /* @__PURE__ */ React26.createElement(Label, null, props.label),
3717
+ props.isLoading ? /* @__PURE__ */ React26.createElement(Skeleton, { className: "hawa-h-[38px] hawa-w-full" }) : /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(
3718
+ "div",
3719
+ {
3720
+ className: cn(
3721
+ "hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800",
3722
+ preview ? "hawa-opacity-100" : "hawa-opacity-0"
3723
+ )
3724
+ }
3725
+ ), /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement("div", { className: cn("hawa-relative") }, props.icon && /* @__PURE__ */ React26.createElement("div", { className: "hawa-absolute hawa-left-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.icon), /* @__PURE__ */ React26.createElement(
3726
+ "input",
3727
+ {
3728
+ className: cn(
3729
+ defaultInputStyle,
3730
+ props.icon && "hawa-pl-10",
3731
+ "focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0",
3732
+ preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0",
3733
+ props.inputProps?.className
3734
+ ),
3735
+ value: props.value,
3736
+ defaultValue: props.defaultValue,
3737
+ type: props.type,
3738
+ placeholder: props.placeholder,
3739
+ disabled: preview,
3740
+ style: { width: width === "auto" ? "auto" : "100%" }
3741
+ }
3742
+ )), props.iconInside && /* @__PURE__ */ React26.createElement("div", { className: "hawa-absolute hawa-right-1 hawa-top-[41px] hawa--translate-y-1/2" }, props.iconInside), props.helperText && /* @__PURE__ */ React26.createElement("p", { className: "hawa-mb-0 hawa-mt-0 hawa-text-xs hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText)))
3743
+ );
3744
+ };
3745
+
3746
+ // components/elements/Select.tsx
3747
+ import clsx7 from "clsx";
3748
+ import React27 from "react";
3749
+ import ReactSelect from "react-select";
3750
+ import CreatableSelect from "react-select/creatable";
3685
3751
  var Menu = ({
3686
3752
  cx,
3687
3753
  children,
@@ -3690,10 +3756,10 @@ var Menu = ({
3690
3756
  innerRef,
3691
3757
  ...props
3692
3758
  }) => {
3693
- return /* @__PURE__ */ React26.createElement(
3759
+ return /* @__PURE__ */ React27.createElement(
3694
3760
  "div",
3695
3761
  {
3696
- className: "hawa-absolute hawa-z-50 hawa-w-[190px] hawa-rounded hawa-border hawa-bg-background",
3762
+ className: "hawa-absolute hawa-z-10 hawa-mt-2 hawa-flex hawa-w-full hawa-flex-col hawa-justify-start hawa-rounded hawa-border hawa-bg-background hawa-p-1.5",
3697
3763
  ref: innerRef,
3698
3764
  ...innerProps
3699
3765
  },
@@ -3706,131 +3772,453 @@ var Option = ({
3706
3772
  getStyles,
3707
3773
  innerProps,
3708
3774
  innerRef,
3775
+ size = "normal",
3709
3776
  ...props
3710
- }) => /* @__PURE__ */ React26.createElement(
3777
+ }) => /* @__PURE__ */ React27.createElement(
3711
3778
  "div",
3712
3779
  {
3713
3780
  ref: innerRef,
3714
- className: "hawa-m-2 hawa-flex hawa-cursor-pointer hawa-flex-row hawa-items-center hawa-justify-between hawa-rounded-inner hawa-p-1 hawa-px-2 hover:hawa-bg-primary hover:hawa-text-primary-foreground",
3781
+ className: "hawa-flex hawa-cursor-pointer hawa-select-none hawa-flex-row hawa-items-center hawa-justify-between hawa-rounded-inner hawa-p-1 hawa-px-2 hover:hawa-bg-primary hover:hawa-text-primary-foreground",
3715
3782
  ...innerProps
3716
3783
  },
3717
- /* @__PURE__ */ React26.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-justify-center hawa-gap-1" }, /* @__PURE__ */ React26.createElement("img", { className: "hawa-h-8 hawa-w-8", src: props.data.image }), /* @__PURE__ */ React26.createElement("span", { className: "hawa-text-[10px]" }, props.data.country_label)),
3718
3784
  children
3719
3785
  );
3720
- var PhoneInput = (props) => {
3721
- const [selectedCountry, setSelectedCountry] = useState11("+966");
3722
- return /* @__PURE__ */ React26.createElement("div", { className: "hawa-mb-3 hawa-flex hawa-flex-col" }, props.label && /* @__PURE__ */ React26.createElement("label", { className: "hawa-mb-2 hawa-block hawa-text-sm hawa-font-medium" }, props.label), /* @__PURE__ */ React26.createElement("div", { dir: "ltr", className: "hawa-flex hawa-flex-row " }, /* @__PURE__ */ React26.createElement(
3723
- Select,
3786
+ var Select = (props) => {
3787
+ const Control = ({
3788
+ // cx,
3789
+ children,
3790
+ // getStyles,
3791
+ innerProps,
3792
+ innerRef
3793
+ // size = "normal",
3794
+ // ...props
3795
+ }) => {
3796
+ return /* @__PURE__ */ React27.createElement(
3797
+ "div",
3798
+ {
3799
+ ref: innerRef,
3800
+ className: clsx7(
3801
+ // sizeStyles[size],
3802
+ " hawa-text-sm hawa-flex hawa-p-2 hawa-w-full hawa-rounded hawa-border hawa-bg-background hawa-text-gray-900 focus:hawa-border-blue-500 focus:hawa-ring-blue-500 dark:focus:hawa-ring-blue-500"
3803
+ // props.className
3804
+ ),
3805
+ ...innerProps
3806
+ },
3807
+ children
3808
+ );
3809
+ };
3810
+ const NoOption = () => {
3811
+ return /* @__PURE__ */ React27.createElement("div", null, props.texts?.noOptions ?? "No Items Found");
3812
+ };
3813
+ return /* @__PURE__ */ React27.createElement("div", { className: "hawa-flex hawa-w-full hawa-flex-col hawa-gap-2" }, props.label && /* @__PURE__ */ React27.createElement(Label, null, props.label), props.isLoading ? /* @__PURE__ */ React27.createElement(Skeleton, { className: "hawa-h-[38px] hawa-w-full" }) : !props.isCreatable ? /* @__PURE__ */ React27.createElement(
3814
+ ReactSelect,
3724
3815
  {
3816
+ noOptionsMessage: NoOption,
3725
3817
  classNames: {
3726
- control: () => "hawa-w-[64px] hawa-text-right hawa-pr-2 hawa-cursor-pointer hawa-z-10 hawa-border hawa-rounded-l hawa-bg-background",
3727
- placeholder: (state) => "hawa-text-muted-foreground hawa-text-right ",
3728
- input: (state) => "hawa-bg-transparent hawa-cursor-pointer dark:hawa-text-white hawa-p-2 hawa-rounded-l hawa-text-[0.875rem] ",
3729
- valueContainer: () => "hawa-rounded-l hawa-h-auto hawa-text-[0.875rem]"
3730
- },
3731
- styles: {
3732
- placeholder: (base) => ({
3733
- ...base,
3734
- fontSize: "0.875rem",
3735
- textAlign: "right"
3736
- })
3818
+ control: () => cn(
3819
+ " hawa-text-sm hawa-flex hawa-p-2 hawa-w-full hawa-rounded hawa-border hawa-bg-background hawa-text-gray-900 focus:hawa-border-blue-500 focus:hawa-ring-blue-500 dark:focus:hawa-ring-blue-500",
3820
+ props.controlClassNames
3821
+ ),
3822
+ container: () => cn(
3823
+ "hawa-rounded",
3824
+ props.containerClassNames,
3825
+ props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
3826
+ ),
3827
+ // TODO: enable keyboard to go to the next item in the list
3828
+ placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
3829
+ input: () => "hawa-text-primary hawa-px-2",
3830
+ valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
3831
+ singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
3832
+ indicatorsContainer: () => " hawa-px-0 hawa-cursor-pointer hawa-text-muted-foreground"
3737
3833
  },
3834
+ unstyled: true,
3835
+ isDisabled: props.disabled,
3836
+ options: props.options,
3837
+ defaultValue: props.defaultValue,
3838
+ isClearable: props.isClearable,
3839
+ isMulti: props.isMulti,
3840
+ isSearchable: props.isSearchable,
3841
+ autoFocus: true,
3842
+ onChange: (newValue, action) => (
3843
+ // props.onChange(newValue.label, action)
3844
+ props.onChange(newValue, action)
3845
+ ),
3738
3846
  components: {
3847
+ // Control,
3739
3848
  Option,
3740
- Menu,
3741
- DropdownIndicator: () => null,
3742
- IndicatorSeparator: () => null
3849
+ Menu
3743
3850
  },
3851
+ getOptionLabel: props.getOptionLabel
3852
+ }
3853
+ ) : /* @__PURE__ */ React27.createElement(
3854
+ CreatableSelect,
3855
+ {
3856
+ formatCreateLabel: (inputValue) => `${props.texts?.createLabel ?? "Create"} "${inputValue}"`,
3857
+ classNames: {
3858
+ container: () => cn(
3859
+ "hawa-rounded ",
3860
+ props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
3861
+ ),
3862
+ placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
3863
+ input: () => "hawa-text-primary hawa-px-2",
3864
+ valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
3865
+ singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
3866
+ indicatorsContainer: () => " hawa-px-2 hawa-cursor-pointer hawa-text-muted-foreground"
3867
+ },
3868
+ unstyled: true,
3869
+ options: props.options,
3870
+ isClearable: props.isClearable,
3871
+ isMulti: props.isMulti,
3872
+ isSearchable: props.isSearchable,
3873
+ onCreateOption: () => console.log("im changing"),
3874
+ onChange: (newValue, action) => props.onChange(newValue, action),
3875
+ onInputChange: (newValue, action) => props.onInputChange(newValue, action),
3876
+ components: {
3877
+ Control,
3878
+ Option,
3879
+ Menu
3880
+ }
3881
+ }
3882
+ ), props.helperText && /* @__PURE__ */ React27.createElement("p", { className: "hawa-mt-2 hawa-text-sm hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText));
3883
+ };
3884
+
3885
+ // components/elements/PhoneInput.tsx
3886
+ var PhoneInput = (props) => {
3887
+ const [selectedCountry, setSelectedCountry] = useState11("+966");
3888
+ return /* @__PURE__ */ React28.createElement("div", { className: "hawa-mb-3 hawa-flex hawa-flex-col" }, props.label && /* @__PURE__ */ React28.createElement("label", { className: "hawa-mb-2 hawa-block hawa-text-sm hawa-font-medium" }, props.label), /* @__PURE__ */ React28.createElement("div", { dir: "ltr", className: "hawa-flex hawa-flex-row hawa-w-full " }, /* @__PURE__ */ React28.createElement(
3889
+ Select,
3890
+ {
3891
+ controlClassNames: "hawa-rounded-r-none",
3892
+ containerClassNames: "hawa-w-[100px] hawa-p-0 hawa-rounded-r-none",
3744
3893
  options: countries_default,
3745
3894
  isMulti: false,
3746
3895
  isSearchable: true,
3747
3896
  isClearable: false,
3748
- placeholder: "+966",
3749
- unstyled: true,
3750
3897
  defaultValue: props.preferredCountry,
3751
3898
  value: selectedCountry,
3752
3899
  onChange: (newValue, action) => setSelectedCountry(newValue)
3753
3900
  }
3754
- ), /* @__PURE__ */ React26.createElement(
3755
- "input",
3901
+ ), /* @__PURE__ */ React28.createElement(
3902
+ Input,
3756
3903
  {
3757
3904
  onChange: props.handleChange,
3758
3905
  type: "number",
3759
3906
  placeholder: "531045453",
3760
- className: "hawa-block hawa-w-full hawa-rounded-r hawa-z-50 hawa-border hawa-bg-background hawa-p-2 hawa-text-sm hawa-text-gray-900 focus:hawa-border-blue-500 focus:hawa-ring-blue-500"
3907
+ width: "auto",
3908
+ inputProps: {
3909
+ className: "input-inside-input hawa-border-l-0 hawa-border-l-transparent hawa-rounded-l-none "
3910
+ }
3761
3911
  }
3762
- ), props.helperText && /* @__PURE__ */ React26.createElement("p", { className: "hawa-mb-1 hawa-mt-1 hawa-text-xs hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText)));
3912
+ ), props.helperText && /* @__PURE__ */ React28.createElement("p", { className: "hawa-mb-1 hawa-mt-1 hawa-text-xs hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText)));
3763
3913
  };
3764
3914
 
3765
3915
  // components/elements/AppStores.tsx
3766
- import React27 from "react";
3916
+ import React29 from "react";
3767
3917
  var AppStores = (props) => {
3768
- return /* @__PURE__ */ React27.createElement("div", { className: "hawa-flex hawa-justify-center" }, /* @__PURE__ */ React27.createElement("div", null, props.store === "apple" ? props.mode === "dark" ? /* @__PURE__ */ React27.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-bg-black hawa-text-white" }, /* @__PURE__ */ React27.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React27.createElement("svg", { viewBox: "0 0 384 512", width: "30" }, /* @__PURE__ */ React27.createElement(
3918
+ return /* @__PURE__ */ React29.createElement("div", { className: "hawa-flex hawa-justify-center" }, /* @__PURE__ */ React29.createElement("div", null, props.store === "apple" ? props.mode === "dark" ? /* @__PURE__ */ React29.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-bg-black hawa-text-white" }, /* @__PURE__ */ React29.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React29.createElement("svg", { viewBox: "0 0 384 512", width: "30" }, /* @__PURE__ */ React29.createElement(
3769
3919
  "path",
3770
3920
  {
3771
3921
  fill: "currentColor",
3772
3922
  d: "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"
3773
3923
  }
3774
- ))), /* @__PURE__ */ React27.createElement("div", null, /* @__PURE__ */ React27.createElement("div", { className: "hawa-text-xs" }, "Download on the"), /* @__PURE__ */ React27.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-2xl hawa-font-semibold" }, "App Store"))) : /* @__PURE__ */ React27.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-border hawa-border-black hawa-bg-transparent hawa-text-black" }, /* @__PURE__ */ React27.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React27.createElement("svg", { viewBox: "0 0 384 512", width: "30" }, /* @__PURE__ */ React27.createElement(
3924
+ ))), /* @__PURE__ */ React29.createElement("div", null, /* @__PURE__ */ React29.createElement("div", { className: "hawa-text-xs" }, "Download on the"), /* @__PURE__ */ React29.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-2xl hawa-font-semibold" }, "App Store"))) : /* @__PURE__ */ React29.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-border hawa-border-black hawa-bg-transparent hawa-text-black" }, /* @__PURE__ */ React29.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React29.createElement("svg", { viewBox: "0 0 384 512", width: "30" }, /* @__PURE__ */ React29.createElement(
3775
3925
  "path",
3776
3926
  {
3777
3927
  fill: "currentColor",
3778
3928
  d: "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"
3779
3929
  }
3780
- ))), /* @__PURE__ */ React27.createElement("div", null, /* @__PURE__ */ React27.createElement("div", { className: "hawa-text-xs" }, "Download on the"), /* @__PURE__ */ React27.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-2xl hawa-font-semibold" }, "App Store"))) : props.mode === "dark" ? /* @__PURE__ */ React27.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-bg-black hawa-text-white" }, /* @__PURE__ */ React27.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React27.createElement("svg", { viewBox: "30 336.7 120.9 129.2", width: "30" }, /* @__PURE__ */ React27.createElement(
3930
+ ))), /* @__PURE__ */ React29.createElement("div", null, /* @__PURE__ */ React29.createElement("div", { className: "hawa-text-xs" }, "Download on the"), /* @__PURE__ */ React29.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-2xl hawa-font-semibold" }, "App Store"))) : props.mode === "dark" ? /* @__PURE__ */ React29.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-bg-black hawa-text-white" }, /* @__PURE__ */ React29.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React29.createElement("svg", { viewBox: "30 336.7 120.9 129.2", width: "30" }, /* @__PURE__ */ React29.createElement(
3781
3931
  "path",
3782
3932
  {
3783
3933
  fill: "#FFD400",
3784
3934
  d: "M119.2,421.2c15.3-8.4,27-14.8,28-15.3c3.2-1.7,6.5-6.2,0-9.7 c-2.1-1.1-13.4-7.3-28-15.3l-20.1,20.2L119.2,421.2z"
3785
3935
  }
3786
- ), /* @__PURE__ */ React27.createElement(
3936
+ ), /* @__PURE__ */ React29.createElement(
3787
3937
  "path",
3788
3938
  {
3789
3939
  fill: "#FF3333",
3790
3940
  d: "M99.1,401.1l-64.2,64.7c1.5,0.2,3.2-0.2,5.2-1.3 c4.2-2.3,48.8-26.7,79.1-43.3L99.1,401.1L99.1,401.1z"
3791
3941
  }
3792
- ), /* @__PURE__ */ React27.createElement(
3942
+ ), /* @__PURE__ */ React29.createElement(
3793
3943
  "path",
3794
3944
  {
3795
3945
  fill: "#48FF48",
3796
3946
  d: "M99.1,401.1l20.1-20.2c0,0-74.6-40.7-79.1-43.1 c-1.7-1-3.6-1.3-5.3-1L99.1,401.1z"
3797
3947
  }
3798
- ), /* @__PURE__ */ React27.createElement(
3948
+ ), /* @__PURE__ */ React29.createElement(
3799
3949
  "path",
3800
3950
  {
3801
3951
  fill: "#3BCCFF",
3802
3952
  d: "M99.1,401.1l-64.3-64.3c-2.6,0.6-4.8,2.9-4.8,7.6 c0,7.5,0,107.5,0,113.8c0,4.3,1.7,7.4,4.9,7.7L99.1,401.1z"
3803
3953
  }
3804
- ))), /* @__PURE__ */ React27.createElement("div", null, /* @__PURE__ */ React27.createElement("div", { className: "hawa-text-xs" }, "GET IT ON"), /* @__PURE__ */ React27.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-xl hawa-font-semibold" }, "Google Play"))) : /* @__PURE__ */ React27.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-border hawa-border-black hawa-bg-white hawa-text-black" }, /* @__PURE__ */ React27.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React27.createElement("svg", { viewBox: "30 336.7 120.9 129.2", width: "30" }, /* @__PURE__ */ React27.createElement(
3954
+ ))), /* @__PURE__ */ React29.createElement("div", null, /* @__PURE__ */ React29.createElement("div", { className: "hawa-text-xs" }, "GET IT ON"), /* @__PURE__ */ React29.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-xl hawa-font-semibold" }, "Google Play"))) : /* @__PURE__ */ React29.createElement("div", { className: "hawa-mt-3 hawa-flex hawa-h-14 hawa-w-48 hawa-items-center hawa-justify-center hawa-rounded-lg hawa-border hawa-border-black hawa-bg-white hawa-text-black" }, /* @__PURE__ */ React29.createElement("div", { className: "hawa-mr-3" }, /* @__PURE__ */ React29.createElement("svg", { viewBox: "30 336.7 120.9 129.2", width: "30" }, /* @__PURE__ */ React29.createElement(
3805
3955
  "path",
3806
3956
  {
3807
3957
  fill: "#FFD400",
3808
3958
  d: "M119.2,421.2c15.3-8.4,27-14.8,28-15.3c3.2-1.7,6.5-6.2,0-9.7 c-2.1-1.1-13.4-7.3-28-15.3l-20.1,20.2L119.2,421.2z"
3809
3959
  }
3810
- ), /* @__PURE__ */ React27.createElement(
3960
+ ), /* @__PURE__ */ React29.createElement(
3811
3961
  "path",
3812
3962
  {
3813
3963
  fill: "#FF3333",
3814
3964
  d: "M99.1,401.1l-64.2,64.7c1.5,0.2,3.2-0.2,5.2-1.3 c4.2-2.3,48.8-26.7,79.1-43.3L99.1,401.1L99.1,401.1z"
3815
3965
  }
3816
- ), /* @__PURE__ */ React27.createElement(
3966
+ ), /* @__PURE__ */ React29.createElement(
3817
3967
  "path",
3818
3968
  {
3819
3969
  fill: "#48FF48",
3820
3970
  d: "M99.1,401.1l20.1-20.2c0,0-74.6-40.7-79.1-43.1 c-1.7-1-3.6-1.3-5.3-1L99.1,401.1z"
3821
3971
  }
3822
- ), /* @__PURE__ */ React27.createElement(
3972
+ ), /* @__PURE__ */ React29.createElement(
3823
3973
  "path",
3824
3974
  {
3825
3975
  fill: "#3BCCFF",
3826
3976
  d: "M99.1,401.1l-64.3-64.3c-2.6,0.6-4.8,2.9-4.8,7.6 c0,7.5,0,107.5,0,113.8c0,4.3,1.7,7.4,4.9,7.7L99.1,401.1z"
3827
3977
  }
3828
- ))), /* @__PURE__ */ React27.createElement("div", null, /* @__PURE__ */ React27.createElement("div", { className: "hawa-text-xs" }, "GET IT ON"), /* @__PURE__ */ React27.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-xl hawa-font-semibold" }, "Google Play")))));
3978
+ ))), /* @__PURE__ */ React29.createElement("div", null, /* @__PURE__ */ React29.createElement("div", { className: "hawa-text-xs" }, "GET IT ON"), /* @__PURE__ */ React29.createElement("div", { className: "hawa-font-sans hawa--mt-1 hawa-text-xl hawa-font-semibold" }, "Google Play")))));
3979
+ };
3980
+
3981
+ // components/elements/Separator.tsx
3982
+ import * as React30 from "react";
3983
+
3984
+ // node_modules/@babel/runtime/helpers/esm/extends.js
3985
+ function _extends() {
3986
+ _extends = Object.assign ? Object.assign.bind() : function(target) {
3987
+ for (var i = 1; i < arguments.length; i++) {
3988
+ var source = arguments[i];
3989
+ for (var key in source) {
3990
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
3991
+ target[key] = source[key];
3992
+ }
3993
+ }
3994
+ }
3995
+ return target;
3996
+ };
3997
+ return _extends.apply(this, arguments);
3998
+ }
3999
+
4000
+ // node_modules/@radix-ui/react-separator/dist/index.mjs
4001
+ import { forwardRef as $5WXm8$forwardRef, createElement as $5WXm8$createElement } from "react";
4002
+
4003
+ // node_modules/@radix-ui/react-primitive/dist/index.mjs
4004
+ import { forwardRef as $4q5Fq$forwardRef, useEffect as $4q5Fq$useEffect, createElement as $4q5Fq$createElement } from "react";
4005
+ import { flushSync as $4q5Fq$flushSync } from "react-dom";
4006
+
4007
+ // node_modules/@radix-ui/react-slot/dist/index.mjs
4008
+ import { forwardRef as $9IrjX$forwardRef, Children as $9IrjX$Children, isValidElement as $9IrjX$isValidElement, createElement as $9IrjX$createElement, cloneElement as $9IrjX$cloneElement, Fragment as $9IrjX$Fragment } from "react";
4009
+
4010
+ // node_modules/@radix-ui/react-compose-refs/dist/index.mjs
4011
+ import { useCallback as $3vqmr$useCallback } from "react";
4012
+ function $6ed0406888f73fc4$var$setRef(ref, value) {
4013
+ if (typeof ref === "function")
4014
+ ref(value);
4015
+ else if (ref !== null && ref !== void 0)
4016
+ ref.current = value;
4017
+ }
4018
+ function $6ed0406888f73fc4$export$43e446d32b3d21af(...refs) {
4019
+ return (node) => refs.forEach(
4020
+ (ref) => $6ed0406888f73fc4$var$setRef(ref, node)
4021
+ );
4022
+ }
4023
+
4024
+ // node_modules/@radix-ui/react-slot/dist/index.mjs
4025
+ var $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /* @__PURE__ */ $9IrjX$forwardRef((props, forwardedRef) => {
4026
+ const { children, ...slotProps } = props;
4027
+ const childrenArray = $9IrjX$Children.toArray(children);
4028
+ const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);
4029
+ if (slottable) {
4030
+ const newElement = slottable.props.children;
4031
+ const newChildren = childrenArray.map((child) => {
4032
+ if (child === slottable) {
4033
+ if ($9IrjX$Children.count(newElement) > 1)
4034
+ return $9IrjX$Children.only(null);
4035
+ return /* @__PURE__ */ $9IrjX$isValidElement(newElement) ? newElement.props.children : null;
4036
+ } else
4037
+ return child;
4038
+ });
4039
+ return /* @__PURE__ */ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, _extends({}, slotProps, {
4040
+ ref: forwardedRef
4041
+ }), /* @__PURE__ */ $9IrjX$isValidElement(newElement) ? /* @__PURE__ */ $9IrjX$cloneElement(newElement, void 0, newChildren) : null);
4042
+ }
4043
+ return /* @__PURE__ */ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, _extends({}, slotProps, {
4044
+ ref: forwardedRef
4045
+ }), children);
4046
+ });
4047
+ $5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = "Slot";
4048
+ var $5e63c961fc1ce211$var$SlotClone = /* @__PURE__ */ $9IrjX$forwardRef((props, forwardedRef) => {
4049
+ const { children, ...slotProps } = props;
4050
+ if (/* @__PURE__ */ $9IrjX$isValidElement(children))
4051
+ return /* @__PURE__ */ $9IrjX$cloneElement(children, {
4052
+ ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),
4053
+ ref: forwardedRef ? $6ed0406888f73fc4$export$43e446d32b3d21af(forwardedRef, children.ref) : children.ref
4054
+ });
4055
+ return $9IrjX$Children.count(children) > 1 ? $9IrjX$Children.only(null) : null;
4056
+ });
4057
+ $5e63c961fc1ce211$var$SlotClone.displayName = "SlotClone";
4058
+ var $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children }) => {
4059
+ return /* @__PURE__ */ $9IrjX$createElement($9IrjX$Fragment, null, children);
3829
4060
  };
4061
+ function $5e63c961fc1ce211$var$isSlottable(child) {
4062
+ return /* @__PURE__ */ $9IrjX$isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;
4063
+ }
4064
+ function $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {
4065
+ const overrideProps = {
4066
+ ...childProps
4067
+ };
4068
+ for (const propName in childProps) {
4069
+ const slotPropValue = slotProps[propName];
4070
+ const childPropValue = childProps[propName];
4071
+ const isHandler = /^on[A-Z]/.test(propName);
4072
+ if (isHandler) {
4073
+ if (slotPropValue && childPropValue)
4074
+ overrideProps[propName] = (...args) => {
4075
+ childPropValue(...args);
4076
+ slotPropValue(...args);
4077
+ };
4078
+ else if (slotPropValue)
4079
+ overrideProps[propName] = slotPropValue;
4080
+ } else if (propName === "style")
4081
+ overrideProps[propName] = {
4082
+ ...slotPropValue,
4083
+ ...childPropValue
4084
+ };
4085
+ else if (propName === "className")
4086
+ overrideProps[propName] = [
4087
+ slotPropValue,
4088
+ childPropValue
4089
+ ].filter(Boolean).join(" ");
4090
+ }
4091
+ return {
4092
+ ...slotProps,
4093
+ ...overrideProps
4094
+ };
4095
+ }
4096
+
4097
+ // node_modules/@radix-ui/react-primitive/dist/index.mjs
4098
+ var $8927f6f2acc4f386$var$NODES = [
4099
+ "a",
4100
+ "button",
4101
+ "div",
4102
+ "form",
4103
+ "h2",
4104
+ "h3",
4105
+ "img",
4106
+ "input",
4107
+ "label",
4108
+ "li",
4109
+ "nav",
4110
+ "ol",
4111
+ "p",
4112
+ "span",
4113
+ "svg",
4114
+ "ul"
4115
+ ];
4116
+ var $8927f6f2acc4f386$export$250ffa63cdc0d034 = $8927f6f2acc4f386$var$NODES.reduce((primitive, node) => {
4117
+ const Node = /* @__PURE__ */ $4q5Fq$forwardRef((props, forwardedRef) => {
4118
+ const { asChild, ...primitiveProps } = props;
4119
+ const Comp = asChild ? $5e63c961fc1ce211$export$8c6ed5c666ac1360 : node;
4120
+ $4q5Fq$useEffect(() => {
4121
+ window[Symbol.for("radix-ui")] = true;
4122
+ }, []);
4123
+ return /* @__PURE__ */ $4q5Fq$createElement(Comp, _extends({}, primitiveProps, {
4124
+ ref: forwardedRef
4125
+ }));
4126
+ });
4127
+ Node.displayName = `Primitive.${node}`;
4128
+ return {
4129
+ ...primitive,
4130
+ [node]: Node
4131
+ };
4132
+ }, {});
4133
+
4134
+ // node_modules/@radix-ui/react-separator/dist/index.mjs
4135
+ var $89eedd556c436f6a$var$DEFAULT_ORIENTATION = "horizontal";
4136
+ var $89eedd556c436f6a$var$ORIENTATIONS = [
4137
+ "horizontal",
4138
+ "vertical"
4139
+ ];
4140
+ var $89eedd556c436f6a$export$1ff3c3f08ae963c0 = /* @__PURE__ */ $5WXm8$forwardRef((props, forwardedRef) => {
4141
+ const { decorative, orientation: orientationProp = $89eedd556c436f6a$var$DEFAULT_ORIENTATION, ...domProps } = props;
4142
+ const orientation = $89eedd556c436f6a$var$isValidOrientation(orientationProp) ? orientationProp : $89eedd556c436f6a$var$DEFAULT_ORIENTATION;
4143
+ const ariaOrientation = orientation === "vertical" ? orientation : void 0;
4144
+ const semanticProps = decorative ? {
4145
+ role: "none"
4146
+ } : {
4147
+ "aria-orientation": ariaOrientation,
4148
+ role: "separator"
4149
+ };
4150
+ return /* @__PURE__ */ $5WXm8$createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
4151
+ "data-orientation": orientation
4152
+ }, semanticProps, domProps, {
4153
+ ref: forwardedRef
4154
+ }));
4155
+ });
4156
+ $89eedd556c436f6a$export$1ff3c3f08ae963c0.propTypes = {
4157
+ orientation(props, propName, componentName) {
4158
+ const propValue = props[propName];
4159
+ const strVal = String(propValue);
4160
+ if (propValue && !$89eedd556c436f6a$var$isValidOrientation(propValue))
4161
+ return new Error($89eedd556c436f6a$var$getInvalidOrientationError(strVal, componentName));
4162
+ return null;
4163
+ }
4164
+ };
4165
+ function $89eedd556c436f6a$var$getInvalidOrientationError(value, componentName) {
4166
+ return `Invalid prop \`orientation\` of value \`${value}\` supplied to \`${componentName}\`, expected one of:
4167
+ - horizontal
4168
+ - vertical
4169
+
4170
+ Defaulting to \`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\`.`;
4171
+ }
4172
+ function $89eedd556c436f6a$var$isValidOrientation(orientation) {
4173
+ return $89eedd556c436f6a$var$ORIENTATIONS.includes(orientation);
4174
+ }
4175
+ var $89eedd556c436f6a$export$be92b6f5f03c0fe9 = $89eedd556c436f6a$export$1ff3c3f08ae963c0;
4176
+
4177
+ // components/elements/Separator.tsx
4178
+ var Separator2 = React30.forwardRef(
4179
+ ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ React30.createElement(
4180
+ $89eedd556c436f6a$export$be92b6f5f03c0fe9,
4181
+ {
4182
+ ref,
4183
+ decorative,
4184
+ orientation,
4185
+ className: cn(
4186
+ "hawa-shrink-0 hawa-bg-border",
4187
+ orientation === "horizontal" ? "hawa-h-[1px] hawa-w-full" : "hawa-h-full hawa-w-[1px]",
4188
+ className
4189
+ ),
4190
+ ...props
4191
+ }
4192
+ )
4193
+ );
4194
+ Separator2.displayName = $89eedd556c436f6a$export$be92b6f5f03c0fe9.displayName;
4195
+
4196
+ // components/elements/Progress.tsx
4197
+ import * as React31 from "react";
4198
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
4199
+ var Progress = React31.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ React31.createElement(
4200
+ ProgressPrimitive.Root,
4201
+ {
4202
+ ref,
4203
+ className: cn(
4204
+ "hawa-relative hawa-h-4 hawa-w-full hawa-overflow-hidden hawa-rounded hawa-bg-secondary",
4205
+ className
4206
+ ),
4207
+ ...props
4208
+ },
4209
+ /* @__PURE__ */ React31.createElement(
4210
+ ProgressPrimitive.Indicator,
4211
+ {
4212
+ className: "hawa-h-full hawa-w-full hawa-flex-1 hawa-bg-primary hawa-transition-all",
4213
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
4214
+ }
4215
+ )
4216
+ ));
4217
+ Progress.displayName = ProgressPrimitive.Root.displayName;
3830
4218
 
3831
4219
  // components/elements/BackToTop.tsx
3832
- import React28, { useState as useState12, useEffect as useEffect7, useRef as useRef4 } from "react";
3833
- import { clsx as clsx7 } from "clsx";
4220
+ import React32, { useState as useState12, useEffect as useEffect7, useRef as useRef4 } from "react";
4221
+ import { clsx as clsx8 } from "clsx";
3834
4222
  var BackToTop = ({ ...props }) => {
3835
4223
  const [visible, setVisible] = useState12(false);
3836
4224
  const [rect, _setRect] = useState12(null);
@@ -3893,7 +4281,7 @@ var BackToTop = ({ ...props }) => {
3893
4281
  };
3894
4282
  return style;
3895
4283
  };
3896
- return /* @__PURE__ */ React28.createElement(
4284
+ return /* @__PURE__ */ React32.createElement(
3897
4285
  Button,
3898
4286
  {
3899
4287
  className: cn(
@@ -3908,81 +4296,26 @@ var BackToTop = ({ ...props }) => {
3908
4296
  ref: self,
3909
4297
  size: "icon"
3910
4298
  },
3911
- /* @__PURE__ */ React28.createElement(
4299
+ /* @__PURE__ */ React32.createElement(
3912
4300
  "svg",
3913
4301
  {
3914
- className: clsx7(
4302
+ className: clsx8(
3915
4303
  "hawa-h-6 hawa-w-6 hawa-shrink-0 hawa-rotate-180 hawa-transition-all disabled:hawa-bg-gray-200"
3916
4304
  ),
3917
4305
  "aria-label": "Arrow Icon",
3918
4306
  viewBox: "0 0 20 20",
3919
4307
  fill: "currentColor"
3920
4308
  },
3921
- /* @__PURE__ */ React28.createElement("path", { d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" })
4309
+ /* @__PURE__ */ React32.createElement("path", { d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" })
3922
4310
  )
3923
4311
  );
3924
4312
  };
3925
4313
 
3926
- // components/elements/Input.tsx
3927
- import React29 from "react";
3928
- var Input = ({
3929
- margin = "none",
3930
- width = "full",
3931
- preview = false,
3932
- ...props
3933
- }) => {
3934
- let marginStyles = {
3935
- none: "hawa-mb-0",
3936
- normal: "hawa-mb-3",
3937
- large: "hawa-mb-5"
3938
- };
3939
- let widthStyles = {
3940
- small: "hawa-w-full hawa-max-w-2xs",
3941
- normal: "hawa-w-1/2",
3942
- full: "hawa-w-full"
3943
- };
3944
- let defaultStyle = "hawa-flex hawa-max-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-2";
3945
- let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-2 hawa-text-sm hawa-text-black dark:hawa-text-white ";
3946
- return /* @__PURE__ */ React29.createElement(
3947
- "div",
3948
- {
3949
- className: cn(
3950
- defaultStyle,
3951
- marginStyles[margin],
3952
- widthStyles[width],
3953
- props.className
3954
- )
3955
- },
3956
- props.label && /* @__PURE__ */ React29.createElement(Label, null, props.label),
3957
- props.isLoading ? /* @__PURE__ */ React29.createElement(Skeleton, { className: "hawa-h-[38px] hawa-w-full" }) : /* @__PURE__ */ React29.createElement(React29.Fragment, null, /* @__PURE__ */ React29.createElement(
3958
- "div",
3959
- {
3960
- className: cn(
3961
- "hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800",
3962
- preview ? "hawa-opacity-100" : "hawa-opacity-0"
3963
- )
3964
- }
3965
- ), /* @__PURE__ */ React29.createElement(React29.Fragment, null, /* @__PURE__ */ React29.createElement("div", { className: cn("hawa-relative") }, props.icon && /* @__PURE__ */ React29.createElement("div", { className: "hawa-absolute hawa-left-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.icon), /* @__PURE__ */ React29.createElement(
3966
- "input",
3967
- {
3968
- ...props,
3969
- className: cn(
3970
- defaultInputStyle,
3971
- props.icon && "hawa-pl-10",
3972
- "focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2",
3973
- preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0"
3974
- ),
3975
- disabled: preview
3976
- }
3977
- )), props.iconInside && /* @__PURE__ */ React29.createElement("div", { className: "hawa-absolute hawa-right-1 hawa-top-[41px] hawa--translate-y-1/2" }, props.iconInside), props.helperText && /* @__PURE__ */ React29.createElement("p", { className: "hawa-mb-0 hawa-mt-0 hawa-text-xs hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText)))
3978
- );
3979
- };
3980
-
3981
4314
  // components/elements/Tabs.tsx
3982
- import * as React30 from "react";
4315
+ import * as React33 from "react";
3983
4316
  import * as TabsPrimitive from "@radix-ui/react-tabs";
3984
- var TabsContext = React30.createContext({ orientation: "vertical" });
3985
- var Tabs = React30.forwardRef(({ className, orientation, ...props }, ref) => /* @__PURE__ */ React30.createElement(
4317
+ var TabsContext = React33.createContext({ orientation: "vertical" });
4318
+ var Tabs = React33.forwardRef(({ className, orientation, ...props }, ref) => /* @__PURE__ */ React33.createElement(
3986
4319
  TabsPrimitive.Root,
3987
4320
  {
3988
4321
  ref,
@@ -3993,13 +4326,13 @@ var Tabs = React30.forwardRef(({ className, orientation, ...props }, ref) => /*
3993
4326
  ),
3994
4327
  ...props
3995
4328
  },
3996
- /* @__PURE__ */ React30.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
4329
+ /* @__PURE__ */ React33.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
3997
4330
  ));
3998
4331
  Tabs.displayName = TabsPrimitive.Root.displayName;
3999
- var TabsList = React30.forwardRef(({ className, ...props }, ref) => {
4000
- const { orientation } = React30.useContext(TabsContext);
4332
+ var TabsList = React33.forwardRef(({ className, ...props }, ref) => {
4333
+ const { orientation } = React33.useContext(TabsContext);
4001
4334
  console.log("orient ", orientation);
4002
- return /* @__PURE__ */ React30.createElement(
4335
+ return /* @__PURE__ */ React33.createElement(
4003
4336
  TabsPrimitive.List,
4004
4337
  {
4005
4338
  ref,
@@ -4013,8 +4346,8 @@ var TabsList = React30.forwardRef(({ className, ...props }, ref) => {
4013
4346
  );
4014
4347
  });
4015
4348
  TabsList.displayName = TabsPrimitive.List.displayName;
4016
- var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => {
4017
- return /* @__PURE__ */ React30.createElement(
4349
+ var TabsTrigger = React33.forwardRef(({ className, ...props }, ref) => {
4350
+ return /* @__PURE__ */ React33.createElement(
4018
4351
  TabsPrimitive.Trigger,
4019
4352
  {
4020
4353
  ref,
@@ -4027,7 +4360,7 @@ var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => {
4027
4360
  );
4028
4361
  });
4029
4362
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
4030
- var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React30.createElement(
4363
+ var TabsContent = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React33.createElement(
4031
4364
  TabsPrimitive.Content,
4032
4365
  {
4033
4366
  ref,
@@ -4041,21 +4374,21 @@ var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PUR
4041
4374
  TabsContent.displayName = TabsPrimitive.Content.displayName;
4042
4375
 
4043
4376
  // components/elements/ScrollArea.tsx
4044
- import * as React31 from "react";
4377
+ import * as React34 from "react";
4045
4378
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
4046
- var ScrollArea = React31.forwardRef(({ className, children, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React31.createElement(
4379
+ var ScrollArea = React34.forwardRef(({ className, children, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React34.createElement(
4047
4380
  ScrollAreaPrimitive.Root,
4048
4381
  {
4049
4382
  ref,
4050
4383
  className: cn("hawa-relative hawa-overflow-hidden", className),
4051
4384
  ...props
4052
4385
  },
4053
- /* @__PURE__ */ React31.createElement(ScrollAreaPrimitive.Viewport, { className: "hawa-h-full hawa-w-full hawa-rounded-[inherit]" }, children),
4054
- /* @__PURE__ */ React31.createElement(ScrollBar, { orientation }),
4055
- /* @__PURE__ */ React31.createElement(ScrollAreaPrimitive.Corner, null)
4386
+ /* @__PURE__ */ React34.createElement(ScrollAreaPrimitive.Viewport, { className: "hawa-h-full hawa-w-full hawa-rounded-[inherit]" }, children),
4387
+ /* @__PURE__ */ React34.createElement(ScrollBar, { orientation }),
4388
+ /* @__PURE__ */ React34.createElement(ScrollAreaPrimitive.Corner, null)
4056
4389
  ));
4057
4390
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
4058
- var ScrollBar = React31.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React31.createElement(
4391
+ var ScrollBar = React34.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React34.createElement(
4059
4392
  ScrollAreaPrimitive.ScrollAreaScrollbar,
4060
4393
  {
4061
4394
  ref,
@@ -4068,7 +4401,7 @@ var ScrollBar = React31.forwardRef(({ className, orientation = "vertical", ...pr
4068
4401
  ),
4069
4402
  ...props
4070
4403
  },
4071
- /* @__PURE__ */ React31.createElement(
4404
+ /* @__PURE__ */ React34.createElement(
4072
4405
  ScrollAreaPrimitive.ScrollAreaThumb,
4073
4406
  {
4074
4407
  className: cn(
@@ -4081,9 +4414,9 @@ var ScrollBar = React31.forwardRef(({ className, orientation = "vertical", ...pr
4081
4414
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
4082
4415
 
4083
4416
  // components/elements/Logos.tsx
4084
- import React32 from "react";
4417
+ import React35 from "react";
4085
4418
  var Logos = {
4086
- logo: (props) => /* @__PURE__ */ React32.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", ...props }, /* @__PURE__ */ React32.createElement("rect", { width: "256", height: "256", fill: "none" }), /* @__PURE__ */ React32.createElement(
4419
+ logo: (props) => /* @__PURE__ */ React35.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", ...props }, /* @__PURE__ */ React35.createElement("rect", { width: "256", height: "256", fill: "none" }), /* @__PURE__ */ React35.createElement(
4087
4420
  "line",
4088
4421
  {
4089
4422
  x1: "208",
@@ -4096,7 +4429,7 @@ var Logos = {
4096
4429
  strokeLinejoin: "round",
4097
4430
  strokeWidth: "16"
4098
4431
  }
4099
- ), /* @__PURE__ */ React32.createElement(
4432
+ ), /* @__PURE__ */ React35.createElement(
4100
4433
  "line",
4101
4434
  {
4102
4435
  x1: "192",
@@ -4110,7 +4443,7 @@ var Logos = {
4110
4443
  strokeWidth: "16"
4111
4444
  }
4112
4445
  )),
4113
- mail: (props) => /* @__PURE__ */ React32.createElement(
4446
+ mail: (props) => /* @__PURE__ */ React35.createElement(
4114
4447
  "svg",
4115
4448
  {
4116
4449
  stroke: "currentColor",
@@ -4124,10 +4457,10 @@ var Logos = {
4124
4457
  xmlns: "http://www.w3.org/2000/svg",
4125
4458
  ...props
4126
4459
  },
4127
- /* @__PURE__ */ React32.createElement("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
4128
- /* @__PURE__ */ React32.createElement("polyline", { points: "22,6 12,13 2,6" })
4460
+ /* @__PURE__ */ React35.createElement("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
4461
+ /* @__PURE__ */ React35.createElement("polyline", { points: "22,6 12,13 2,6" })
4129
4462
  ),
4130
- phone: (props) => /* @__PURE__ */ React32.createElement(
4463
+ phone: (props) => /* @__PURE__ */ React35.createElement(
4131
4464
  "svg",
4132
4465
  {
4133
4466
  stroke: "currentColor",
@@ -4140,7 +4473,7 @@ var Logos = {
4140
4473
  xmlns: "http://www.w3.org/2000/svg",
4141
4474
  ...props
4142
4475
  },
4143
- /* @__PURE__ */ React32.createElement(
4476
+ /* @__PURE__ */ React35.createElement(
4144
4477
  "path",
4145
4478
  {
4146
4479
  "stroke-linecap": "round",
@@ -4149,98 +4482,98 @@ var Logos = {
4149
4482
  }
4150
4483
  )
4151
4484
  ),
4152
- twitter: (props) => /* @__PURE__ */ React32.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4485
+ twitter: (props) => /* @__PURE__ */ React35.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4153
4486
  "path",
4154
4487
  {
4155
4488
  fill: "currentColor",
4156
4489
  d: "M21.543 7.104c.015.211.015.423.015.636 0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041 4.93 4.93 0 0 1-4.6-3.42 4.916 4.916 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.887 4.887 0 0 0 2.235.616A4.928 4.928 0 0 1 1.67 3.148a13.98 13.98 0 0 0 10.15 5.144 4.929 4.929 0 0 1 8.39-4.49 9.868 9.868 0 0 0 3.128-1.196 4.941 4.941 0 0 1-2.165 2.724A9.828 9.828 0 0 0 24 4.555a10.019 10.019 0 0 1-2.457 2.549z"
4157
4490
  }
4158
4491
  )),
4159
- microsoft: (props) => /* @__PURE__ */ React32.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", ...props }, /* @__PURE__ */ React32.createElement(
4492
+ microsoft: (props) => /* @__PURE__ */ React35.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", ...props }, /* @__PURE__ */ React35.createElement(
4160
4493
  "path",
4161
4494
  {
4162
4495
  fill: "currentColor",
4163
4496
  d: "M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z"
4164
4497
  }
4165
4498
  )),
4166
- gitHub: (props) => /* @__PURE__ */ React32.createElement("svg", { viewBox: "0 0 438.549 438.549", ...props }, /* @__PURE__ */ React32.createElement(
4499
+ gitHub: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 438.549 438.549", ...props }, /* @__PURE__ */ React35.createElement(
4167
4500
  "path",
4168
4501
  {
4169
4502
  fill: "currentColor",
4170
4503
  d: "M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
4171
4504
  }
4172
4505
  )),
4173
- radix: (props) => /* @__PURE__ */ React32.createElement("svg", { viewBox: "0 0 25 25", fill: "none", ...props }, /* @__PURE__ */ React32.createElement(
4506
+ radix: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 25 25", fill: "none", ...props }, /* @__PURE__ */ React35.createElement(
4174
4507
  "path",
4175
4508
  {
4176
4509
  d: "M12 25C7.58173 25 4 21.4183 4 17C4 12.5817 7.58173 9 12 9V25Z",
4177
4510
  fill: "currentcolor"
4178
4511
  }
4179
- ), /* @__PURE__ */ React32.createElement("path", { d: "M12 0H4V8H12V0Z", fill: "currentcolor" }), /* @__PURE__ */ React32.createElement(
4512
+ ), /* @__PURE__ */ React35.createElement("path", { d: "M12 0H4V8H12V0Z", fill: "currentcolor" }), /* @__PURE__ */ React35.createElement(
4180
4513
  "path",
4181
4514
  {
4182
4515
  d: "M17 8C19.2091 8 21 6.20914 21 4C21 1.79086 19.2091 0 17 0C14.7909 0 13 1.79086 13 4C13 6.20914 14.7909 8 17 8Z",
4183
4516
  fill: "currentcolor"
4184
4517
  }
4185
4518
  )),
4186
- aria: (props) => /* @__PURE__ */ React32.createElement("svg", { role: "img", viewBox: "0 0 24 24", fill: "currentColor", ...props }, /* @__PURE__ */ React32.createElement("path", { d: "M13.966 22.624l-1.69-4.281H8.122l3.892-9.144 5.662 13.425zM8.884 1.376H0v21.248zm15.116 0h-8.884L24 22.624Z" })),
4187
- npm: (props) => /* @__PURE__ */ React32.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4519
+ aria: (props) => /* @__PURE__ */ React35.createElement("svg", { role: "img", viewBox: "0 0 24 24", fill: "currentColor", ...props }, /* @__PURE__ */ React35.createElement("path", { d: "M13.966 22.624l-1.69-4.281H8.122l3.892-9.144 5.662 13.425zM8.884 1.376H0v21.248zm15.116 0h-8.884L24 22.624Z" })),
4520
+ npm: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4188
4521
  "path",
4189
4522
  {
4190
4523
  d: "M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z",
4191
4524
  fill: "currentColor"
4192
4525
  }
4193
4526
  )),
4194
- yarn: (props) => /* @__PURE__ */ React32.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4527
+ yarn: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4195
4528
  "path",
4196
4529
  {
4197
4530
  d: "M12 0C5.375 0 0 5.375 0 12s5.375 12 12 12 12-5.375 12-12S18.625 0 12 0zm.768 4.105c.183 0 .363.053.525.157.125.083.287.185.755 1.154.31-.088.468-.042.551-.019.204.056.366.19.463.375.477.917.542 2.553.334 3.605-.241 1.232-.755 2.029-1.131 2.576.324.329.778.899 1.117 1.825.278.774.31 1.478.273 2.015a5.51 5.51 0 0 0 .602-.329c.593-.366 1.487-.917 2.553-.931.714-.009 1.269.445 1.353 1.103a1.23 1.23 0 0 1-.945 1.362c-.649.158-.95.278-1.821.843-1.232.797-2.539 1.242-3.012 1.39a1.686 1.686 0 0 1-.704.343c-.737.181-3.266.315-3.466.315h-.046c-.783 0-1.214-.241-1.45-.491-.658.329-1.51.19-2.122-.134a1.078 1.078 0 0 1-.58-1.153 1.243 1.243 0 0 1-.153-.195c-.162-.25-.528-.936-.454-1.946.056-.723.556-1.367.88-1.71a5.522 5.522 0 0 1 .408-2.256c.306-.727.885-1.348 1.32-1.737-.32-.537-.644-1.367-.329-2.21.227-.602.412-.936.82-1.08h-.005c.199-.074.389-.153.486-.259a3.418 3.418 0 0 1 2.298-1.103c.037-.093.079-.185.125-.283.31-.658.639-1.029 1.024-1.168a.94.94 0 0 1 .328-.06zm.006.7c-.507.016-1.001 1.519-1.001 1.519s-1.27-.204-2.266.871c-.199.218-.468.334-.746.44-.079.028-.176.023-.417.672-.371.991.625 2.094.625 2.094s-1.186.839-1.626 1.881c-.486 1.144-.338 2.261-.338 2.261s-.843.732-.899 1.487c-.051.663.139 1.2.343 1.515.227.343.51.176.51.176s-.561.653-.037.931c.477.25 1.283.394 1.71-.037.31-.31.371-1.001.486-1.283.028-.065.12.111.209.199.097.093.264.195.264.195s-.755.324-.445 1.066c.102.246.468.403 1.066.398.222-.005 2.664-.139 3.313-.296.375-.088.505-.283.505-.283s1.566-.431 2.998-1.357c.917-.598 1.293-.76 2.034-.936.612-.148.57-1.098-.241-1.084-.839.009-1.575.44-2.196.825-1.163.718-1.742.672-1.742.672l-.018-.032c-.079-.13.371-1.293-.134-2.678-.547-1.515-1.413-1.881-1.344-1.997.297-.5 1.038-1.297 1.334-2.78.176-.899.13-2.377-.269-3.151-.074-.144-.732.241-.732.241s-.616-1.371-.788-1.483a.271.271 0 0 0-.157-.046z",
4198
4531
  fill: "currentColor"
4199
4532
  }
4200
4533
  )),
4201
- pnpm: (props) => /* @__PURE__ */ React32.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4534
+ pnpm: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4202
4535
  "path",
4203
4536
  {
4204
4537
  d: "M0 0v7.5h7.5V0zm8.25 0v7.5h7.498V0zm8.25 0v7.5H24V0zM8.25 8.25v7.5h7.498v-7.5zm8.25 0v7.5H24v-7.5zM0 16.5V24h7.5v-7.5zm8.25 0V24h7.498v-7.5zm8.25 0V24H24v-7.5z",
4205
4538
  fill: "currentColor"
4206
4539
  }
4207
4540
  )),
4208
- react: (props) => /* @__PURE__ */ React32.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4541
+ react: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4209
4542
  "path",
4210
4543
  {
4211
4544
  d: "M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z",
4212
4545
  fill: "currentColor"
4213
4546
  }
4214
4547
  )),
4215
- tailwind: (props) => /* @__PURE__ */ React32.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4548
+ tailwind: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4216
4549
  "path",
4217
4550
  {
4218
4551
  d: "M12.001,4.8c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 C13.666,10.618,15.027,12,18.001,12c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C16.337,6.182,14.976,4.8,12.001,4.8z M6.001,12c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 c1.177,1.194,2.538,2.576,5.512,2.576c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C10.337,13.382,8.976,12,6.001,12z",
4219
4552
  fill: "currentColor"
4220
4553
  }
4221
4554
  )),
4222
- google: (props) => /* @__PURE__ */ React32.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4555
+ google: (props) => /* @__PURE__ */ React35.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4223
4556
  "path",
4224
4557
  {
4225
4558
  fill: "currentColor",
4226
4559
  d: "M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
4227
4560
  }
4228
4561
  )),
4229
- apple: (props) => /* @__PURE__ */ React32.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4562
+ apple: (props) => /* @__PURE__ */ React35.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4230
4563
  "path",
4231
4564
  {
4232
4565
  d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701",
4233
4566
  fill: "currentColor"
4234
4567
  }
4235
4568
  )),
4236
- paypal: (props) => /* @__PURE__ */ React32.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React32.createElement(
4569
+ paypal: (props) => /* @__PURE__ */ React35.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4237
4570
  "path",
4238
4571
  {
4239
4572
  d: "M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z",
4240
4573
  fill: "currentColor"
4241
4574
  }
4242
4575
  )),
4243
- spinner: (props) => /* @__PURE__ */ React32.createElement(
4576
+ spinner: (props) => /* @__PURE__ */ React35.createElement(
4244
4577
  "svg",
4245
4578
  {
4246
4579
  xmlns: "http://www.w3.org/2000/svg",
@@ -4254,9 +4587,180 @@ var Logos = {
4254
4587
  strokeLinejoin: "round",
4255
4588
  ...props
4256
4589
  },
4257
- /* @__PURE__ */ React32.createElement("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
4590
+ /* @__PURE__ */ React35.createElement("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
4258
4591
  )
4259
4592
  };
4593
+
4594
+ // components/elements/Command.tsx
4595
+ import * as React36 from "react";
4596
+ import { Command as CommandPrimitive } from "cmdk";
4597
+ import { Search } from "lucide-react";
4598
+ var Command = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4599
+ CommandPrimitive,
4600
+ {
4601
+ ref,
4602
+ className: cn(
4603
+ "hawa-flex hawa-h-full hawa-w-full hawa-flex-col hawa-overflow-hidden hawa-rounded-md hawa-bg-popover hawa-text-popover-foreground",
4604
+ className
4605
+ ),
4606
+ ...props
4607
+ }
4608
+ ));
4609
+ Command.displayName = CommandPrimitive.displayName;
4610
+ var CommandDialog = ({ children, ...props }) => {
4611
+ return /* @__PURE__ */ React36.createElement(Dialog, { ...props }, /* @__PURE__ */ React36.createElement(DialogContent, { className: "hawa-overflow-hidden hawa-p-0 hawa-shadow-lg" }, /* @__PURE__ */ React36.createElement(Command, { className: "[&_[cmdk-group-heading]]:hawa-px-2 [&_[cmdk-group-heading]]:hawa-font-medium [&_[cmdk-group-heading]]:hawa-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:hawa-pt-0 [&_[cmdk-group]]:hawa-px-2 [&_[cmdk-input-wrapper]_svg]:hawa-h-5 [&_[cmdk-input-wrapper]_svg]:hawa-w-5 [&_[cmdk-input]]:hawa-h-12 [&_[cmdk-item]]:hawa-px-2 [&_[cmdk-item]]:hawa-py-3 [&_[cmdk-item]_svg]:hawa-h-5 [&_[cmdk-item]_svg]:hawa-w-5" }, children)));
4612
+ };
4613
+ var CommandInput = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4614
+ "div",
4615
+ {
4616
+ className: "hawa-flex hawa-items-center hawa-border-b hawa-px-3",
4617
+ "cmdk-input-wrapper": ""
4618
+ },
4619
+ /* @__PURE__ */ React36.createElement(Search, { className: "hawa-mr-2 hawa-h-4 hawa-w-4 hawa-shrink-0 hawa-opacity-50" }),
4620
+ /* @__PURE__ */ React36.createElement(
4621
+ CommandPrimitive.Input,
4622
+ {
4623
+ ref,
4624
+ className: cn(
4625
+ "hawa-flex hawa-h-11 hawa-w-full hawa-rounded-md hawa-bg-transparent hawa-py-3 hawa-text-sm hawa-outline-none placeholder:hawa-text-muted-foreground disabled:hawa-cursor-not-allowed disabled:hawa-opacity-50",
4626
+ className
4627
+ ),
4628
+ ...props
4629
+ }
4630
+ )
4631
+ ));
4632
+ CommandInput.displayName = CommandPrimitive.Input.displayName;
4633
+ var CommandList = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4634
+ CommandPrimitive.List,
4635
+ {
4636
+ ref,
4637
+ className: cn(
4638
+ "hawa-max-h-[300px] hawa-overflow-y-auto hawa-overflow-x-hidden",
4639
+ className
4640
+ ),
4641
+ ...props
4642
+ }
4643
+ ));
4644
+ CommandList.displayName = CommandPrimitive.List.displayName;
4645
+ var CommandEmpty = React36.forwardRef((props, ref) => /* @__PURE__ */ React36.createElement(
4646
+ CommandPrimitive.Empty,
4647
+ {
4648
+ ref,
4649
+ className: "hawa-py-6 hawa-text-center hawa-text-sm",
4650
+ ...props
4651
+ }
4652
+ ));
4653
+ CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
4654
+ var CommandGroup = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4655
+ CommandPrimitive.Group,
4656
+ {
4657
+ ref,
4658
+ className: cn(
4659
+ "hawa-overflow-hidden hawa-p-1 hawa-text-foreground [&_[cmdk-group-heading]]:hawa-px-2 [&_[cmdk-group-heading]]:hawa-py-1.5 [&_[cmdk-group-heading]]:hawa-text-xs [&_[cmdk-group-heading]]:hawa-font-medium [&_[cmdk-group-heading]]:hawa-text-muted-foreground",
4660
+ className
4661
+ ),
4662
+ ...props
4663
+ }
4664
+ ));
4665
+ CommandGroup.displayName = CommandPrimitive.Group.displayName;
4666
+ var CommandSeparator = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4667
+ CommandPrimitive.Separator,
4668
+ {
4669
+ ref,
4670
+ className: cn("hawa--mx-1 hawa-h-px hawa-bg-border", className),
4671
+ ...props
4672
+ }
4673
+ ));
4674
+ CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
4675
+ var CommandItem = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4676
+ CommandPrimitive.Item,
4677
+ {
4678
+ ref,
4679
+ className: cn(
4680
+ "hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-outline-none aria-selected:hawa-bg-accent aria-selected:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
4681
+ className
4682
+ ),
4683
+ ...props
4684
+ }
4685
+ ));
4686
+ CommandItem.displayName = CommandPrimitive.Item.displayName;
4687
+ var CommandShortcut = ({
4688
+ className,
4689
+ ...props
4690
+ }) => {
4691
+ return /* @__PURE__ */ React36.createElement(
4692
+ "span",
4693
+ {
4694
+ className: cn(
4695
+ "hawa-ml-auto hawa-text-xs hawa-tracking-widest hawa-text-muted-foreground",
4696
+ className
4697
+ ),
4698
+ ...props
4699
+ }
4700
+ );
4701
+ };
4702
+ CommandShortcut.displayName = "CommandShortcut";
4703
+
4704
+ // components/elements/Combobox.tsx
4705
+ import * as React37 from "react";
4706
+ import { Check, ChevronsUpDown } from "lucide-react";
4707
+ import * as PopoverPrimitive2 from "@radix-ui/react-popover";
4708
+ var frameworks = [
4709
+ {
4710
+ value: "next.js",
4711
+ label: "Next.js"
4712
+ },
4713
+ {
4714
+ value: "sveltekit",
4715
+ label: "SvelteKit"
4716
+ },
4717
+ {
4718
+ value: "nuxt.js",
4719
+ label: "Nuxt.js"
4720
+ },
4721
+ {
4722
+ value: "remix",
4723
+ label: "Remix"
4724
+ },
4725
+ {
4726
+ value: "astro",
4727
+ label: "Astro"
4728
+ }
4729
+ ];
4730
+ function Combobox() {
4731
+ const [open, setOpen] = React37.useState(false);
4732
+ const [value, setValue] = React37.useState("");
4733
+ return /* @__PURE__ */ React37.createElement(PopoverPrimitive2.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React37.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React37.createElement(
4734
+ Button,
4735
+ {
4736
+ variant: "outline",
4737
+ role: "combobox",
4738
+ "aria-expanded": open,
4739
+ className: "hawa-w-[200px] hawa-justify-between"
4740
+ },
4741
+ value ? frameworks.find((framework) => framework.value === value)?.label : "Select framework...",
4742
+ /* @__PURE__ */ React37.createElement(ChevronsUpDown, { className: "hawa-ml-2 hawa-h-4 hawa-w-4 hawa-shrink-0 hawa-opacity-50" })
4743
+ )), /* @__PURE__ */ React37.createElement(PopoverContent, { className: "hawa-w-[200px] hawa-p-0" }, /* @__PURE__ */ React37.createElement(Command, null, /* @__PURE__ */ React37.createElement(CommandInput, { placeholder: "Search framework..." }), /* @__PURE__ */ React37.createElement(CommandEmpty, null, "No framework found."), /* @__PURE__ */ React37.createElement(CommandGroup, null, frameworks.map((framework) => /* @__PURE__ */ React37.createElement(
4744
+ CommandItem,
4745
+ {
4746
+ key: framework.value,
4747
+ onSelect: (currentValue) => {
4748
+ setValue(currentValue === value ? "" : currentValue);
4749
+ setOpen(false);
4750
+ }
4751
+ },
4752
+ /* @__PURE__ */ React37.createElement(
4753
+ Check,
4754
+ {
4755
+ className: cn(
4756
+ "hawa-mr-2 hawa-h-4 hawa-w-4",
4757
+ value === framework.value ? "hawa-opacity-100" : "hawa-opacity-0"
4758
+ )
4759
+ }
4760
+ ),
4761
+ framework.label
4762
+ ))))));
4763
+ }
4260
4764
  export {
4261
4765
  ActionCard,
4262
4766
  Alert,
@@ -4274,6 +4778,16 @@ export {
4274
4778
  Chip,
4275
4779
  CodeBlock,
4276
4780
  ColorPicker,
4781
+ Combobox,
4782
+ Command,
4783
+ CommandDialog,
4784
+ CommandEmpty,
4785
+ CommandGroup,
4786
+ CommandInput,
4787
+ CommandItem,
4788
+ CommandList,
4789
+ CommandSeparator,
4790
+ CommandShortcut,
4277
4791
  Dialog,
4278
4792
  DialogContent,
4279
4793
  DialogDescription,
@@ -4291,9 +4805,13 @@ export {
4291
4805
  PinInput,
4292
4806
  Popover,
4293
4807
  PopoverContent,
4808
+ PopoverTrigger,
4809
+ Progress,
4294
4810
  Radio,
4295
4811
  ScrollArea,
4296
4812
  ScrollBar,
4813
+ Select,
4814
+ Separator2 as Separator,
4297
4815
  Skeleton,
4298
4816
  Slider,
4299
4817
  Switch,