@sikka/hawa 0.2.45-next → 0.2.48-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
@@ -1232,7 +1232,7 @@ var Alert = ({
1232
1232
  }, 200);
1233
1233
  }
1234
1234
  },
1235
- /* @__PURE__ */ React17.createElement("span", { className: "sr-only" }, "Close"),
1235
+ /* @__PURE__ */ React17.createElement("span", { className: "hawa-sr-only" }, "Close"),
1236
1236
  /* @__PURE__ */ React17.createElement(
1237
1237
  "svg",
1238
1238
  {
@@ -3697,9 +3697,10 @@ var Input = ({
3697
3697
  let widthStyles = {
3698
3698
  small: "hawa-w-full hawa-max-w-2xs",
3699
3699
  normal: "hawa-w-1/2",
3700
- full: "hawa-w-full"
3700
+ full: "hawa-w-full",
3701
+ auto: ""
3701
3702
  };
3702
- let defaultStyle = "hawa-flex hawa-max-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-2";
3703
+ let defaultStyle = "hawa-flex hawa-max-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
3703
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 ";
3704
3705
  return /* @__PURE__ */ React26.createElement(
3705
3706
  "div",
@@ -3708,7 +3709,8 @@ var Input = ({
3708
3709
  defaultStyle,
3709
3710
  marginStyles[margin],
3710
3711
  widthStyles[width],
3711
- props.className
3712
+ props.containerClassName,
3713
+ "hawa-w-full hawa-gap-2"
3712
3714
  )
3713
3715
  },
3714
3716
  props.label && /* @__PURE__ */ React26.createElement(Label, null, props.label),
@@ -3723,7 +3725,6 @@ var Input = ({
3723
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(
3724
3726
  "input",
3725
3727
  {
3726
- ...props,
3727
3728
  className: cn(
3728
3729
  defaultInputStyle,
3729
3730
  props.icon && "hawa-pl-10",
@@ -3731,7 +3732,14 @@ var Input = ({
3731
3732
  preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0",
3732
3733
  props.inputProps?.className
3733
3734
  ),
3734
- disabled: preview
3735
+ onChange: props.onChange,
3736
+ autoComplete: props.autoComplete,
3737
+ value: props.value,
3738
+ defaultValue: props.defaultValue,
3739
+ type: props.type,
3740
+ placeholder: props.placeholder,
3741
+ disabled: preview,
3742
+ style: { minWidth: "100%", width: "auto" }
3735
3743
  }
3736
3744
  )), 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)))
3737
3745
  );
@@ -3742,33 +3750,6 @@ import clsx7 from "clsx";
3742
3750
  import React27 from "react";
3743
3751
  import ReactSelect from "react-select";
3744
3752
  import CreatableSelect from "react-select/creatable";
3745
- var Control = ({
3746
- cx,
3747
- children,
3748
- getStyles,
3749
- innerProps,
3750
- innerRef,
3751
- size = "normal",
3752
- ...props
3753
- }) => {
3754
- let sizeStyles = {
3755
- small: "hawa-h-7 hawa-text-xs",
3756
- normal: "hawa-h-[2.38rem] hawa-text-sm",
3757
- large: ""
3758
- };
3759
- return /* @__PURE__ */ React27.createElement(
3760
- "div",
3761
- {
3762
- ref: innerRef,
3763
- className: clsx7(
3764
- sizeStyles[size],
3765
- "hawa-flex 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"
3766
- ),
3767
- ...innerProps
3768
- },
3769
- children
3770
- );
3771
- };
3772
3753
  var Menu = ({
3773
3754
  cx,
3774
3755
  children,
@@ -3805,82 +3786,124 @@ var Option = ({
3805
3786
  children
3806
3787
  );
3807
3788
  var Select = (props) => {
3789
+ const Control = ({
3790
+ // cx,
3791
+ children,
3792
+ // getStyles,
3793
+ innerProps,
3794
+ innerRef
3795
+ // size = "normal",
3796
+ // ...props
3797
+ }) => {
3798
+ return /* @__PURE__ */ React27.createElement(
3799
+ "div",
3800
+ {
3801
+ ref: innerRef,
3802
+ className: clsx7(
3803
+ // sizeStyles[size],
3804
+ " 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"
3805
+ // props.className
3806
+ ),
3807
+ ...innerProps
3808
+ },
3809
+ children
3810
+ );
3811
+ };
3808
3812
  const NoOption = () => {
3809
3813
  return /* @__PURE__ */ React27.createElement("div", null, props.texts?.noOptions ?? "No Items Found");
3810
3814
  };
3811
- 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(
3812
- ReactSelect,
3813
- {
3814
- noOptionsMessage: NoOption,
3815
- classNames: {
3816
- container: () => cn(
3817
- "hawa-rounded",
3818
- props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
3819
- ),
3820
- // TODO: enable keyboard to go to the next item in the list
3821
- placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
3822
- input: () => "hawa-text-primary hawa-px-2",
3823
- valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
3824
- singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
3825
- indicatorsContainer: () => " hawa-px-2 hawa-cursor-pointer hawa-text-muted-foreground"
3826
- },
3827
- unstyled: true,
3828
- isDisabled: props.disabled,
3829
- options: props.options,
3830
- defaultValue: props.defaultValue,
3831
- isClearable: props.isClearable,
3832
- isMulti: props.isMulti,
3833
- isSearchable: props.isSearchable,
3834
- autoFocus: true,
3835
- onChange: (newValue, action) => (
3836
- // props.onChange(newValue.label, action)
3837
- props.onChange(newValue, action)
3838
- ),
3839
- components: {
3840
- Control,
3841
- Option,
3842
- Menu
3843
- },
3844
- getOptionLabel: props.getOptionLabel
3845
- }
3846
- ) : /* @__PURE__ */ React27.createElement(
3847
- CreatableSelect,
3815
+ return /* @__PURE__ */ React27.createElement(
3816
+ "div",
3848
3817
  {
3849
- formatCreateLabel: (inputValue) => `${props.texts?.createLabel ?? "Create"} "${inputValue}"`,
3850
- classNames: {
3851
- container: () => cn(
3852
- "hawa-rounded",
3853
- props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
3818
+ className: cn(
3819
+ "hawa-flex hawa-flex-col hawa-gap-2",
3820
+ props.width === "fit" ? "hawa-w-fit" : "hawa-w-full"
3821
+ )
3822
+ },
3823
+ props.label && /* @__PURE__ */ React27.createElement(Label, null, props.label),
3824
+ props.isLoading ? /* @__PURE__ */ React27.createElement(Skeleton, { className: "hawa-h-[38px] hawa-w-full" }) : !props.isCreatable ? /* @__PURE__ */ React27.createElement(
3825
+ ReactSelect,
3826
+ {
3827
+ noOptionsMessage: NoOption,
3828
+ classNames: {
3829
+ control: () => cn(
3830
+ " 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",
3831
+ props.controlClassNames
3832
+ ),
3833
+ container: () => cn(
3834
+ "hawa-rounded",
3835
+ props.containerClassNames,
3836
+ props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
3837
+ ),
3838
+ // TODO: enable keyboard to go to the next item in the list
3839
+ placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
3840
+ input: () => "hawa-text-primary hawa-px-2",
3841
+ valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
3842
+ singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
3843
+ indicatorsContainer: () => " hawa-px-0 hawa-cursor-pointer hawa-text-muted-foreground"
3844
+ },
3845
+ unstyled: true,
3846
+ isDisabled: props.disabled,
3847
+ options: props.options,
3848
+ defaultValue: props.defaultValue,
3849
+ isClearable: props.isClearable,
3850
+ isMulti: props.isMulti,
3851
+ isSearchable: props.isSearchable,
3852
+ autoFocus: true,
3853
+ onChange: (newValue, action) => (
3854
+ // props.onChange(newValue.label, action)
3855
+ props.onChange(newValue, action)
3854
3856
  ),
3855
- placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
3856
- input: () => "hawa-text-primary hawa-px-2",
3857
- valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
3858
- singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
3859
- indicatorsContainer: () => " hawa-px-2 hawa-cursor-pointer hawa-text-muted-foreground"
3860
- },
3861
- unstyled: true,
3862
- options: props.options,
3863
- isClearable: props.isClearable,
3864
- isMulti: props.isMulti,
3865
- isSearchable: props.isSearchable,
3866
- onCreateOption: () => console.log("im changing"),
3867
- onChange: (newValue, action) => props.onChange(newValue, action),
3868
- onInputChange: (newValue, action) => props.onInputChange(newValue, action),
3869
- components: {
3870
- Control,
3871
- Option,
3872
- Menu
3857
+ components: {
3858
+ // Control,
3859
+ Option,
3860
+ Menu
3861
+ },
3862
+ getOptionLabel: props.getOptionLabel
3873
3863
  }
3874
- }
3875
- ), props.helperText && /* @__PURE__ */ React27.createElement("p", { className: "hawa-mt-2 hawa-text-sm hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText));
3864
+ ) : /* @__PURE__ */ React27.createElement(
3865
+ CreatableSelect,
3866
+ {
3867
+ formatCreateLabel: (inputValue) => `${props.texts?.createLabel ?? "Create"} "${inputValue}"`,
3868
+ classNames: {
3869
+ container: () => cn(
3870
+ "hawa-rounded ",
3871
+ props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
3872
+ ),
3873
+ placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
3874
+ input: () => "hawa-text-primary hawa-px-2",
3875
+ valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
3876
+ singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
3877
+ indicatorsContainer: () => " hawa-px-2 hawa-cursor-pointer hawa-text-muted-foreground"
3878
+ },
3879
+ unstyled: true,
3880
+ options: props.options,
3881
+ isClearable: props.isClearable,
3882
+ isMulti: props.isMulti,
3883
+ isSearchable: props.isSearchable,
3884
+ onCreateOption: () => console.log("im changing"),
3885
+ onChange: (newValue, action) => props.onChange(newValue, action),
3886
+ onInputChange: (newValue, action) => props.onInputChange(newValue, action),
3887
+ components: {
3888
+ Control,
3889
+ Option,
3890
+ Menu
3891
+ }
3892
+ }
3893
+ ),
3894
+ props.helperText && /* @__PURE__ */ React27.createElement("p", { className: "hawa-mt-2 hawa-text-sm hawa-text-red-600 dark:hawa-text-red-500" }, props.helperText)
3895
+ );
3876
3896
  };
3877
3897
 
3878
3898
  // components/elements/PhoneInput.tsx
3879
3899
  var PhoneInput = (props) => {
3880
3900
  const [selectedCountry, setSelectedCountry] = useState11("+966");
3881
- 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 " }, /* @__PURE__ */ React28.createElement(
3901
+ 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(
3882
3902
  Select,
3883
3903
  {
3904
+ width: "fit",
3905
+ controlClassNames: "hawa-rounded-r-none",
3906
+ containerClassNames: "hawa-w-[100px] hawa-p-0 hawa-rounded-r-none",
3884
3907
  options: countries_default,
3885
3908
  isMulti: false,
3886
3909
  isSearchable: true,
@@ -3895,11 +3918,12 @@ var PhoneInput = (props) => {
3895
3918
  onChange: props.handleChange,
3896
3919
  type: "number",
3897
3920
  placeholder: "531045453",
3921
+ width: "auto",
3898
3922
  inputProps: {
3899
- className: "hawa-border-l-0 hawa-border-l-transparent"
3923
+ className: "hawa-w-full hawa-min-w-full hawa-border-l-0 hawa-border-l-transparent hawa-rounded-l-none "
3900
3924
  }
3901
3925
  }
3902
- ), 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)));
3926
+ ), 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)));
3903
3927
  };
3904
3928
 
3905
3929
  // components/elements/AppStores.tsx
@@ -3968,8 +3992,246 @@ var AppStores = (props) => {
3968
3992
  ))), /* @__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")))));
3969
3993
  };
3970
3994
 
3995
+ // components/elements/Separator.tsx
3996
+ import * as React30 from "react";
3997
+
3998
+ // node_modules/@babel/runtime/helpers/esm/extends.js
3999
+ function _extends() {
4000
+ _extends = Object.assign ? Object.assign.bind() : function(target) {
4001
+ for (var i = 1; i < arguments.length; i++) {
4002
+ var source = arguments[i];
4003
+ for (var key in source) {
4004
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
4005
+ target[key] = source[key];
4006
+ }
4007
+ }
4008
+ }
4009
+ return target;
4010
+ };
4011
+ return _extends.apply(this, arguments);
4012
+ }
4013
+
4014
+ // node_modules/@radix-ui/react-separator/dist/index.mjs
4015
+ import { forwardRef as $5WXm8$forwardRef, createElement as $5WXm8$createElement } from "react";
4016
+
4017
+ // node_modules/@radix-ui/react-primitive/dist/index.mjs
4018
+ import { forwardRef as $4q5Fq$forwardRef, useEffect as $4q5Fq$useEffect, createElement as $4q5Fq$createElement } from "react";
4019
+ import { flushSync as $4q5Fq$flushSync } from "react-dom";
4020
+
4021
+ // node_modules/@radix-ui/react-slot/dist/index.mjs
4022
+ 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";
4023
+
4024
+ // node_modules/@radix-ui/react-compose-refs/dist/index.mjs
4025
+ import { useCallback as $3vqmr$useCallback } from "react";
4026
+ function $6ed0406888f73fc4$var$setRef(ref, value) {
4027
+ if (typeof ref === "function")
4028
+ ref(value);
4029
+ else if (ref !== null && ref !== void 0)
4030
+ ref.current = value;
4031
+ }
4032
+ function $6ed0406888f73fc4$export$43e446d32b3d21af(...refs) {
4033
+ return (node) => refs.forEach(
4034
+ (ref) => $6ed0406888f73fc4$var$setRef(ref, node)
4035
+ );
4036
+ }
4037
+
4038
+ // node_modules/@radix-ui/react-slot/dist/index.mjs
4039
+ var $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /* @__PURE__ */ $9IrjX$forwardRef((props, forwardedRef) => {
4040
+ const { children, ...slotProps } = props;
4041
+ const childrenArray = $9IrjX$Children.toArray(children);
4042
+ const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);
4043
+ if (slottable) {
4044
+ const newElement = slottable.props.children;
4045
+ const newChildren = childrenArray.map((child) => {
4046
+ if (child === slottable) {
4047
+ if ($9IrjX$Children.count(newElement) > 1)
4048
+ return $9IrjX$Children.only(null);
4049
+ return /* @__PURE__ */ $9IrjX$isValidElement(newElement) ? newElement.props.children : null;
4050
+ } else
4051
+ return child;
4052
+ });
4053
+ return /* @__PURE__ */ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, _extends({}, slotProps, {
4054
+ ref: forwardedRef
4055
+ }), /* @__PURE__ */ $9IrjX$isValidElement(newElement) ? /* @__PURE__ */ $9IrjX$cloneElement(newElement, void 0, newChildren) : null);
4056
+ }
4057
+ return /* @__PURE__ */ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, _extends({}, slotProps, {
4058
+ ref: forwardedRef
4059
+ }), children);
4060
+ });
4061
+ $5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = "Slot";
4062
+ var $5e63c961fc1ce211$var$SlotClone = /* @__PURE__ */ $9IrjX$forwardRef((props, forwardedRef) => {
4063
+ const { children, ...slotProps } = props;
4064
+ if (/* @__PURE__ */ $9IrjX$isValidElement(children))
4065
+ return /* @__PURE__ */ $9IrjX$cloneElement(children, {
4066
+ ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),
4067
+ ref: forwardedRef ? $6ed0406888f73fc4$export$43e446d32b3d21af(forwardedRef, children.ref) : children.ref
4068
+ });
4069
+ return $9IrjX$Children.count(children) > 1 ? $9IrjX$Children.only(null) : null;
4070
+ });
4071
+ $5e63c961fc1ce211$var$SlotClone.displayName = "SlotClone";
4072
+ var $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children }) => {
4073
+ return /* @__PURE__ */ $9IrjX$createElement($9IrjX$Fragment, null, children);
4074
+ };
4075
+ function $5e63c961fc1ce211$var$isSlottable(child) {
4076
+ return /* @__PURE__ */ $9IrjX$isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;
4077
+ }
4078
+ function $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {
4079
+ const overrideProps = {
4080
+ ...childProps
4081
+ };
4082
+ for (const propName in childProps) {
4083
+ const slotPropValue = slotProps[propName];
4084
+ const childPropValue = childProps[propName];
4085
+ const isHandler = /^on[A-Z]/.test(propName);
4086
+ if (isHandler) {
4087
+ if (slotPropValue && childPropValue)
4088
+ overrideProps[propName] = (...args) => {
4089
+ childPropValue(...args);
4090
+ slotPropValue(...args);
4091
+ };
4092
+ else if (slotPropValue)
4093
+ overrideProps[propName] = slotPropValue;
4094
+ } else if (propName === "style")
4095
+ overrideProps[propName] = {
4096
+ ...slotPropValue,
4097
+ ...childPropValue
4098
+ };
4099
+ else if (propName === "className")
4100
+ overrideProps[propName] = [
4101
+ slotPropValue,
4102
+ childPropValue
4103
+ ].filter(Boolean).join(" ");
4104
+ }
4105
+ return {
4106
+ ...slotProps,
4107
+ ...overrideProps
4108
+ };
4109
+ }
4110
+
4111
+ // node_modules/@radix-ui/react-primitive/dist/index.mjs
4112
+ var $8927f6f2acc4f386$var$NODES = [
4113
+ "a",
4114
+ "button",
4115
+ "div",
4116
+ "form",
4117
+ "h2",
4118
+ "h3",
4119
+ "img",
4120
+ "input",
4121
+ "label",
4122
+ "li",
4123
+ "nav",
4124
+ "ol",
4125
+ "p",
4126
+ "span",
4127
+ "svg",
4128
+ "ul"
4129
+ ];
4130
+ var $8927f6f2acc4f386$export$250ffa63cdc0d034 = $8927f6f2acc4f386$var$NODES.reduce((primitive, node) => {
4131
+ const Node = /* @__PURE__ */ $4q5Fq$forwardRef((props, forwardedRef) => {
4132
+ const { asChild, ...primitiveProps } = props;
4133
+ const Comp = asChild ? $5e63c961fc1ce211$export$8c6ed5c666ac1360 : node;
4134
+ $4q5Fq$useEffect(() => {
4135
+ window[Symbol.for("radix-ui")] = true;
4136
+ }, []);
4137
+ return /* @__PURE__ */ $4q5Fq$createElement(Comp, _extends({}, primitiveProps, {
4138
+ ref: forwardedRef
4139
+ }));
4140
+ });
4141
+ Node.displayName = `Primitive.${node}`;
4142
+ return {
4143
+ ...primitive,
4144
+ [node]: Node
4145
+ };
4146
+ }, {});
4147
+
4148
+ // node_modules/@radix-ui/react-separator/dist/index.mjs
4149
+ var $89eedd556c436f6a$var$DEFAULT_ORIENTATION = "horizontal";
4150
+ var $89eedd556c436f6a$var$ORIENTATIONS = [
4151
+ "horizontal",
4152
+ "vertical"
4153
+ ];
4154
+ var $89eedd556c436f6a$export$1ff3c3f08ae963c0 = /* @__PURE__ */ $5WXm8$forwardRef((props, forwardedRef) => {
4155
+ const { decorative, orientation: orientationProp = $89eedd556c436f6a$var$DEFAULT_ORIENTATION, ...domProps } = props;
4156
+ const orientation = $89eedd556c436f6a$var$isValidOrientation(orientationProp) ? orientationProp : $89eedd556c436f6a$var$DEFAULT_ORIENTATION;
4157
+ const ariaOrientation = orientation === "vertical" ? orientation : void 0;
4158
+ const semanticProps = decorative ? {
4159
+ role: "none"
4160
+ } : {
4161
+ "aria-orientation": ariaOrientation,
4162
+ role: "separator"
4163
+ };
4164
+ return /* @__PURE__ */ $5WXm8$createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
4165
+ "data-orientation": orientation
4166
+ }, semanticProps, domProps, {
4167
+ ref: forwardedRef
4168
+ }));
4169
+ });
4170
+ $89eedd556c436f6a$export$1ff3c3f08ae963c0.propTypes = {
4171
+ orientation(props, propName, componentName) {
4172
+ const propValue = props[propName];
4173
+ const strVal = String(propValue);
4174
+ if (propValue && !$89eedd556c436f6a$var$isValidOrientation(propValue))
4175
+ return new Error($89eedd556c436f6a$var$getInvalidOrientationError(strVal, componentName));
4176
+ return null;
4177
+ }
4178
+ };
4179
+ function $89eedd556c436f6a$var$getInvalidOrientationError(value, componentName) {
4180
+ return `Invalid prop \`orientation\` of value \`${value}\` supplied to \`${componentName}\`, expected one of:
4181
+ - horizontal
4182
+ - vertical
4183
+
4184
+ Defaulting to \`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\`.`;
4185
+ }
4186
+ function $89eedd556c436f6a$var$isValidOrientation(orientation) {
4187
+ return $89eedd556c436f6a$var$ORIENTATIONS.includes(orientation);
4188
+ }
4189
+ var $89eedd556c436f6a$export$be92b6f5f03c0fe9 = $89eedd556c436f6a$export$1ff3c3f08ae963c0;
4190
+
4191
+ // components/elements/Separator.tsx
4192
+ var Separator2 = React30.forwardRef(
4193
+ ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ React30.createElement(
4194
+ $89eedd556c436f6a$export$be92b6f5f03c0fe9,
4195
+ {
4196
+ ref,
4197
+ decorative,
4198
+ orientation,
4199
+ className: cn(
4200
+ "hawa-shrink-0 hawa-bg-border",
4201
+ orientation === "horizontal" ? "hawa-h-[1px] hawa-w-full" : "hawa-h-full hawa-w-[1px]",
4202
+ className
4203
+ ),
4204
+ ...props
4205
+ }
4206
+ )
4207
+ );
4208
+ Separator2.displayName = $89eedd556c436f6a$export$be92b6f5f03c0fe9.displayName;
4209
+
4210
+ // components/elements/Progress.tsx
4211
+ import * as React31 from "react";
4212
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
4213
+ var Progress = React31.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ React31.createElement(
4214
+ ProgressPrimitive.Root,
4215
+ {
4216
+ ref,
4217
+ className: cn(
4218
+ "hawa-relative hawa-h-4 hawa-w-full hawa-overflow-hidden hawa-rounded hawa-bg-secondary",
4219
+ className
4220
+ ),
4221
+ ...props
4222
+ },
4223
+ /* @__PURE__ */ React31.createElement(
4224
+ ProgressPrimitive.Indicator,
4225
+ {
4226
+ className: "hawa-h-full hawa-w-full hawa-flex-1 hawa-bg-primary hawa-transition-all",
4227
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
4228
+ }
4229
+ )
4230
+ ));
4231
+ Progress.displayName = ProgressPrimitive.Root.displayName;
4232
+
3971
4233
  // components/elements/BackToTop.tsx
3972
- import React30, { useState as useState12, useEffect as useEffect7, useRef as useRef4 } from "react";
4234
+ import React32, { useState as useState12, useEffect as useEffect7, useRef as useRef4 } from "react";
3973
4235
  import { clsx as clsx8 } from "clsx";
3974
4236
  var BackToTop = ({ ...props }) => {
3975
4237
  const [visible, setVisible] = useState12(false);
@@ -4033,7 +4295,7 @@ var BackToTop = ({ ...props }) => {
4033
4295
  };
4034
4296
  return style;
4035
4297
  };
4036
- return /* @__PURE__ */ React30.createElement(
4298
+ return /* @__PURE__ */ React32.createElement(
4037
4299
  Button,
4038
4300
  {
4039
4301
  className: cn(
@@ -4048,7 +4310,7 @@ var BackToTop = ({ ...props }) => {
4048
4310
  ref: self,
4049
4311
  size: "icon"
4050
4312
  },
4051
- /* @__PURE__ */ React30.createElement(
4313
+ /* @__PURE__ */ React32.createElement(
4052
4314
  "svg",
4053
4315
  {
4054
4316
  className: clsx8(
@@ -4058,16 +4320,16 @@ var BackToTop = ({ ...props }) => {
4058
4320
  viewBox: "0 0 20 20",
4059
4321
  fill: "currentColor"
4060
4322
  },
4061
- /* @__PURE__ */ React30.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" })
4323
+ /* @__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" })
4062
4324
  )
4063
4325
  );
4064
4326
  };
4065
4327
 
4066
4328
  // components/elements/Tabs.tsx
4067
- import * as React31 from "react";
4329
+ import * as React33 from "react";
4068
4330
  import * as TabsPrimitive from "@radix-ui/react-tabs";
4069
- var TabsContext = React31.createContext({ orientation: "vertical" });
4070
- var Tabs = React31.forwardRef(({ className, orientation, ...props }, ref) => /* @__PURE__ */ React31.createElement(
4331
+ var TabsContext = React33.createContext({ orientation: "vertical" });
4332
+ var Tabs = React33.forwardRef(({ className, orientation, ...props }, ref) => /* @__PURE__ */ React33.createElement(
4071
4333
  TabsPrimitive.Root,
4072
4334
  {
4073
4335
  ref,
@@ -4078,13 +4340,13 @@ var Tabs = React31.forwardRef(({ className, orientation, ...props }, ref) => /*
4078
4340
  ),
4079
4341
  ...props
4080
4342
  },
4081
- /* @__PURE__ */ React31.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
4343
+ /* @__PURE__ */ React33.createElement(TabsContext.Provider, { value: { orientation } }, props.children)
4082
4344
  ));
4083
4345
  Tabs.displayName = TabsPrimitive.Root.displayName;
4084
- var TabsList = React31.forwardRef(({ className, ...props }, ref) => {
4085
- const { orientation } = React31.useContext(TabsContext);
4346
+ var TabsList = React33.forwardRef(({ className, ...props }, ref) => {
4347
+ const { orientation } = React33.useContext(TabsContext);
4086
4348
  console.log("orient ", orientation);
4087
- return /* @__PURE__ */ React31.createElement(
4349
+ return /* @__PURE__ */ React33.createElement(
4088
4350
  TabsPrimitive.List,
4089
4351
  {
4090
4352
  ref,
@@ -4098,8 +4360,8 @@ var TabsList = React31.forwardRef(({ className, ...props }, ref) => {
4098
4360
  );
4099
4361
  });
4100
4362
  TabsList.displayName = TabsPrimitive.List.displayName;
4101
- var TabsTrigger = React31.forwardRef(({ className, ...props }, ref) => {
4102
- return /* @__PURE__ */ React31.createElement(
4363
+ var TabsTrigger = React33.forwardRef(({ className, ...props }, ref) => {
4364
+ return /* @__PURE__ */ React33.createElement(
4103
4365
  TabsPrimitive.Trigger,
4104
4366
  {
4105
4367
  ref,
@@ -4112,7 +4374,7 @@ var TabsTrigger = React31.forwardRef(({ className, ...props }, ref) => {
4112
4374
  );
4113
4375
  });
4114
4376
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
4115
- var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React31.createElement(
4377
+ var TabsContent = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React33.createElement(
4116
4378
  TabsPrimitive.Content,
4117
4379
  {
4118
4380
  ref,
@@ -4126,21 +4388,21 @@ var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PUR
4126
4388
  TabsContent.displayName = TabsPrimitive.Content.displayName;
4127
4389
 
4128
4390
  // components/elements/ScrollArea.tsx
4129
- import * as React32 from "react";
4391
+ import * as React34 from "react";
4130
4392
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
4131
- var ScrollArea = React32.forwardRef(({ className, children, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React32.createElement(
4393
+ var ScrollArea = React34.forwardRef(({ className, children, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React34.createElement(
4132
4394
  ScrollAreaPrimitive.Root,
4133
4395
  {
4134
4396
  ref,
4135
4397
  className: cn("hawa-relative hawa-overflow-hidden", className),
4136
4398
  ...props
4137
4399
  },
4138
- /* @__PURE__ */ React32.createElement(ScrollAreaPrimitive.Viewport, { className: "hawa-h-full hawa-w-full hawa-rounded-[inherit]" }, children),
4139
- /* @__PURE__ */ React32.createElement(ScrollBar, { orientation }),
4140
- /* @__PURE__ */ React32.createElement(ScrollAreaPrimitive.Corner, null)
4400
+ /* @__PURE__ */ React34.createElement(ScrollAreaPrimitive.Viewport, { className: "hawa-h-full hawa-w-full hawa-rounded-[inherit]" }, children),
4401
+ /* @__PURE__ */ React34.createElement(ScrollBar, { orientation }),
4402
+ /* @__PURE__ */ React34.createElement(ScrollAreaPrimitive.Corner, null)
4141
4403
  ));
4142
4404
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
4143
- var ScrollBar = React32.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React32.createElement(
4405
+ var ScrollBar = React34.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ React34.createElement(
4144
4406
  ScrollAreaPrimitive.ScrollAreaScrollbar,
4145
4407
  {
4146
4408
  ref,
@@ -4153,7 +4415,7 @@ var ScrollBar = React32.forwardRef(({ className, orientation = "vertical", ...pr
4153
4415
  ),
4154
4416
  ...props
4155
4417
  },
4156
- /* @__PURE__ */ React32.createElement(
4418
+ /* @__PURE__ */ React34.createElement(
4157
4419
  ScrollAreaPrimitive.ScrollAreaThumb,
4158
4420
  {
4159
4421
  className: cn(
@@ -4166,9 +4428,9 @@ var ScrollBar = React32.forwardRef(({ className, orientation = "vertical", ...pr
4166
4428
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
4167
4429
 
4168
4430
  // components/elements/Logos.tsx
4169
- import React33 from "react";
4431
+ import React35 from "react";
4170
4432
  var Logos = {
4171
- logo: (props) => /* @__PURE__ */ React33.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", ...props }, /* @__PURE__ */ React33.createElement("rect", { width: "256", height: "256", fill: "none" }), /* @__PURE__ */ React33.createElement(
4433
+ 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(
4172
4434
  "line",
4173
4435
  {
4174
4436
  x1: "208",
@@ -4181,7 +4443,7 @@ var Logos = {
4181
4443
  strokeLinejoin: "round",
4182
4444
  strokeWidth: "16"
4183
4445
  }
4184
- ), /* @__PURE__ */ React33.createElement(
4446
+ ), /* @__PURE__ */ React35.createElement(
4185
4447
  "line",
4186
4448
  {
4187
4449
  x1: "192",
@@ -4195,7 +4457,7 @@ var Logos = {
4195
4457
  strokeWidth: "16"
4196
4458
  }
4197
4459
  )),
4198
- mail: (props) => /* @__PURE__ */ React33.createElement(
4460
+ mail: (props) => /* @__PURE__ */ React35.createElement(
4199
4461
  "svg",
4200
4462
  {
4201
4463
  stroke: "currentColor",
@@ -4209,10 +4471,10 @@ var Logos = {
4209
4471
  xmlns: "http://www.w3.org/2000/svg",
4210
4472
  ...props
4211
4473
  },
4212
- /* @__PURE__ */ React33.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" }),
4213
- /* @__PURE__ */ React33.createElement("polyline", { points: "22,6 12,13 2,6" })
4474
+ /* @__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" }),
4475
+ /* @__PURE__ */ React35.createElement("polyline", { points: "22,6 12,13 2,6" })
4214
4476
  ),
4215
- phone: (props) => /* @__PURE__ */ React33.createElement(
4477
+ phone: (props) => /* @__PURE__ */ React35.createElement(
4216
4478
  "svg",
4217
4479
  {
4218
4480
  stroke: "currentColor",
@@ -4225,7 +4487,7 @@ var Logos = {
4225
4487
  xmlns: "http://www.w3.org/2000/svg",
4226
4488
  ...props
4227
4489
  },
4228
- /* @__PURE__ */ React33.createElement(
4490
+ /* @__PURE__ */ React35.createElement(
4229
4491
  "path",
4230
4492
  {
4231
4493
  "stroke-linecap": "round",
@@ -4234,98 +4496,98 @@ var Logos = {
4234
4496
  }
4235
4497
  )
4236
4498
  ),
4237
- twitter: (props) => /* @__PURE__ */ React33.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4499
+ twitter: (props) => /* @__PURE__ */ React35.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4238
4500
  "path",
4239
4501
  {
4240
4502
  fill: "currentColor",
4241
4503
  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"
4242
4504
  }
4243
4505
  )),
4244
- microsoft: (props) => /* @__PURE__ */ React33.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", ...props }, /* @__PURE__ */ React33.createElement(
4506
+ microsoft: (props) => /* @__PURE__ */ React35.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", ...props }, /* @__PURE__ */ React35.createElement(
4245
4507
  "path",
4246
4508
  {
4247
4509
  fill: "currentColor",
4248
4510
  d: "M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z"
4249
4511
  }
4250
4512
  )),
4251
- gitHub: (props) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 438.549 438.549", ...props }, /* @__PURE__ */ React33.createElement(
4513
+ gitHub: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 438.549 438.549", ...props }, /* @__PURE__ */ React35.createElement(
4252
4514
  "path",
4253
4515
  {
4254
4516
  fill: "currentColor",
4255
4517
  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"
4256
4518
  }
4257
4519
  )),
4258
- radix: (props) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 25 25", fill: "none", ...props }, /* @__PURE__ */ React33.createElement(
4520
+ radix: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 25 25", fill: "none", ...props }, /* @__PURE__ */ React35.createElement(
4259
4521
  "path",
4260
4522
  {
4261
4523
  d: "M12 25C7.58173 25 4 21.4183 4 17C4 12.5817 7.58173 9 12 9V25Z",
4262
4524
  fill: "currentcolor"
4263
4525
  }
4264
- ), /* @__PURE__ */ React33.createElement("path", { d: "M12 0H4V8H12V0Z", fill: "currentcolor" }), /* @__PURE__ */ React33.createElement(
4526
+ ), /* @__PURE__ */ React35.createElement("path", { d: "M12 0H4V8H12V0Z", fill: "currentcolor" }), /* @__PURE__ */ React35.createElement(
4265
4527
  "path",
4266
4528
  {
4267
4529
  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",
4268
4530
  fill: "currentcolor"
4269
4531
  }
4270
4532
  )),
4271
- aria: (props) => /* @__PURE__ */ React33.createElement("svg", { role: "img", viewBox: "0 0 24 24", fill: "currentColor", ...props }, /* @__PURE__ */ React33.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" })),
4272
- npm: (props) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4533
+ 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" })),
4534
+ npm: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4273
4535
  "path",
4274
4536
  {
4275
4537
  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",
4276
4538
  fill: "currentColor"
4277
4539
  }
4278
4540
  )),
4279
- yarn: (props) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4541
+ yarn: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4280
4542
  "path",
4281
4543
  {
4282
4544
  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",
4283
4545
  fill: "currentColor"
4284
4546
  }
4285
4547
  )),
4286
- pnpm: (props) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4548
+ pnpm: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4287
4549
  "path",
4288
4550
  {
4289
4551
  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",
4290
4552
  fill: "currentColor"
4291
4553
  }
4292
4554
  )),
4293
- react: (props) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4555
+ react: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4294
4556
  "path",
4295
4557
  {
4296
4558
  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",
4297
4559
  fill: "currentColor"
4298
4560
  }
4299
4561
  )),
4300
- tailwind: (props) => /* @__PURE__ */ React33.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4562
+ tailwind: (props) => /* @__PURE__ */ React35.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4301
4563
  "path",
4302
4564
  {
4303
4565
  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",
4304
4566
  fill: "currentColor"
4305
4567
  }
4306
4568
  )),
4307
- google: (props) => /* @__PURE__ */ React33.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4569
+ google: (props) => /* @__PURE__ */ React35.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4308
4570
  "path",
4309
4571
  {
4310
4572
  fill: "currentColor",
4311
4573
  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"
4312
4574
  }
4313
4575
  )),
4314
- apple: (props) => /* @__PURE__ */ React33.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4576
+ apple: (props) => /* @__PURE__ */ React35.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4315
4577
  "path",
4316
4578
  {
4317
4579
  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",
4318
4580
  fill: "currentColor"
4319
4581
  }
4320
4582
  )),
4321
- paypal: (props) => /* @__PURE__ */ React33.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React33.createElement(
4583
+ paypal: (props) => /* @__PURE__ */ React35.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React35.createElement(
4322
4584
  "path",
4323
4585
  {
4324
4586
  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",
4325
4587
  fill: "currentColor"
4326
4588
  }
4327
4589
  )),
4328
- spinner: (props) => /* @__PURE__ */ React33.createElement(
4590
+ spinner: (props) => /* @__PURE__ */ React35.createElement(
4329
4591
  "svg",
4330
4592
  {
4331
4593
  xmlns: "http://www.w3.org/2000/svg",
@@ -4339,15 +4601,15 @@ var Logos = {
4339
4601
  strokeLinejoin: "round",
4340
4602
  ...props
4341
4603
  },
4342
- /* @__PURE__ */ React33.createElement("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
4604
+ /* @__PURE__ */ React35.createElement("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
4343
4605
  )
4344
4606
  };
4345
4607
 
4346
4608
  // components/elements/Command.tsx
4347
- import * as React34 from "react";
4609
+ import * as React36 from "react";
4348
4610
  import { Command as CommandPrimitive } from "cmdk";
4349
4611
  import { Search } from "lucide-react";
4350
- var Command = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React34.createElement(
4612
+ var Command = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4351
4613
  CommandPrimitive,
4352
4614
  {
4353
4615
  ref,
@@ -4360,16 +4622,16 @@ var Command = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__
4360
4622
  ));
4361
4623
  Command.displayName = CommandPrimitive.displayName;
4362
4624
  var CommandDialog = ({ children, ...props }) => {
4363
- return /* @__PURE__ */ React34.createElement(Dialog, { ...props }, /* @__PURE__ */ React34.createElement(DialogContent, { className: "hawa-overflow-hidden hawa-p-0 hawa-shadow-lg" }, /* @__PURE__ */ React34.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)));
4625
+ 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)));
4364
4626
  };
4365
- var CommandInput = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React34.createElement(
4627
+ var CommandInput = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4366
4628
  "div",
4367
4629
  {
4368
4630
  className: "hawa-flex hawa-items-center hawa-border-b hawa-px-3",
4369
4631
  "cmdk-input-wrapper": ""
4370
4632
  },
4371
- /* @__PURE__ */ React34.createElement(Search, { className: "hawa-mr-2 hawa-h-4 hawa-w-4 hawa-shrink-0 hawa-opacity-50" }),
4372
- /* @__PURE__ */ React34.createElement(
4633
+ /* @__PURE__ */ React36.createElement(Search, { className: "hawa-mr-2 hawa-h-4 hawa-w-4 hawa-shrink-0 hawa-opacity-50" }),
4634
+ /* @__PURE__ */ React36.createElement(
4373
4635
  CommandPrimitive.Input,
4374
4636
  {
4375
4637
  ref,
@@ -4382,7 +4644,7 @@ var CommandInput = React34.forwardRef(({ className, ...props }, ref) => /* @__PU
4382
4644
  )
4383
4645
  ));
4384
4646
  CommandInput.displayName = CommandPrimitive.Input.displayName;
4385
- var CommandList = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React34.createElement(
4647
+ var CommandList = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4386
4648
  CommandPrimitive.List,
4387
4649
  {
4388
4650
  ref,
@@ -4394,7 +4656,7 @@ var CommandList = React34.forwardRef(({ className, ...props }, ref) => /* @__PUR
4394
4656
  }
4395
4657
  ));
4396
4658
  CommandList.displayName = CommandPrimitive.List.displayName;
4397
- var CommandEmpty = React34.forwardRef((props, ref) => /* @__PURE__ */ React34.createElement(
4659
+ var CommandEmpty = React36.forwardRef((props, ref) => /* @__PURE__ */ React36.createElement(
4398
4660
  CommandPrimitive.Empty,
4399
4661
  {
4400
4662
  ref,
@@ -4403,7 +4665,7 @@ var CommandEmpty = React34.forwardRef((props, ref) => /* @__PURE__ */ React34.cr
4403
4665
  }
4404
4666
  ));
4405
4667
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
4406
- var CommandGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React34.createElement(
4668
+ var CommandGroup = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4407
4669
  CommandPrimitive.Group,
4408
4670
  {
4409
4671
  ref,
@@ -4415,7 +4677,7 @@ var CommandGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PU
4415
4677
  }
4416
4678
  ));
4417
4679
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
4418
- var CommandSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React34.createElement(
4680
+ var CommandSeparator = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4419
4681
  CommandPrimitive.Separator,
4420
4682
  {
4421
4683
  ref,
@@ -4424,7 +4686,7 @@ var CommandSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @
4424
4686
  }
4425
4687
  ));
4426
4688
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
4427
- var CommandItem = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React34.createElement(
4689
+ var CommandItem = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React36.createElement(
4428
4690
  CommandPrimitive.Item,
4429
4691
  {
4430
4692
  ref,
@@ -4440,7 +4702,7 @@ var CommandShortcut = ({
4440
4702
  className,
4441
4703
  ...props
4442
4704
  }) => {
4443
- return /* @__PURE__ */ React34.createElement(
4705
+ return /* @__PURE__ */ React36.createElement(
4444
4706
  "span",
4445
4707
  {
4446
4708
  className: cn(
@@ -4452,6 +4714,249 @@ var CommandShortcut = ({
4452
4714
  );
4453
4715
  };
4454
4716
  CommandShortcut.displayName = "CommandShortcut";
4717
+
4718
+ // components/elements/Combobox.tsx
4719
+ import * as React37 from "react";
4720
+ import { Check, ChevronsUpDown } from "lucide-react";
4721
+ import * as PopoverPrimitive2 from "@radix-ui/react-popover";
4722
+ var frameworks = [
4723
+ {
4724
+ value: "next.js",
4725
+ label: "Next.js"
4726
+ },
4727
+ {
4728
+ value: "sveltekit",
4729
+ label: "SvelteKit"
4730
+ },
4731
+ {
4732
+ value: "nuxt.js",
4733
+ label: "Nuxt.js"
4734
+ },
4735
+ {
4736
+ value: "remix",
4737
+ label: "Remix"
4738
+ },
4739
+ {
4740
+ value: "astro",
4741
+ label: "Astro"
4742
+ }
4743
+ ];
4744
+ function Combobox() {
4745
+ const [open, setOpen] = React37.useState(false);
4746
+ const [value, setValue] = React37.useState("");
4747
+ return /* @__PURE__ */ React37.createElement(PopoverPrimitive2.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React37.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React37.createElement(
4748
+ Button,
4749
+ {
4750
+ variant: "outline",
4751
+ role: "combobox",
4752
+ "aria-expanded": open,
4753
+ className: "hawa-w-[200px] hawa-justify-between"
4754
+ },
4755
+ value ? frameworks.find((framework) => framework.value === value)?.label : "Select framework...",
4756
+ /* @__PURE__ */ React37.createElement(ChevronsUpDown, { className: "hawa-ml-2 hawa-h-4 hawa-w-4 hawa-shrink-0 hawa-opacity-50" })
4757
+ )), /* @__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(
4758
+ CommandItem,
4759
+ {
4760
+ key: framework.value,
4761
+ onSelect: (currentValue) => {
4762
+ setValue(currentValue === value ? "" : currentValue);
4763
+ setOpen(false);
4764
+ }
4765
+ },
4766
+ /* @__PURE__ */ React37.createElement(
4767
+ Check,
4768
+ {
4769
+ className: cn(
4770
+ "hawa-mr-2 hawa-h-4 hawa-w-4",
4771
+ value === framework.value ? "hawa-opacity-100" : "hawa-opacity-0"
4772
+ )
4773
+ }
4774
+ ),
4775
+ framework.label
4776
+ ))))));
4777
+ }
4778
+
4779
+ // components/elements/Form.tsx
4780
+ import * as React38 from "react";
4781
+ import {
4782
+ Controller,
4783
+ FormProvider,
4784
+ useFormContext
4785
+ } from "react-hook-form";
4786
+ var Form = FormProvider;
4787
+ var FormFieldContext = React38.createContext(
4788
+ {}
4789
+ );
4790
+ var FormField = ({
4791
+ ...props
4792
+ }) => {
4793
+ return /* @__PURE__ */ React38.createElement(FormFieldContext.Provider, { value: { name: props.name } }, /* @__PURE__ */ React38.createElement(Controller, { ...props }));
4794
+ };
4795
+ var useFormField = () => {
4796
+ const fieldContext = React38.useContext(FormFieldContext);
4797
+ const itemContext = React38.useContext(FormItemContext);
4798
+ const { getFieldState, formState } = useFormContext();
4799
+ const fieldState = getFieldState(fieldContext.name, formState);
4800
+ if (!fieldContext) {
4801
+ throw new Error("useFormField should be used within <FormField>");
4802
+ }
4803
+ const { id } = itemContext;
4804
+ return {
4805
+ id,
4806
+ name: fieldContext.name,
4807
+ formItemId: `${id}-form-item`,
4808
+ formDescriptionId: `${id}-form-item-description`,
4809
+ formMessageId: `${id}-form-item-message`,
4810
+ ...fieldState
4811
+ };
4812
+ };
4813
+ var FormItemContext = React38.createContext(
4814
+ {}
4815
+ );
4816
+ var FormItem = React38.forwardRef(({ className, ...props }, ref) => {
4817
+ const id = React38.useId();
4818
+ return /* @__PURE__ */ React38.createElement(FormItemContext.Provider, { value: { id } }, /* @__PURE__ */ React38.createElement("div", { ref, className: cn("space-y-2", className), ...props }));
4819
+ });
4820
+ FormItem.displayName = "FormItem";
4821
+ var FormLabel = React38.forwardRef(({ className, ...props }, ref) => {
4822
+ const { error, formItemId } = useFormField();
4823
+ return /* @__PURE__ */ React38.createElement(
4824
+ Label,
4825
+ {
4826
+ ref,
4827
+ className: cn(error && "text-destructive", className),
4828
+ htmlFor: formItemId,
4829
+ ...props
4830
+ }
4831
+ );
4832
+ });
4833
+ FormLabel.displayName = "FormLabel";
4834
+ var FormControl = React38.forwardRef(({ ...props }, ref) => {
4835
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
4836
+ return /* @__PURE__ */ React38.createElement(
4837
+ $5e63c961fc1ce211$export$8c6ed5c666ac1360,
4838
+ {
4839
+ ref,
4840
+ id: formItemId,
4841
+ "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
4842
+ "aria-invalid": !!error,
4843
+ ...props
4844
+ }
4845
+ );
4846
+ });
4847
+ FormControl.displayName = "FormControl";
4848
+ var FormDescription = React38.forwardRef(({ className, ...props }, ref) => {
4849
+ const { formDescriptionId } = useFormField();
4850
+ return /* @__PURE__ */ React38.createElement(
4851
+ "p",
4852
+ {
4853
+ ref,
4854
+ id: formDescriptionId,
4855
+ className: cn("text-sm text-muted-foreground", className),
4856
+ ...props
4857
+ }
4858
+ );
4859
+ });
4860
+ FormDescription.displayName = "FormDescription";
4861
+ var FormMessage = React38.forwardRef(({ className, children, ...props }, ref) => {
4862
+ const { error, formMessageId } = useFormField();
4863
+ const body = error ? String(error?.message) : children;
4864
+ if (!body) {
4865
+ return null;
4866
+ }
4867
+ return /* @__PURE__ */ React38.createElement(
4868
+ "p",
4869
+ {
4870
+ ref,
4871
+ id: formMessageId,
4872
+ className: cn("text-sm font-medium text-destructive", className),
4873
+ ...props
4874
+ },
4875
+ body
4876
+ );
4877
+ });
4878
+ FormMessage.displayName = "FormMessage";
4879
+
4880
+ // components/elements/InterfaceSettings.tsx
4881
+ import React39, { useState as useState14 } from "react";
4882
+ var InterfaceSettings = ({
4883
+ orientation = "horizontal",
4884
+ width = "default",
4885
+ ...props
4886
+ }) => {
4887
+ const [color, setColor] = useState14(props.currentColorMode);
4888
+ const [language, setLanguage] = useState14(props.currentLanguage);
4889
+ let orientationStyle = {
4890
+ horizontal: "hawa-flex hawa-flex-row hawa-justify-between",
4891
+ vertical: "hawa-flex hawa-flex-col hawa-items-center hawa-gap-2"
4892
+ };
4893
+ return /* @__PURE__ */ React39.createElement("div", { className: cn(orientationStyle[orientation]) }, /* @__PURE__ */ React39.createElement(
4894
+ Radio,
4895
+ {
4896
+ width,
4897
+ defaultValue: language,
4898
+ onChangeTab: (e) => {
4899
+ props.handleLanguage(e);
4900
+ setLanguage(e);
4901
+ },
4902
+ design: "tabs",
4903
+ options: [
4904
+ { value: "ar", label: "\u0639\u0631\u0628\u064A" },
4905
+ { value: "en", label: "English" }
4906
+ ]
4907
+ }
4908
+ ), /* @__PURE__ */ React39.createElement(
4909
+ Radio,
4910
+ {
4911
+ width,
4912
+ defaultValue: color,
4913
+ onChangeTab: (e) => {
4914
+ props.handleColorMode(e);
4915
+ setColor(e);
4916
+ },
4917
+ design: "tabs",
4918
+ options: [
4919
+ {
4920
+ value: "light",
4921
+ label: /* @__PURE__ */ React39.createElement(
4922
+ "svg",
4923
+ {
4924
+ width: "15",
4925
+ height: "15",
4926
+ viewBox: "0 0 15 15",
4927
+ fill: "none",
4928
+ xmlns: "http://www.w3.org/2000/svg",
4929
+ className: "hawa-h-[1.2rem] hawa-w-[1.2rem] hawa-rotate-0 hawa-scale-100 hawa-transition-all dark:hawa--rotate-90"
4930
+ },
4931
+ /* @__PURE__ */ React39.createElement(
4932
+ "path",
4933
+ {
4934
+ d: "M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z",
4935
+ fill: "currentColor"
4936
+ }
4937
+ )
4938
+ )
4939
+ },
4940
+ {
4941
+ value: "dark",
4942
+ label: /* @__PURE__ */ React39.createElement(
4943
+ "svg",
4944
+ {
4945
+ xmlns: "http://www.w3.org/2000/svg",
4946
+ width: "24",
4947
+ height: "24",
4948
+ viewBox: "0 0 24 24",
4949
+ fill: "none",
4950
+ stroke: "currentColor",
4951
+ className: "hawa-h-[1.2rem] hawa-w-[1.2rem] hawa-transition-all dark:hawa-rotate-0 dark:hawa-scale-100"
4952
+ },
4953
+ /* @__PURE__ */ React39.createElement("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" })
4954
+ )
4955
+ }
4956
+ ]
4957
+ }
4958
+ ));
4959
+ };
4455
4960
  export {
4456
4961
  ActionCard,
4457
4962
  Alert,
@@ -4469,6 +4974,7 @@ export {
4469
4974
  Chip,
4470
4975
  CodeBlock,
4471
4976
  ColorPicker,
4977
+ Combobox,
4472
4978
  Command,
4473
4979
  CommandDialog,
4474
4980
  CommandEmpty,
@@ -4487,7 +4993,15 @@ export {
4487
4993
  DialogTrigger,
4488
4994
  DropdownMenu,
4489
4995
  FileDropzone,
4996
+ Form,
4997
+ FormControl,
4998
+ FormDescription,
4999
+ FormField,
5000
+ FormItem,
5001
+ FormLabel,
5002
+ FormMessage,
4490
5003
  Input,
5004
+ InterfaceSettings,
4491
5005
  Label,
4492
5006
  Loading,
4493
5007
  Logos,
@@ -4496,10 +5010,12 @@ export {
4496
5010
  Popover,
4497
5011
  PopoverContent,
4498
5012
  PopoverTrigger,
5013
+ Progress,
4499
5014
  Radio,
4500
5015
  ScrollArea,
4501
5016
  ScrollBar,
4502
5017
  Select,
5018
+ Separator2 as Separator,
4503
5019
  Skeleton,
4504
5020
  Slider,
4505
5021
  Switch,
@@ -4517,5 +5033,6 @@ export {
4517
5033
  ToastViewport,
4518
5034
  Toaster,
4519
5035
  Tooltip,
4520
- buttonVariants
5036
+ buttonVariants,
5037
+ useFormField
4521
5038
  };