@6thbridge/hexa 0.0.8 → 0.0.9

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.
@@ -1,5 +1,5 @@
1
1
   WARN  Issue while reading "/Users/joachim/.nvm/versions/node/v20.17.0/lib/node_modules/npmrc". EISDIR: illegal operation on a directory, read
2
2
 
3
- > @6thbridge/hexa@0.0.8 lint /Users/joachim/Documents/dev/payfusion/payfusion-component-library/packages/6thbridge-hexa
3
+ > @6thbridge/hexa@0.0.9 lint /Users/joachim/Documents/dev/payfusion/payfusion-component-library/packages/6thbridge-hexa
4
4
  > eslint . --max-warnings 0
5
5
 
package/dist/index.d.mts CHANGED
@@ -7,6 +7,7 @@ import { VariantProps } from 'class-variance-authority';
7
7
  import * as RPNInput from 'react-phone-number-input';
8
8
  import { OTPInputProps as OTPInputProps$1 } from 'react-otp-input';
9
9
  import * as DialogPrimitive from '@radix-ui/react-dialog';
10
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
10
11
 
11
12
  declare const FormLabel: React__default.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React__default.RefAttributes<HTMLLabelElement>, "ref"> & {
12
13
  showAsterisk?: boolean;
@@ -187,4 +188,26 @@ declare const Dialog: {
187
188
  displayName: string | undefined;
188
189
  };
189
190
 
190
- export { Button, Country, Dialog, FlagComponent, FormLabel, Input, Loader, OTPInput, PasswordInput, PhoneInput, Select, Textarea };
191
+ declare const PopoverRoot: React$1.FC<PopoverPrimitive.PopoverProps>;
192
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
193
+ declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
194
+ portal?: boolean;
195
+ } & React$1.RefAttributes<HTMLDivElement>>;
196
+ type PopoverPropsType = {
197
+ trigger: React$1.ReactNode;
198
+ children: React$1.ReactNode;
199
+ contentClassName?: string;
200
+ asChild?: boolean;
201
+ align?: PopoverPrimitive.PopoverContentProps["align"];
202
+ side?: PopoverPrimitive.PopoverContentProps["side"];
203
+ alignOffset?: number | undefined;
204
+ sideOffset?: number | undefined;
205
+ onOpenAutoFocus?: (e: Event) => void;
206
+ onCloseAutoFocus?: (e: Event) => void;
207
+ };
208
+ declare const Popover: {
209
+ ({ trigger, children, open, onOpenChange, contentClassName, asChild, align, side, alignOffset, sideOffset, onOpenAutoFocus, onCloseAutoFocus, ...props }: React$1.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> & PopoverPropsType): react_jsx_runtime.JSX.Element;
210
+ displayName: string | undefined;
211
+ };
212
+
213
+ export { Button, Country, Dialog, FlagComponent, FormLabel, Input, Loader, OTPInput, PasswordInput, PhoneInput, Popover, PopoverContent, PopoverRoot, PopoverTrigger, Select, Textarea };
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ import { VariantProps } from 'class-variance-authority';
7
7
  import * as RPNInput from 'react-phone-number-input';
8
8
  import { OTPInputProps as OTPInputProps$1 } from 'react-otp-input';
9
9
  import * as DialogPrimitive from '@radix-ui/react-dialog';
10
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
10
11
 
11
12
  declare const FormLabel: React__default.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React__default.RefAttributes<HTMLLabelElement>, "ref"> & {
12
13
  showAsterisk?: boolean;
@@ -187,4 +188,26 @@ declare const Dialog: {
187
188
  displayName: string | undefined;
188
189
  };
189
190
 
190
- export { Button, Country, Dialog, FlagComponent, FormLabel, Input, Loader, OTPInput, PasswordInput, PhoneInput, Select, Textarea };
191
+ declare const PopoverRoot: React$1.FC<PopoverPrimitive.PopoverProps>;
192
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
193
+ declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
194
+ portal?: boolean;
195
+ } & React$1.RefAttributes<HTMLDivElement>>;
196
+ type PopoverPropsType = {
197
+ trigger: React$1.ReactNode;
198
+ children: React$1.ReactNode;
199
+ contentClassName?: string;
200
+ asChild?: boolean;
201
+ align?: PopoverPrimitive.PopoverContentProps["align"];
202
+ side?: PopoverPrimitive.PopoverContentProps["side"];
203
+ alignOffset?: number | undefined;
204
+ sideOffset?: number | undefined;
205
+ onOpenAutoFocus?: (e: Event) => void;
206
+ onCloseAutoFocus?: (e: Event) => void;
207
+ };
208
+ declare const Popover: {
209
+ ({ trigger, children, open, onOpenChange, contentClassName, asChild, align, side, alignOffset, sideOffset, onOpenAutoFocus, onCloseAutoFocus, ...props }: React$1.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> & PopoverPropsType): react_jsx_runtime.JSX.Element;
210
+ displayName: string | undefined;
211
+ };
212
+
213
+ export { Button, Country, Dialog, FlagComponent, FormLabel, Input, Loader, OTPInput, PasswordInput, PhoneInput, Popover, PopoverContent, PopoverRoot, PopoverTrigger, Select, Textarea };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var Pt=Object.create;var ce=Object.defineProperty;var Nt=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var Rt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var kt=(e,t)=>{for(var r in t)ce(e,r,{get:t[r],enumerable:!0})},Ie=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of xt(t))!wt.call(e,n)&&n!==r&&ce(e,n,{get:()=>t[n],enumerable:!(a=Nt(t,n))||a.enumerable});return e};var y=(e,t,r)=>(r=e!=null?Pt(Rt(e)):{},Ie(t||!e||!e.__esModule?ce(r,"default",{value:e,enumerable:!0}):r,e)),Dt=e=>Ie(ce({},"__esModule",{value:!0}),e);var Bt={};kt(Bt,{Button:()=>be,Country:()=>gt,Dialog:()=>me,FlagComponent:()=>E,FormLabel:()=>x,Input:()=>$,Loader:()=>Z,OTPInput:()=>vt,PasswordInput:()=>xe,PhoneInput:()=>Le,Select:()=>dt,Textarea:()=>Re});module.exports=Dt(Bt);var Ve=y(require("react"));var Ee=y(require("react")),Ce=y(require("@radix-ui/react-label")),Te=require("class-variance-authority");var Ae=require("clsx"),Fe=require("tailwind-merge");function o(...e){return(0,Fe.twMerge)((0,Ae.clsx)(e))}var Me=require("react/jsx-runtime"),Lt=(0,Te.cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),he=Ee.forwardRef(({className:e,...t},r)=>(0,Me.jsx)(Ce.Root,{ref:r,className:o(Lt(),e),...t}));he.displayName=Ce.Root.displayName;var K=require("react/jsx-runtime"),x=Ve.default.forwardRef(({className:e,children:t,showAsterisk:r,error:a,...n},s)=>(0,K.jsx)(he,{ref:s,className:o(a&&"text-red-500",e),...n,children:r?(0,K.jsxs)("p",{children:[t,(0,K.jsx)("span",{className:"text-red-500",children:"*"})]}):t}));x.displayName="FormLabel";var U=require("react/jsx-runtime"),Z=({size:e=16,colour:t="primary"})=>(0,U.jsxs)("svg",{className:"animate-spin",width:e,height:e,viewBox:"0 0 20 20",fill:"none",children:[(0,U.jsx)("circle",{cx:"10",cy:"10",r:"9.25",stroke:"transparent",strokeWidth:"1.5"}),(0,U.jsx)("path",{d:"M10 0.595792C10 0.266746 10.267 -0.00185055 10.5954 0.0177417C11.9786 0.100242 13.3318 0.469461 14.5682 1.1044C15.9816 1.83021 17.2016 2.88235 18.1273 4.17366C19.0531 5.46496 19.6578 6.95826 19.8913 8.52984C20.1249 10.1014 19.9807 11.706 19.4705 13.2108C18.9604 14.7155 18.0991 16.077 16.9579 17.1825C15.8167 18.288 14.4285 19.1056 12.9084 19.5677C11.3882 20.0298 9.77982 20.123 8.21646 19.8397C6.84883 19.5918 5.55009 19.0619 4.40196 18.2863C4.12931 18.1021 4.08072 17.7265 4.28083 17.4653C4.48094 17.2041 4.85388 17.1564 5.12801 17.3384C6.12474 18.0001 7.24768 18.4531 8.42898 18.6672C9.80606 18.9168 11.2228 18.8347 12.5618 18.4276C13.9008 18.0206 15.1236 17.3004 16.1288 16.3266C17.134 15.3528 17.8927 14.1536 18.342 12.8282C18.7914 11.5027 18.9185 10.0893 18.7127 8.70502C18.507 7.32071 17.9743 6.00535 17.1589 4.86792C16.3435 3.73048 15.2688 2.80371 14.0238 2.16439C12.9559 1.61596 11.789 1.29259 10.5954 1.21173C10.2671 1.18949 10 0.92484 10 0.595792Z",fill:t==="primary"?"#ffffff":"currentColor",className:"rounded"})]});var Oe=y(require("react")),We=require("@radix-ui/react-slot"),He=require("class-variance-authority");var k=require("react/jsx-runtime"),St=(0,He.cva)("overflow-hidden isolate relative inline-flex h-fit items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background dark:ring-offset-transparent transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:!pointer-events-none",{variants:{variant:{primary:"border-primary-main bg-primary-main hover:bg-primary-main/70 disabled:bg-primary-main/70 text-white font-bold",danger:"border-red-600 bg-red-600 hover:bg-red-600/70 disabled:bg-red-600/70 text-white font-bold",neutral:"!border-0 bg-transparent text-primary-main hover:opacity-80 disabled:opacity-60",outlined:"border border-primary-main text-primary-main hover:opacity-80 disabled:opacity-60","danger-outlined":"border border-red-600 text-red-600 hover:opacity-80 disabled:opacity-60","light-outlined":"border-white text-white hover:opacity-80 disabled:opacity-60","dark-text":"border-transparent bg-transparent hover:bg-opacity-70 disabled:bg-opacity-70 text-black font-medium",light:"border-white bg-white hover:bg-opacity-70 disabled:bg-opacity-70 text-primary-main font-semibold"},size:{default:"py-[0.625rem] px-[1.5rem] text-[0.875rem] leading-[1.25rem] font-medium rounded-lg",sm:"py-[0.375rem] px-[1rem] text-[0.75rem] leading-[1rem] font-medium rounded-lg",lg:"py-[0.75rem] px-[1.5rem] text-[1rem] leading-[1.5rem] font-medium rounded-lg",md:"h-12 py-1 px-5 items-center","icon-sm":"h-[1.75rem] w-[1.75rem] flex justify-center items-center font-medium rounded-lg",icon:"h-[2.5rem] w-[2.75rem] flex justify-center items-center font-medium rounded-lg","icon-lg":"h-[3rem] w-[3rem] flex justify-center items-center font-medium rounded-lg"}},defaultVariants:{variant:"primary",size:"default"}}),be=({className:e,variant:t="primary",size:r,asChild:a=!1,isLoading:n=!1,leftNode:s,rightNode:c,LoaderSize:i,ref:h,...u})=>{let p=a?We.Slot:"button",{children:l,disabled:g,...b}=u,F=Oe.useRef(null);return(0,k.jsx)(p,{className:o(St({variant:t,size:r,className:e})),ref:F||h,disabled:g||n,...b,children:(0,k.jsx)("div",{className:"flex font-medium justify-center items-center gap-2",children:n?(0,k.jsx)(k.Fragment,{children:(0,k.jsx)("span",{className:"mx-auto",children:(0,k.jsx)(Z,{size:i,colour:"secondary"})})}):(0,k.jsxs)(k.Fragment,{children:[s,l,c]})})})};be.displayName="Button";var pe=require("class-variance-authority");var Be=y(require("react")),Ge=require("react/jsx-runtime"),D=Be.default.forwardRef(({className:e,children:t,error:r,...a},n)=>{let s=r??t;return s?(0,Ge.jsx)("p",{ref:n,className:o("text-xs font-normal text-[#F04248]",e),...a,children:s}):null});D.displayName="ErrorMessage";var _e=y(require("react")),ze=require("react/jsx-runtime"),L=_e.default.forwardRef(({className:e,...t},r)=>(0,ze.jsx)("div",{ref:r,className:o("text-sm text-[#8E98A8",e),...t}));L.displayName="FormDescription";var S=require("react/jsx-runtime"),ve=(0,pe.cva)("!p-0 flex h-full w-full !border-transparent !bg-transparent text-base focus-visible:bg-transparent focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",error:"placeholder:text-red-500 text-red-500",loading:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",prefilled:""}},defaultVariants:{status:"default"}}),Xe=({className:e,status:t,type:r,ref:a,...n})=>(0,S.jsx)("input",{type:r,className:o(ve({status:t}),e),ref:a,...n});Xe.displayName="BaseInnerInput";var A=(0,pe.cva)("flex relative h-10 w-full rounded-[4px] dark:!bg-transparent border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{status:{default:"border-[#DEDEDE] bg-white text-[#191919] dark:!bg-transparent caret-text-primary focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-status-error-bg-dark text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),Ze=(0,pe.cva)("top-0 flex justify-center items-center h-full min-w-[50px] max-w-[100px] dark:!bg-transparent transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{side:{left:"left-0 rounded-l-[8px] border-r",right:"right-0 rounded-r-[8px] border-l"},status:{default:"border-[#DEDEDE] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-red-50 text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default",side:"left"}}),$=({className:e,status:t="default",disabled:r,error:a,isLoading:n,sideNodeClassName:s,showAsterisk:c,label:i,description:h,ref:u,...p})=>{let l=t;return a&&(l="error"),n&&(l="loading"),r&&(l="prefilled"),(0,S.jsxs)("div",{className:"relative space-y-1 w-full",children:[(0,S.jsx)(x,{showAsterisk:c,error:a,children:i}),(0,S.jsxs)("div",{className:o(A({status:l}),p.leftNode||p.rightNode?"p-0":"",e),children:[p.leftNode?(0,S.jsx)("div",{className:o(Ze({status:l,side:"left"}),s),children:p.leftNode}):null,(0,S.jsx)(Xe,{ref:u,disabled:n||r,className:p.leftNode||p.rightNode?"!px-3 !py-2":"",...p}),p.rightNode?(0,S.jsx)("div",{className:o(Ze({status:l,side:"right"}),s),children:p.rightNode}):null]}),h&&(0,S.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:h}),(0,S.jsx)(D,{error:a})]})};$.displayName="Input";var J=require("react");var q=require("react/jsx-runtime"),Ke=()=>(0,q.jsxs)("svg",{width:"18",height:"14",viewBox:"0 0 18 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,q.jsx)("path",{d:"M1.54639 7.26103C1.48389 7.09264 1.48389 6.90741 1.54639 6.73903C2.15517 5.26292 3.18853 4.00081 4.51547 3.1127C5.84241 2.22459 7.40317 1.75049 8.99989 1.75049C10.5966 1.75049 12.1574 2.22459 13.4843 3.1127C14.8113 4.00081 15.8446 5.26292 16.4534 6.73903C16.5159 6.90741 16.5159 7.09264 16.4534 7.26103C15.8446 8.73713 14.8113 9.99925 13.4843 10.8874C12.1574 11.7755 10.5966 12.2496 8.99989 12.2496C7.40317 12.2496 5.84241 11.7755 4.51547 10.8874C3.18853 9.99925 2.15517 8.73713 1.54639 7.26103Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,q.jsx)("path",{d:"M9 9.25C10.2426 9.25 11.25 8.24264 11.25 7C11.25 5.75736 10.2426 4.75 9 4.75C7.75736 4.75 6.75 5.75736 6.75 7C6.75 8.24264 7.75736 9.25 9 9.25Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]});var j=require("react/jsx-runtime"),Ue=()=>(0,j.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,j.jsx)("path",{d:"M4.08759 12.69C3.26171 11.9072 2.61006 10.9591 2.17509 9.90752C2.10081 9.73454 2.0625 9.54826 2.0625 9.36001C2.0625 9.17177 2.10081 8.98549 2.17509 8.81252C2.75274 7.4073 3.72095 6.19704 4.96509 5.32502C6.14597 4.4998 7.55989 4.07405 9.00009 4.11002C10.0363 4.084 11.064 4.30239 12.0001 4.74752M13.9201 6.03752C14.7415 6.81964 15.3904 7.76486 15.8251 8.81252C15.8994 8.98549 15.9377 9.17177 15.9377 9.36001C15.9377 9.54826 15.8994 9.73454 15.8251 9.90752C15.2474 11.3127 14.2792 12.523 13.0351 13.395C11.8542 14.2202 10.4403 14.646 9.00009 14.61C7.9639 14.636 6.93616 14.4176 6.00009 13.9725",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,j.jsx)("path",{d:"M6.5325 10.2375C6.42732 9.95694 6.37395 9.65962 6.375 9.36C6.375 8.66381 6.65156 7.99613 7.14384 7.50384C7.63613 7.01156 8.30381 6.735 9 6.735C9.3 6.7335 9.597 6.7875 9.8775 6.8925M11.4675 8.4825C11.5725 8.763 11.6265 9.06 11.625 9.36C11.625 10.0562 11.3484 10.7239 10.8562 11.2162C10.3639 11.7084 9.69619 11.985 9 11.985C8.70038 11.986 8.40306 11.9327 8.1225 11.8275M2.25 15L14.25 3",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]});var Pe=require("react/jsx-runtime"),$e=()=>(0,Pe.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Pe.jsx)("path",{d:"M8.89802 2.93408L9.70202 3.49808L6.21602 8.52608H5.41202L3.46802 5.80208L4.27202 5.05208L5.81402 6.49208L8.89802 2.93408Z",fill:"currentColor"})});var Ne=require("react/jsx-runtime"),qe=()=>(0,Ne.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ne.jsx)("path",{d:"M3.37891 8.62142L6.00041 5.99992L8.62191 8.62142M8.62191 3.37842L5.99991 5.99992L3.37891 3.37842",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});var R=require("react/jsx-runtime"),je=[{label:"Uppercase",key:"uppercase",RegExp:/[A-Z]/,validated:!1},{label:"Lowercase",key:"lowercase",RegExp:/[a-z]/,validated:!1},{label:"Number",key:"number",RegExp:/\d/,validated:!1},{label:"8 Characters",key:"eight-chars",RegExp:/.{8}/,validated:!1}],xe=({onValidate:e,onChange:t,...r})=>{let[a,n]=(0,J.useState)(!1),[s,c]=(0,J.useState)(je),i=l=>je.map(g=>({...g,validated:g.RegExp.test(l)})),h=l=>{let g=i(l),b=g.every(F=>F.validated);return c(g),b},u=l=>{t&&t(l);let g=l?.target?.value,b=h(g);e&&e(b,g)},p=(0,J.useMemo)(()=>(0,R.jsx)("div",{className:"flex items-center gap-2",children:s?.map(l=>(0,R.jsxs)("div",{className:o("text-xs flex items-center gap-0.5",{"text-[#62C554]":l?.validated,"text-[#8E98A8]":!l?.validated}),children:[(0,R.jsx)("span",{className:"",children:l?.validated?(0,R.jsx)($e,{}):(0,R.jsx)(qe,{})}),(0,R.jsx)("span",{className:"",children:l?.label})]},l?.key))}),[s]);return(0,R.jsx)($,{sideNodeClassName:"!border-l-0",rightNode:a?(0,R.jsx)("button",{type:"button",onClick:()=>n(l=>!l),children:(0,R.jsx)(Ke,{})}):(0,R.jsx)("button",{type:"button",onClick:()=>n(l=>!l),children:(0,R.jsx)(Ue,{})}),type:a?"text":"password",onChange:u,description:p,...r})};xe.displayName="PasswordInput";var Je=require("class-variance-authority");var H=require("react/jsx-runtime"),Rr=(0,Je.cva)("flex relative min-h-[80px] w-full rounded-[8px] border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"border-[#D7D7D7] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-status-error-fill bg-status-error-bg border-status-error-fill dark:!bg-status-error-bg-dark text-status-error-fill focus-within:bg-status-error-bg focus-within:border-status-error-fill",loading:"placeholder:text-[#C4C4C4]",prefilled:"resize-none bg-[#F6F6F6] border-[#D7D7D7] dark:!bg-transparent caret-[#D7D7D7] focus-within:bg-[#F6F6F6] focus-within:border-[#D7D7D7] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),Re=({className:e,status:t="default",disabled:r,error:a,isLoading:n,showAsterisk:s,label:c,description:i,...h})=>{let u=t;return a&&(u="error"),n&&(u="loading"),r&&(u="prefilled"),(0,H.jsxs)("div",{className:"relative space-y-1",children:[(0,H.jsx)(x,{showAsterisk:s,error:a,children:c}),(0,H.jsx)("textarea",{className:o("min-h-[80px]",A({status:u}),e),disabled:n||r,...h}),(0,H.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:i}),(0,H.jsx)(D,{error:a})]})};Re.displayName="Textarea";var G=y(require("react"));var T=y(require("react")),P=require("cmdk"),nt=require("lucide-react");var Y=y(require("react")),f=y(require("@radix-ui/react-dialog"));var Q=require("react/jsx-runtime"),Qe=()=>(0,Q.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x",children:[(0,Q.jsx)("path",{d:"M18 6 6 18"}),(0,Q.jsx)("path",{d:"m6 6 12 12"})]});var m=require("react/jsx-runtime"),It=f.Root,At=f.Trigger,Ye=f.Portal,et=Y.forwardRef(({className:e,...t},r)=>(0,m.jsx)(f.Overlay,{ref:r,className:o("fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));et.displayName=f.Overlay.displayName;var we=Y.forwardRef(({className:e,hideCloseButton:t,children:r,...a},n)=>(0,m.jsxs)(Ye,{children:[(0,m.jsx)(et,{}),(0,m.jsxs)(f.Content,{ref:n,className:o("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-transparent bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",e),...a,children:[r,!t&&(0,m.jsxs)(f.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,m.jsx)(Qe,{}),(0,m.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));we.displayName=f.Content.displayName;var tt=({className:e,...t})=>(0,m.jsx)("div",{className:o("flex flex-col space-y-1.5 text-left",e),...t});tt.displayName="DialogHeader";var rt=({className:e,...t})=>(0,m.jsx)("div",{className:o("flex flex-row justify-end sm:space-x-2",e),...t});rt.displayName="DialogFooter";var ot=Y.forwardRef(({className:e,...t},r)=>(0,m.jsx)(f.Title,{ref:r,className:o("text-xl font-semibold leading-none tracking-tight",e),...t}));ot.displayName=f.Title.displayName;var at=Y.forwardRef(({className:e,...t},r)=>(0,m.jsx)(f.Description,{ref:r,className:o("text-sm text-gray-500",e),...t}));at.displayName=f.Description.displayName;var me=({trigger:e=void 0,children:t,open:r,onOpenChange:a,hideCloseButton:n,footer:s,title:c,description:i,contentClassName:h,headerClassName:u,titleClassName:p,descriptionClassName:l,footerClassName:g,asChild:b=!0,onOpenAutoFocus:F,onCloseAutoFocus:fe,onEscapeKeyDown:de,onInteractOutside:_,onPointerDownOutside:ye,...ge})=>(0,m.jsxs)(It,{...ge,open:r,onOpenChange:a,children:[(0,m.jsx)(At,{asChild:b,children:e}),(0,m.jsx)(Ye,{children:(0,m.jsxs)(we,{className:h,hideCloseButton:n,onOpenAutoFocus:F,onCloseAutoFocus:fe,onEscapeKeyDown:de,onPointerDownOutside:ye,onInteractOutside:_,children:[c||i?(0,m.jsxs)(tt,{className:u,children:[c&&(0,m.jsx)(ot,{className:p,children:c}),i&&(0,m.jsx)(at,{className:l,children:i})]}):(0,m.jsx)(m.Fragment,{}),t,s&&(0,m.jsx)(rt,{className:g,children:s})]})})]});me.displayName=f.Dialog.displayName;var N=require("react/jsx-runtime"),ee=T.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command,{ref:r,className:o("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));ee.displayName=P.Command.displayName;var te=T.forwardRef(({className:e,CommandInputContainerClassName:t,loading:r,...a},n)=>(0,N.jsxs)("div",{className:o("flex items-center border-0 px-3 gap-2",t),"cmdk-input-wrapper":"",children:[r?(0,N.jsx)(Z,{size:16,colour:"secondary"}):(0,N.jsx)(nt.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,N.jsx)(P.Command.Input,{ref:n,className:o("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),disabled:r,...a})]}));te.displayName=P.Command.Input.displayName;var re=T.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.List,{ref:r,className:o("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));re.displayName=P.Command.List.displayName;var oe=T.forwardRef((e,t)=>(0,N.jsx)(P.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));oe.displayName=P.Command.Empty.displayName;var ae=T.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.Group,{ref:r,className:o("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));ae.displayName=P.Command.Group.displayName;var Ft=T.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.Separator,{ref:r,className:o("-mx-1 h-px bg-border",e),...t}));Ft.displayName=P.Command.Separator.displayName;var ne=T.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.Item,{ref:r,className:o("relative text=[#222222] flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));ne.displayName=P.Command.Item.displayName;var Et=({className:e,...t})=>(0,N.jsx)("span",{className:o("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});Et.displayName="CommandShortcut";var it=y(require("react")),I=y(require("@radix-ui/react-popover"));var M=require("react/jsx-runtime"),ie=I.Root,B=I.Trigger,X=it.forwardRef(({className:e,align:t="center",sideOffset:r=4,portal:a=!0,...n},s)=>a?(0,M.jsx)(I.Portal,{children:(0,M.jsx)(I.Content,{ref:s,align:t,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n})}):(0,M.jsx)(I.Content,{ref:s,align:t,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n}));X.displayName=I.Content.displayName;var Tt=({trigger:e,children:t,open:r,onOpenChange:a,contentClassName:n,asChild:s=!0,align:c,side:i,alignOffset:h,sideOffset:u,onOpenAutoFocus:p,onCloseAutoFocus:l,...g})=>(0,M.jsxs)(ie,{...g,open:r,onOpenChange:a,children:[(0,M.jsx)(B,{asChild:s,children:e}),(0,M.jsx)(X,{alignOffset:h,sideOffset:u,side:i,align:c,className:n,onOpenAutoFocus:p,onCloseAutoFocus:l,children:t})]});Tt.displayName=I.Root.displayName;var ke=y(require("react")),w=y(require("@radix-ui/react-scroll-area"));var V=require("react/jsx-runtime"),se=ke.forwardRef(({className:e,children:t,...r},a)=>(0,V.jsxs)(w.Root,{ref:a,className:o("relative overflow-hidden",e),...r,children:[(0,V.jsx)(w.Viewport,{className:"h-full w-full rounded-[inherit]",children:t}),(0,V.jsx)(st,{}),(0,V.jsx)(w.Corner,{})]}));se.displayName=w.Root.displayName;var st=ke.forwardRef(({className:e,orientation:t="vertical",...r},a)=>(0,V.jsx)(w.ScrollAreaScrollbar,{ref:a,orientation:t,className:o("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:(0,V.jsx)(w.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));st.displayName=w.ScrollAreaScrollbar.displayName;var v=require("react/jsx-runtime"),lt=({className:e,value:t,placeholder:r="",status:a,disabled:n})=>(0,v.jsx)(B,{asChild:!0,disabled:n,children:(0,v.jsxs)("button",{disabled:n,className:o(A({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex h-12 w-full items-center justify-between goup",t?"":"text-[#79818C]",e),children:[t??r??"Select options...",(0,v.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:(0,v.jsx)("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),ue=({options:e=[],value:t,onChange:r,containerClassName:a,placeholder:n,disabled:s,loading:c,optionComponent:i,children:h,modal:u=!1,hideSearch:p,className:l,inputValue:g,onValueChange:b,onInputValueChange:F})=>{let[fe,de]=G.useState(!1),_=G.useRef(null),[ye,ge]=G.useState(void 0);return G.useLayoutEffect(()=>{_.current&&ge(_.current.clientWidth)},[_.current]),(0,v.jsxs)(ie,{modal:u,open:fe,onOpenChange:de,children:[(0,v.jsx)("div",{className:o("w-full",l),ref:_,children:h}),(0,v.jsx)(X,{portal:!u,className:"p-0 min-w-[200px]",style:{width:ye},children:(0,v.jsxs)(ee,{className:"max-h-[270px] relative",children:[!p&&(0,v.jsx)(te,{loading:c,placeholder:n??"Search options...",onValueChange:F,value:g,CommandInputContainerClassName:"mx-3 border rounded-md border-[#DEDEDE]"}),(0,v.jsx)(se,{className:o("w-full px-0 h-full overflow-y-auto",a),children:(0,v.jsxs)(re,{children:[!p&&(0,v.jsx)(oe,{children:"No result found."}),(0,v.jsx)(ae,{className:"w-full",children:e?.map(z=>(0,v.jsx)(ne,{defaultValue:t?.label,value:z.label,disabled:s,onSelect:()=>{r(z),de(!1),b?.(z?.value)},children:i?i(z):z.label},z.value))})]})})]})})]})};var O=require("react/jsx-runtime"),dt=({showAsterisk:e,label:t,description:r,error:a,hideSearch:n=!0,status:s,...c})=>(0,O.jsxs)("div",{className:"relative space-y-1",children:[(0,O.jsx)(x,{showAsterisk:e,error:a,children:t}),(0,O.jsx)(ue,{hideSearch:n,...c,containerClassName:"max-h-[700px] h-full",children:(0,O.jsx)(lt,{disabled:c?.disabled,placeholder:"Select or search email",status:s,value:c?.value?.label??c?.value?.value})}),(0,O.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:r}),(0,O.jsx)(D,{error:a})]});var De=[{countryCode:"GLOBAL",countryName:"Global",currency:"Dollars",currencyCode:"USD",internetCountryCode:"GLOBAL"},{countryName:"Benin",countryCode:"+229",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BJ"},{countryName:"Burkina Faso",countryCode:"+226",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BF"},{countryName:"Cameroon",countryCode:"+237",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CM"},{countryName:"Chad",countryCode:"+235",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"TD"},{countryName:"DR Congo",countryCode:"+243",currency:"Congolese franc",currencyCode:"CDF",currencyIcon:"FC",internetCountryCode:"CD"},{countryName:"Eswatini",countryCode:"+268",currency:"Swazi lilangeni",currencyCode:"SZL",currencyIcon:"L",internetCountryCode:"SZ"},{countryName:"Gabon",countryCode:"+241",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"GA"},{countryName:"Ghana",countryCode:"+233",currency:"Ghanaian cedi",currencyCode:"GHS",currencyIcon:"\u20B5",internetCountryCode:"GH"},{countryName:"Guinea",countryCode:"+224",currency:"Guinean franc",currencyCode:"GNF",currencyIcon:"Fr",internetCountryCode:"GN"},{countryName:"Ivory Coast",countryCode:"+225",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"CI"},{countryName:"Kenya",countryCode:"+254",currency:"Kenyan shilling",currencyCode:"KES",currencyIcon:"Sh",internetCountryCode:"KE"},{countryName:"Lesotho",countryCode:"+266",currency:"Lesotho loti",currencyCode:"LSL",currencyIcon:"L",internetCountryCode:"LS"},{countryName:"Liberia",countryCode:"+231",currency:"Liberian dollar",currencyCode:"LRD",currencyIcon:"$",internetCountryCode:"LR"},{countryName:"Madagascar",countryCode:"+261",currency:"Malagasy ariary",currencyCode:"MGA",currencyIcon:"Ar",internetCountryCode:"MG"},{countryName:"Malawi",countryCode:"+265",currency:"Malawian kwacha",currencyCode:"MWK",currencyIcon:"MK",internetCountryCode:"MW"},{countryName:"Mali",countryCode:"+223",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"ML"},{countryName:"Mozambique",countryCode:"+258",currency:"Mozambican metical",currencyCode:"MZN",currencyIcon:"MT",internetCountryCode:"MZ"},{countryName:"Namibia",countryCode:"+264",currency:"Namibian dollar",currencyCode:"NAD",currencyIcon:"$",internetCountryCode:"NA"},{countryName:"Niger",countryCode:"+227",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"NE"},{countryName:"Nigeria",countryCode:"+234",currency:"Nigerian naira",currencyCode:"NGN",currencyIcon:"\u20A6",internetCountryCode:"NG"},{countryName:"Republic of the Congo",countryCode:"+242",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CG"},{countryName:"Rwanda",countryCode:"+250",currency:"Rwandan franc",currencyCode:"RWF",currencyIcon:"Fr",internetCountryCode:"RW"},{countryName:"Senegal",countryCode:"+221",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"SN"},{countryName:"Seychelles",countryCode:"+248",currency:"Seychellois rupee",currencyCode:"SCR",currencyIcon:"\u20A8",internetCountryCode:"SC"},{countryName:"South Africa",countryCode:"+27",currency:"South African rand",currencyCode:"ZAR",currencyIcon:"R",internetCountryCode:"ZA"},{countryName:"South Sudan",countryCode:"+211",currency:"South Sudanese pound",currencyCode:"SSP",currencyIcon:"\xA3",internetCountryCode:"SS"},{countryName:"Tanzania",countryCode:"+255",currency:"Tanzanian shilling",currencyCode:"TZS",currencyIcon:"Sh",internetCountryCode:"TZ"},{countryName:"Togo",countryCode:"+228",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"TG"},{countryName:"Uganda",countryCode:"+256",currency:"Ugandan shilling",currencyCode:"UGX",currencyIcon:"Sh",internetCountryCode:"UG"},{countryName:"Zambia",countryCode:"+260",currency:"Zambian kwacha",currencyCode:"ZMW",currencyIcon:"ZK",internetCountryCode:"ZM"}],ct=()=>{let e={};return De?.forEach(t=>{e[t?.internetCountryCode]=t?.countryName}),e};var le=y(require("react")),mt=y(require("react-phone-number-input")),ut=y(require("react-phone-number-input")),ft=y(require("react-phone-number-input/flags"));var W=require("react/jsx-runtime"),Mt=e=>(0,W.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"none",...e,children:[(0,W.jsx)("rect",{width:"32",height:"32",fill:"#60A5FA"})," ",(0,W.jsx)("path",{d:"M3 10L7 8L10 9L13 8L16 10L19 9L22 11L25 10L28 12V15L26 17L28 19L27 22L29 24L27 26L24 25L21 26L18 24L15 25L12 23L9 24L6 22L4 23L2 21V18L4 16L3 13L5 11L3 10Z",fill:"#34D399"}),(0,W.jsx)("rect",{x:"2",y:"28",width:"28",height:"3",fill:"#D1D5DB"}),(0,W.jsx)("path",{d:"M0 16H32M8 0V32M16 0V32M24 0V32",stroke:"#2563EB",strokeWidth:"0.5",vectorEffect:"non-scaling-stroke"}),(0,W.jsx)("path",{d:"M0 16H32",stroke:"#2563EB",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]}),pt=Mt;var d=require("react/jsx-runtime"),Le=le.forwardRef(({className:e,onChange:t,value:r,modal:a,showAsterisk:n,label:s,description:c,error:i,defaultCountry:h="NG",...u},p)=>{let l=b=>(0,d.jsx)(Vt,{...b,status:u.status,modal:a,onChange:F=>b.onChange(F)}),g=r;return(0,d.jsxs)("div",{className:"relative space-y-1",children:[(0,d.jsx)(x,{showAsterisk:n,error:i,children:s}),(0,d.jsx)(ut.default,{ref:p,className:o("flex",e),flagComponent:E,countrySelectComponent:l,focusInputOnCountrySelection:!0,countryCallingCodeEditable:!0,enableLongNumber:!0,addInternationalOption:!0,international:!0,inputComponent:yt,defaultCountry:h,containerComponent:({children:b})=>(0,d.jsx)("div",{className:o(A({status:u?.status}),"p-0 gap-1"),children:b}),...u,onChange:b=>{t&&t(b)},value:g}),(0,d.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:c}),(0,d.jsx)(D,{error:i})]})});Le.displayName="PhoneInput";var yt=le.forwardRef(({className:e,...t},r)=>(0,d.jsx)("input",{className:o(ve({status:t?.status})," h-full !-mt-0 border-0 rounded-l-none !flex-1 !block !w-full",e),...t,ref:r}));yt.displayName="InputComponent";var Vt=({disabled:e,value:t,onChange:r,options:a,status:n,modal:s})=>{let c=le.useCallback(i=>{console.log(i),r(i)},[r]);return(0,d.jsxs)(ie,{modal:s,children:[(0,d.jsx)(B,{disabled:e,children:(0,d.jsxs)("div",{className:o(A({status:n}),"!border-0 transition justify-center items-center disabled:text-base-500 flex gap-3 h-full rounded-e-none pl-2 pr-2"),children:[(0,d.jsx)(E,{country:t,countryName:t}),(0,d.jsx)("svg",{className:o("-mr-2 h-4 w-4 opacity-50",e?"hidden":"opacity-100"),width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,d.jsx)("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"#959595",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),(0,d.jsx)(X,{portal:!s,className:"w-[200px] md:w-[300px] p-0",children:(0,d.jsx)(ee,{children:(0,d.jsx)(re,{children:(0,d.jsxs)(se,{className:"h-72",children:[(0,d.jsx)(te,{placeholder:"Search country..."}),(0,d.jsx)(oe,{children:"No country found."}),(0,d.jsx)(ae,{children:a.filter(i=>i.value).map(i=>(0,d.jsxs)(ne,{className:"gap-2",onSelect:()=>c(i.value),children:[(0,d.jsx)(E,{country:i.value,countryName:i.label}),(0,d.jsx)("span",{className:"flex-1 text-sm",children:i.label}),i.value&&(0,d.jsx)("span",{className:"text-[#191919]/50 text-sm dark:text-white",children:`+${mt.getCountryCallingCode(i.value)}`}),(0,d.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:o("ml-auto",i.value===t?"opacity-100":"opacity-0"),children:(0,d.jsx)("path",{d:"M4 8.00008L6.66353 10.6636L12 5.33655",stroke:"#959595",strokeWidth:"1.06667",strokeLinecap:"round",strokeLinejoin:"round"})})]},`${i.value}-${i.label}`))})]})})})})]})},E=({country:e,countryName:t,className:r})=>{let a=ft.default[e];return e==="GLOBAL"?(0,d.jsx)("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:(0,d.jsx)(pt,{className:"w-full h-[90%]"})}):(0,d.jsx)("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:a&&(0,d.jsx)(a,{title:t})})};E.displayName="FlagComponent";var C=require("react/jsx-runtime"),Ot=ct(),Wt=({className:e,value:t,placeholder:r="",status:a,disabled:n})=>(0,C.jsx)(B,{asChild:!0,disabled:n,children:(0,C.jsxs)("button",{disabled:n,className:o(A({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex w-full items-center justify-between goup",t?"":"text-[#79818C]",e),children:[t?(0,C.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,C.jsx)(E,{country:t,countryName:t,className:"ml-1 !w-6 h-5"}),(0,C.jsxs)("span",{className:"",children:[" ",Ot[t]]})]}):r??"Select options...",(0,C.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:(0,C.jsx)("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),gt=({hideSearch:e=!0,showAsterisk:t,label:r,description:a,error:n,...s})=>{let c=De?.map(i=>({value:i?.internetCountryCode,label:i?.countryName,...i}));return(0,C.jsxs)("div",{className:"relative space-y-1",children:[(0,C.jsx)(x,{showAsterisk:t,error:n,children:r}),(0,C.jsx)(ue,{options:c,hideSearch:e,optionComponent:i=>(0,C.jsxs)("div",{className:"w-full flex items-center gap-2",children:[(0,C.jsx)(E,{country:i?.internetCountryCode,countryName:i?.label,className:"ml-2 !w-6 !h-5"}),(0,C.jsx)("span",{className:"flex-1 text-sm",children:i?.label})]}),...s,children:(0,C.jsx)(Wt,{value:s?.value?.value,status:s?.status,placeholder:s?.placeholder??" Select Country"})}),(0,C.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:a}),(0,C.jsx)(D,{error:n})]})};var Ct=y(require("react-otp-input"));var ht=require("class-variance-authority"),bt=require("react"),Se=require("react/jsx-runtime"),Ht=(0,ht.cva)("transition cursor-default placeholder:text-black dark:placeholder:text-white rounded-lg !h-14 !w-14 border aspect-square text-base font-semibold tracking-normal outline-none placeholder:text-sm placeholder:font-normal text-black focus:bg-white",{variants:{status:{default:"border-gray-300 dark:border-[#d4d4d4] focus:border-gray-400 focus-visible:!ring-offset-gray-200 focus:ring-offset-gray-200 !ring-gray-200 !focus-visible:ring-1 bg-white dark:!bg-transparent dark:focus-visible:!ring-0 dark:focus-within:!bg-transparent dark:text-white dark:focus-within:border-[#9299A2] dark:border-[#676767] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-600 bg-red-50 border-red-600 text-red-600 focus-within:bg-red-50 focus-within:border-red-600",loading:"placeholder:text-[#C4C4C4]"}},defaultVariants:{status:"default"}}),vt=({numInputs:e=4,inputStyle:t,containerStyle:r,placeholder:a="-",status:n,...s})=>{let c=(0,bt.useMemo)(()=>a||new Array(e).fill("").reduce((u,p)=>u+=p,""),[e,a]);return(0,Se.jsx)(Ct.default,{numInputs:e,placeholder:c,containerStyle:o("w-full",r),inputStyle:o(Ht({status:n}),t),renderInput:i=>(0,Se.jsx)("input",{...i}),...s})};0&&(module.exports={Button,Country,Dialog,FlagComponent,FormLabel,Input,Loader,OTPInput,PasswordInput,PhoneInput,Select,Textarea});
1
+ "use strict";var Nt=Object.create;var ce=Object.defineProperty;var xt=Object.getOwnPropertyDescriptor;var Rt=Object.getOwnPropertyNames;var wt=Object.getPrototypeOf,kt=Object.prototype.hasOwnProperty;var Dt=(e,t)=>{for(var r in t)ce(e,r,{get:t[r],enumerable:!0})},Ae=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Rt(t))!kt.call(e,n)&&n!==r&&ce(e,n,{get:()=>t[n],enumerable:!(a=xt(t,n))||a.enumerable});return e};var y=(e,t,r)=>(r=e!=null?Nt(wt(e)):{},Ae(t||!e||!e.__esModule?ce(r,"default",{value:e,enumerable:!0}):r,e)),Lt=e=>Ae(ce({},"__esModule",{value:!0}),e);var Bt={};Dt(Bt,{Button:()=>be,Country:()=>Ct,Dialog:()=>me,FlagComponent:()=>T,FormLabel:()=>x,Input:()=>q,Loader:()=>K,OTPInput:()=>Pt,PasswordInput:()=>xe,PhoneInput:()=>Se,Popover:()=>ke,PopoverContent:()=>O,PopoverRoot:()=>_,PopoverTrigger:()=>E,Select:()=>ct,Textarea:()=>Re});module.exports=Lt(Bt);var Oe=y(require("react"));var Te=y(require("react")),Ce=y(require("@radix-ui/react-label")),Me=require("class-variance-authority");var Fe=require("clsx"),Ee=require("tailwind-merge");function o(...e){return(0,Ee.twMerge)((0,Fe.clsx)(e))}var Ve=require("react/jsx-runtime"),St=(0,Me.cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),he=Te.forwardRef(({className:e,...t},r)=>(0,Ve.jsx)(Ce.Root,{ref:r,className:o(St(),e),...t}));he.displayName=Ce.Root.displayName;var U=require("react/jsx-runtime"),x=Oe.default.forwardRef(({className:e,children:t,showAsterisk:r,error:a,...n},s)=>(0,U.jsx)(he,{ref:s,className:o(a&&"text-red-500",e),...n,children:r?(0,U.jsxs)("p",{children:[t,(0,U.jsx)("span",{className:"text-red-500",children:"*"})]}):t}));x.displayName="FormLabel";var $=require("react/jsx-runtime"),K=({size:e=16,colour:t="primary"})=>(0,$.jsxs)("svg",{className:"animate-spin",width:e,height:e,viewBox:"0 0 20 20",fill:"none",children:[(0,$.jsx)("circle",{cx:"10",cy:"10",r:"9.25",stroke:"transparent",strokeWidth:"1.5"}),(0,$.jsx)("path",{d:"M10 0.595792C10 0.266746 10.267 -0.00185055 10.5954 0.0177417C11.9786 0.100242 13.3318 0.469461 14.5682 1.1044C15.9816 1.83021 17.2016 2.88235 18.1273 4.17366C19.0531 5.46496 19.6578 6.95826 19.8913 8.52984C20.1249 10.1014 19.9807 11.706 19.4705 13.2108C18.9604 14.7155 18.0991 16.077 16.9579 17.1825C15.8167 18.288 14.4285 19.1056 12.9084 19.5677C11.3882 20.0298 9.77982 20.123 8.21646 19.8397C6.84883 19.5918 5.55009 19.0619 4.40196 18.2863C4.12931 18.1021 4.08072 17.7265 4.28083 17.4653C4.48094 17.2041 4.85388 17.1564 5.12801 17.3384C6.12474 18.0001 7.24768 18.4531 8.42898 18.6672C9.80606 18.9168 11.2228 18.8347 12.5618 18.4276C13.9008 18.0206 15.1236 17.3004 16.1288 16.3266C17.134 15.3528 17.8927 14.1536 18.342 12.8282C18.7914 11.5027 18.9185 10.0893 18.7127 8.70502C18.507 7.32071 17.9743 6.00535 17.1589 4.86792C16.3435 3.73048 15.2688 2.80371 14.0238 2.16439C12.9559 1.61596 11.789 1.29259 10.5954 1.21173C10.2671 1.18949 10 0.92484 10 0.595792Z",fill:t==="primary"?"#ffffff":"currentColor",className:"rounded"})]});var We=y(require("react")),He=require("@radix-ui/react-slot"),Be=require("class-variance-authority");var k=require("react/jsx-runtime"),It=(0,Be.cva)("overflow-hidden isolate relative inline-flex h-fit items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background dark:ring-offset-transparent transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:!pointer-events-none",{variants:{variant:{primary:"border-primary-main bg-primary-main hover:bg-primary-main/70 disabled:bg-primary-main/70 text-white font-bold",danger:"border-red-600 bg-red-600 hover:bg-red-600/70 disabled:bg-red-600/70 text-white font-bold",neutral:"!border-0 bg-transparent text-primary-main hover:opacity-80 disabled:opacity-60",outlined:"border border-primary-main text-primary-main hover:opacity-80 disabled:opacity-60","danger-outlined":"border border-red-600 text-red-600 hover:opacity-80 disabled:opacity-60","light-outlined":"border-white text-white hover:opacity-80 disabled:opacity-60","dark-text":"border-transparent bg-transparent hover:bg-opacity-70 disabled:bg-opacity-70 text-black font-medium",light:"border-white bg-white hover:bg-opacity-70 disabled:bg-opacity-70 text-primary-main font-semibold"},size:{default:"py-[0.625rem] px-[1.5rem] text-[0.875rem] leading-[1.25rem] font-medium rounded-lg",sm:"py-[0.375rem] px-[1rem] text-[0.75rem] leading-[1rem] font-medium rounded-lg",lg:"py-[0.75rem] px-[1.5rem] text-[1rem] leading-[1.5rem] font-medium rounded-lg",md:"h-12 py-1 px-5 items-center","icon-sm":"h-[1.75rem] w-[1.75rem] flex justify-center items-center font-medium rounded-lg",icon:"h-[2.5rem] w-[2.75rem] flex justify-center items-center font-medium rounded-lg","icon-lg":"h-[3rem] w-[3rem] flex justify-center items-center font-medium rounded-lg"}},defaultVariants:{variant:"primary",size:"default"}}),be=({className:e,variant:t="primary",size:r,asChild:a=!1,isLoading:n=!1,leftNode:s,rightNode:c,LoaderSize:i,ref:h,...u})=>{let p=a?He.Slot:"button",{children:l,disabled:g,...b}=u,F=We.useRef(null);return(0,k.jsx)(p,{className:o(It({variant:t,size:r,className:e})),ref:F||h,disabled:g||n,...b,children:(0,k.jsx)("div",{className:"flex font-medium justify-center items-center gap-2",children:n?(0,k.jsx)(k.Fragment,{children:(0,k.jsx)("span",{className:"mx-auto",children:(0,k.jsx)(K,{size:i,colour:"secondary"})})}):(0,k.jsxs)(k.Fragment,{children:[s,l,c]})})})};be.displayName="Button";var pe=require("class-variance-authority");var Ge=y(require("react")),_e=require("react/jsx-runtime"),D=Ge.default.forwardRef(({className:e,children:t,error:r,...a},n)=>{let s=r??t;return s?(0,_e.jsx)("p",{ref:n,className:o("text-xs font-normal text-[#F04248]",e),...a,children:s}):null});D.displayName="ErrorMessage";var ze=y(require("react")),Ze=require("react/jsx-runtime"),L=ze.default.forwardRef(({className:e,...t},r)=>(0,Ze.jsx)("div",{ref:r,className:o("text-sm text-[#8E98A8",e),...t}));L.displayName="FormDescription";var S=require("react/jsx-runtime"),ve=(0,pe.cva)("!p-0 flex h-full w-full !border-transparent !bg-transparent text-base focus-visible:bg-transparent focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",error:"placeholder:text-red-500 text-red-500",loading:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",prefilled:""}},defaultVariants:{status:"default"}}),Ke=({className:e,status:t,type:r,ref:a,...n})=>(0,S.jsx)("input",{type:r,className:o(ve({status:t}),e),ref:a,...n});Ke.displayName="BaseInnerInput";var A=(0,pe.cva)("flex relative h-10 w-full rounded-[4px] dark:!bg-transparent border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{status:{default:"border-[#DEDEDE] bg-white text-[#191919] dark:!bg-transparent caret-text-primary focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-status-error-bg-dark text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),Xe=(0,pe.cva)("top-0 flex justify-center items-center h-full min-w-[50px] max-w-[100px] dark:!bg-transparent transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{side:{left:"left-0 rounded-l-[8px] border-r",right:"right-0 rounded-r-[8px] border-l"},status:{default:"border-[#DEDEDE] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-red-50 text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default",side:"left"}}),q=({className:e,status:t="default",disabled:r,error:a,isLoading:n,sideNodeClassName:s,showAsterisk:c,label:i,description:h,ref:u,...p})=>{let l=t;return a&&(l="error"),n&&(l="loading"),r&&(l="prefilled"),(0,S.jsxs)("div",{className:"relative space-y-1 w-full",children:[(0,S.jsx)(x,{showAsterisk:c,error:a,children:i}),(0,S.jsxs)("div",{className:o(A({status:l}),p.leftNode||p.rightNode?"p-0":"",e),children:[p.leftNode?(0,S.jsx)("div",{className:o(Xe({status:l,side:"left"}),s),children:p.leftNode}):null,(0,S.jsx)(Ke,{ref:u,disabled:n||r,className:p.leftNode||p.rightNode?"!px-3 !py-2":"",...p}),p.rightNode?(0,S.jsx)("div",{className:o(Xe({status:l,side:"right"}),s),children:p.rightNode}):null]}),h&&(0,S.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:h}),(0,S.jsx)(D,{error:a})]})};q.displayName="Input";var Q=require("react");var j=require("react/jsx-runtime"),Ue=()=>(0,j.jsxs)("svg",{width:"18",height:"14",viewBox:"0 0 18 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,j.jsx)("path",{d:"M1.54639 7.26103C1.48389 7.09264 1.48389 6.90741 1.54639 6.73903C2.15517 5.26292 3.18853 4.00081 4.51547 3.1127C5.84241 2.22459 7.40317 1.75049 8.99989 1.75049C10.5966 1.75049 12.1574 2.22459 13.4843 3.1127C14.8113 4.00081 15.8446 5.26292 16.4534 6.73903C16.5159 6.90741 16.5159 7.09264 16.4534 7.26103C15.8446 8.73713 14.8113 9.99925 13.4843 10.8874C12.1574 11.7755 10.5966 12.2496 8.99989 12.2496C7.40317 12.2496 5.84241 11.7755 4.51547 10.8874C3.18853 9.99925 2.15517 8.73713 1.54639 7.26103Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,j.jsx)("path",{d:"M9 9.25C10.2426 9.25 11.25 8.24264 11.25 7C11.25 5.75736 10.2426 4.75 9 4.75C7.75736 4.75 6.75 5.75736 6.75 7C6.75 8.24264 7.75736 9.25 9 9.25Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]});var J=require("react/jsx-runtime"),$e=()=>(0,J.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,J.jsx)("path",{d:"M4.08759 12.69C3.26171 11.9072 2.61006 10.9591 2.17509 9.90752C2.10081 9.73454 2.0625 9.54826 2.0625 9.36001C2.0625 9.17177 2.10081 8.98549 2.17509 8.81252C2.75274 7.4073 3.72095 6.19704 4.96509 5.32502C6.14597 4.4998 7.55989 4.07405 9.00009 4.11002C10.0363 4.084 11.064 4.30239 12.0001 4.74752M13.9201 6.03752C14.7415 6.81964 15.3904 7.76486 15.8251 8.81252C15.8994 8.98549 15.9377 9.17177 15.9377 9.36001C15.9377 9.54826 15.8994 9.73454 15.8251 9.90752C15.2474 11.3127 14.2792 12.523 13.0351 13.395C11.8542 14.2202 10.4403 14.646 9.00009 14.61C7.9639 14.636 6.93616 14.4176 6.00009 13.9725",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,J.jsx)("path",{d:"M6.5325 10.2375C6.42732 9.95694 6.37395 9.65962 6.375 9.36C6.375 8.66381 6.65156 7.99613 7.14384 7.50384C7.63613 7.01156 8.30381 6.735 9 6.735C9.3 6.7335 9.597 6.7875 9.8775 6.8925M11.4675 8.4825C11.5725 8.763 11.6265 9.06 11.625 9.36C11.625 10.0562 11.3484 10.7239 10.8562 11.2162C10.3639 11.7084 9.69619 11.985 9 11.985C8.70038 11.986 8.40306 11.9327 8.1225 11.8275M2.25 15L14.25 3",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]});var Pe=require("react/jsx-runtime"),qe=()=>(0,Pe.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Pe.jsx)("path",{d:"M8.89802 2.93408L9.70202 3.49808L6.21602 8.52608H5.41202L3.46802 5.80208L4.27202 5.05208L5.81402 6.49208L8.89802 2.93408Z",fill:"currentColor"})});var Ne=require("react/jsx-runtime"),je=()=>(0,Ne.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ne.jsx)("path",{d:"M3.37891 8.62142L6.00041 5.99992L8.62191 8.62142M8.62191 3.37842L5.99991 5.99992L3.37891 3.37842",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});var R=require("react/jsx-runtime"),Je=[{label:"Uppercase",key:"uppercase",RegExp:/[A-Z]/,validated:!1},{label:"Lowercase",key:"lowercase",RegExp:/[a-z]/,validated:!1},{label:"Number",key:"number",RegExp:/\d/,validated:!1},{label:"8 Characters",key:"eight-chars",RegExp:/.{8}/,validated:!1}],xe=({onValidate:e,onChange:t,...r})=>{let[a,n]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(Je),i=l=>Je.map(g=>({...g,validated:g.RegExp.test(l)})),h=l=>{let g=i(l),b=g.every(F=>F.validated);return c(g),b},u=l=>{t&&t(l);let g=l?.target?.value,b=h(g);e&&e(b,g)},p=(0,Q.useMemo)(()=>(0,R.jsx)("div",{className:"flex items-center gap-2",children:s?.map(l=>(0,R.jsxs)("div",{className:o("text-xs flex items-center gap-0.5",{"text-[#62C554]":l?.validated,"text-[#8E98A8]":!l?.validated}),children:[(0,R.jsx)("span",{className:"",children:l?.validated?(0,R.jsx)(qe,{}):(0,R.jsx)(je,{})}),(0,R.jsx)("span",{className:"",children:l?.label})]},l?.key))}),[s]);return(0,R.jsx)(q,{sideNodeClassName:"!border-l-0",rightNode:a?(0,R.jsx)("button",{type:"button",onClick:()=>n(l=>!l),children:(0,R.jsx)(Ue,{})}):(0,R.jsx)("button",{type:"button",onClick:()=>n(l=>!l),children:(0,R.jsx)($e,{})}),type:a?"text":"password",onChange:u,description:p,...r})};xe.displayName="PasswordInput";var Qe=require("class-variance-authority");var G=require("react/jsx-runtime"),Rr=(0,Qe.cva)("flex relative min-h-[80px] w-full rounded-[8px] border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"border-[#D7D7D7] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-status-error-fill bg-status-error-bg border-status-error-fill dark:!bg-status-error-bg-dark text-status-error-fill focus-within:bg-status-error-bg focus-within:border-status-error-fill",loading:"placeholder:text-[#C4C4C4]",prefilled:"resize-none bg-[#F6F6F6] border-[#D7D7D7] dark:!bg-transparent caret-[#D7D7D7] focus-within:bg-[#F6F6F6] focus-within:border-[#D7D7D7] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),Re=({className:e,status:t="default",disabled:r,error:a,isLoading:n,showAsterisk:s,label:c,description:i,...h})=>{let u=t;return a&&(u="error"),n&&(u="loading"),r&&(u="prefilled"),(0,G.jsxs)("div",{className:"relative space-y-1",children:[(0,G.jsx)(x,{showAsterisk:s,error:a,children:c}),(0,G.jsx)("textarea",{className:o("min-h-[80px]",A({status:u}),e),disabled:n||r,...h}),(0,G.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:i}),(0,G.jsx)(D,{error:a})]})};Re.displayName="Textarea";var z=y(require("react"));var M=y(require("react")),P=require("cmdk"),it=require("lucide-react");var ee=y(require("react")),f=y(require("@radix-ui/react-dialog"));var Y=require("react/jsx-runtime"),Ye=()=>(0,Y.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x",children:[(0,Y.jsx)("path",{d:"M18 6 6 18"}),(0,Y.jsx)("path",{d:"m6 6 12 12"})]});var m=require("react/jsx-runtime"),At=f.Root,Ft=f.Trigger,et=f.Portal,tt=ee.forwardRef(({className:e,...t},r)=>(0,m.jsx)(f.Overlay,{ref:r,className:o("fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));tt.displayName=f.Overlay.displayName;var we=ee.forwardRef(({className:e,hideCloseButton:t,children:r,...a},n)=>(0,m.jsxs)(et,{children:[(0,m.jsx)(tt,{}),(0,m.jsxs)(f.Content,{ref:n,className:o("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-transparent bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",e),...a,children:[r,!t&&(0,m.jsxs)(f.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,m.jsx)(Ye,{}),(0,m.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));we.displayName=f.Content.displayName;var rt=({className:e,...t})=>(0,m.jsx)("div",{className:o("flex flex-col space-y-1.5 text-left",e),...t});rt.displayName="DialogHeader";var ot=({className:e,...t})=>(0,m.jsx)("div",{className:o("flex flex-row justify-end sm:space-x-2",e),...t});ot.displayName="DialogFooter";var at=ee.forwardRef(({className:e,...t},r)=>(0,m.jsx)(f.Title,{ref:r,className:o("text-xl font-semibold leading-none tracking-tight",e),...t}));at.displayName=f.Title.displayName;var nt=ee.forwardRef(({className:e,...t},r)=>(0,m.jsx)(f.Description,{ref:r,className:o("text-sm text-gray-500",e),...t}));nt.displayName=f.Description.displayName;var me=({trigger:e=void 0,children:t,open:r,onOpenChange:a,hideCloseButton:n,footer:s,title:c,description:i,contentClassName:h,headerClassName:u,titleClassName:p,descriptionClassName:l,footerClassName:g,asChild:b=!0,onOpenAutoFocus:F,onCloseAutoFocus:fe,onEscapeKeyDown:de,onInteractOutside:Z,onPointerDownOutside:ye,...ge})=>(0,m.jsxs)(At,{...ge,open:r,onOpenChange:a,children:[(0,m.jsx)(Ft,{asChild:b,children:e}),(0,m.jsx)(et,{children:(0,m.jsxs)(we,{className:h,hideCloseButton:n,onOpenAutoFocus:F,onCloseAutoFocus:fe,onEscapeKeyDown:de,onPointerDownOutside:ye,onInteractOutside:Z,children:[c||i?(0,m.jsxs)(rt,{className:u,children:[c&&(0,m.jsx)(at,{className:p,children:c}),i&&(0,m.jsx)(nt,{className:l,children:i})]}):(0,m.jsx)(m.Fragment,{}),t,s&&(0,m.jsx)(ot,{className:g,children:s})]})})]});me.displayName=f.Dialog.displayName;var N=require("react/jsx-runtime"),te=M.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command,{ref:r,className:o("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));te.displayName=P.Command.displayName;var re=M.forwardRef(({className:e,CommandInputContainerClassName:t,loading:r,...a},n)=>(0,N.jsxs)("div",{className:o("flex items-center border-0 px-3 gap-2",t),"cmdk-input-wrapper":"",children:[r?(0,N.jsx)(K,{size:16,colour:"secondary"}):(0,N.jsx)(it.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,N.jsx)(P.Command.Input,{ref:n,className:o("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),disabled:r,...a})]}));re.displayName=P.Command.Input.displayName;var oe=M.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.List,{ref:r,className:o("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));oe.displayName=P.Command.List.displayName;var ae=M.forwardRef((e,t)=>(0,N.jsx)(P.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));ae.displayName=P.Command.Empty.displayName;var ne=M.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.Group,{ref:r,className:o("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));ne.displayName=P.Command.Group.displayName;var Et=M.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.Separator,{ref:r,className:o("-mx-1 h-px bg-border",e),...t}));Et.displayName=P.Command.Separator.displayName;var ie=M.forwardRef(({className:e,...t},r)=>(0,N.jsx)(P.Command.Item,{ref:r,className:o("relative text=[#222222] flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));ie.displayName=P.Command.Item.displayName;var Tt=({className:e,...t})=>(0,N.jsx)("span",{className:o("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});Tt.displayName="CommandShortcut";var st=y(require("react")),I=y(require("@radix-ui/react-popover"));var V=require("react/jsx-runtime"),_=I.Root,E=I.Trigger,O=st.forwardRef(({className:e,align:t="center",sideOffset:r=4,portal:a=!0,...n},s)=>a?(0,V.jsx)(I.Portal,{children:(0,V.jsx)(I.Content,{ref:s,align:t,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n})}):(0,V.jsx)(I.Content,{ref:s,align:t,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n}));O.displayName=I.Content.displayName;var ke=({trigger:e,children:t,open:r,onOpenChange:a,contentClassName:n,asChild:s=!0,align:c,side:i,alignOffset:h,sideOffset:u,onOpenAutoFocus:p,onCloseAutoFocus:l,...g})=>(0,V.jsxs)(_,{...g,open:r,onOpenChange:a,children:[(0,V.jsx)(E,{asChild:s,children:e}),(0,V.jsx)(O,{alignOffset:h,sideOffset:u,side:i,align:c,className:n,onOpenAutoFocus:p,onCloseAutoFocus:l,children:t})]});ke.displayName=I.Root.displayName;var De=y(require("react")),w=y(require("@radix-ui/react-scroll-area"));var W=require("react/jsx-runtime"),se=De.forwardRef(({className:e,children:t,...r},a)=>(0,W.jsxs)(w.Root,{ref:a,className:o("relative overflow-hidden",e),...r,children:[(0,W.jsx)(w.Viewport,{className:"h-full w-full rounded-[inherit]",children:t}),(0,W.jsx)(lt,{}),(0,W.jsx)(w.Corner,{})]}));se.displayName=w.Root.displayName;var lt=De.forwardRef(({className:e,orientation:t="vertical",...r},a)=>(0,W.jsx)(w.ScrollAreaScrollbar,{ref:a,orientation:t,className:o("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:(0,W.jsx)(w.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));lt.displayName=w.ScrollAreaScrollbar.displayName;var v=require("react/jsx-runtime"),dt=({className:e,value:t,placeholder:r="",status:a,disabled:n})=>(0,v.jsx)(E,{asChild:!0,disabled:n,children:(0,v.jsxs)("button",{disabled:n,className:o(A({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex h-12 w-full items-center justify-between goup",t?"":"text-[#79818C]",e),children:[t??r??"Select options...",(0,v.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:(0,v.jsx)("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),ue=({options:e=[],value:t,onChange:r,containerClassName:a,placeholder:n,disabled:s,loading:c,optionComponent:i,children:h,modal:u=!1,hideSearch:p,className:l,inputValue:g,onValueChange:b,onInputValueChange:F})=>{let[fe,de]=z.useState(!1),Z=z.useRef(null),[ye,ge]=z.useState(void 0);return z.useLayoutEffect(()=>{Z.current&&ge(Z.current.clientWidth)},[Z.current]),(0,v.jsxs)(_,{modal:u,open:fe,onOpenChange:de,children:[(0,v.jsx)("div",{className:o("w-full",l),ref:Z,children:h}),(0,v.jsx)(O,{portal:!u,className:"p-0 min-w-[200px]",style:{width:ye},children:(0,v.jsxs)(te,{className:"max-h-[270px] relative",children:[!p&&(0,v.jsx)(re,{loading:c,placeholder:n??"Search options...",onValueChange:F,value:g,CommandInputContainerClassName:"mx-3 border rounded-md border-[#DEDEDE]"}),(0,v.jsx)(se,{className:o("w-full px-0 h-full overflow-y-auto",a),children:(0,v.jsxs)(oe,{children:[!p&&(0,v.jsx)(ae,{children:"No result found."}),(0,v.jsx)(ne,{className:"w-full",children:e?.map(X=>(0,v.jsx)(ie,{defaultValue:t?.label,value:X.label,disabled:s,onSelect:()=>{r(X),de(!1),b?.(X?.value)},children:i?i(X):X.label},X.value))})]})})]})})]})};var H=require("react/jsx-runtime"),ct=({showAsterisk:e,label:t,description:r,error:a,hideSearch:n=!0,status:s,...c})=>(0,H.jsxs)("div",{className:"relative space-y-1",children:[(0,H.jsx)(x,{showAsterisk:e,error:a,children:t}),(0,H.jsx)(ue,{hideSearch:n,...c,containerClassName:"max-h-[700px] h-full",children:(0,H.jsx)(dt,{disabled:c?.disabled,placeholder:"Select or search email",status:s,value:c?.value?.label??c?.value?.value})}),(0,H.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:r}),(0,H.jsx)(D,{error:a})]});var Le=[{countryCode:"GLOBAL",countryName:"Global",currency:"Dollars",currencyCode:"USD",internetCountryCode:"GLOBAL"},{countryName:"Benin",countryCode:"+229",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BJ"},{countryName:"Burkina Faso",countryCode:"+226",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BF"},{countryName:"Cameroon",countryCode:"+237",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CM"},{countryName:"Chad",countryCode:"+235",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"TD"},{countryName:"DR Congo",countryCode:"+243",currency:"Congolese franc",currencyCode:"CDF",currencyIcon:"FC",internetCountryCode:"CD"},{countryName:"Eswatini",countryCode:"+268",currency:"Swazi lilangeni",currencyCode:"SZL",currencyIcon:"L",internetCountryCode:"SZ"},{countryName:"Gabon",countryCode:"+241",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"GA"},{countryName:"Ghana",countryCode:"+233",currency:"Ghanaian cedi",currencyCode:"GHS",currencyIcon:"\u20B5",internetCountryCode:"GH"},{countryName:"Guinea",countryCode:"+224",currency:"Guinean franc",currencyCode:"GNF",currencyIcon:"Fr",internetCountryCode:"GN"},{countryName:"Ivory Coast",countryCode:"+225",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"CI"},{countryName:"Kenya",countryCode:"+254",currency:"Kenyan shilling",currencyCode:"KES",currencyIcon:"Sh",internetCountryCode:"KE"},{countryName:"Lesotho",countryCode:"+266",currency:"Lesotho loti",currencyCode:"LSL",currencyIcon:"L",internetCountryCode:"LS"},{countryName:"Liberia",countryCode:"+231",currency:"Liberian dollar",currencyCode:"LRD",currencyIcon:"$",internetCountryCode:"LR"},{countryName:"Madagascar",countryCode:"+261",currency:"Malagasy ariary",currencyCode:"MGA",currencyIcon:"Ar",internetCountryCode:"MG"},{countryName:"Malawi",countryCode:"+265",currency:"Malawian kwacha",currencyCode:"MWK",currencyIcon:"MK",internetCountryCode:"MW"},{countryName:"Mali",countryCode:"+223",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"ML"},{countryName:"Mozambique",countryCode:"+258",currency:"Mozambican metical",currencyCode:"MZN",currencyIcon:"MT",internetCountryCode:"MZ"},{countryName:"Namibia",countryCode:"+264",currency:"Namibian dollar",currencyCode:"NAD",currencyIcon:"$",internetCountryCode:"NA"},{countryName:"Niger",countryCode:"+227",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"NE"},{countryName:"Nigeria",countryCode:"+234",currency:"Nigerian naira",currencyCode:"NGN",currencyIcon:"\u20A6",internetCountryCode:"NG"},{countryName:"Republic of the Congo",countryCode:"+242",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CG"},{countryName:"Rwanda",countryCode:"+250",currency:"Rwandan franc",currencyCode:"RWF",currencyIcon:"Fr",internetCountryCode:"RW"},{countryName:"Senegal",countryCode:"+221",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"SN"},{countryName:"Seychelles",countryCode:"+248",currency:"Seychellois rupee",currencyCode:"SCR",currencyIcon:"\u20A8",internetCountryCode:"SC"},{countryName:"South Africa",countryCode:"+27",currency:"South African rand",currencyCode:"ZAR",currencyIcon:"R",internetCountryCode:"ZA"},{countryName:"South Sudan",countryCode:"+211",currency:"South Sudanese pound",currencyCode:"SSP",currencyIcon:"\xA3",internetCountryCode:"SS"},{countryName:"Tanzania",countryCode:"+255",currency:"Tanzanian shilling",currencyCode:"TZS",currencyIcon:"Sh",internetCountryCode:"TZ"},{countryName:"Togo",countryCode:"+228",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"TG"},{countryName:"Uganda",countryCode:"+256",currency:"Ugandan shilling",currencyCode:"UGX",currencyIcon:"Sh",internetCountryCode:"UG"},{countryName:"Zambia",countryCode:"+260",currency:"Zambian kwacha",currencyCode:"ZMW",currencyIcon:"ZK",internetCountryCode:"ZM"}],pt=()=>{let e={};return Le?.forEach(t=>{e[t?.internetCountryCode]=t?.countryName}),e};var le=y(require("react")),ut=y(require("react-phone-number-input")),ft=y(require("react-phone-number-input")),yt=y(require("react-phone-number-input/flags"));var B=require("react/jsx-runtime"),Mt=e=>(0,B.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"none",...e,children:[(0,B.jsx)("rect",{width:"32",height:"32",fill:"#60A5FA"})," ",(0,B.jsx)("path",{d:"M3 10L7 8L10 9L13 8L16 10L19 9L22 11L25 10L28 12V15L26 17L28 19L27 22L29 24L27 26L24 25L21 26L18 24L15 25L12 23L9 24L6 22L4 23L2 21V18L4 16L3 13L5 11L3 10Z",fill:"#34D399"}),(0,B.jsx)("rect",{x:"2",y:"28",width:"28",height:"3",fill:"#D1D5DB"}),(0,B.jsx)("path",{d:"M0 16H32M8 0V32M16 0V32M24 0V32",stroke:"#2563EB",strokeWidth:"0.5",vectorEffect:"non-scaling-stroke"}),(0,B.jsx)("path",{d:"M0 16H32",stroke:"#2563EB",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]}),mt=Mt;var d=require("react/jsx-runtime"),Se=le.forwardRef(({className:e,onChange:t,value:r,modal:a,showAsterisk:n,label:s,description:c,error:i,defaultCountry:h="NG",...u},p)=>{let l=b=>(0,d.jsx)(Vt,{...b,status:u.status,modal:a,onChange:F=>b.onChange(F)}),g=r;return(0,d.jsxs)("div",{className:"relative space-y-1",children:[(0,d.jsx)(x,{showAsterisk:n,error:i,children:s}),(0,d.jsx)(ft.default,{ref:p,className:o("flex",e),flagComponent:T,countrySelectComponent:l,focusInputOnCountrySelection:!0,countryCallingCodeEditable:!0,enableLongNumber:!0,addInternationalOption:!0,international:!0,inputComponent:gt,defaultCountry:h,containerComponent:({children:b})=>(0,d.jsx)("div",{className:o(A({status:u?.status}),"p-0 gap-1"),children:b}),...u,onChange:b=>{t&&t(b)},value:g}),(0,d.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:c}),(0,d.jsx)(D,{error:i})]})});Se.displayName="PhoneInput";var gt=le.forwardRef(({className:e,...t},r)=>(0,d.jsx)("input",{className:o(ve({status:t?.status})," h-full !-mt-0 border-0 rounded-l-none !flex-1 !block !w-full",e),...t,ref:r}));gt.displayName="InputComponent";var Vt=({disabled:e,value:t,onChange:r,options:a,status:n,modal:s})=>{let c=le.useCallback(i=>{console.log(i),r(i)},[r]);return(0,d.jsxs)(_,{modal:s,children:[(0,d.jsx)(E,{disabled:e,children:(0,d.jsxs)("div",{className:o(A({status:n}),"!border-0 transition justify-center items-center disabled:text-base-500 flex gap-3 h-full rounded-e-none pl-2 pr-2"),children:[(0,d.jsx)(T,{country:t,countryName:t}),(0,d.jsx)("svg",{className:o("-mr-2 h-4 w-4 opacity-50",e?"hidden":"opacity-100"),width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,d.jsx)("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"#959595",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),(0,d.jsx)(O,{portal:!s,className:"w-[200px] md:w-[300px] p-0",children:(0,d.jsx)(te,{children:(0,d.jsx)(oe,{children:(0,d.jsxs)(se,{className:"h-72",children:[(0,d.jsx)(re,{placeholder:"Search country..."}),(0,d.jsx)(ae,{children:"No country found."}),(0,d.jsx)(ne,{children:a.filter(i=>i.value).map(i=>(0,d.jsxs)(ie,{className:"gap-2",onSelect:()=>c(i.value),children:[(0,d.jsx)(T,{country:i.value,countryName:i.label}),(0,d.jsx)("span",{className:"flex-1 text-sm",children:i.label}),i.value&&(0,d.jsx)("span",{className:"text-[#191919]/50 text-sm dark:text-white",children:`+${ut.getCountryCallingCode(i.value)}`}),(0,d.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:o("ml-auto",i.value===t?"opacity-100":"opacity-0"),children:(0,d.jsx)("path",{d:"M4 8.00008L6.66353 10.6636L12 5.33655",stroke:"#959595",strokeWidth:"1.06667",strokeLinecap:"round",strokeLinejoin:"round"})})]},`${i.value}-${i.label}`))})]})})})})]})},T=({country:e,countryName:t,className:r})=>{let a=yt.default[e];return e==="GLOBAL"?(0,d.jsx)("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:(0,d.jsx)(mt,{className:"w-full h-[90%]"})}):(0,d.jsx)("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:a&&(0,d.jsx)(a,{title:t})})};T.displayName="FlagComponent";var C=require("react/jsx-runtime"),Ot=pt(),Wt=({className:e,value:t,placeholder:r="",status:a,disabled:n})=>(0,C.jsx)(E,{asChild:!0,disabled:n,children:(0,C.jsxs)("button",{disabled:n,className:o(A({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex w-full items-center justify-between goup",t?"":"text-[#79818C]",e),children:[t?(0,C.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,C.jsx)(T,{country:t,countryName:t,className:"ml-1 !w-6 h-5"}),(0,C.jsxs)("span",{className:"",children:[" ",Ot[t]]})]}):r??"Select options...",(0,C.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:(0,C.jsx)("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),Ct=({hideSearch:e=!0,showAsterisk:t,label:r,description:a,error:n,...s})=>{let c=Le?.map(i=>({value:i?.internetCountryCode,label:i?.countryName,...i}));return(0,C.jsxs)("div",{className:"relative space-y-1",children:[(0,C.jsx)(x,{showAsterisk:t,error:n,children:r}),(0,C.jsx)(ue,{options:c,hideSearch:e,optionComponent:i=>(0,C.jsxs)("div",{className:"w-full flex items-center gap-2",children:[(0,C.jsx)(T,{country:i?.internetCountryCode,countryName:i?.label,className:"ml-2 !w-6 !h-5"}),(0,C.jsx)("span",{className:"flex-1 text-sm",children:i?.label})]}),...s,children:(0,C.jsx)(Wt,{value:s?.value?.value,status:s?.status,placeholder:s?.placeholder??" Select Country"})}),(0,C.jsx)(L,{className:"text-gray-400 text-sm !font-normal",children:a}),(0,C.jsx)(D,{error:n})]})};var ht=y(require("react-otp-input"));var bt=require("class-variance-authority"),vt=require("react"),Ie=require("react/jsx-runtime"),Ht=(0,bt.cva)("transition cursor-default placeholder:text-black dark:placeholder:text-white rounded-lg !h-14 !w-14 border aspect-square text-base font-semibold tracking-normal outline-none placeholder:text-sm placeholder:font-normal text-black focus:bg-white",{variants:{status:{default:"border-gray-300 dark:border-[#d4d4d4] focus:border-gray-400 focus-visible:!ring-offset-gray-200 focus:ring-offset-gray-200 !ring-gray-200 !focus-visible:ring-1 bg-white dark:!bg-transparent dark:focus-visible:!ring-0 dark:focus-within:!bg-transparent dark:text-white dark:focus-within:border-[#9299A2] dark:border-[#676767] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-600 bg-red-50 border-red-600 text-red-600 focus-within:bg-red-50 focus-within:border-red-600",loading:"placeholder:text-[#C4C4C4]"}},defaultVariants:{status:"default"}}),Pt=({numInputs:e=4,inputStyle:t,containerStyle:r,placeholder:a="-",status:n,...s})=>{let c=(0,vt.useMemo)(()=>a||new Array(e).fill("").reduce((u,p)=>u+=p,""),[e,a]);return(0,Ie.jsx)(ht.default,{numInputs:e,placeholder:c,containerStyle:o("w-full",r),inputStyle:o(Ht({status:n}),t),renderInput:i=>(0,Ie.jsx)("input",{...i}),...s})};0&&(module.exports={Button,Country,Dialog,FlagComponent,FormLabel,Input,Loader,OTPInput,PasswordInput,PhoneInput,Popover,PopoverContent,PopoverRoot,PopoverTrigger,Select,Textarea});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/components/label/FormLabel.tsx","../src/components/label/index.tsx","../src/utils/index.ts","../src/components/loader/index.tsx","../src/components/button/index.tsx","../src/components/input/index.tsx","../src/components/form/ErrorMessage.tsx","../src/components/form/FormDescription.tsx","../src/components/password-input/index.tsx","../src/components/password-input/icons/Eye.tsx","../src/components/password-input/icons/EyeOff.tsx","../src/components/password-input/icons/Check.tsx","../src/components/password-input/icons/Fail.tsx","../src/components/textarea/index.tsx","../src/components/searcheable/index.tsx","../src/components/command/index.tsx","../src/components/dialog/index.tsx","../src/components/dialog/icon/CloseIcon.tsx","../src/components/popover/index.tsx","../src/components/scroll-area/index.tsx","../src/components/select/index.tsx","../src/components/country/data.ts","../src/components/phone-input/index.tsx","../src/components/phone-input/Flag.tsx","../src/components/country/index.tsx","../src/components/otp/index.tsx"],"sourcesContent":["export * from \"./components\";\n","import React from \"react\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Label } from \".\";\nimport { cn } from \"@/src/utils\";\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & {\n showAsterisk?: boolean;\n error?: string;\n formItemId?: string;\n }\n>(({ className, children, showAsterisk, error, ...props }, ref) => {\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-red-500\", className)}\n // htmlFor={formItemId}\n {...props}\n >\n {showAsterisk ? (\n <p>\n {children}\n <span className=\"text-red-500\">*</span>\n </p>\n ) : (\n children\n )}\n </Label>\n );\n});\n\nFormLabel.displayName = \"FormLabel\";\n\nexport { FormLabel };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/src/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function areObjectsEqual<T extends object>(obj1: T, obj2: T): boolean {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = obj1[key as keyof T];\n const val2 = obj2[key as keyof T];\n\n if (\n typeof val1 === \"object\" &&\n val1 !== null &&\n typeof val2 === \"object\" &&\n val2 !== null\n ) {\n if (!areObjectsEqual(val1, val2)) {\n return false;\n }\n } else if (val1 !== val2) {\n return false;\n }\n }\n\n return true;\n}\n","type Colours = \"primary\" | \"secondary\";\n\nexport const Loader = ({\n size = 16,\n colour = \"primary\",\n}: {\n size?: number;\n colour?: Colours;\n}) => {\n return (\n <svg\n className=\"animate-spin\"\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <circle cx=\"10\" cy=\"10\" r=\"9.25\" stroke=\"transparent\" strokeWidth=\"1.5\" />\n <path\n d=\"M10 0.595792C10 0.266746 10.267 -0.00185055 10.5954 0.0177417C11.9786 0.100242 13.3318 0.469461 14.5682 1.1044C15.9816 1.83021 17.2016 2.88235 18.1273 4.17366C19.0531 5.46496 19.6578 6.95826 19.8913 8.52984C20.1249 10.1014 19.9807 11.706 19.4705 13.2108C18.9604 14.7155 18.0991 16.077 16.9579 17.1825C15.8167 18.288 14.4285 19.1056 12.9084 19.5677C11.3882 20.0298 9.77982 20.123 8.21646 19.8397C6.84883 19.5918 5.55009 19.0619 4.40196 18.2863C4.12931 18.1021 4.08072 17.7265 4.28083 17.4653C4.48094 17.2041 4.85388 17.1564 5.12801 17.3384C6.12474 18.0001 7.24768 18.4531 8.42898 18.6672C9.80606 18.9168 11.2228 18.8347 12.5618 18.4276C13.9008 18.0206 15.1236 17.3004 16.1288 16.3266C17.134 15.3528 17.8927 14.1536 18.342 12.8282C18.7914 11.5027 18.9185 10.0893 18.7127 8.70502C18.507 7.32071 17.9743 6.00535 17.1589 4.86792C16.3435 3.73048 15.2688 2.80371 14.0238 2.16439C12.9559 1.61596 11.789 1.29259 10.5954 1.21173C10.2671 1.18949 10 0.92484 10 0.595792Z\"\n fill={colour === \"primary\" ? \"#ffffff\" : \"currentColor\"}\n className=\"rounded\"\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/src/utils\";\nimport { Loader } from \"../loader\";\nimport { ButtonHTMLAttributes } from \"react\";\nimport { DetailedHTMLProps } from \"react\";\n\nconst buttonVariants = cva(\n \"overflow-hidden isolate relative inline-flex h-fit items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background dark:ring-offset-transparent transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:!pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"border-primary-main bg-primary-main hover:bg-primary-main/70 disabled:bg-primary-main/70 text-white font-bold\",\n danger:\n \"border-red-600 bg-red-600 hover:bg-red-600/70 disabled:bg-red-600/70 text-white font-bold\",\n neutral:\n \"!border-0 bg-transparent text-primary-main hover:opacity-80 disabled:opacity-60\",\n outlined:\n \"border border-primary-main text-primary-main hover:opacity-80 disabled:opacity-60\",\n \"danger-outlined\":\n \"border border-red-600 text-red-600 hover:opacity-80 disabled:opacity-60\",\n \"light-outlined\":\n \"border-white text-white hover:opacity-80 disabled:opacity-60\",\n \"dark-text\":\n \"border-transparent bg-transparent hover:bg-opacity-70 disabled:bg-opacity-70 text-black font-medium\",\n light:\n \"border-white bg-white hover:bg-opacity-70 disabled:bg-opacity-70 text-primary-main font-semibold\",\n },\n size: {\n // lg: \"h-15 px-8 items-center\",\n // sm: \"h-10 px-3.5 items-center text-sm\",\n default:\n \"py-[0.625rem] px-[1.5rem] text-[0.875rem] leading-[1.25rem] font-medium rounded-lg\",\n sm: \"py-[0.375rem] px-[1rem] text-[0.75rem] leading-[1rem] font-medium rounded-lg\",\n lg: \"py-[0.75rem] px-[1.5rem] text-[1rem] leading-[1.5rem] font-medium rounded-lg\",\n md: \"h-12 py-1 px-5 items-center\",\n \"icon-sm\":\n \"h-[1.75rem] w-[1.75rem] flex justify-center items-center font-medium rounded-lg\",\n icon: \"h-[2.5rem] w-[2.75rem] flex justify-center items-center font-medium rounded-lg\",\n \"icon-lg\":\n \"h-[3rem] w-[3rem] flex justify-center items-center font-medium rounded-lg\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n // extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n extends DetailedHTMLProps<\n ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n isLoading?: boolean;\n leftNode?: React.ReactNode;\n rightNode?: React.ReactNode;\n LoaderSize?: number;\n}\n\nconst Button = ({\n className,\n variant = \"primary\",\n size,\n asChild = false,\n isLoading = false,\n leftNode,\n rightNode,\n LoaderSize,\n ref,\n ...props\n}: ButtonProps) => {\n const Component = asChild ? Slot : \"button\";\n\n const { children, disabled, ...rest } = props;\n const reference = React.useRef<HTMLButtonElement>(null);\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className }))}\n ref={reference || ref}\n disabled={disabled || isLoading}\n {...rest}\n >\n <div className=\"flex font-medium justify-center items-center gap-2\">\n {/* {leftNode}\n {children}\n {rightNode}\n {isLoading && <Loader />} */}\n\n {isLoading ? (\n <>\n <span className=\"mx-auto\">\n <Loader size={LoaderSize} colour=\"secondary\" />\n </span>\n </>\n ) : (\n <>\n {leftNode}\n {children}\n {rightNode}\n </>\n )}\n </div>\n </Component>\n );\n};\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/src/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { DetailedHTMLProps } from \"react\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\nimport { FormDescription } from \"../form/FormDescription\";\n\nexport const inputVariants = cva(\n \"!p-0 flex h-full w-full !border-transparent !bg-transparent text-base focus-visible:bg-transparent focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n status: {\n default: \"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]\",\n error: \"placeholder:text-red-500 text-red-500\",\n loading: \"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]\",\n prefilled: \"\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\nexport interface BaseInnerInputProps\n extends DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n >,\n VariantProps<typeof inputVariants> {}\n\nconst BaseInnerInput = ({\n className,\n status,\n type,\n ref,\n ...props\n}: BaseInnerInputProps) => {\n return (\n <input\n type={type}\n className={cn(inputVariants({ status }), className)}\n ref={ref}\n {...props}\n />\n );\n};\nBaseInnerInput.displayName = \"BaseInnerInput\";\n\nexport const inputContainerVariants = cva(\n \"flex relative h-10 w-full rounded-[4px] dark:!bg-transparent border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]\",\n {\n variants: {\n status: {\n default:\n \"border-[#DEDEDE] bg-white text-[#191919] dark:!bg-transparent caret-text-primary focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-status-error-bg-dark text-red-500 focus-within:bg-red-50 focus-within:border-red-500\",\n loading: \"\",\n prefilled:\n \"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\nexport const sideVariants = cva(\n \"top-0 flex justify-center items-center h-full min-w-[50px] max-w-[100px] dark:!bg-transparent transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]\",\n {\n variants: {\n side: {\n left: \"left-0 rounded-l-[8px] border-r\",\n right: \"right-0 rounded-r-[8px] border-l\",\n },\n status: {\n default:\n \"border-[#DEDEDE] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-red-50 text-red-500 focus-within:bg-red-50 focus-within:border-red-500\",\n loading: \"\",\n prefilled:\n \"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n side: \"left\",\n },\n },\n);\n\nexport interface InputProps\n extends BaseInnerInputProps,\n VariantProps<typeof inputContainerVariants> {\n isLoading?: boolean;\n error?: string;\n leftNode?: React.ReactNode;\n rightNode?: React.ReactNode;\n sideNodeClassName?: string;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n}\nconst Input = ({\n className,\n status = \"default\",\n disabled,\n error,\n isLoading,\n sideNodeClassName,\n showAsterisk,\n label,\n description,\n ref,\n ...props\n}: InputProps) => {\n let containerStatus: VariantProps<typeof inputContainerVariants>[\"status\"] =\n status;\n\n if (error) containerStatus = \"error\";\n if (isLoading) containerStatus = \"loading\";\n if (disabled) containerStatus = \"prefilled\";\n\n return (\n <div className=\"relative space-y-1 w-full\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <div\n className={cn(\n inputContainerVariants({ status: containerStatus }),\n props.leftNode || props.rightNode ? \"p-0\" : \"\",\n className,\n )}\n >\n {props.leftNode ? (\n <div\n className={cn(\n sideVariants({\n status: containerStatus,\n side: \"left\",\n }),\n sideNodeClassName,\n )}\n >\n {props.leftNode}\n </div>\n ) : null}\n <BaseInnerInput\n ref={ref}\n disabled={isLoading || disabled}\n className={props.leftNode || props.rightNode ? \"!px-3 !py-2\" : \"\"}\n {...props}\n />\n {props.rightNode ? (\n <div\n className={cn(\n sideVariants({\n status: containerStatus,\n side: \"right\",\n }),\n sideNodeClassName,\n )}\n >\n {props.rightNode}\n </div>\n ) : null}\n </div>\n {description && (\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n )}\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nInput.displayName = \"Input\";\n\nexport { Input };\n","import { cn } from \"@/src/utils\";\nimport React from \"react\";\n\nconst ErrorMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement> & {\n error?: string;\n }\n>(({ className, children, error, ...props }, ref) => {\n const body = error ?? children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n className={cn(\"text-xs font-normal text-[#F04248]\", className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nErrorMessage.displayName = \"ErrorMessage\";\n\nexport { ErrorMessage };\n","import { cn } from \"@/src/utils\";\nimport React from \"react\";\n\nconst FormDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"text-sm text-[#8E98A8\", className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = \"FormDescription\";\n\nexport { FormDescription };\n","import { useMemo, useState } from \"react\";\nimport { Eye } from \"./icons/Eye\";\nimport { EyeOff } from \"./icons/EyeOff\";\nimport { Input, InputProps } from \"../input\";\nimport { cn } from \"@/src/utils\";\nimport { Check } from \"./icons/Check\";\nimport { Fail } from \"./icons/Fail\";\n\nconst validationOptions = [\n {\n label: \"Uppercase\",\n key: \"uppercase\",\n RegExp: /[A-Z]/,\n validated: false,\n },\n {\n label: \"Lowercase\",\n key: \"lowercase\",\n RegExp: /[a-z]/,\n validated: false,\n },\n {\n label: \"Number\",\n key: \"number\",\n RegExp: /\\d/,\n validated: false,\n },\n {\n label: \"8 Characters\",\n key: \"eight-chars\",\n RegExp: /.{8}/,\n validated: false,\n },\n];\n\ntype PasswordInputProps = InputProps & {\n /**\n * onValidate(validated: boolean, value: string) => void\n * args - validated: this is boolean value that indicated that all validation options were met\n * args - value: this is the string input value\n */\n onValidate?: (validated: boolean, value: string) => void;\n};\nconst PasswordInput = ({\n onValidate,\n onChange,\n ...props\n}: PasswordInputProps) => {\n const [passwordVisible, setPasswordVisible] = useState(false);\n const [validatedValues, setValidatedValues] = useState(validationOptions);\n\n const validatePassword = (value: string) => {\n return validationOptions.map((option) => ({\n ...option,\n validated: option.RegExp.test(value),\n }));\n };\n\n const checkPasswordStrength = (value: string) => {\n const validatedOptions = validatePassword(value);\n const allValidated = validatedOptions.every((option) => option.validated);\n\n setValidatedValues(validatedOptions);\n\n return allValidated;\n };\n\n const handlePaswordInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n e,\n ) => {\n if (onChange) onChange(e);\n\n const value = e?.target?.value;\n const validated = checkPasswordStrength(value);\n\n if (onValidate) onValidate(validated, value);\n };\n\n const ValidateComp = useMemo(() => {\n return (\n <div className=\"flex items-center gap-2\">\n {validatedValues?.map((value) => (\n <div\n className={cn(\"text-xs flex items-center gap-0.5\", {\n \"text-[#62C554]\": value?.validated,\n \"text-[#8E98A8]\": !value?.validated,\n })}\n key={value?.key}\n >\n <span className=\"\">{value?.validated ? <Check /> : <Fail />}</span>\n <span className=\"\">{value?.label}</span>\n </div>\n ))}\n </div>\n );\n }, [validatedValues]);\n\n return (\n <Input\n sideNodeClassName=\"!border-l-0\"\n rightNode={\n passwordVisible ? (\n <button\n type=\"button\"\n onClick={() => setPasswordVisible((val) => !val)}\n >\n <Eye />\n </button>\n ) : (\n <button\n type=\"button\"\n onClick={() => setPasswordVisible((val) => !val)}\n >\n <EyeOff />\n </button>\n )\n }\n type={passwordVisible ? \"text\" : \"password\"}\n onChange={handlePaswordInputChange}\n description={ValidateComp}\n {...props}\n />\n );\n};\n\nPasswordInput.displayName = \"PasswordInput\";\n\nexport { PasswordInput };\n","export const Eye = () => {\n return (\n <svg\n width=\"18\"\n height=\"14\"\n viewBox=\"0 0 18 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.54639 7.26103C1.48389 7.09264 1.48389 6.90741 1.54639 6.73903C2.15517 5.26292 3.18853 4.00081 4.51547 3.1127C5.84241 2.22459 7.40317 1.75049 8.99989 1.75049C10.5966 1.75049 12.1574 2.22459 13.4843 3.1127C14.8113 4.00081 15.8446 5.26292 16.4534 6.73903C16.5159 6.90741 16.5159 7.09264 16.4534 7.26103C15.8446 8.73713 14.8113 9.99925 13.4843 10.8874C12.1574 11.7755 10.5966 12.2496 8.99989 12.2496C7.40317 12.2496 5.84241 11.7755 4.51547 10.8874C3.18853 9.99925 2.15517 8.73713 1.54639 7.26103Z\"\n stroke=\"#8E98A8\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9 9.25C10.2426 9.25 11.25 8.24264 11.25 7C11.25 5.75736 10.2426 4.75 9 4.75C7.75736 4.75 6.75 5.75736 6.75 7C6.75 8.24264 7.75736 9.25 9 9.25Z\"\n stroke=\"#8E98A8\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","export const EyeOff = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.08759 12.69C3.26171 11.9072 2.61006 10.9591 2.17509 9.90752C2.10081 9.73454 2.0625 9.54826 2.0625 9.36001C2.0625 9.17177 2.10081 8.98549 2.17509 8.81252C2.75274 7.4073 3.72095 6.19704 4.96509 5.32502C6.14597 4.4998 7.55989 4.07405 9.00009 4.11002C10.0363 4.084 11.064 4.30239 12.0001 4.74752M13.9201 6.03752C14.7415 6.81964 15.3904 7.76486 15.8251 8.81252C15.8994 8.98549 15.9377 9.17177 15.9377 9.36001C15.9377 9.54826 15.8994 9.73454 15.8251 9.90752C15.2474 11.3127 14.2792 12.523 13.0351 13.395C11.8542 14.2202 10.4403 14.646 9.00009 14.61C7.9639 14.636 6.93616 14.4176 6.00009 13.9725\"\n stroke=\"#8E98A8\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M6.5325 10.2375C6.42732 9.95694 6.37395 9.65962 6.375 9.36C6.375 8.66381 6.65156 7.99613 7.14384 7.50384C7.63613 7.01156 8.30381 6.735 9 6.735C9.3 6.7335 9.597 6.7875 9.8775 6.8925M11.4675 8.4825C11.5725 8.763 11.6265 9.06 11.625 9.36C11.625 10.0562 11.3484 10.7239 10.8562 11.2162C10.3639 11.7084 9.69619 11.985 9 11.985C8.70038 11.986 8.40306 11.9327 8.1225 11.8275M2.25 15L14.25 3\"\n stroke=\"#8E98A8\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","export const Check = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.89802 2.93408L9.70202 3.49808L6.21602 8.52608H5.41202L3.46802 5.80208L4.27202 5.05208L5.81402 6.49208L8.89802 2.93408Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","export const Fail = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.37891 8.62142L6.00041 5.99992L8.62191 8.62142M8.62191 3.37842L5.99991 5.99992L3.37891 3.37842\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/src/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { inputContainerVariants } from \"../input\";\nimport { DetailedHTMLProps } from \"react\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst textareaContainerVariants = cva(\n \"flex relative min-h-[80px] w-full rounded-[8px] border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n status: {\n default:\n \"border-[#D7D7D7] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:border-[#9299A2] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-status-error-fill bg-status-error-bg border-status-error-fill dark:!bg-status-error-bg-dark text-status-error-fill focus-within:bg-status-error-bg focus-within:border-status-error-fill\",\n loading: \"placeholder:text-[#C4C4C4]\",\n prefilled:\n \"resize-none bg-[#F6F6F6] border-[#D7D7D7] dark:!bg-transparent caret-[#D7D7D7] focus-within:bg-[#F6F6F6] focus-within:border-[#D7D7D7] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\nexport interface TextareaProps\n extends DetailedHTMLProps<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n >,\n VariantProps<typeof inputContainerVariants> {\n isLoading?: boolean;\n error?: string;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n}\n\nconst Textarea = ({\n className,\n status = \"default\",\n disabled,\n error,\n isLoading,\n showAsterisk,\n label,\n description,\n ...props\n}: TextareaProps) => {\n let containerStatus: VariantProps<\n typeof textareaContainerVariants\n >[\"status\"] = status;\n\n if (error) containerStatus = \"error\";\n if (isLoading) containerStatus = \"loading\";\n if (disabled) containerStatus = \"prefilled\";\n\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <textarea\n className={cn(\n \"min-h-[80px]\",\n inputContainerVariants({ status: containerStatus }),\n className,\n )}\n disabled={isLoading || disabled}\n {...props}\n />\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","(\"use client\");\n\nimport * as React from \"react\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"../command\";\nimport { PopoverContent, PopoverRoot, PopoverTrigger } from \"../popover\";\nimport { cn } from \"@/src/utils\";\nimport { ScrollArea } from \"../scroll-area\";\nimport { VariantProps } from \"class-variance-authority\";\nimport { inputContainerVariants } from \"../input\";\n\ntype SearchableDataType = {\n value: string;\n label: string;\n} & {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any; // Allows for additional properties\n};\n\ninterface SearchableProps {\n modal?: boolean;\n hideSearch?: boolean;\n loading?: boolean;\n inputValue?: string;\n onInputValueChange?: (arg: string) => void;\n disabled?: boolean;\n placeholder?: string;\n value?: SearchableDataType;\n options: SearchableDataType[] | [];\n optionComponent?: (arg: SearchableDataType) => React.ReactNode;\n className?: string;\n containerClassName?: string;\n onChange: (value: SearchableDataType) => void;\n onValueChange?: (value: string) => void;\n children?: React.ReactNode;\n}\n\ninterface SearchableTriggerProps\n extends VariantProps<typeof inputContainerVariants> {\n disabled?: boolean;\n placeholder?: string;\n value?: string;\n className?: string;\n}\n\nconst SearchableTrigger = ({\n className,\n value,\n placeholder = \"\",\n status,\n disabled,\n}: SearchableTriggerProps) => {\n return (\n <PopoverTrigger asChild disabled={disabled}>\n <button\n disabled={disabled}\n className={cn(\n inputContainerVariants({ status }),\n \"[&>span]:justify-start [&>span]:items-center gap-2 flex h-12 w-full items-center justify-between goup\",\n value ? \"\" : \"text-[#79818C]\",\n className,\n )}\n >\n {value ?? placeholder ?? \"Select options...\"}\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n className=\" data-[state=open]:goup-rotate-180\"\n >\n <path\n d=\"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </PopoverTrigger>\n );\n};\n\nconst Searchable = ({\n options = [],\n value,\n onChange,\n containerClassName,\n placeholder,\n disabled,\n loading,\n optionComponent,\n children,\n modal = false,\n hideSearch,\n className,\n inputValue,\n onValueChange,\n onInputValueChange,\n}: SearchableProps) => {\n const [open, setOpen] = React.useState(false);\n\n const triggerRef = React.useRef<HTMLDivElement | null>(null);\n\n const [width, setWidth] = React.useState<number | undefined>(undefined);\n\n React.useLayoutEffect(() => {\n if (triggerRef.current) {\n setWidth(triggerRef.current.clientWidth);\n }\n }, [triggerRef.current]);\n\n return (\n <PopoverRoot modal={modal} open={open} onOpenChange={setOpen}>\n <div className={cn(\"w-full\", className)} ref={triggerRef}>\n {children}\n </div>\n <PopoverContent\n portal={!modal}\n className=\"p-0 min-w-[200px]\"\n style={{ width }}\n >\n <Command className=\"max-h-[270px] relative\">\n {!hideSearch && (\n <CommandInput\n loading={loading}\n placeholder={placeholder ?? \"Search options...\"}\n onValueChange={onInputValueChange}\n value={inputValue}\n CommandInputContainerClassName=\"mx-3 border rounded-md border-[#DEDEDE]\"\n />\n )}\n <ScrollArea\n className={cn(\n \"w-full px-0 h-full overflow-y-auto\",\n containerClassName,\n )}\n >\n <CommandList>\n {!hideSearch && <CommandEmpty>No result found.</CommandEmpty>}\n <CommandGroup className=\"w-full\">\n {options?.map((option) => (\n <CommandItem\n defaultValue={value?.label}\n key={option.value}\n value={option.label}\n disabled={disabled}\n onSelect={() => {\n onChange(option);\n setOpen(false);\n onValueChange?.(option?.value);\n }}\n >\n {!optionComponent ? option.label : optionComponent(option)}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </ScrollArea>\n </Command>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nexport { Searchable, SearchableTrigger };\n\nexport type { SearchableProps, SearchableTriggerProps, SearchableDataType };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\n\nimport { cn } from \"@/src/utils\";\nimport { Dialog, DialogContent } from \"@/src/components/dialog\";\nimport { Loader } from \"../loader\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {\n trigger?: React.ReactNode;\n}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props} trigger={props?.trigger ?? <></>}>\n <DialogContent className=\"overflow-hidden p-0\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\ninterface CommandInputProps\n extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> {\n CommandInputContainerClassName?: string;\n loading?: boolean;\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n CommandInputProps\n>(({ className, CommandInputContainerClassName, loading, ...props }, ref) => (\n <div\n className={cn(\n \"flex items-center border-0 px-3 gap-2\",\n CommandInputContainerClassName,\n )}\n cmdk-input-wrapper=\"\"\n >\n {loading ? (\n <Loader size={16} colour=\"secondary\" />\n ) : (\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n disabled={loading}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative text=[#222222] flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\n\nimport { cn } from \"@/src/utils\";\nimport { CloseIcon } from \"./icon/CloseIcon\";\n\nconst DialogRoot = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n hideCloseButton?: boolean;\n }\n>(({ className, hideCloseButton, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-transparent bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n {!hideCloseButton && (\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <CloseIcon />\n\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col space-y-1.5 text-left\", className)}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-row justify-end sm:space-x-2\", className)}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-gray-500\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport type DialogPropsType = {\n trigger?: React.ReactNode;\n children: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n footer?: React.ReactNode;\n hideCloseButton?: boolean;\n contentClassName?: string;\n headerClassName?: string;\n titleClassName?: string;\n descriptionClassName?: string;\n footerClassName?: string;\n asChild?: boolean;\n onOpenAutoFocus?: (e: Event) => void;\n onCloseAutoFocus?: (e: Event) => void;\n onInteractOutside?: (e: Event) => void;\n onPointerDownOutside?: (e: Event) => void;\n onEscapeKeyDown?: (e: KeyboardEvent) => void;\n};\n\nconst Dialog = ({\n trigger = undefined,\n children,\n open,\n onOpenChange,\n hideCloseButton,\n footer,\n title,\n description,\n contentClassName,\n headerClassName,\n titleClassName,\n descriptionClassName,\n footerClassName,\n asChild = true,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onEscapeKeyDown,\n onInteractOutside,\n onPointerDownOutside,\n ...props\n}: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root> &\n DialogPropsType) => {\n return (\n <DialogRoot {...props} open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild={asChild}>{trigger}</DialogTrigger>\n <DialogPortal>\n <DialogContent\n className={contentClassName}\n hideCloseButton={hideCloseButton}\n onOpenAutoFocus={onOpenAutoFocus}\n onCloseAutoFocus={onCloseAutoFocus}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onInteractOutside={onInteractOutside}\n >\n {title || description ? (\n <DialogHeader className={headerClassName}>\n {title && (\n <DialogTitle className={titleClassName}>{title}</DialogTitle>\n )}\n {description && (\n <DialogDescription className={descriptionClassName}>\n {description}\n </DialogDescription>\n )}\n </DialogHeader>\n ) : (\n <></>\n )}\n {children}\n {footer && (\n <DialogFooter className={footerClassName}>{footer}</DialogFooter>\n )}\n </DialogContent>\n </DialogPortal>\n </DialogRoot>\n );\n};\nDialog.displayName = DialogPrimitive.Dialog.displayName;\n\nexport { Dialog, DialogRoot, DialogContent };\n","export const CloseIcon = () => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-x\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n};\n","// import * as React from \"react\"\n// import * as PopoverPrimitive from \"@radix-ui/react-popover\"\n// import { cn } from \"../../utils\"\n\n// const Popover = PopoverPrimitive.Root\n\n// const PopoverTrigger = PopoverPrimitive.Trigger\n\n// const PopoverAnchor = PopoverPrimitive.Anchor\n\n// const PopoverContent = React.forwardRef<\n// React.ElementRef<typeof PopoverPrimitive.Content>,\n// React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n// >(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n// <PopoverPrimitive.Portal>\n// <PopoverPrimitive.Content\n// ref={ref}\n// align={align}\n// sideOffset={sideOffset}\n// className={cn(\n// \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n// className\n// )}\n// {...props}\n// />\n// </PopoverPrimitive.Portal>\n// ))\n// PopoverContent.displayName = PopoverPrimitive.Content.displayName\n\n// export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n\n\"use client\";\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@/src/utils\";\n\nconst PopoverRoot = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {\n portal?: boolean;\n }\n>(\n (\n { className, align = \"center\", sideOffset = 4, portal = true, ...props },\n ref,\n ) =>\n portal ? (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n onOpenAutoFocus={props.onOpenAutoFocus}\n onCloseAutoFocus={props.onCloseAutoFocus}\n {...props}\n />\n </PopoverPrimitive.Portal>\n ) : (\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n onOpenAutoFocus={props.onOpenAutoFocus}\n onCloseAutoFocus={props.onCloseAutoFocus}\n {...props}\n />\n ),\n);\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport type PopoverPropsType = {\n trigger: React.ReactNode;\n children: React.ReactNode;\n contentClassName?: string;\n asChild?: boolean;\n align?: PopoverPrimitive.PopoverContentProps[\"align\"];\n side?: PopoverPrimitive.PopoverContentProps[\"side\"];\n alignOffset?: number | undefined;\n sideOffset?: number | undefined;\n onOpenAutoFocus?: (e: Event) => void;\n onCloseAutoFocus?: (e: Event) => void;\n};\n\nconst Popover = ({\n trigger,\n children,\n open,\n onOpenChange,\n contentClassName,\n asChild = true,\n align,\n side,\n alignOffset,\n sideOffset,\n onOpenAutoFocus,\n onCloseAutoFocus,\n ...props\n}: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> &\n PopoverPropsType) => {\n return (\n <PopoverRoot {...props} open={open} onOpenChange={onOpenChange}>\n <PopoverTrigger asChild={asChild}>{trigger}</PopoverTrigger>\n <PopoverContent\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n side={side}\n align={align}\n className={contentClassName}\n onOpenAutoFocus={onOpenAutoFocus}\n onCloseAutoFocus={onCloseAutoFocus}\n >\n {children}\n </PopoverContent>\n </PopoverRoot>\n );\n};\nPopover.displayName = PopoverPrimitive.Root.displayName;\n\nexport { Popover, PopoverRoot, PopoverTrigger, PopoverContent };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/src/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import { ErrorMessage } from \"../form/ErrorMessage\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { inputContainerVariants } from \"../input\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport {\n Searchable,\n SearchableDataType,\n SearchableTrigger,\n} from \"../searcheable\";\nimport { VariantProps } from \"class-variance-authority\";\n\ntype SelectPropsStatus = VariantProps<typeof inputContainerVariants>[\"status\"];\n\ninterface SelectProps {\n modal?: boolean;\n hideSearch?: boolean;\n loading?: boolean;\n inputValue?: string;\n onInputValueChange?: (arg: string) => void;\n disabled?: boolean;\n placeholder?: string;\n value?: SearchableDataType;\n options: SearchableDataType[];\n optionComponent?: (arg: SearchableDataType) => React.ReactNode;\n className?: string;\n containerClassName?: string;\n onChange: (value: SearchableDataType) => void;\n status?: SelectPropsStatus;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n error?: string;\n}\n\nconst Select = ({\n showAsterisk,\n label,\n description,\n error,\n hideSearch = true,\n status,\n ...props\n}: SelectProps) => {\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <Searchable\n hideSearch={hideSearch}\n {...props}\n containerClassName=\"max-h-[700px] h-full\"\n >\n <SearchableTrigger\n disabled={props?.disabled}\n placeholder=\"Select or search email\"\n status={status}\n value={props?.value?.label ?? props?.value?.value}\n />\n </Searchable>\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nexport { Select };\nexport type { SelectProps };\n\n//Todo\n// onchange value\n","export const countryData = [\n {\n countryCode: \"GLOBAL\",\n countryName: \"Global\",\n currency: \"Dollars\",\n currencyCode: \"USD\",\n internetCountryCode: \"GLOBAL\",\n },\n {\n countryName: \"Benin\",\n countryCode: \"+229\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"BJ\",\n },\n {\n countryName: \"Burkina Faso\",\n countryCode: \"+226\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"BF\",\n },\n {\n countryName: \"Cameroon\",\n countryCode: \"+237\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"CM\",\n },\n {\n countryName: \"Chad\",\n countryCode: \"+235\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"TD\",\n },\n {\n countryName: \"DR Congo\",\n countryCode: \"+243\",\n currency: \"Congolese franc\",\n currencyCode: \"CDF\",\n currencyIcon: \"FC\",\n internetCountryCode: \"CD\",\n },\n {\n countryName: \"Eswatini\",\n countryCode: \"+268\",\n currency: \"Swazi lilangeni\",\n currencyCode: \"SZL\",\n currencyIcon: \"L\",\n internetCountryCode: \"SZ\",\n },\n {\n countryName: \"Gabon\",\n countryCode: \"+241\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"GA\",\n },\n {\n countryName: \"Ghana\",\n countryCode: \"+233\",\n currency: \"Ghanaian cedi\",\n currencyCode: \"GHS\",\n currencyIcon: \"₵\",\n internetCountryCode: \"GH\",\n },\n {\n countryName: \"Guinea\",\n countryCode: \"+224\",\n currency: \"Guinean franc\",\n currencyCode: \"GNF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"GN\",\n },\n {\n countryName: \"Ivory Coast\",\n countryCode: \"+225\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"CI\",\n },\n {\n countryName: \"Kenya\",\n countryCode: \"+254\",\n currency: \"Kenyan shilling\",\n currencyCode: \"KES\",\n currencyIcon: \"Sh\",\n internetCountryCode: \"KE\",\n },\n {\n countryName: \"Lesotho\",\n countryCode: \"+266\",\n currency: \"Lesotho loti\",\n currencyCode: \"LSL\",\n currencyIcon: \"L\",\n internetCountryCode: \"LS\",\n },\n {\n countryName: \"Liberia\",\n countryCode: \"+231\",\n currency: \"Liberian dollar\",\n currencyCode: \"LRD\",\n currencyIcon: \"$\",\n internetCountryCode: \"LR\",\n },\n {\n countryName: \"Madagascar\",\n countryCode: \"+261\",\n currency: \"Malagasy ariary\",\n currencyCode: \"MGA\",\n currencyIcon: \"Ar\",\n internetCountryCode: \"MG\",\n },\n {\n countryName: \"Malawi\",\n countryCode: \"+265\",\n currency: \"Malawian kwacha\",\n currencyCode: \"MWK\",\n currencyIcon: \"MK\",\n internetCountryCode: \"MW\",\n },\n {\n countryName: \"Mali\",\n countryCode: \"+223\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"ML\",\n },\n {\n countryName: \"Mozambique\",\n countryCode: \"+258\",\n currency: \"Mozambican metical\",\n currencyCode: \"MZN\",\n currencyIcon: \"MT\",\n internetCountryCode: \"MZ\",\n },\n {\n countryName: \"Namibia\",\n countryCode: \"+264\",\n currency: \"Namibian dollar\",\n currencyCode: \"NAD\",\n currencyIcon: \"$\",\n internetCountryCode: \"NA\",\n },\n {\n countryName: \"Niger\",\n countryCode: \"+227\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"NE\",\n },\n {\n countryName: \"Nigeria\",\n countryCode: \"+234\",\n currency: \"Nigerian naira\",\n currencyCode: \"NGN\",\n currencyIcon: \"₦\",\n internetCountryCode: \"NG\",\n },\n {\n countryName: \"Republic of the Congo\",\n countryCode: \"+242\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"CG\",\n },\n {\n countryName: \"Rwanda\",\n countryCode: \"+250\",\n currency: \"Rwandan franc\",\n currencyCode: \"RWF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"RW\",\n },\n {\n countryName: \"Senegal\",\n countryCode: \"+221\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"SN\",\n },\n {\n countryName: \"Seychelles\",\n countryCode: \"+248\",\n currency: \"Seychellois rupee\",\n currencyCode: \"SCR\",\n currencyIcon: \"₨\",\n internetCountryCode: \"SC\",\n },\n {\n countryName: \"South Africa\",\n countryCode: \"+27\",\n currency: \"South African rand\",\n currencyCode: \"ZAR\",\n currencyIcon: \"R\",\n internetCountryCode: \"ZA\",\n },\n {\n countryName: \"South Sudan\",\n countryCode: \"+211\",\n currency: \"South Sudanese pound\",\n currencyCode: \"SSP\",\n currencyIcon: \"£\",\n internetCountryCode: \"SS\",\n },\n {\n countryName: \"Tanzania\",\n countryCode: \"+255\",\n currency: \"Tanzanian shilling\",\n currencyCode: \"TZS\",\n currencyIcon: \"Sh\",\n internetCountryCode: \"TZ\",\n },\n {\n countryName: \"Togo\",\n countryCode: \"+228\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"TG\",\n },\n {\n countryName: \"Uganda\",\n countryCode: \"+256\",\n currency: \"Ugandan shilling\",\n currencyCode: \"UGX\",\n currencyIcon: \"Sh\",\n internetCountryCode: \"UG\",\n },\n {\n countryName: \"Zambia\",\n countryCode: \"+260\",\n currency: \"Zambian kwacha\",\n currencyCode: \"ZMW\",\n currencyIcon: \"ZK\",\n internetCountryCode: \"ZM\",\n },\n];\n\nexport const getCountryDataMap = () => {\n const frequency = {} as Record<string, string>;\n\n countryData?.forEach((country) => {\n frequency[country?.internetCountryCode] = country?.countryName;\n });\n\n return frequency;\n};\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport * as RPNInput from \"react-phone-number-input\";\nimport PhoneInputDefault from \"react-phone-number-input\";\n\nimport flags from \"react-phone-number-input/flags\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"../command\";\nimport { InputProps, inputContainerVariants, inputVariants } from \"../input\";\nimport { PopoverRoot, PopoverContent, PopoverTrigger } from \"../popover\";\n\nimport { cn } from \"@/src/utils\";\nimport { ScrollArea } from \"../scroll-area\";\nimport { VariantProps } from \"class-variance-authority\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\nimport FlatGlobeIcon from \"./Flag\";\n\nexport type PhoneInputValue = RPNInput.Value;\n\nexport type PhoneInputProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"value\"\n> &\n Omit<RPNInput.Props<typeof RPNInput.default>, \"onChange\"> & {\n onChange?: (value?: RPNInput.Value) => void;\n } & {\n status?: VariantProps<typeof inputContainerVariants>[\"status\"];\n defaultCountry?: RPNInput.Country;\n modal?: boolean;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n error?: string;\n };\n\nconst PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps> =\n React.forwardRef<React.ElementRef<typeof RPNInput.default>, PhoneInputProps>(\n (\n {\n className,\n onChange,\n value,\n modal,\n showAsterisk,\n label,\n description,\n error,\n defaultCountry = \"NG\",\n ...props\n },\n ref,\n ) => {\n /**\n * did this so I can pass the status prop to the country\n * select so I can change the appearance based on the status\n */\n const CountrySelectWrapper = (innerProps: CountrySelectProps) => {\n return (\n <CountrySelect\n {...innerProps}\n status={props.status}\n modal={modal}\n onChange={(v) => innerProps.onChange(v)}\n />\n );\n };\n\n const inputValue: string | number = value as string;\n\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <PhoneInputDefault\n ref={ref}\n className={cn(\"flex\", className)}\n flagComponent={FlagComponent}\n countrySelectComponent={CountrySelectWrapper}\n focusInputOnCountrySelection\n countryCallingCodeEditable\n enableLongNumber\n addInternationalOption\n international\n inputComponent={InputComponent}\n // inputComponent={React.forwardRef((inputProps, ref) => (\n // <InputComponent\n // ref={ref}\n // {...inputProps}\n // id=\"my_input_id_extra_passing_it\"\n // />\n // ))}\n defaultCountry={defaultCountry}\n containerComponent={({ children }) => (\n <div\n className={cn(\n inputContainerVariants({ status: props?.status }),\n \"p-0 gap-1\",\n )}\n >\n {children}\n </div>\n )}\n /**\n * Handles the onChange event.\n *\n * react-phone-number-input might trigger the onChange event as undefined\n * when a valid phone number is not entered. To prevent this,\n * the value is coerced to an empty string.\n *\n * @param {E164Number | undefined} value - The entered value\n */\n {...props}\n onChange={(value) => {\n if (onChange) {\n onChange(value);\n }\n }}\n value={inputValue}\n />\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n },\n );\nPhoneInput.displayName = \"PhoneInput\";\n\nconst InputComponent = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, ...props }, ref) => {\n return (\n <input\n className={cn(\n inputVariants({ status: props?.status }),\n \" h-full !-mt-0 border-0 rounded-l-none !flex-1 !block !w-full\",\n className,\n )}\n {...props}\n ref={ref}\n />\n );\n },\n);\nInputComponent.displayName = \"InputComponent\";\n\ntype CountrySelectOption = { label: string; value: RPNInput.Country };\n\ntype CountrySelectProps = {\n disabled?: boolean;\n modal?: boolean;\n value: RPNInput.Country;\n onChange: (value: RPNInput.Country) => void;\n options: CountrySelectOption[];\n status?: VariantProps<typeof inputContainerVariants>[\"status\"];\n};\n\nconst CountrySelect = ({\n disabled,\n value,\n onChange,\n options,\n status,\n modal,\n}: CountrySelectProps) => {\n const handleSelect = React.useCallback(\n (country: RPNInput.Country) => {\n console.log(country);\n\n onChange(country);\n },\n [onChange],\n );\n\n return (\n <PopoverRoot modal={modal}>\n <PopoverTrigger disabled={disabled}>\n <div\n className={cn(\n inputContainerVariants({ status }),\n \"!border-0 transition justify-center items-center disabled:text-base-500 flex gap-3 h-full rounded-e-none pl-2 pr-2\",\n )}\n >\n <FlagComponent country={value} countryName={value} />\n <svg\n className={cn(\n \"-mr-2 h-4 w-4 opacity-50\",\n disabled ? \"hidden\" : \"opacity-100\",\n )}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825\"\n stroke=\"#959595\"\n strokeWidth=\"1.5\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n </PopoverTrigger>\n <PopoverContent portal={!modal} className=\"w-[200px] md:w-[300px] p-0\">\n <Command>\n <CommandList>\n <ScrollArea className=\"h-72\">\n <CommandInput placeholder=\"Search country...\" />\n <CommandEmpty>No country found.</CommandEmpty>\n <CommandGroup>\n {options\n .filter((x) => x.value)\n .map((option) => (\n <CommandItem\n className=\"gap-2\"\n key={`${option.value}-${option.label}`}\n onSelect={() => handleSelect(option.value)}\n >\n <FlagComponent\n country={option.value}\n countryName={option.label}\n />\n <span className=\"flex-1 text-sm\">{option.label}</span>\n {option.value && (\n <span className=\"text-[#191919]/50 text-sm dark:text-white\">\n {`+${RPNInput.getCountryCallingCode(option.value)}`}\n </span>\n )}\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n \"ml-auto\",\n option.value === value ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n <path\n d=\"M4 8.00008L6.66353 10.6636L12 5.33655\"\n stroke=\"#959595\"\n strokeWidth=\"1.06667\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </CommandItem>\n ))}\n </CommandGroup>\n </ScrollArea>\n </CommandList>\n </Command>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\ntype FlagComponentProps = RPNInput.FlagProps & {\n className?: string;\n};\n\nconst FlagComponent = ({\n country,\n countryName,\n className,\n}: FlagComponentProps) => {\n const Flag = flags[country];\n\n if (country === (\"GLOBAL\" as unknown))\n return (\n <span\n className={cn(\n \"bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm\",\n className,\n )}\n >\n <FlatGlobeIcon className=\"w-full h-[90%]\" />\n </span>\n );\n\n return (\n <span\n className={cn(\n \"bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm\",\n className,\n )}\n >\n {Flag && <Flag title={countryName} />}\n </span>\n );\n};\nFlagComponent.displayName = \"FlagComponent\";\n\nexport { PhoneInput, FlagComponent };\n","// import React from 'react'\n\n// export const Flag = () => {\n// return (\n// <div>Flag</div>\n// )\n// }\n\nimport type React from \"react\";\n\nconst FlatGlobeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n {...props}\n >\n <rect width=\"32\" height=\"32\" fill=\"#60A5FA\" /> {/* Ocean color */}\n {/* Continents */}\n <path\n d=\"M3 10L7 8L10 9L13 8L16 10L19 9L22 11L25 10L28 12V15L26 17L28 19L27 22L29 24L27 26L24 25L21 26L18 24L15 25L12 23L9 24L6 22L4 23L2 21V18L4 16L3 13L5 11L3 10Z\"\n fill=\"#34D399\"\n />\n {/* Antarctica */}\n <rect x=\"2\" y=\"28\" width=\"28\" height=\"3\" fill=\"#D1D5DB\" />\n {/* Grid lines */}\n <path\n d=\"M0 16H32M8 0V32M16 0V32M24 0V32\"\n stroke=\"#2563EB\"\n strokeWidth=\"0.5\"\n vectorEffect=\"non-scaling-stroke\"\n />\n {/* Equator */}\n <path\n d=\"M0 16H32\"\n stroke=\"#2563EB\"\n strokeWidth=\"1\"\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n );\n};\n\nexport default FlatGlobeIcon;\n","import { inputContainerVariants } from \"../input\";\nimport { Searchable, SearchableDataType } from \"../searcheable\";\nimport { VariantProps } from \"class-variance-authority\";\nimport { countryData, getCountryDataMap } from \"./data\";\nimport { PopoverTrigger } from \"../popover\";\nimport { cn } from \"@/src/utils\";\nimport { FlagComponent } from \"../phone-input\";\nimport { Country as CountryCode } from \"react-phone-number-input\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\n\ntype CountryPropsStatus = VariantProps<typeof inputContainerVariants>[\"status\"];\n\ninterface CountryProps {\n modal?: boolean;\n hideSearch?: boolean;\n loading?: boolean;\n inputValue?: string;\n onInputValueChange?: (arg: string) => void;\n disabled?: boolean;\n placeholder?: string;\n value?: SearchableDataType;\n optionComponent?: (arg: SearchableDataType) => React.ReactNode;\n className?: string;\n containerClassName?: string;\n onChange: (value: SearchableDataType) => void;\n status?: CountryPropsStatus;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n error?: string;\n}\n\ninterface CountryTriggerProps\n extends VariantProps<typeof inputContainerVariants> {\n disabled?: boolean;\n placeholder?: string;\n value?: string;\n className?: string;\n}\n\nconst countryMap = getCountryDataMap();\n\nconst CountryTrigger = ({\n className,\n value,\n placeholder = \"\",\n status,\n disabled,\n}: CountryTriggerProps) => {\n return (\n <PopoverTrigger asChild disabled={disabled}>\n <button\n disabled={disabled}\n className={cn(\n inputContainerVariants({ status }),\n \"[&>span]:justify-start [&>span]:items-center gap-2 flex w-full items-center justify-between goup\",\n value ? \"\" : \"text-[#79818C]\",\n className,\n )}\n >\n {value ? (\n <div className=\"flex gap-2 items-center\">\n <FlagComponent\n country={value as CountryCode}\n countryName={value}\n className=\"ml-1 !w-6 h-5\"\n />\n <span className=\"\"> {countryMap[value]}</span>\n </div>\n ) : (\n (placeholder ?? \"Select options...\")\n )}\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n className=\" data-[state=open]:goup-rotate-180\"\n >\n <path\n d=\"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </PopoverTrigger>\n );\n};\n\nconst Country = ({\n hideSearch = true,\n showAsterisk,\n label,\n description,\n error,\n ...props\n}: CountryProps) => {\n const options = countryData?.map((country) => ({\n value: country?.internetCountryCode,\n label: country?.countryName,\n ...country,\n }));\n\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <Searchable\n options={options}\n hideSearch={hideSearch}\n optionComponent={(arg) => {\n return (\n <div className=\"w-full flex items-center gap-2\">\n <FlagComponent\n country={arg?.internetCountryCode}\n countryName={arg?.label}\n className=\"ml-2 !w-6 !h-5\"\n />\n <span className=\"flex-1 text-sm\">{arg?.label}</span>\n </div>\n );\n }}\n {...props}\n >\n <CountryTrigger\n value={props?.value?.value}\n status={props?.status}\n placeholder={props?.placeholder ?? \" Select Country\"}\n />\n </Searchable>\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nexport { Country };\nexport type { CountryProps };\n\n//Todo -\n// dataSource - array of countries\n// availableCountries - countries to be filtered by countryCode\n","import OtpInput, { OTPInputProps as InputProps } from \"react-otp-input\";\nimport { cn } from \"@/src/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { useMemo } from \"react\";\n\nconst otpInputVariants = cva(\n \"transition cursor-default placeholder:text-black dark:placeholder:text-white rounded-lg !h-14 !w-14 border aspect-square text-base font-semibold tracking-normal outline-none placeholder:text-sm placeholder:font-normal text-black focus:bg-white\",\n {\n variants: {\n status: {\n default:\n \"border-gray-300 dark:border-[#d4d4d4] focus:border-gray-400 focus-visible:!ring-offset-gray-200 focus:ring-offset-gray-200 !ring-gray-200 !focus-visible:ring-1 bg-white dark:!bg-transparent dark:focus-visible:!ring-0 dark:focus-within:!bg-transparent dark:text-white dark:focus-within:border-[#9299A2] dark:border-[#676767] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-red-600 bg-red-50 border-red-600 text-red-600 focus-within:bg-red-50 focus-within:border-red-600\",\n loading: \"placeholder:text-[#C4C4C4]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\ntype DefailtInputProps = Omit<InputProps, \"renderInput\">;\n\nexport type OTPInputProps = DefailtInputProps &\n VariantProps<typeof otpInputVariants> & {};\n\nexport const OTPInput = ({\n numInputs = 4,\n inputStyle,\n containerStyle,\n placeholder = \"-\",\n status,\n ...props\n}: OTPInputProps) => {\n const placeholderValue = useMemo(() => {\n if (placeholder) return placeholder;\n\n const numInputArr = new Array<string>(numInputs).fill(\"\");\n const result = numInputArr.reduce((accumulator, currentValue) => {\n return (accumulator += currentValue);\n }, \"\");\n\n return result;\n }, [numInputs, placeholder]);\n\n return (\n <OtpInput\n numInputs={numInputs}\n placeholder={placeholderValue}\n containerStyle={cn(\"w-full\", containerStyle)}\n inputStyle={cn(otpInputVariants({ status }), inputStyle)}\n renderInput={(props) => <input {...props} />}\n {...props}\n />\n );\n};\n"],"mappings":"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OACb,SAAU,4BACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,WACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,WACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,4BACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,gBACV,aAAc,MACd,aAAc,SACd,oBAAqB,IACvB,EACA,CACE,YAAa,SACb,YAAa,OACb,SAAU,gBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,cACb,YAAa,OACb,SAAU,yBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,UACb,YAAa,OACb,SAAU,eACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,UACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,aACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,SACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,OACb,YAAa,OACb,SAAU,yBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,aACb,YAAa,OACb,SAAU,qBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,UACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,yBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,UACb,YAAa,OACb,SAAU,iBACV,a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","names":["index_exports","__export","Button","Country","Dialog","FlagComponent","FormLabel","Input","Loader","OTPInput","PasswordInput","PhoneInput","Select","Textarea","__toCommonJS","import_react","React","LabelPrimitive","import_class_variance_authority","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","labelVariants","Label","className","props","ref","cn","import_jsx_runtime","FormLabel","React","className","children","showAsterisk","error","props","ref","Label","cn","import_jsx_runtime","Loader","size","colour","React","import_react_slot","import_class_variance_authority","import_jsx_runtime","buttonVariants","Button","className","variant","size","asChild","isLoading","leftNode","rightNode","LoaderSize","ref","props","Component","children","disabled","rest","reference","cn","Loader","import_class_variance_authority","import_react","import_jsx_runtime","ErrorMessage","React","className","children","error","props","ref","body","cn","import_react","import_jsx_runtime","FormDescription","React","className","props","ref","cn","import_jsx_runtime","inputVariants","BaseInnerInput","className","status","type","ref","props","cn","inputContainerVariants","sideVariants","Input","disabled","error","isLoading","sideNodeClassName","showAsterisk","label","description","containerStatus","FormLabel","FormDescription","ErrorMessage","import_react","import_jsx_runtime","Eye","import_jsx_runtime","EyeOff","import_jsx_runtime","Check","import_jsx_runtime","Fail","import_jsx_runtime","validationOptions","PasswordInput","onValidate","onChange","props","passwordVisible","setPasswordVisible","validatedValues","setValidatedValues","validatePassword","value","option","checkPasswordStrength","validatedOptions","allValidated","handlePaswordInputChange","e","validated","ValidateComp","cn","Check","Fail","Input","val","Eye","EyeOff","import_class_variance_authority","import_jsx_runtime","textareaContainerVariants","Textarea","className","status","disabled","error","isLoading","showAsterisk","label","description","props","containerStatus","FormLabel","cn","inputContainerVariants","FormDescription","ErrorMessage","React","React","import_cmdk","import_lucide_react","React","DialogPrimitive","import_jsx_runtime","CloseIcon","import_jsx_runtime","DialogRoot","DialogTrigger","DialogPortal","DialogOverlay","className","props","ref","cn","DialogContent","hideCloseButton","children","CloseIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription","Dialog","trigger","open","onOpenChange","footer","title","description","contentClassName","headerClassName","titleClassName","descriptionClassName","footerClassName","asChild","onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onInteractOutside","onPointerDownOutside","import_jsx_runtime","Command","className","props","ref","CommandPrimitive","cn","CommandInput","className","CommandInputContainerClassName","loading","props","ref","cn","Loader","CommandPrimitive","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut","React","PopoverPrimitive","import_jsx_runtime","PopoverRoot","PopoverTrigger","PopoverContent","className","align","sideOffset","portal","props","ref","cn","Popover","trigger","children","open","onOpenChange","contentClassName","asChild","side","alignOffset","onOpenAutoFocus","onCloseAutoFocus","React","ScrollAreaPrimitive","import_jsx_runtime","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","import_jsx_runtime","SearchableTrigger","className","value","placeholder","status","disabled","PopoverTrigger","cn","inputContainerVariants","Searchable","options","onChange","containerClassName","loading","optionComponent","children","modal","hideSearch","inputValue","onValueChange","onInputValueChange","open","setOpen","triggerRef","width","setWidth","PopoverRoot","PopoverContent","Command","CommandInput","ScrollArea","CommandList","CommandEmpty","CommandGroup","option","CommandItem","import_jsx_runtime","Select","showAsterisk","label","description","error","hideSearch","status","props","FormLabel","Searchable","SearchableTrigger","FormDescription","ErrorMessage","countryData","getCountryDataMap","frequency","country","React","RPNInput","import_react_phone_number_input","import_flags","import_jsx_runtime","FlatGlobeIcon","props","Flag_default","import_jsx_runtime","PhoneInput","className","onChange","value","modal","showAsterisk","label","description","error","defaultCountry","props","ref","CountrySelectWrapper","innerProps","CountrySelect","v","inputValue","FormLabel","PhoneInputDefault","cn","FlagComponent","InputComponent","children","inputContainerVariants","FormDescription","ErrorMessage","inputVariants","disabled","options","status","handleSelect","country","PopoverRoot","PopoverTrigger","PopoverContent","Command","CommandList","ScrollArea","CommandInput","CommandEmpty","CommandGroup","x","option","CommandItem","countryName","Flag","flags","Flag_default","import_jsx_runtime","countryMap","getCountryDataMap","CountryTrigger","className","value","placeholder","status","disabled","PopoverTrigger","cn","inputContainerVariants","FlagComponent","Country","hideSearch","showAsterisk","label","description","error","props","options","countryData","country","FormLabel","Searchable","arg","FormDescription","ErrorMessage","import_react_otp_input","import_class_variance_authority","import_react","import_jsx_runtime","otpInputVariants","OTPInput","numInputs","inputStyle","containerStyle","placeholder","status","props","placeholderValue","accumulator","currentValue","OtpInput","cn"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/components/label/FormLabel.tsx","../src/components/label/index.tsx","../src/utils/index.ts","../src/components/loader/index.tsx","../src/components/button/index.tsx","../src/components/input/index.tsx","../src/components/form/ErrorMessage.tsx","../src/components/form/FormDescription.tsx","../src/components/password-input/index.tsx","../src/components/password-input/icons/Eye.tsx","../src/components/password-input/icons/EyeOff.tsx","../src/components/password-input/icons/Check.tsx","../src/components/password-input/icons/Fail.tsx","../src/components/textarea/index.tsx","../src/components/searcheable/index.tsx","../src/components/command/index.tsx","../src/components/dialog/index.tsx","../src/components/dialog/icon/CloseIcon.tsx","../src/components/popover/index.tsx","../src/components/scroll-area/index.tsx","../src/components/select/index.tsx","../src/components/country/data.ts","../src/components/phone-input/index.tsx","../src/components/phone-input/Flag.tsx","../src/components/country/index.tsx","../src/components/otp/index.tsx"],"sourcesContent":["export * from \"./components\";\n","import React from \"react\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Label } from \".\";\nimport { cn } from \"@/src/utils\";\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & {\n showAsterisk?: boolean;\n error?: string;\n formItemId?: string;\n }\n>(({ className, children, showAsterisk, error, ...props }, ref) => {\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-red-500\", className)}\n // htmlFor={formItemId}\n {...props}\n >\n {showAsterisk ? (\n <p>\n {children}\n <span className=\"text-red-500\">*</span>\n </p>\n ) : (\n children\n )}\n </Label>\n );\n});\n\nFormLabel.displayName = \"FormLabel\";\n\nexport { FormLabel };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/src/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function areObjectsEqual<T extends object>(obj1: T, obj2: T): boolean {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = obj1[key as keyof T];\n const val2 = obj2[key as keyof T];\n\n if (\n typeof val1 === \"object\" &&\n val1 !== null &&\n typeof val2 === \"object\" &&\n val2 !== null\n ) {\n if (!areObjectsEqual(val1, val2)) {\n return false;\n }\n } else if (val1 !== val2) {\n return false;\n }\n }\n\n return true;\n}\n","type Colours = \"primary\" | \"secondary\";\n\nexport const Loader = ({\n size = 16,\n colour = \"primary\",\n}: {\n size?: number;\n colour?: Colours;\n}) => {\n return (\n <svg\n className=\"animate-spin\"\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <circle cx=\"10\" cy=\"10\" r=\"9.25\" stroke=\"transparent\" strokeWidth=\"1.5\" />\n <path\n d=\"M10 0.595792C10 0.266746 10.267 -0.00185055 10.5954 0.0177417C11.9786 0.100242 13.3318 0.469461 14.5682 1.1044C15.9816 1.83021 17.2016 2.88235 18.1273 4.17366C19.0531 5.46496 19.6578 6.95826 19.8913 8.52984C20.1249 10.1014 19.9807 11.706 19.4705 13.2108C18.9604 14.7155 18.0991 16.077 16.9579 17.1825C15.8167 18.288 14.4285 19.1056 12.9084 19.5677C11.3882 20.0298 9.77982 20.123 8.21646 19.8397C6.84883 19.5918 5.55009 19.0619 4.40196 18.2863C4.12931 18.1021 4.08072 17.7265 4.28083 17.4653C4.48094 17.2041 4.85388 17.1564 5.12801 17.3384C6.12474 18.0001 7.24768 18.4531 8.42898 18.6672C9.80606 18.9168 11.2228 18.8347 12.5618 18.4276C13.9008 18.0206 15.1236 17.3004 16.1288 16.3266C17.134 15.3528 17.8927 14.1536 18.342 12.8282C18.7914 11.5027 18.9185 10.0893 18.7127 8.70502C18.507 7.32071 17.9743 6.00535 17.1589 4.86792C16.3435 3.73048 15.2688 2.80371 14.0238 2.16439C12.9559 1.61596 11.789 1.29259 10.5954 1.21173C10.2671 1.18949 10 0.92484 10 0.595792Z\"\n fill={colour === \"primary\" ? \"#ffffff\" : \"currentColor\"}\n className=\"rounded\"\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/src/utils\";\nimport { Loader } from \"../loader\";\nimport { ButtonHTMLAttributes } from \"react\";\nimport { DetailedHTMLProps } from \"react\";\n\nconst buttonVariants = cva(\n \"overflow-hidden isolate relative inline-flex h-fit items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background dark:ring-offset-transparent transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:!pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"border-primary-main bg-primary-main hover:bg-primary-main/70 disabled:bg-primary-main/70 text-white font-bold\",\n danger:\n \"border-red-600 bg-red-600 hover:bg-red-600/70 disabled:bg-red-600/70 text-white font-bold\",\n neutral:\n \"!border-0 bg-transparent text-primary-main hover:opacity-80 disabled:opacity-60\",\n outlined:\n \"border border-primary-main text-primary-main hover:opacity-80 disabled:opacity-60\",\n \"danger-outlined\":\n \"border border-red-600 text-red-600 hover:opacity-80 disabled:opacity-60\",\n \"light-outlined\":\n \"border-white text-white hover:opacity-80 disabled:opacity-60\",\n \"dark-text\":\n \"border-transparent bg-transparent hover:bg-opacity-70 disabled:bg-opacity-70 text-black font-medium\",\n light:\n \"border-white bg-white hover:bg-opacity-70 disabled:bg-opacity-70 text-primary-main font-semibold\",\n },\n size: {\n // lg: \"h-15 px-8 items-center\",\n // sm: \"h-10 px-3.5 items-center text-sm\",\n default:\n \"py-[0.625rem] px-[1.5rem] text-[0.875rem] leading-[1.25rem] font-medium rounded-lg\",\n sm: \"py-[0.375rem] px-[1rem] text-[0.75rem] leading-[1rem] font-medium rounded-lg\",\n lg: \"py-[0.75rem] px-[1.5rem] text-[1rem] leading-[1.5rem] font-medium rounded-lg\",\n md: \"h-12 py-1 px-5 items-center\",\n \"icon-sm\":\n \"h-[1.75rem] w-[1.75rem] flex justify-center items-center font-medium rounded-lg\",\n icon: \"h-[2.5rem] w-[2.75rem] flex justify-center items-center font-medium rounded-lg\",\n \"icon-lg\":\n \"h-[3rem] w-[3rem] flex justify-center items-center font-medium rounded-lg\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n // extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n extends DetailedHTMLProps<\n ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n isLoading?: boolean;\n leftNode?: React.ReactNode;\n rightNode?: React.ReactNode;\n LoaderSize?: number;\n}\n\nconst Button = ({\n className,\n variant = \"primary\",\n size,\n asChild = false,\n isLoading = false,\n leftNode,\n rightNode,\n LoaderSize,\n ref,\n ...props\n}: ButtonProps) => {\n const Component = asChild ? Slot : \"button\";\n\n const { children, disabled, ...rest } = props;\n const reference = React.useRef<HTMLButtonElement>(null);\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className }))}\n ref={reference || ref}\n disabled={disabled || isLoading}\n {...rest}\n >\n <div className=\"flex font-medium justify-center items-center gap-2\">\n {/* {leftNode}\n {children}\n {rightNode}\n {isLoading && <Loader />} */}\n\n {isLoading ? (\n <>\n <span className=\"mx-auto\">\n <Loader size={LoaderSize} colour=\"secondary\" />\n </span>\n </>\n ) : (\n <>\n {leftNode}\n {children}\n {rightNode}\n </>\n )}\n </div>\n </Component>\n );\n};\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/src/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { DetailedHTMLProps } from \"react\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\nimport { FormDescription } from \"../form/FormDescription\";\n\nexport const inputVariants = cva(\n \"!p-0 flex h-full w-full !border-transparent !bg-transparent text-base focus-visible:bg-transparent focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n status: {\n default: \"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]\",\n error: \"placeholder:text-red-500 text-red-500\",\n loading: \"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]\",\n prefilled: \"\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\nexport interface BaseInnerInputProps\n extends DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n >,\n VariantProps<typeof inputVariants> {}\n\nconst BaseInnerInput = ({\n className,\n status,\n type,\n ref,\n ...props\n}: BaseInnerInputProps) => {\n return (\n <input\n type={type}\n className={cn(inputVariants({ status }), className)}\n ref={ref}\n {...props}\n />\n );\n};\nBaseInnerInput.displayName = \"BaseInnerInput\";\n\nexport const inputContainerVariants = cva(\n \"flex relative h-10 w-full rounded-[4px] dark:!bg-transparent border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]\",\n {\n variants: {\n status: {\n default:\n \"border-[#DEDEDE] bg-white text-[#191919] dark:!bg-transparent caret-text-primary focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-status-error-bg-dark text-red-500 focus-within:bg-red-50 focus-within:border-red-500\",\n loading: \"\",\n prefilled:\n \"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\nexport const sideVariants = cva(\n \"top-0 flex justify-center items-center h-full min-w-[50px] max-w-[100px] dark:!bg-transparent transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]\",\n {\n variants: {\n side: {\n left: \"left-0 rounded-l-[8px] border-r\",\n right: \"right-0 rounded-r-[8px] border-l\",\n },\n status: {\n default:\n \"border-[#DEDEDE] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-red-50 text-red-500 focus-within:bg-red-50 focus-within:border-red-500\",\n loading: \"\",\n prefilled:\n \"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n side: \"left\",\n },\n },\n);\n\nexport interface InputProps\n extends BaseInnerInputProps,\n VariantProps<typeof inputContainerVariants> {\n isLoading?: boolean;\n error?: string;\n leftNode?: React.ReactNode;\n rightNode?: React.ReactNode;\n sideNodeClassName?: string;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n}\nconst Input = ({\n className,\n status = \"default\",\n disabled,\n error,\n isLoading,\n sideNodeClassName,\n showAsterisk,\n label,\n description,\n ref,\n ...props\n}: InputProps) => {\n let containerStatus: VariantProps<typeof inputContainerVariants>[\"status\"] =\n status;\n\n if (error) containerStatus = \"error\";\n if (isLoading) containerStatus = \"loading\";\n if (disabled) containerStatus = \"prefilled\";\n\n return (\n <div className=\"relative space-y-1 w-full\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <div\n className={cn(\n inputContainerVariants({ status: containerStatus }),\n props.leftNode || props.rightNode ? \"p-0\" : \"\",\n className,\n )}\n >\n {props.leftNode ? (\n <div\n className={cn(\n sideVariants({\n status: containerStatus,\n side: \"left\",\n }),\n sideNodeClassName,\n )}\n >\n {props.leftNode}\n </div>\n ) : null}\n <BaseInnerInput\n ref={ref}\n disabled={isLoading || disabled}\n className={props.leftNode || props.rightNode ? \"!px-3 !py-2\" : \"\"}\n {...props}\n />\n {props.rightNode ? (\n <div\n className={cn(\n sideVariants({\n status: containerStatus,\n side: \"right\",\n }),\n sideNodeClassName,\n )}\n >\n {props.rightNode}\n </div>\n ) : null}\n </div>\n {description && (\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n )}\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nInput.displayName = \"Input\";\n\nexport { Input };\n","import { cn } from \"@/src/utils\";\nimport React from \"react\";\n\nconst ErrorMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement> & {\n error?: string;\n }\n>(({ className, children, error, ...props }, ref) => {\n const body = error ?? children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n className={cn(\"text-xs font-normal text-[#F04248]\", className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nErrorMessage.displayName = \"ErrorMessage\";\n\nexport { ErrorMessage };\n","import { cn } from \"@/src/utils\";\nimport React from \"react\";\n\nconst FormDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"text-sm text-[#8E98A8\", className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = \"FormDescription\";\n\nexport { FormDescription };\n","import { useMemo, useState } from \"react\";\nimport { Eye } from \"./icons/Eye\";\nimport { EyeOff } from \"./icons/EyeOff\";\nimport { Input, InputProps } from \"../input\";\nimport { cn } from \"@/src/utils\";\nimport { Check } from \"./icons/Check\";\nimport { Fail } from \"./icons/Fail\";\n\nconst validationOptions = [\n {\n label: \"Uppercase\",\n key: \"uppercase\",\n RegExp: /[A-Z]/,\n validated: false,\n },\n {\n label: \"Lowercase\",\n key: \"lowercase\",\n RegExp: /[a-z]/,\n validated: false,\n },\n {\n label: \"Number\",\n key: \"number\",\n RegExp: /\\d/,\n validated: false,\n },\n {\n label: \"8 Characters\",\n key: \"eight-chars\",\n RegExp: /.{8}/,\n validated: false,\n },\n];\n\ntype PasswordInputProps = InputProps & {\n /**\n * onValidate(validated: boolean, value: string) => void\n * args - validated: this is boolean value that indicated that all validation options were met\n * args - value: this is the string input value\n */\n onValidate?: (validated: boolean, value: string) => void;\n};\nconst PasswordInput = ({\n onValidate,\n onChange,\n ...props\n}: PasswordInputProps) => {\n const [passwordVisible, setPasswordVisible] = useState(false);\n const [validatedValues, setValidatedValues] = useState(validationOptions);\n\n const validatePassword = (value: string) => {\n return validationOptions.map((option) => ({\n ...option,\n validated: option.RegExp.test(value),\n }));\n };\n\n const checkPasswordStrength = (value: string) => {\n const validatedOptions = validatePassword(value);\n const allValidated = validatedOptions.every((option) => option.validated);\n\n setValidatedValues(validatedOptions);\n\n return allValidated;\n };\n\n const handlePaswordInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n e,\n ) => {\n if (onChange) onChange(e);\n\n const value = e?.target?.value;\n const validated = checkPasswordStrength(value);\n\n if (onValidate) onValidate(validated, value);\n };\n\n const ValidateComp = useMemo(() => {\n return (\n <div className=\"flex items-center gap-2\">\n {validatedValues?.map((value) => (\n <div\n className={cn(\"text-xs flex items-center gap-0.5\", {\n \"text-[#62C554]\": value?.validated,\n \"text-[#8E98A8]\": !value?.validated,\n })}\n key={value?.key}\n >\n <span className=\"\">{value?.validated ? <Check /> : <Fail />}</span>\n <span className=\"\">{value?.label}</span>\n </div>\n ))}\n </div>\n );\n }, [validatedValues]);\n\n return (\n <Input\n sideNodeClassName=\"!border-l-0\"\n rightNode={\n passwordVisible ? (\n <button\n type=\"button\"\n onClick={() => setPasswordVisible((val) => !val)}\n >\n <Eye />\n </button>\n ) : (\n <button\n type=\"button\"\n onClick={() => setPasswordVisible((val) => !val)}\n >\n <EyeOff />\n </button>\n )\n }\n type={passwordVisible ? \"text\" : \"password\"}\n onChange={handlePaswordInputChange}\n description={ValidateComp}\n {...props}\n />\n );\n};\n\nPasswordInput.displayName = \"PasswordInput\";\n\nexport { PasswordInput };\n","export const Eye = () => {\n return (\n <svg\n width=\"18\"\n height=\"14\"\n viewBox=\"0 0 18 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.54639 7.26103C1.48389 7.09264 1.48389 6.90741 1.54639 6.73903C2.15517 5.26292 3.18853 4.00081 4.51547 3.1127C5.84241 2.22459 7.40317 1.75049 8.99989 1.75049C10.5966 1.75049 12.1574 2.22459 13.4843 3.1127C14.8113 4.00081 15.8446 5.26292 16.4534 6.73903C16.5159 6.90741 16.5159 7.09264 16.4534 7.26103C15.8446 8.73713 14.8113 9.99925 13.4843 10.8874C12.1574 11.7755 10.5966 12.2496 8.99989 12.2496C7.40317 12.2496 5.84241 11.7755 4.51547 10.8874C3.18853 9.99925 2.15517 8.73713 1.54639 7.26103Z\"\n stroke=\"#8E98A8\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9 9.25C10.2426 9.25 11.25 8.24264 11.25 7C11.25 5.75736 10.2426 4.75 9 4.75C7.75736 4.75 6.75 5.75736 6.75 7C6.75 8.24264 7.75736 9.25 9 9.25Z\"\n stroke=\"#8E98A8\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","export const EyeOff = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.08759 12.69C3.26171 11.9072 2.61006 10.9591 2.17509 9.90752C2.10081 9.73454 2.0625 9.54826 2.0625 9.36001C2.0625 9.17177 2.10081 8.98549 2.17509 8.81252C2.75274 7.4073 3.72095 6.19704 4.96509 5.32502C6.14597 4.4998 7.55989 4.07405 9.00009 4.11002C10.0363 4.084 11.064 4.30239 12.0001 4.74752M13.9201 6.03752C14.7415 6.81964 15.3904 7.76486 15.8251 8.81252C15.8994 8.98549 15.9377 9.17177 15.9377 9.36001C15.9377 9.54826 15.8994 9.73454 15.8251 9.90752C15.2474 11.3127 14.2792 12.523 13.0351 13.395C11.8542 14.2202 10.4403 14.646 9.00009 14.61C7.9639 14.636 6.93616 14.4176 6.00009 13.9725\"\n stroke=\"#8E98A8\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M6.5325 10.2375C6.42732 9.95694 6.37395 9.65962 6.375 9.36C6.375 8.66381 6.65156 7.99613 7.14384 7.50384C7.63613 7.01156 8.30381 6.735 9 6.735C9.3 6.7335 9.597 6.7875 9.8775 6.8925M11.4675 8.4825C11.5725 8.763 11.6265 9.06 11.625 9.36C11.625 10.0562 11.3484 10.7239 10.8562 11.2162C10.3639 11.7084 9.69619 11.985 9 11.985C8.70038 11.986 8.40306 11.9327 8.1225 11.8275M2.25 15L14.25 3\"\n stroke=\"#8E98A8\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","export const Check = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.89802 2.93408L9.70202 3.49808L6.21602 8.52608H5.41202L3.46802 5.80208L4.27202 5.05208L5.81402 6.49208L8.89802 2.93408Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","export const Fail = () => {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.37891 8.62142L6.00041 5.99992L8.62191 8.62142M8.62191 3.37842L5.99991 5.99992L3.37891 3.37842\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/src/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { inputContainerVariants } from \"../input\";\nimport { DetailedHTMLProps } from \"react\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst textareaContainerVariants = cva(\n \"flex relative min-h-[80px] w-full rounded-[8px] border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n status: {\n default:\n \"border-[#D7D7D7] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:border-[#9299A2] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-status-error-fill bg-status-error-bg border-status-error-fill dark:!bg-status-error-bg-dark text-status-error-fill focus-within:bg-status-error-bg focus-within:border-status-error-fill\",\n loading: \"placeholder:text-[#C4C4C4]\",\n prefilled:\n \"resize-none bg-[#F6F6F6] border-[#D7D7D7] dark:!bg-transparent caret-[#D7D7D7] focus-within:bg-[#F6F6F6] focus-within:border-[#D7D7D7] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\nexport interface TextareaProps\n extends DetailedHTMLProps<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n >,\n VariantProps<typeof inputContainerVariants> {\n isLoading?: boolean;\n error?: string;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n}\n\nconst Textarea = ({\n className,\n status = \"default\",\n disabled,\n error,\n isLoading,\n showAsterisk,\n label,\n description,\n ...props\n}: TextareaProps) => {\n let containerStatus: VariantProps<\n typeof textareaContainerVariants\n >[\"status\"] = status;\n\n if (error) containerStatus = \"error\";\n if (isLoading) containerStatus = \"loading\";\n if (disabled) containerStatus = \"prefilled\";\n\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <textarea\n className={cn(\n \"min-h-[80px]\",\n inputContainerVariants({ status: containerStatus }),\n className,\n )}\n disabled={isLoading || disabled}\n {...props}\n />\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","(\"use client\");\n\nimport * as React from \"react\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"../command\";\nimport { PopoverContent, PopoverRoot, PopoverTrigger } from \"../popover\";\nimport { cn } from \"@/src/utils\";\nimport { ScrollArea } from \"../scroll-area\";\nimport { VariantProps } from \"class-variance-authority\";\nimport { inputContainerVariants } from \"../input\";\n\ntype SearchableDataType = {\n value: string;\n label: string;\n} & {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any; // Allows for additional properties\n};\n\ninterface SearchableProps {\n modal?: boolean;\n hideSearch?: boolean;\n loading?: boolean;\n inputValue?: string;\n onInputValueChange?: (arg: string) => void;\n disabled?: boolean;\n placeholder?: string;\n value?: SearchableDataType;\n options: SearchableDataType[] | [];\n optionComponent?: (arg: SearchableDataType) => React.ReactNode;\n className?: string;\n containerClassName?: string;\n onChange: (value: SearchableDataType) => void;\n onValueChange?: (value: string) => void;\n children?: React.ReactNode;\n}\n\ninterface SearchableTriggerProps\n extends VariantProps<typeof inputContainerVariants> {\n disabled?: boolean;\n placeholder?: string;\n value?: string;\n className?: string;\n}\n\nconst SearchableTrigger = ({\n className,\n value,\n placeholder = \"\",\n status,\n disabled,\n}: SearchableTriggerProps) => {\n return (\n <PopoverTrigger asChild disabled={disabled}>\n <button\n disabled={disabled}\n className={cn(\n inputContainerVariants({ status }),\n \"[&>span]:justify-start [&>span]:items-center gap-2 flex h-12 w-full items-center justify-between goup\",\n value ? \"\" : \"text-[#79818C]\",\n className,\n )}\n >\n {value ?? placeholder ?? \"Select options...\"}\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n className=\" data-[state=open]:goup-rotate-180\"\n >\n <path\n d=\"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </PopoverTrigger>\n );\n};\n\nconst Searchable = ({\n options = [],\n value,\n onChange,\n containerClassName,\n placeholder,\n disabled,\n loading,\n optionComponent,\n children,\n modal = false,\n hideSearch,\n className,\n inputValue,\n onValueChange,\n onInputValueChange,\n}: SearchableProps) => {\n const [open, setOpen] = React.useState(false);\n\n const triggerRef = React.useRef<HTMLDivElement | null>(null);\n\n const [width, setWidth] = React.useState<number | undefined>(undefined);\n\n React.useLayoutEffect(() => {\n if (triggerRef.current) {\n setWidth(triggerRef.current.clientWidth);\n }\n }, [triggerRef.current]);\n\n return (\n <PopoverRoot modal={modal} open={open} onOpenChange={setOpen}>\n <div className={cn(\"w-full\", className)} ref={triggerRef}>\n {children}\n </div>\n <PopoverContent\n portal={!modal}\n className=\"p-0 min-w-[200px]\"\n style={{ width }}\n >\n <Command className=\"max-h-[270px] relative\">\n {!hideSearch && (\n <CommandInput\n loading={loading}\n placeholder={placeholder ?? \"Search options...\"}\n onValueChange={onInputValueChange}\n value={inputValue}\n CommandInputContainerClassName=\"mx-3 border rounded-md border-[#DEDEDE]\"\n />\n )}\n <ScrollArea\n className={cn(\n \"w-full px-0 h-full overflow-y-auto\",\n containerClassName,\n )}\n >\n <CommandList>\n {!hideSearch && <CommandEmpty>No result found.</CommandEmpty>}\n <CommandGroup className=\"w-full\">\n {options?.map((option) => (\n <CommandItem\n defaultValue={value?.label}\n key={option.value}\n value={option.label}\n disabled={disabled}\n onSelect={() => {\n onChange(option);\n setOpen(false);\n onValueChange?.(option?.value);\n }}\n >\n {!optionComponent ? option.label : optionComponent(option)}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </ScrollArea>\n </Command>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\nexport { Searchable, SearchableTrigger };\n\nexport type { SearchableProps, SearchableTriggerProps, SearchableDataType };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\n\nimport { cn } from \"@/src/utils\";\nimport { Dialog, DialogContent } from \"@/src/components/dialog\";\nimport { Loader } from \"../loader\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {\n trigger?: React.ReactNode;\n}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props} trigger={props?.trigger ?? <></>}>\n <DialogContent className=\"overflow-hidden p-0\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\ninterface CommandInputProps\n extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> {\n CommandInputContainerClassName?: string;\n loading?: boolean;\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n CommandInputProps\n>(({ className, CommandInputContainerClassName, loading, ...props }, ref) => (\n <div\n className={cn(\n \"flex items-center border-0 px-3 gap-2\",\n CommandInputContainerClassName,\n )}\n cmdk-input-wrapper=\"\"\n >\n {loading ? (\n <Loader size={16} colour=\"secondary\" />\n ) : (\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n disabled={loading}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative text=[#222222] flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\n\nimport { cn } from \"@/src/utils\";\nimport { CloseIcon } from \"./icon/CloseIcon\";\n\nconst DialogRoot = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n hideCloseButton?: boolean;\n }\n>(({ className, hideCloseButton, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-transparent bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n {!hideCloseButton && (\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <CloseIcon />\n\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col space-y-1.5 text-left\", className)}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-row justify-end sm:space-x-2\", className)}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-gray-500\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport type DialogPropsType = {\n trigger?: React.ReactNode;\n children: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n footer?: React.ReactNode;\n hideCloseButton?: boolean;\n contentClassName?: string;\n headerClassName?: string;\n titleClassName?: string;\n descriptionClassName?: string;\n footerClassName?: string;\n asChild?: boolean;\n onOpenAutoFocus?: (e: Event) => void;\n onCloseAutoFocus?: (e: Event) => void;\n onInteractOutside?: (e: Event) => void;\n onPointerDownOutside?: (e: Event) => void;\n onEscapeKeyDown?: (e: KeyboardEvent) => void;\n};\n\nconst Dialog = ({\n trigger = undefined,\n children,\n open,\n onOpenChange,\n hideCloseButton,\n footer,\n title,\n description,\n contentClassName,\n headerClassName,\n titleClassName,\n descriptionClassName,\n footerClassName,\n asChild = true,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onEscapeKeyDown,\n onInteractOutside,\n onPointerDownOutside,\n ...props\n}: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root> &\n DialogPropsType) => {\n return (\n <DialogRoot {...props} open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild={asChild}>{trigger}</DialogTrigger>\n <DialogPortal>\n <DialogContent\n className={contentClassName}\n hideCloseButton={hideCloseButton}\n onOpenAutoFocus={onOpenAutoFocus}\n onCloseAutoFocus={onCloseAutoFocus}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onInteractOutside={onInteractOutside}\n >\n {title || description ? (\n <DialogHeader className={headerClassName}>\n {title && (\n <DialogTitle className={titleClassName}>{title}</DialogTitle>\n )}\n {description && (\n <DialogDescription className={descriptionClassName}>\n {description}\n </DialogDescription>\n )}\n </DialogHeader>\n ) : (\n <></>\n )}\n {children}\n {footer && (\n <DialogFooter className={footerClassName}>{footer}</DialogFooter>\n )}\n </DialogContent>\n </DialogPortal>\n </DialogRoot>\n );\n};\nDialog.displayName = DialogPrimitive.Dialog.displayName;\n\nexport { Dialog, DialogRoot, DialogContent };\n","export const CloseIcon = () => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-x\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n};\n","// import * as React from \"react\"\n// import * as PopoverPrimitive from \"@radix-ui/react-popover\"\n// import { cn } from \"../../utils\"\n\n// const Popover = PopoverPrimitive.Root\n\n// const PopoverTrigger = PopoverPrimitive.Trigger\n\n// const PopoverAnchor = PopoverPrimitive.Anchor\n\n// const PopoverContent = React.forwardRef<\n// React.ElementRef<typeof PopoverPrimitive.Content>,\n// React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n// >(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n// <PopoverPrimitive.Portal>\n// <PopoverPrimitive.Content\n// ref={ref}\n// align={align}\n// sideOffset={sideOffset}\n// className={cn(\n// \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n// className\n// )}\n// {...props}\n// />\n// </PopoverPrimitive.Portal>\n// ))\n// PopoverContent.displayName = PopoverPrimitive.Content.displayName\n\n// export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n\n\"use client\";\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@/src/utils\";\n\nconst PopoverRoot = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {\n portal?: boolean;\n }\n>(\n (\n { className, align = \"center\", sideOffset = 4, portal = true, ...props },\n ref,\n ) =>\n portal ? (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n onOpenAutoFocus={props.onOpenAutoFocus}\n onCloseAutoFocus={props.onCloseAutoFocus}\n {...props}\n />\n </PopoverPrimitive.Portal>\n ) : (\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n onOpenAutoFocus={props.onOpenAutoFocus}\n onCloseAutoFocus={props.onCloseAutoFocus}\n {...props}\n />\n ),\n);\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport type PopoverPropsType = {\n trigger: React.ReactNode;\n children: React.ReactNode;\n contentClassName?: string;\n asChild?: boolean;\n align?: PopoverPrimitive.PopoverContentProps[\"align\"];\n side?: PopoverPrimitive.PopoverContentProps[\"side\"];\n alignOffset?: number | undefined;\n sideOffset?: number | undefined;\n onOpenAutoFocus?: (e: Event) => void;\n onCloseAutoFocus?: (e: Event) => void;\n};\n\nconst Popover = ({\n trigger,\n children,\n open,\n onOpenChange,\n contentClassName,\n asChild = true,\n align,\n side,\n alignOffset,\n sideOffset,\n onOpenAutoFocus,\n onCloseAutoFocus,\n ...props\n}: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> &\n PopoverPropsType) => {\n return (\n <PopoverRoot {...props} open={open} onOpenChange={onOpenChange}>\n <PopoverTrigger asChild={asChild}>{trigger}</PopoverTrigger>\n <PopoverContent\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n side={side}\n align={align}\n className={contentClassName}\n onOpenAutoFocus={onOpenAutoFocus}\n onCloseAutoFocus={onCloseAutoFocus}\n >\n {children}\n </PopoverContent>\n </PopoverRoot>\n );\n};\nPopover.displayName = PopoverPrimitive.Root.displayName;\n\nexport { Popover, PopoverRoot, PopoverTrigger, PopoverContent };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/src/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import { ErrorMessage } from \"../form/ErrorMessage\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { inputContainerVariants } from \"../input\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport {\n Searchable,\n SearchableDataType,\n SearchableTrigger,\n} from \"../searcheable\";\nimport { VariantProps } from \"class-variance-authority\";\n\ntype SelectPropsStatus = VariantProps<typeof inputContainerVariants>[\"status\"];\n\ninterface SelectProps {\n modal?: boolean;\n hideSearch?: boolean;\n loading?: boolean;\n inputValue?: string;\n onInputValueChange?: (arg: string) => void;\n disabled?: boolean;\n placeholder?: string;\n value?: SearchableDataType;\n options: SearchableDataType[];\n optionComponent?: (arg: SearchableDataType) => React.ReactNode;\n className?: string;\n containerClassName?: string;\n onChange: (value: SearchableDataType) => void;\n status?: SelectPropsStatus;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n error?: string;\n}\n\nconst Select = ({\n showAsterisk,\n label,\n description,\n error,\n hideSearch = true,\n status,\n ...props\n}: SelectProps) => {\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <Searchable\n hideSearch={hideSearch}\n {...props}\n containerClassName=\"max-h-[700px] h-full\"\n >\n <SearchableTrigger\n disabled={props?.disabled}\n placeholder=\"Select or search email\"\n status={status}\n value={props?.value?.label ?? props?.value?.value}\n />\n </Searchable>\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nexport { Select };\nexport type { SelectProps };\n\n//Todo\n// onchange value\n","export const countryData = [\n {\n countryCode: \"GLOBAL\",\n countryName: \"Global\",\n currency: \"Dollars\",\n currencyCode: \"USD\",\n internetCountryCode: \"GLOBAL\",\n },\n {\n countryName: \"Benin\",\n countryCode: \"+229\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"BJ\",\n },\n {\n countryName: \"Burkina Faso\",\n countryCode: \"+226\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"BF\",\n },\n {\n countryName: \"Cameroon\",\n countryCode: \"+237\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"CM\",\n },\n {\n countryName: \"Chad\",\n countryCode: \"+235\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"TD\",\n },\n {\n countryName: \"DR Congo\",\n countryCode: \"+243\",\n currency: \"Congolese franc\",\n currencyCode: \"CDF\",\n currencyIcon: \"FC\",\n internetCountryCode: \"CD\",\n },\n {\n countryName: \"Eswatini\",\n countryCode: \"+268\",\n currency: \"Swazi lilangeni\",\n currencyCode: \"SZL\",\n currencyIcon: \"L\",\n internetCountryCode: \"SZ\",\n },\n {\n countryName: \"Gabon\",\n countryCode: \"+241\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"GA\",\n },\n {\n countryName: \"Ghana\",\n countryCode: \"+233\",\n currency: \"Ghanaian cedi\",\n currencyCode: \"GHS\",\n currencyIcon: \"₵\",\n internetCountryCode: \"GH\",\n },\n {\n countryName: \"Guinea\",\n countryCode: \"+224\",\n currency: \"Guinean franc\",\n currencyCode: \"GNF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"GN\",\n },\n {\n countryName: \"Ivory Coast\",\n countryCode: \"+225\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"CI\",\n },\n {\n countryName: \"Kenya\",\n countryCode: \"+254\",\n currency: \"Kenyan shilling\",\n currencyCode: \"KES\",\n currencyIcon: \"Sh\",\n internetCountryCode: \"KE\",\n },\n {\n countryName: \"Lesotho\",\n countryCode: \"+266\",\n currency: \"Lesotho loti\",\n currencyCode: \"LSL\",\n currencyIcon: \"L\",\n internetCountryCode: \"LS\",\n },\n {\n countryName: \"Liberia\",\n countryCode: \"+231\",\n currency: \"Liberian dollar\",\n currencyCode: \"LRD\",\n currencyIcon: \"$\",\n internetCountryCode: \"LR\",\n },\n {\n countryName: \"Madagascar\",\n countryCode: \"+261\",\n currency: \"Malagasy ariary\",\n currencyCode: \"MGA\",\n currencyIcon: \"Ar\",\n internetCountryCode: \"MG\",\n },\n {\n countryName: \"Malawi\",\n countryCode: \"+265\",\n currency: \"Malawian kwacha\",\n currencyCode: \"MWK\",\n currencyIcon: \"MK\",\n internetCountryCode: \"MW\",\n },\n {\n countryName: \"Mali\",\n countryCode: \"+223\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"ML\",\n },\n {\n countryName: \"Mozambique\",\n countryCode: \"+258\",\n currency: \"Mozambican metical\",\n currencyCode: \"MZN\",\n currencyIcon: \"MT\",\n internetCountryCode: \"MZ\",\n },\n {\n countryName: \"Namibia\",\n countryCode: \"+264\",\n currency: \"Namibian dollar\",\n currencyCode: \"NAD\",\n currencyIcon: \"$\",\n internetCountryCode: \"NA\",\n },\n {\n countryName: \"Niger\",\n countryCode: \"+227\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"NE\",\n },\n {\n countryName: \"Nigeria\",\n countryCode: \"+234\",\n currency: \"Nigerian naira\",\n currencyCode: \"NGN\",\n currencyIcon: \"₦\",\n internetCountryCode: \"NG\",\n },\n {\n countryName: \"Republic of the Congo\",\n countryCode: \"+242\",\n currency: \"Central African CFA franc\",\n currencyCode: \"XAF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"CG\",\n },\n {\n countryName: \"Rwanda\",\n countryCode: \"+250\",\n currency: \"Rwandan franc\",\n currencyCode: \"RWF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"RW\",\n },\n {\n countryName: \"Senegal\",\n countryCode: \"+221\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"SN\",\n },\n {\n countryName: \"Seychelles\",\n countryCode: \"+248\",\n currency: \"Seychellois rupee\",\n currencyCode: \"SCR\",\n currencyIcon: \"₨\",\n internetCountryCode: \"SC\",\n },\n {\n countryName: \"South Africa\",\n countryCode: \"+27\",\n currency: \"South African rand\",\n currencyCode: \"ZAR\",\n currencyIcon: \"R\",\n internetCountryCode: \"ZA\",\n },\n {\n countryName: \"South Sudan\",\n countryCode: \"+211\",\n currency: \"South Sudanese pound\",\n currencyCode: \"SSP\",\n currencyIcon: \"£\",\n internetCountryCode: \"SS\",\n },\n {\n countryName: \"Tanzania\",\n countryCode: \"+255\",\n currency: \"Tanzanian shilling\",\n currencyCode: \"TZS\",\n currencyIcon: \"Sh\",\n internetCountryCode: \"TZ\",\n },\n {\n countryName: \"Togo\",\n countryCode: \"+228\",\n currency: \"West African CFA franc\",\n currencyCode: \"XOF\",\n currencyIcon: \"Fr\",\n internetCountryCode: \"TG\",\n },\n {\n countryName: \"Uganda\",\n countryCode: \"+256\",\n currency: \"Ugandan shilling\",\n currencyCode: \"UGX\",\n currencyIcon: \"Sh\",\n internetCountryCode: \"UG\",\n },\n {\n countryName: \"Zambia\",\n countryCode: \"+260\",\n currency: \"Zambian kwacha\",\n currencyCode: \"ZMW\",\n currencyIcon: \"ZK\",\n internetCountryCode: \"ZM\",\n },\n];\n\nexport const getCountryDataMap = () => {\n const frequency = {} as Record<string, string>;\n\n countryData?.forEach((country) => {\n frequency[country?.internetCountryCode] = country?.countryName;\n });\n\n return frequency;\n};\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport * as RPNInput from \"react-phone-number-input\";\nimport PhoneInputDefault from \"react-phone-number-input\";\n\nimport flags from \"react-phone-number-input/flags\";\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"../command\";\nimport { InputProps, inputContainerVariants, inputVariants } from \"../input\";\nimport { PopoverRoot, PopoverContent, PopoverTrigger } from \"../popover\";\n\nimport { cn } from \"@/src/utils\";\nimport { ScrollArea } from \"../scroll-area\";\nimport { VariantProps } from \"class-variance-authority\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\nimport FlatGlobeIcon from \"./Flag\";\n\nexport type PhoneInputValue = RPNInput.Value;\n\nexport type PhoneInputProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"value\"\n> &\n Omit<RPNInput.Props<typeof RPNInput.default>, \"onChange\"> & {\n onChange?: (value?: RPNInput.Value) => void;\n } & {\n status?: VariantProps<typeof inputContainerVariants>[\"status\"];\n defaultCountry?: RPNInput.Country;\n modal?: boolean;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n error?: string;\n };\n\nconst PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps> =\n React.forwardRef<React.ElementRef<typeof RPNInput.default>, PhoneInputProps>(\n (\n {\n className,\n onChange,\n value,\n modal,\n showAsterisk,\n label,\n description,\n error,\n defaultCountry = \"NG\",\n ...props\n },\n ref,\n ) => {\n /**\n * did this so I can pass the status prop to the country\n * select so I can change the appearance based on the status\n */\n const CountrySelectWrapper = (innerProps: CountrySelectProps) => {\n return (\n <CountrySelect\n {...innerProps}\n status={props.status}\n modal={modal}\n onChange={(v) => innerProps.onChange(v)}\n />\n );\n };\n\n const inputValue: string | number = value as string;\n\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <PhoneInputDefault\n ref={ref}\n className={cn(\"flex\", className)}\n flagComponent={FlagComponent}\n countrySelectComponent={CountrySelectWrapper}\n focusInputOnCountrySelection\n countryCallingCodeEditable\n enableLongNumber\n addInternationalOption\n international\n inputComponent={InputComponent}\n // inputComponent={React.forwardRef((inputProps, ref) => (\n // <InputComponent\n // ref={ref}\n // {...inputProps}\n // id=\"my_input_id_extra_passing_it\"\n // />\n // ))}\n defaultCountry={defaultCountry}\n containerComponent={({ children }) => (\n <div\n className={cn(\n inputContainerVariants({ status: props?.status }),\n \"p-0 gap-1\",\n )}\n >\n {children}\n </div>\n )}\n /**\n * Handles the onChange event.\n *\n * react-phone-number-input might trigger the onChange event as undefined\n * when a valid phone number is not entered. To prevent this,\n * the value is coerced to an empty string.\n *\n * @param {E164Number | undefined} value - The entered value\n */\n {...props}\n onChange={(value) => {\n if (onChange) {\n onChange(value);\n }\n }}\n value={inputValue}\n />\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n },\n );\nPhoneInput.displayName = \"PhoneInput\";\n\nconst InputComponent = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, ...props }, ref) => {\n return (\n <input\n className={cn(\n inputVariants({ status: props?.status }),\n \" h-full !-mt-0 border-0 rounded-l-none !flex-1 !block !w-full\",\n className,\n )}\n {...props}\n ref={ref}\n />\n );\n },\n);\nInputComponent.displayName = \"InputComponent\";\n\ntype CountrySelectOption = { label: string; value: RPNInput.Country };\n\ntype CountrySelectProps = {\n disabled?: boolean;\n modal?: boolean;\n value: RPNInput.Country;\n onChange: (value: RPNInput.Country) => void;\n options: CountrySelectOption[];\n status?: VariantProps<typeof inputContainerVariants>[\"status\"];\n};\n\nconst CountrySelect = ({\n disabled,\n value,\n onChange,\n options,\n status,\n modal,\n}: CountrySelectProps) => {\n const handleSelect = React.useCallback(\n (country: RPNInput.Country) => {\n console.log(country);\n\n onChange(country);\n },\n [onChange],\n );\n\n return (\n <PopoverRoot modal={modal}>\n <PopoverTrigger disabled={disabled}>\n <div\n className={cn(\n inputContainerVariants({ status }),\n \"!border-0 transition justify-center items-center disabled:text-base-500 flex gap-3 h-full rounded-e-none pl-2 pr-2\",\n )}\n >\n <FlagComponent country={value} countryName={value} />\n <svg\n className={cn(\n \"-mr-2 h-4 w-4 opacity-50\",\n disabled ? \"hidden\" : \"opacity-100\",\n )}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n >\n <path\n d=\"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825\"\n stroke=\"#959595\"\n strokeWidth=\"1.5\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n </PopoverTrigger>\n <PopoverContent portal={!modal} className=\"w-[200px] md:w-[300px] p-0\">\n <Command>\n <CommandList>\n <ScrollArea className=\"h-72\">\n <CommandInput placeholder=\"Search country...\" />\n <CommandEmpty>No country found.</CommandEmpty>\n <CommandGroup>\n {options\n .filter((x) => x.value)\n .map((option) => (\n <CommandItem\n className=\"gap-2\"\n key={`${option.value}-${option.label}`}\n onSelect={() => handleSelect(option.value)}\n >\n <FlagComponent\n country={option.value}\n countryName={option.label}\n />\n <span className=\"flex-1 text-sm\">{option.label}</span>\n {option.value && (\n <span className=\"text-[#191919]/50 text-sm dark:text-white\">\n {`+${RPNInput.getCountryCallingCode(option.value)}`}\n </span>\n )}\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n \"ml-auto\",\n option.value === value ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n <path\n d=\"M4 8.00008L6.66353 10.6636L12 5.33655\"\n stroke=\"#959595\"\n strokeWidth=\"1.06667\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </CommandItem>\n ))}\n </CommandGroup>\n </ScrollArea>\n </CommandList>\n </Command>\n </PopoverContent>\n </PopoverRoot>\n );\n};\n\ntype FlagComponentProps = RPNInput.FlagProps & {\n className?: string;\n};\n\nconst FlagComponent = ({\n country,\n countryName,\n className,\n}: FlagComponentProps) => {\n const Flag = flags[country];\n\n if (country === (\"GLOBAL\" as unknown))\n return (\n <span\n className={cn(\n \"bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm\",\n className,\n )}\n >\n <FlatGlobeIcon className=\"w-full h-[90%]\" />\n </span>\n );\n\n return (\n <span\n className={cn(\n \"bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm\",\n className,\n )}\n >\n {Flag && <Flag title={countryName} />}\n </span>\n );\n};\nFlagComponent.displayName = \"FlagComponent\";\n\nexport { PhoneInput, FlagComponent };\n","// import React from 'react'\n\n// export const Flag = () => {\n// return (\n// <div>Flag</div>\n// )\n// }\n\nimport type React from \"react\";\n\nconst FlatGlobeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n {...props}\n >\n <rect width=\"32\" height=\"32\" fill=\"#60A5FA\" /> {/* Ocean color */}\n {/* Continents */}\n <path\n d=\"M3 10L7 8L10 9L13 8L16 10L19 9L22 11L25 10L28 12V15L26 17L28 19L27 22L29 24L27 26L24 25L21 26L18 24L15 25L12 23L9 24L6 22L4 23L2 21V18L4 16L3 13L5 11L3 10Z\"\n fill=\"#34D399\"\n />\n {/* Antarctica */}\n <rect x=\"2\" y=\"28\" width=\"28\" height=\"3\" fill=\"#D1D5DB\" />\n {/* Grid lines */}\n <path\n d=\"M0 16H32M8 0V32M16 0V32M24 0V32\"\n stroke=\"#2563EB\"\n strokeWidth=\"0.5\"\n vectorEffect=\"non-scaling-stroke\"\n />\n {/* Equator */}\n <path\n d=\"M0 16H32\"\n stroke=\"#2563EB\"\n strokeWidth=\"1\"\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n );\n};\n\nexport default FlatGlobeIcon;\n","import { inputContainerVariants } from \"../input\";\nimport { Searchable, SearchableDataType } from \"../searcheable\";\nimport { VariantProps } from \"class-variance-authority\";\nimport { countryData, getCountryDataMap } from \"./data\";\nimport { PopoverTrigger } from \"../popover\";\nimport { cn } from \"@/src/utils\";\nimport { FlagComponent } from \"../phone-input\";\nimport { Country as CountryCode } from \"react-phone-number-input\";\nimport { FormLabel } from \"../label/FormLabel\";\nimport { FormDescription } from \"../form/FormDescription\";\nimport { ErrorMessage } from \"../form/ErrorMessage\";\n\ntype CountryPropsStatus = VariantProps<typeof inputContainerVariants>[\"status\"];\n\ninterface CountryProps {\n modal?: boolean;\n hideSearch?: boolean;\n loading?: boolean;\n inputValue?: string;\n onInputValueChange?: (arg: string) => void;\n disabled?: boolean;\n placeholder?: string;\n value?: SearchableDataType;\n optionComponent?: (arg: SearchableDataType) => React.ReactNode;\n className?: string;\n containerClassName?: string;\n onChange: (value: SearchableDataType) => void;\n status?: CountryPropsStatus;\n label?: string;\n showAsterisk?: boolean;\n description?: React.ReactNode;\n error?: string;\n}\n\ninterface CountryTriggerProps\n extends VariantProps<typeof inputContainerVariants> {\n disabled?: boolean;\n placeholder?: string;\n value?: string;\n className?: string;\n}\n\nconst countryMap = getCountryDataMap();\n\nconst CountryTrigger = ({\n className,\n value,\n placeholder = \"\",\n status,\n disabled,\n}: CountryTriggerProps) => {\n return (\n <PopoverTrigger asChild disabled={disabled}>\n <button\n disabled={disabled}\n className={cn(\n inputContainerVariants({ status }),\n \"[&>span]:justify-start [&>span]:items-center gap-2 flex w-full items-center justify-between goup\",\n value ? \"\" : \"text-[#79818C]\",\n className,\n )}\n >\n {value ? (\n <div className=\"flex gap-2 items-center\">\n <FlagComponent\n country={value as CountryCode}\n countryName={value}\n className=\"ml-1 !w-6 h-5\"\n />\n <span className=\"\"> {countryMap[value]}</span>\n </div>\n ) : (\n (placeholder ?? \"Select options...\")\n )}\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n className=\" data-[state=open]:goup-rotate-180\"\n >\n <path\n d=\"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </PopoverTrigger>\n );\n};\n\nconst Country = ({\n hideSearch = true,\n showAsterisk,\n label,\n description,\n error,\n ...props\n}: CountryProps) => {\n const options = countryData?.map((country) => ({\n value: country?.internetCountryCode,\n label: country?.countryName,\n ...country,\n }));\n\n return (\n <div className=\"relative space-y-1\">\n <FormLabel showAsterisk={showAsterisk} error={error}>\n {label}\n </FormLabel>\n <Searchable\n options={options}\n hideSearch={hideSearch}\n optionComponent={(arg) => {\n return (\n <div className=\"w-full flex items-center gap-2\">\n <FlagComponent\n country={arg?.internetCountryCode}\n countryName={arg?.label}\n className=\"ml-2 !w-6 !h-5\"\n />\n <span className=\"flex-1 text-sm\">{arg?.label}</span>\n </div>\n );\n }}\n {...props}\n >\n <CountryTrigger\n value={props?.value?.value}\n status={props?.status}\n placeholder={props?.placeholder ?? \" Select Country\"}\n />\n </Searchable>\n <FormDescription className=\"text-gray-400 text-sm !font-normal\">\n {description}\n </FormDescription>\n <ErrorMessage error={error} />\n </div>\n );\n};\n\nexport { Country };\nexport type { CountryProps };\n\n//Todo -\n// dataSource - array of countries\n// availableCountries - countries to be filtered by countryCode\n","import OtpInput, { OTPInputProps as InputProps } from \"react-otp-input\";\nimport { cn } from \"@/src/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { useMemo } from \"react\";\n\nconst otpInputVariants = cva(\n \"transition cursor-default placeholder:text-black dark:placeholder:text-white rounded-lg !h-14 !w-14 border aspect-square text-base font-semibold tracking-normal outline-none placeholder:text-sm placeholder:font-normal text-black focus:bg-white\",\n {\n variants: {\n status: {\n default:\n \"border-gray-300 dark:border-[#d4d4d4] focus:border-gray-400 focus-visible:!ring-offset-gray-200 focus:ring-offset-gray-200 !ring-gray-200 !focus-visible:ring-1 bg-white dark:!bg-transparent dark:focus-visible:!ring-0 dark:focus-within:!bg-transparent dark:text-white dark:focus-within:border-[#9299A2] dark:border-[#676767] dark:disabled:!border-[#9299A2]\",\n error:\n \"placeholder:text-red-600 bg-red-50 border-red-600 text-red-600 focus-within:bg-red-50 focus-within:border-red-600\",\n loading: \"placeholder:text-[#C4C4C4]\",\n },\n },\n defaultVariants: {\n status: \"default\",\n },\n },\n);\n\ntype DefailtInputProps = Omit<InputProps, \"renderInput\">;\n\nexport type OTPInputProps = DefailtInputProps &\n VariantProps<typeof otpInputVariants> & {};\n\nexport const OTPInput = ({\n numInputs = 4,\n inputStyle,\n containerStyle,\n placeholder = \"-\",\n status,\n ...props\n}: OTPInputProps) => {\n const placeholderValue = useMemo(() => {\n if (placeholder) return placeholder;\n\n const numInputArr = new Array<string>(numInputs).fill(\"\");\n const result = numInputArr.reduce((accumulator, currentValue) => {\n return (accumulator += currentValue);\n }, \"\");\n\n return result;\n }, [numInputs, placeholder]);\n\n return (\n <OtpInput\n numInputs={numInputs}\n placeholder={placeholderValue}\n containerStyle={cn(\"w-full\", containerStyle)}\n inputStyle={cn(otpInputVariants({ status }), inputStyle)}\n renderInput={(props) => <input {...props} />}\n {...props}\n />\n );\n};\n"],"mappings":"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,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,OACb,YAAa,OACb,SAAU,4BACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,WACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,WACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,4BACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,gBACV,aAAc,MACd,aAAc,SACd,oBAAqB,IACvB,EACA,CACE,YAAa,SACb,YAAa,OACb,SAAU,gBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,cACb,YAAa,OACb,SAAU,yBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,UACb,YAAa,OACb,SAAU,eACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,UACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,aACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,SACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,OACb,YAAa,OACb,SAAU,yBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,aACb,YAAa,OACb,SAAU,qBACV,aAAc,MACd,aAAc,KACd,oBAAqB,IACvB,EACA,CACE,YAAa,UACb,YAAa,OACb,SAAU,kBACV,aAAc,MACd,aAAc,IACd,oBAAqB,IACvB,EACA,CACE,YAAa,QACb,YAAa,OACb,SAAU,yBACV,aAAc,MACd,aAAc,KACd,oBAAqB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","names":["index_exports","__export","Button","Country","Dialog","FlagComponent","FormLabel","Input","Loader","OTPInput","PasswordInput","PhoneInput","Popover","PopoverContent","PopoverRoot","PopoverTrigger","Select","Textarea","__toCommonJS","import_react","React","LabelPrimitive","import_class_variance_authority","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","labelVariants","Label","className","props","ref","cn","import_jsx_runtime","FormLabel","React","className","children","showAsterisk","error","props","ref","Label","cn","import_jsx_runtime","Loader","size","colour","React","import_react_slot","import_class_variance_authority","import_jsx_runtime","buttonVariants","Button","className","variant","size","asChild","isLoading","leftNode","rightNode","LoaderSize","ref","props","Component","children","disabled","rest","reference","cn","Loader","import_class_variance_authority","import_react","import_jsx_runtime","ErrorMessage","React","className","children","error","props","ref","body","cn","import_react","import_jsx_runtime","FormDescription","React","className","props","ref","cn","import_jsx_runtime","inputVariants","BaseInnerInput","className","status","type","ref","props","cn","inputContainerVariants","sideVariants","Input","disabled","error","isLoading","sideNodeClassName","showAsterisk","label","description","containerStatus","FormLabel","FormDescription","ErrorMessage","import_react","import_jsx_runtime","Eye","import_jsx_runtime","EyeOff","import_jsx_runtime","Check","import_jsx_runtime","Fail","import_jsx_runtime","validationOptions","PasswordInput","onValidate","onChange","props","passwordVisible","setPasswordVisible","validatedValues","setValidatedValues","validatePassword","value","option","checkPasswordStrength","validatedOptions","allValidated","handlePaswordInputChange","e","validated","ValidateComp","cn","Check","Fail","Input","val","Eye","EyeOff","import_class_variance_authority","import_jsx_runtime","textareaContainerVariants","Textarea","className","status","disabled","error","isLoading","showAsterisk","label","description","props","containerStatus","FormLabel","cn","inputContainerVariants","FormDescription","ErrorMessage","React","React","import_cmdk","import_lucide_react","React","DialogPrimitive","import_jsx_runtime","CloseIcon","import_jsx_runtime","DialogRoot","DialogTrigger","DialogPortal","DialogOverlay","className","props","ref","cn","DialogContent","hideCloseButton","children","CloseIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription","Dialog","trigger","open","onOpenChange","footer","title","description","contentClassName","headerClassName","titleClassName","descriptionClassName","footerClassName","asChild","onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onInteractOutside","onPointerDownOutside","import_jsx_runtime","Command","className","props","ref","CommandPrimitive","cn","CommandInput","className","CommandInputContainerClassName","loading","props","ref","cn","Loader","CommandPrimitive","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut","React","PopoverPrimitive","import_jsx_runtime","PopoverRoot","PopoverTrigger","PopoverContent","className","align","sideOffset","portal","props","ref","cn","Popover","trigger","children","open","onOpenChange","contentClassName","asChild","side","alignOffset","onOpenAutoFocus","onCloseAutoFocus","React","ScrollAreaPrimitive","import_jsx_runtime","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","import_jsx_runtime","SearchableTrigger","className","value","placeholder","status","disabled","PopoverTrigger","cn","inputContainerVariants","Searchable","options","onChange","containerClassName","loading","optionComponent","children","modal","hideSearch","inputValue","onValueChange","onInputValueChange","open","setOpen","triggerRef","width","setWidth","PopoverRoot","PopoverContent","Command","CommandInput","ScrollArea","CommandList","CommandEmpty","CommandGroup","option","CommandItem","import_jsx_runtime","Select","showAsterisk","label","description","error","hideSearch","status","props","FormLabel","Searchable","SearchableTrigger","FormDescription","ErrorMessage","countryData","getCountryDataMap","frequency","country","React","RPNInput","import_react_phone_number_input","import_flags","import_jsx_runtime","FlatGlobeIcon","props","Flag_default","import_jsx_runtime","PhoneInput","className","onChange","value","modal","showAsterisk","label","description","error","defaultCountry","props","ref","CountrySelectWrapper","innerProps","CountrySelect","v","inputValue","FormLabel","PhoneInputDefault","cn","FlagComponent","InputComponent","children","inputContainerVariants","FormDescription","ErrorMessage","inputVariants","disabled","options","status","handleSelect","country","PopoverRoot","PopoverTrigger","PopoverContent","Command","CommandList","ScrollArea","CommandInput","CommandEmpty","CommandGroup","x","option","CommandItem","countryName","Flag","flags","Flag_default","import_jsx_runtime","countryMap","getCountryDataMap","CountryTrigger","className","value","placeholder","status","disabled","PopoverTrigger","cn","inputContainerVariants","FlagComponent","Country","hideSearch","showAsterisk","label","description","error","props","options","countryData","country","FormLabel","Searchable","arg","FormDescription","ErrorMessage","import_react_otp_input","import_class_variance_authority","import_react","import_jsx_runtime","otpInputVariants","OTPInput","numInputs","inputStyle","containerStyle","placeholder","status","props","placeholderValue","accumulator","currentValue","OtpInput","cn"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import lt from"react";import*as be from"react";import*as pe from"@radix-ui/react-label";import{cva as nt}from"class-variance-authority";import{clsx as ot}from"clsx";import{twMerge as at}from"tailwind-merge";function o(...t){return at(ot(t))}import{jsx as st}from"react/jsx-runtime";var it=nt("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),me=be.forwardRef(({className:t,...e},r)=>st(pe.Root,{ref:r,className:o(it(),t),...e}));me.displayName=pe.Root.displayName;import{jsx as ve,jsxs as dt}from"react/jsx-runtime";var b=lt.forwardRef(({className:t,children:e,showAsterisk:r,error:a,...n},s)=>ve(me,{ref:s,className:o(a&&"text-red-500",t),...n,children:r?dt("p",{children:[e,ve("span",{className:"text-red-500",children:"*"})]}):e}));b.displayName="FormLabel";import{jsx as Pe,jsxs as ct}from"react/jsx-runtime";var H=({size:t=16,colour:e="primary"})=>ct("svg",{className:"animate-spin",width:t,height:t,viewBox:"0 0 20 20",fill:"none",children:[Pe("circle",{cx:"10",cy:"10",r:"9.25",stroke:"transparent",strokeWidth:"1.5"}),Pe("path",{d:"M10 0.595792C10 0.266746 10.267 -0.00185055 10.5954 0.0177417C11.9786 0.100242 13.3318 0.469461 14.5682 1.1044C15.9816 1.83021 17.2016 2.88235 18.1273 4.17366C19.0531 5.46496 19.6578 6.95826 19.8913 8.52984C20.1249 10.1014 19.9807 11.706 19.4705 13.2108C18.9604 14.7155 18.0991 16.077 16.9579 17.1825C15.8167 18.288 14.4285 19.1056 12.9084 19.5677C11.3882 20.0298 9.77982 20.123 8.21646 19.8397C6.84883 19.5918 5.55009 19.0619 4.40196 18.2863C4.12931 18.1021 4.08072 17.7265 4.28083 17.4653C4.48094 17.2041 4.85388 17.1564 5.12801 17.3384C6.12474 18.0001 7.24768 18.4531 8.42898 18.6672C9.80606 18.9168 11.2228 18.8347 12.5618 18.4276C13.9008 18.0206 15.1236 17.3004 16.1288 16.3266C17.134 15.3528 17.8927 14.1536 18.342 12.8282C18.7914 11.5027 18.9185 10.0893 18.7127 8.70502C18.507 7.32071 17.9743 6.00535 17.1589 4.86792C16.3435 3.73048 15.2688 2.80371 14.0238 2.16439C12.9559 1.61596 11.789 1.29259 10.5954 1.21173C10.2671 1.18949 10 0.92484 10 0.595792Z",fill:e==="primary"?"#ffffff":"currentColor",className:"rounded"})]});import*as xe from"react";import{Slot as pt}from"@radix-ui/react-slot";import{cva as mt}from"class-variance-authority";import{Fragment as Ne,jsx as B,jsxs as ft}from"react/jsx-runtime";var ut=mt("overflow-hidden isolate relative inline-flex h-fit items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background dark:ring-offset-transparent transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:!pointer-events-none",{variants:{variant:{primary:"border-primary-main bg-primary-main hover:bg-primary-main/70 disabled:bg-primary-main/70 text-white font-bold",danger:"border-red-600 bg-red-600 hover:bg-red-600/70 disabled:bg-red-600/70 text-white font-bold",neutral:"!border-0 bg-transparent text-primary-main hover:opacity-80 disabled:opacity-60",outlined:"border border-primary-main text-primary-main hover:opacity-80 disabled:opacity-60","danger-outlined":"border border-red-600 text-red-600 hover:opacity-80 disabled:opacity-60","light-outlined":"border-white text-white hover:opacity-80 disabled:opacity-60","dark-text":"border-transparent bg-transparent hover:bg-opacity-70 disabled:bg-opacity-70 text-black font-medium",light:"border-white bg-white hover:bg-opacity-70 disabled:bg-opacity-70 text-primary-main font-semibold"},size:{default:"py-[0.625rem] px-[1.5rem] text-[0.875rem] leading-[1.25rem] font-medium rounded-lg",sm:"py-[0.375rem] px-[1rem] text-[0.75rem] leading-[1rem] font-medium rounded-lg",lg:"py-[0.75rem] px-[1.5rem] text-[1rem] leading-[1.5rem] font-medium rounded-lg",md:"h-12 py-1 px-5 items-center","icon-sm":"h-[1.75rem] w-[1.75rem] flex justify-center items-center font-medium rounded-lg",icon:"h-[2.5rem] w-[2.75rem] flex justify-center items-center font-medium rounded-lg","icon-lg":"h-[3rem] w-[3rem] flex justify-center items-center font-medium rounded-lg"}},defaultVariants:{variant:"primary",size:"default"}}),Re=({className:t,variant:e="primary",size:r,asChild:a=!1,isLoading:n=!1,leftNode:s,rightNode:d,LoaderSize:i,ref:y,...m})=>{let p=a?pt:"button",{children:l,disabled:f,...g}=m,S=xe.useRef(null);return B(p,{className:o(ut({variant:e,size:r,className:t})),ref:S||y,disabled:f||n,...g,children:B("div",{className:"flex font-medium justify-center items-center gap-2",children:n?B(Ne,{children:B("span",{className:"mx-auto",children:B(H,{size:i,colour:"secondary"})})}):ft(Ne,{children:[s,l,d]})})})};Re.displayName="Button";import{cva as ue}from"class-variance-authority";import yt from"react";import{jsx as gt}from"react/jsx-runtime";var P=yt.forwardRef(({className:t,children:e,error:r,...a},n)=>{let s=r??e;return s?gt("p",{ref:n,className:o("text-xs font-normal text-[#F04248]",t),...a,children:s}):null});P.displayName="ErrorMessage";import Ct from"react";import{jsx as ht}from"react/jsx-runtime";var N=Ct.forwardRef(({className:t,...e},r)=>ht("div",{ref:r,className:o("text-sm text-[#8E98A8",t),...e}));N.displayName="FormDescription";import{jsx as F,jsxs as ke}from"react/jsx-runtime";var fe=ue("!p-0 flex h-full w-full !border-transparent !bg-transparent text-base focus-visible:bg-transparent focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",error:"placeholder:text-red-500 text-red-500",loading:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",prefilled:""}},defaultVariants:{status:"default"}}),De=({className:t,status:e,type:r,ref:a,...n})=>F("input",{type:r,className:o(fe({status:e}),t),ref:a,...n});De.displayName="BaseInnerInput";var w=ue("flex relative h-10 w-full rounded-[4px] dark:!bg-transparent border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{status:{default:"border-[#DEDEDE] bg-white text-[#191919] dark:!bg-transparent caret-text-primary focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-status-error-bg-dark text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),we=ue("top-0 flex justify-center items-center h-full min-w-[50px] max-w-[100px] dark:!bg-transparent transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{side:{left:"left-0 rounded-l-[8px] border-r",right:"right-0 rounded-r-[8px] border-l"},status:{default:"border-[#DEDEDE] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-red-50 text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default",side:"left"}}),ae=({className:t,status:e="default",disabled:r,error:a,isLoading:n,sideNodeClassName:s,showAsterisk:d,label:i,description:y,ref:m,...p})=>{let l=e;return a&&(l="error"),n&&(l="loading"),r&&(l="prefilled"),ke("div",{className:"relative space-y-1 w-full",children:[F(b,{showAsterisk:d,error:a,children:i}),ke("div",{className:o(w({status:l}),p.leftNode||p.rightNode?"p-0":"",t),children:[p.leftNode?F("div",{className:o(we({status:l,side:"left"}),s),children:p.leftNode}):null,F(De,{ref:m,disabled:n||r,className:p.leftNode||p.rightNode?"!px-3 !py-2":"",...p}),p.rightNode?F("div",{className:o(we({status:l,side:"right"}),s),children:p.rightNode}):null]}),y&&F(N,{className:"text-gray-400 text-sm !font-normal",children:y}),F(P,{error:a})]})};ae.displayName="Input";import{useMemo as Pt,useState as Ve}from"react";import{jsx as Le,jsxs as bt}from"react/jsx-runtime";var Se=()=>bt("svg",{width:"18",height:"14",viewBox:"0 0 18 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Le("path",{d:"M1.54639 7.26103C1.48389 7.09264 1.48389 6.90741 1.54639 6.73903C2.15517 5.26292 3.18853 4.00081 4.51547 3.1127C5.84241 2.22459 7.40317 1.75049 8.99989 1.75049C10.5966 1.75049 12.1574 2.22459 13.4843 3.1127C14.8113 4.00081 15.8446 5.26292 16.4534 6.73903C16.5159 6.90741 16.5159 7.09264 16.4534 7.26103C15.8446 8.73713 14.8113 9.99925 13.4843 10.8874C12.1574 11.7755 10.5966 12.2496 8.99989 12.2496C7.40317 12.2496 5.84241 11.7755 4.51547 10.8874C3.18853 9.99925 2.15517 8.73713 1.54639 7.26103Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),Le("path",{d:"M9 9.25C10.2426 9.25 11.25 8.24264 11.25 7C11.25 5.75736 10.2426 4.75 9 4.75C7.75736 4.75 6.75 5.75736 6.75 7C6.75 8.24264 7.75736 9.25 9 9.25Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]});import{jsx as Ie,jsxs as vt}from"react/jsx-runtime";var Ae=()=>vt("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ie("path",{d:"M4.08759 12.69C3.26171 11.9072 2.61006 10.9591 2.17509 9.90752C2.10081 9.73454 2.0625 9.54826 2.0625 9.36001C2.0625 9.17177 2.10081 8.98549 2.17509 8.81252C2.75274 7.4073 3.72095 6.19704 4.96509 5.32502C6.14597 4.4998 7.55989 4.07405 9.00009 4.11002C10.0363 4.084 11.064 4.30239 12.0001 4.74752M13.9201 6.03752C14.7415 6.81964 15.3904 7.76486 15.8251 8.81252C15.8994 8.98549 15.9377 9.17177 15.9377 9.36001C15.9377 9.54826 15.8994 9.73454 15.8251 9.90752C15.2474 11.3127 14.2792 12.523 13.0351 13.395C11.8542 14.2202 10.4403 14.646 9.00009 14.61C7.9639 14.636 6.93616 14.4176 6.00009 13.9725",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),Ie("path",{d:"M6.5325 10.2375C6.42732 9.95694 6.37395 9.65962 6.375 9.36C6.375 8.66381 6.65156 7.99613 7.14384 7.50384C7.63613 7.01156 8.30381 6.735 9 6.735C9.3 6.7335 9.597 6.7875 9.8775 6.8925M11.4675 8.4825C11.5725 8.763 11.6265 9.06 11.625 9.36C11.625 10.0562 11.3484 10.7239 10.8562 11.2162C10.3639 11.7084 9.69619 11.985 9 11.985C8.70038 11.986 8.40306 11.9327 8.1225 11.8275M2.25 15L14.25 3",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]});import{jsx as Fe}from"react/jsx-runtime";var Ee=()=>Fe("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Fe("path",{d:"M8.89802 2.93408L9.70202 3.49808L6.21602 8.52608H5.41202L3.46802 5.80208L4.27202 5.05208L5.81402 6.49208L8.89802 2.93408Z",fill:"currentColor"})});import{jsx as Te}from"react/jsx-runtime";var Me=()=>Te("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Te("path",{d:"M3.37891 8.62142L6.00041 5.99992L8.62191 8.62142M8.62191 3.37842L5.99991 5.99992L3.37891 3.37842",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});import{jsx as k,jsxs as Nt}from"react/jsx-runtime";var Oe=[{label:"Uppercase",key:"uppercase",RegExp:/[A-Z]/,validated:!1},{label:"Lowercase",key:"lowercase",RegExp:/[a-z]/,validated:!1},{label:"Number",key:"number",RegExp:/\d/,validated:!1},{label:"8 Characters",key:"eight-chars",RegExp:/.{8}/,validated:!1}],We=({onValidate:t,onChange:e,...r})=>{let[a,n]=Ve(!1),[s,d]=Ve(Oe),i=l=>Oe.map(f=>({...f,validated:f.RegExp.test(l)})),y=l=>{let f=i(l),g=f.every(S=>S.validated);return d(f),g},m=l=>{e&&e(l);let f=l?.target?.value,g=y(f);t&&t(g,f)},p=Pt(()=>k("div",{className:"flex items-center gap-2",children:s?.map(l=>Nt("div",{className:o("text-xs flex items-center gap-0.5",{"text-[#62C554]":l?.validated,"text-[#8E98A8]":!l?.validated}),children:[k("span",{className:"",children:l?.validated?k(Ee,{}):k(Me,{})}),k("span",{className:"",children:l?.label})]},l?.key))}),[s]);return k(ae,{sideNodeClassName:"!border-l-0",rightNode:a?k("button",{type:"button",onClick:()=>n(l=>!l),children:k(Se,{})}):k("button",{type:"button",onClick:()=>n(l=>!l),children:k(Ae,{})}),type:a?"text":"password",onChange:m,description:p,...r})};We.displayName="PasswordInput";import{cva as xt}from"class-variance-authority";import{jsx as ne,jsxs as Rt}from"react/jsx-runtime";var ro=xt("flex relative min-h-[80px] w-full rounded-[8px] border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"border-[#D7D7D7] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-status-error-fill bg-status-error-bg border-status-error-fill dark:!bg-status-error-bg-dark text-status-error-fill focus-within:bg-status-error-bg focus-within:border-status-error-fill",loading:"placeholder:text-[#C4C4C4]",prefilled:"resize-none bg-[#F6F6F6] border-[#D7D7D7] dark:!bg-transparent caret-[#D7D7D7] focus-within:bg-[#F6F6F6] focus-within:border-[#D7D7D7] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),He=({className:t,status:e="default",disabled:r,error:a,isLoading:n,showAsterisk:s,label:d,description:i,...y})=>{let m=e;return a&&(m="error"),n&&(m="loading"),r&&(m="prefilled"),Rt("div",{className:"relative space-y-1",children:[ne(b,{showAsterisk:s,error:a,children:d}),ne("textarea",{className:o("min-h-[80px]",w({status:m}),t),disabled:n||r,...y}),ne(N,{className:"text-gray-400 text-sm !font-normal",children:i}),ne(P,{error:a})]})};He.displayName="Textarea";import*as T from"react";import*as I from"react";import{Command as h}from"cmdk";import{Search as St}from"lucide-react";import*as G from"react";import*as u from"@radix-ui/react-dialog";import{jsx as Be,jsxs as wt}from"react/jsx-runtime";var Ge=()=>wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x",children:[Be("path",{d:"M18 6 6 18"}),Be("path",{d:"m6 6 12 12"})]});import{Fragment as Lt,jsx as C,jsxs as O}from"react/jsx-runtime";var kt=u.Root,Dt=u.Trigger,_e=u.Portal,ze=G.forwardRef(({className:t,...e},r)=>C(u.Overlay,{ref:r,className:o("fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));ze.displayName=u.Overlay.displayName;var ye=G.forwardRef(({className:t,hideCloseButton:e,children:r,...a},n)=>O(_e,{children:[C(ze,{}),O(u.Content,{ref:n,className:o("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-transparent bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",t),...a,children:[r,!e&&O(u.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[C(Ge,{}),C("span",{className:"sr-only",children:"Close"})]})]})]}));ye.displayName=u.Content.displayName;var Ze=({className:t,...e})=>C("div",{className:o("flex flex-col space-y-1.5 text-left",t),...e});Ze.displayName="DialogHeader";var Xe=({className:t,...e})=>C("div",{className:o("flex flex-row justify-end sm:space-x-2",t),...e});Xe.displayName="DialogFooter";var Ke=G.forwardRef(({className:t,...e},r)=>C(u.Title,{ref:r,className:o("text-xl font-semibold leading-none tracking-tight",t),...e}));Ke.displayName=u.Title.displayName;var Ue=G.forwardRef(({className:t,...e},r)=>C(u.Description,{ref:r,className:o("text-sm text-gray-500",t),...e}));Ue.displayName=u.Description.displayName;var ge=({trigger:t=void 0,children:e,open:r,onOpenChange:a,hideCloseButton:n,footer:s,title:d,description:i,contentClassName:y,headerClassName:m,titleClassName:p,descriptionClassName:l,footerClassName:f,asChild:g=!0,onOpenAutoFocus:S,onCloseAutoFocus:le,onEscapeKeyDown:oe,onInteractOutside:M,onPointerDownOutside:de,...ce})=>O(kt,{...ce,open:r,onOpenChange:a,children:[C(Dt,{asChild:g,children:t}),C(_e,{children:O(ye,{className:y,hideCloseButton:n,onOpenAutoFocus:S,onCloseAutoFocus:le,onEscapeKeyDown:oe,onPointerDownOutside:de,onInteractOutside:M,children:[d||i?O(Ze,{className:m,children:[d&&C(Ke,{className:p,children:d}),i&&C(Ue,{className:l,children:i})]}):C(Lt,{}),e,s&&C(Xe,{className:f,children:s})]})})]});ge.displayName=u.Dialog.displayName;import{Fragment as ho,jsx as D,jsxs as Ft}from"react/jsx-runtime";var _=I.forwardRef(({className:t,...e},r)=>D(h,{ref:r,className:o("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...e}));_.displayName=h.displayName;var z=I.forwardRef(({className:t,CommandInputContainerClassName:e,loading:r,...a},n)=>Ft("div",{className:o("flex items-center border-0 px-3 gap-2",e),"cmdk-input-wrapper":"",children:[r?D(H,{size:16,colour:"secondary"}):D(St,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),D(h.Input,{ref:n,className:o("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:r,...a})]}));z.displayName=h.Input.displayName;var Z=I.forwardRef(({className:t,...e},r)=>D(h.List,{ref:r,className:o("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...e}));Z.displayName=h.List.displayName;var X=I.forwardRef((t,e)=>D(h.Empty,{ref:e,className:"py-6 text-center text-sm",...t}));X.displayName=h.Empty.displayName;var K=I.forwardRef(({className:t,...e},r)=>D(h.Group,{ref:r,className:o("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...e}));K.displayName=h.Group.displayName;var It=I.forwardRef(({className:t,...e},r)=>D(h.Separator,{ref:r,className:o("-mx-1 h-px bg-border",t),...e}));It.displayName=h.Separator.displayName;var U=I.forwardRef(({className:t,...e},r)=>D(h.Item,{ref:r,className:o("relative text=[#222222] flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...e}));U.displayName=h.Item.displayName;var At=({className:t,...e})=>D("span",{className:o("ml-auto text-xs tracking-widest text-muted-foreground",t),...e});At.displayName="CommandShortcut";import*as $e from"react";import*as x from"@radix-ui/react-popover";import{jsx as $,jsxs as Tt}from"react/jsx-runtime";var q=x.Root,E=x.Trigger,W=$e.forwardRef(({className:t,align:e="center",sideOffset:r=4,portal:a=!0,...n},s)=>a?$(x.Portal,{children:$(x.Content,{ref:s,align:e,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n})}):$(x.Content,{ref:s,align:e,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n}));W.displayName=x.Content.displayName;var Et=({trigger:t,children:e,open:r,onOpenChange:a,contentClassName:n,asChild:s=!0,align:d,side:i,alignOffset:y,sideOffset:m,onOpenAutoFocus:p,onCloseAutoFocus:l,...f})=>Tt(q,{...f,open:r,onOpenChange:a,children:[$(E,{asChild:s,children:t}),$(W,{alignOffset:y,sideOffset:m,side:i,align:d,className:n,onOpenAutoFocus:p,onCloseAutoFocus:l,children:e})]});Et.displayName=x.Root.displayName;import*as Ce from"react";import*as v from"@radix-ui/react-scroll-area";import{jsx as j,jsxs as Mt}from"react/jsx-runtime";var J=Ce.forwardRef(({className:t,children:e,...r},a)=>Mt(v.Root,{ref:a,className:o("relative overflow-hidden",t),...r,children:[j(v.Viewport,{className:"h-full w-full rounded-[inherit]",children:e}),j(qe,{}),j(v.Corner,{})]}));J.displayName=v.Root.displayName;var qe=Ce.forwardRef(({className:t,orientation:e="vertical",...r},a)=>j(v.ScrollAreaScrollbar,{ref:a,orientation:e,className:o("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...r,children:j(v.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));qe.displayName=v.ScrollAreaScrollbar.displayName;import{jsx as L,jsxs as ie}from"react/jsx-runtime";var je=({className:t,value:e,placeholder:r="",status:a,disabled:n})=>L(E,{asChild:!0,disabled:n,children:ie("button",{disabled:n,className:o(w({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex h-12 w-full items-center justify-between goup",e?"":"text-[#79818C]",t),children:[e??r??"Select options...",L("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:L("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),se=({options:t=[],value:e,onChange:r,containerClassName:a,placeholder:n,disabled:s,loading:d,optionComponent:i,children:y,modal:m=!1,hideSearch:p,className:l,inputValue:f,onValueChange:g,onInputValueChange:S})=>{let[le,oe]=T.useState(!1),M=T.useRef(null),[de,ce]=T.useState(void 0);return T.useLayoutEffect(()=>{M.current&&ce(M.current.clientWidth)},[M.current]),ie(q,{modal:m,open:le,onOpenChange:oe,children:[L("div",{className:o("w-full",l),ref:M,children:y}),L(W,{portal:!m,className:"p-0 min-w-[200px]",style:{width:de},children:ie(_,{className:"max-h-[270px] relative",children:[!p&&L(z,{loading:d,placeholder:n??"Search options...",onValueChange:S,value:f,CommandInputContainerClassName:"mx-3 border rounded-md border-[#DEDEDE]"}),L(J,{className:o("w-full px-0 h-full overflow-y-auto",a),children:ie(Z,{children:[!p&&L(X,{children:"No result found."}),L(K,{className:"w-full",children:t?.map(V=>L(U,{defaultValue:e?.label,value:V.label,disabled:s,onSelect:()=>{r(V),oe(!1),g?.(V?.value)},children:i?i(V):V.label},V.value))})]})})]})})]})};import{jsx as Q,jsxs as Ot}from"react/jsx-runtime";var Vt=({showAsterisk:t,label:e,description:r,error:a,hideSearch:n=!0,status:s,...d})=>Ot("div",{className:"relative space-y-1",children:[Q(b,{showAsterisk:t,error:a,children:e}),Q(se,{hideSearch:n,...d,containerClassName:"max-h-[700px] h-full",children:Q(je,{disabled:d?.disabled,placeholder:"Select or search email",status:s,value:d?.value?.label??d?.value?.value})}),Q(N,{className:"text-gray-400 text-sm !font-normal",children:r}),Q(P,{error:a})]});var he=[{countryCode:"GLOBAL",countryName:"Global",currency:"Dollars",currencyCode:"USD",internetCountryCode:"GLOBAL"},{countryName:"Benin",countryCode:"+229",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BJ"},{countryName:"Burkina Faso",countryCode:"+226",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BF"},{countryName:"Cameroon",countryCode:"+237",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CM"},{countryName:"Chad",countryCode:"+235",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"TD"},{countryName:"DR Congo",countryCode:"+243",currency:"Congolese franc",currencyCode:"CDF",currencyIcon:"FC",internetCountryCode:"CD"},{countryName:"Eswatini",countryCode:"+268",currency:"Swazi lilangeni",currencyCode:"SZL",currencyIcon:"L",internetCountryCode:"SZ"},{countryName:"Gabon",countryCode:"+241",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"GA"},{countryName:"Ghana",countryCode:"+233",currency:"Ghanaian cedi",currencyCode:"GHS",currencyIcon:"\u20B5",internetCountryCode:"GH"},{countryName:"Guinea",countryCode:"+224",currency:"Guinean franc",currencyCode:"GNF",currencyIcon:"Fr",internetCountryCode:"GN"},{countryName:"Ivory Coast",countryCode:"+225",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"CI"},{countryName:"Kenya",countryCode:"+254",currency:"Kenyan shilling",currencyCode:"KES",currencyIcon:"Sh",internetCountryCode:"KE"},{countryName:"Lesotho",countryCode:"+266",currency:"Lesotho loti",currencyCode:"LSL",currencyIcon:"L",internetCountryCode:"LS"},{countryName:"Liberia",countryCode:"+231",currency:"Liberian dollar",currencyCode:"LRD",currencyIcon:"$",internetCountryCode:"LR"},{countryName:"Madagascar",countryCode:"+261",currency:"Malagasy ariary",currencyCode:"MGA",currencyIcon:"Ar",internetCountryCode:"MG"},{countryName:"Malawi",countryCode:"+265",currency:"Malawian kwacha",currencyCode:"MWK",currencyIcon:"MK",internetCountryCode:"MW"},{countryName:"Mali",countryCode:"+223",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"ML"},{countryName:"Mozambique",countryCode:"+258",currency:"Mozambican metical",currencyCode:"MZN",currencyIcon:"MT",internetCountryCode:"MZ"},{countryName:"Namibia",countryCode:"+264",currency:"Namibian dollar",currencyCode:"NAD",currencyIcon:"$",internetCountryCode:"NA"},{countryName:"Niger",countryCode:"+227",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"NE"},{countryName:"Nigeria",countryCode:"+234",currency:"Nigerian naira",currencyCode:"NGN",currencyIcon:"\u20A6",internetCountryCode:"NG"},{countryName:"Republic of the Congo",countryCode:"+242",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CG"},{countryName:"Rwanda",countryCode:"+250",currency:"Rwandan franc",currencyCode:"RWF",currencyIcon:"Fr",internetCountryCode:"RW"},{countryName:"Senegal",countryCode:"+221",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"SN"},{countryName:"Seychelles",countryCode:"+248",currency:"Seychellois rupee",currencyCode:"SCR",currencyIcon:"\u20A8",internetCountryCode:"SC"},{countryName:"South Africa",countryCode:"+27",currency:"South African rand",currencyCode:"ZAR",currencyIcon:"R",internetCountryCode:"ZA"},{countryName:"South Sudan",countryCode:"+211",currency:"South Sudanese pound",currencyCode:"SSP",currencyIcon:"\xA3",internetCountryCode:"SS"},{countryName:"Tanzania",countryCode:"+255",currency:"Tanzanian shilling",currencyCode:"TZS",currencyIcon:"Sh",internetCountryCode:"TZ"},{countryName:"Togo",countryCode:"+228",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"TG"},{countryName:"Uganda",countryCode:"+256",currency:"Ugandan shilling",currencyCode:"UGX",currencyIcon:"Sh",internetCountryCode:"UG"},{countryName:"Zambia",countryCode:"+260",currency:"Zambian kwacha",currencyCode:"ZMW",currencyIcon:"ZK",internetCountryCode:"ZM"}],Je=()=>{let t={};return he?.forEach(e=>{t[e?.internetCountryCode]=e?.countryName}),t};import*as te from"react";import*as Ye from"react-phone-number-input";import Bt from"react-phone-number-input";import Gt from"react-phone-number-input/flags";import{jsx as Y,jsxs as Ht}from"react/jsx-runtime";var Wt=t=>Ht("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"none",...t,children:[Y("rect",{width:"32",height:"32",fill:"#60A5FA"})," ",Y("path",{d:"M3 10L7 8L10 9L13 8L16 10L19 9L22 11L25 10L28 12V15L26 17L28 19L27 22L29 24L27 26L24 25L21 26L18 24L15 25L12 23L9 24L6 22L4 23L2 21V18L4 16L3 13L5 11L3 10Z",fill:"#34D399"}),Y("rect",{x:"2",y:"28",width:"28",height:"3",fill:"#D1D5DB"}),Y("path",{d:"M0 16H32M8 0V32M16 0V32M24 0V32",stroke:"#2563EB",strokeWidth:"0.5",vectorEffect:"non-scaling-stroke"}),Y("path",{d:"M0 16H32",stroke:"#2563EB",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]}),Qe=Wt;import{jsx as c,jsxs as ee}from"react/jsx-runtime";var et=te.forwardRef(({className:t,onChange:e,value:r,modal:a,showAsterisk:n,label:s,description:d,error:i,defaultCountry:y="NG",...m},p)=>{let l=g=>c(_t,{...g,status:m.status,modal:a,onChange:S=>g.onChange(S)}),f=r;return ee("div",{className:"relative space-y-1",children:[c(b,{showAsterisk:n,error:i,children:s}),c(Bt,{ref:p,className:o("flex",t),flagComponent:A,countrySelectComponent:l,focusInputOnCountrySelection:!0,countryCallingCodeEditable:!0,enableLongNumber:!0,addInternationalOption:!0,international:!0,inputComponent:tt,defaultCountry:y,containerComponent:({children:g})=>c("div",{className:o(w({status:m?.status}),"p-0 gap-1"),children:g}),...m,onChange:g=>{e&&e(g)},value:f}),c(N,{className:"text-gray-400 text-sm !font-normal",children:d}),c(P,{error:i})]})});et.displayName="PhoneInput";var tt=te.forwardRef(({className:t,...e},r)=>c("input",{className:o(fe({status:e?.status})," h-full !-mt-0 border-0 rounded-l-none !flex-1 !block !w-full",t),...e,ref:r}));tt.displayName="InputComponent";var _t=({disabled:t,value:e,onChange:r,options:a,status:n,modal:s})=>{let d=te.useCallback(i=>{console.log(i),r(i)},[r]);return ee(q,{modal:s,children:[c(E,{disabled:t,children:ee("div",{className:o(w({status:n}),"!border-0 transition justify-center items-center disabled:text-base-500 flex gap-3 h-full rounded-e-none pl-2 pr-2"),children:[c(A,{country:e,countryName:e}),c("svg",{className:o("-mr-2 h-4 w-4 opacity-50",t?"hidden":"opacity-100"),width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:c("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"#959595",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),c(W,{portal:!s,className:"w-[200px] md:w-[300px] p-0",children:c(_,{children:c(Z,{children:ee(J,{className:"h-72",children:[c(z,{placeholder:"Search country..."}),c(X,{children:"No country found."}),c(K,{children:a.filter(i=>i.value).map(i=>ee(U,{className:"gap-2",onSelect:()=>d(i.value),children:[c(A,{country:i.value,countryName:i.label}),c("span",{className:"flex-1 text-sm",children:i.label}),i.value&&c("span",{className:"text-[#191919]/50 text-sm dark:text-white",children:`+${Ye.getCountryCallingCode(i.value)}`}),c("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:o("ml-auto",i.value===e?"opacity-100":"opacity-0"),children:c("path",{d:"M4 8.00008L6.66353 10.6636L12 5.33655",stroke:"#959595",strokeWidth:"1.06667",strokeLinecap:"round",strokeLinejoin:"round"})})]},`${i.value}-${i.label}`))})]})})})})]})},A=({country:t,countryName:e,className:r})=>{let a=Gt[t];return t==="GLOBAL"?c("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:c(Qe,{className:"w-full h-[90%]"})}):c("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:a&&c(a,{title:e})})};A.displayName="FlagComponent";import{jsx as R,jsxs as re}from"react/jsx-runtime";var zt=Je(),Zt=({className:t,value:e,placeholder:r="",status:a,disabled:n})=>R(E,{asChild:!0,disabled:n,children:re("button",{disabled:n,className:o(w({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex w-full items-center justify-between goup",e?"":"text-[#79818C]",t),children:[e?re("div",{className:"flex gap-2 items-center",children:[R(A,{country:e,countryName:e,className:"ml-1 !w-6 h-5"}),re("span",{className:"",children:[" ",zt[e]]})]}):r??"Select options...",R("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:R("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),Xt=({hideSearch:t=!0,showAsterisk:e,label:r,description:a,error:n,...s})=>{let d=he?.map(i=>({value:i?.internetCountryCode,label:i?.countryName,...i}));return re("div",{className:"relative space-y-1",children:[R(b,{showAsterisk:e,error:n,children:r}),R(se,{options:d,hideSearch:t,optionComponent:i=>re("div",{className:"w-full flex items-center gap-2",children:[R(A,{country:i?.internetCountryCode,countryName:i?.label,className:"ml-2 !w-6 !h-5"}),R("span",{className:"flex-1 text-sm",children:i?.label})]}),...s,children:R(Zt,{value:s?.value?.value,status:s?.status,placeholder:s?.placeholder??" Select Country"})}),R(N,{className:"text-gray-400 text-sm !font-normal",children:a}),R(P,{error:n})]})};import Kt from"react-otp-input";import{cva as Ut}from"class-variance-authority";import{useMemo as $t}from"react";import{jsx as rt}from"react/jsx-runtime";var qt=Ut("transition cursor-default placeholder:text-black dark:placeholder:text-white rounded-lg !h-14 !w-14 border aspect-square text-base font-semibold tracking-normal outline-none placeholder:text-sm placeholder:font-normal text-black focus:bg-white",{variants:{status:{default:"border-gray-300 dark:border-[#d4d4d4] focus:border-gray-400 focus-visible:!ring-offset-gray-200 focus:ring-offset-gray-200 !ring-gray-200 !focus-visible:ring-1 bg-white dark:!bg-transparent dark:focus-visible:!ring-0 dark:focus-within:!bg-transparent dark:text-white dark:focus-within:border-[#9299A2] dark:border-[#676767] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-600 bg-red-50 border-red-600 text-red-600 focus-within:bg-red-50 focus-within:border-red-600",loading:"placeholder:text-[#C4C4C4]"}},defaultVariants:{status:"default"}}),jt=({numInputs:t=4,inputStyle:e,containerStyle:r,placeholder:a="-",status:n,...s})=>{let d=$t(()=>a||new Array(t).fill("").reduce((m,p)=>m+=p,""),[t,a]);return rt(Kt,{numInputs:t,placeholder:d,containerStyle:o("w-full",r),inputStyle:o(qt({status:n}),e),renderInput:i=>rt("input",{...i}),...s})};export{Re as Button,Xt as Country,ge as Dialog,A as FlagComponent,b as FormLabel,ae as Input,H as Loader,jt as OTPInput,We as PasswordInput,et as PhoneInput,Vt as Select,He as Textarea};
1
+ import dt from"react";import*as be from"react";import*as pe from"@radix-ui/react-label";import{cva as it}from"class-variance-authority";import{clsx as at}from"clsx";import{twMerge as nt}from"tailwind-merge";function o(...t){return nt(at(t))}import{jsx as lt}from"react/jsx-runtime";var st=it("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),me=be.forwardRef(({className:t,...e},r)=>lt(pe.Root,{ref:r,className:o(st(),t),...e}));me.displayName=pe.Root.displayName;import{jsx as ve,jsxs as ct}from"react/jsx-runtime";var b=dt.forwardRef(({className:t,children:e,showAsterisk:r,error:a,...n},s)=>ve(me,{ref:s,className:o(a&&"text-red-500",t),...n,children:r?ct("p",{children:[e,ve("span",{className:"text-red-500",children:"*"})]}):e}));b.displayName="FormLabel";import{jsx as Pe,jsxs as pt}from"react/jsx-runtime";var B=({size:t=16,colour:e="primary"})=>pt("svg",{className:"animate-spin",width:t,height:t,viewBox:"0 0 20 20",fill:"none",children:[Pe("circle",{cx:"10",cy:"10",r:"9.25",stroke:"transparent",strokeWidth:"1.5"}),Pe("path",{d:"M10 0.595792C10 0.266746 10.267 -0.00185055 10.5954 0.0177417C11.9786 0.100242 13.3318 0.469461 14.5682 1.1044C15.9816 1.83021 17.2016 2.88235 18.1273 4.17366C19.0531 5.46496 19.6578 6.95826 19.8913 8.52984C20.1249 10.1014 19.9807 11.706 19.4705 13.2108C18.9604 14.7155 18.0991 16.077 16.9579 17.1825C15.8167 18.288 14.4285 19.1056 12.9084 19.5677C11.3882 20.0298 9.77982 20.123 8.21646 19.8397C6.84883 19.5918 5.55009 19.0619 4.40196 18.2863C4.12931 18.1021 4.08072 17.7265 4.28083 17.4653C4.48094 17.2041 4.85388 17.1564 5.12801 17.3384C6.12474 18.0001 7.24768 18.4531 8.42898 18.6672C9.80606 18.9168 11.2228 18.8347 12.5618 18.4276C13.9008 18.0206 15.1236 17.3004 16.1288 16.3266C17.134 15.3528 17.8927 14.1536 18.342 12.8282C18.7914 11.5027 18.9185 10.0893 18.7127 8.70502C18.507 7.32071 17.9743 6.00535 17.1589 4.86792C16.3435 3.73048 15.2688 2.80371 14.0238 2.16439C12.9559 1.61596 11.789 1.29259 10.5954 1.21173C10.2671 1.18949 10 0.92484 10 0.595792Z",fill:e==="primary"?"#ffffff":"currentColor",className:"rounded"})]});import*as xe from"react";import{Slot as mt}from"@radix-ui/react-slot";import{cva as ut}from"class-variance-authority";import{Fragment as Ne,jsx as G,jsxs as yt}from"react/jsx-runtime";var ft=ut("overflow-hidden isolate relative inline-flex h-fit items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background dark:ring-offset-transparent transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:!pointer-events-none",{variants:{variant:{primary:"border-primary-main bg-primary-main hover:bg-primary-main/70 disabled:bg-primary-main/70 text-white font-bold",danger:"border-red-600 bg-red-600 hover:bg-red-600/70 disabled:bg-red-600/70 text-white font-bold",neutral:"!border-0 bg-transparent text-primary-main hover:opacity-80 disabled:opacity-60",outlined:"border border-primary-main text-primary-main hover:opacity-80 disabled:opacity-60","danger-outlined":"border border-red-600 text-red-600 hover:opacity-80 disabled:opacity-60","light-outlined":"border-white text-white hover:opacity-80 disabled:opacity-60","dark-text":"border-transparent bg-transparent hover:bg-opacity-70 disabled:bg-opacity-70 text-black font-medium",light:"border-white bg-white hover:bg-opacity-70 disabled:bg-opacity-70 text-primary-main font-semibold"},size:{default:"py-[0.625rem] px-[1.5rem] text-[0.875rem] leading-[1.25rem] font-medium rounded-lg",sm:"py-[0.375rem] px-[1rem] text-[0.75rem] leading-[1rem] font-medium rounded-lg",lg:"py-[0.75rem] px-[1.5rem] text-[1rem] leading-[1.5rem] font-medium rounded-lg",md:"h-12 py-1 px-5 items-center","icon-sm":"h-[1.75rem] w-[1.75rem] flex justify-center items-center font-medium rounded-lg",icon:"h-[2.5rem] w-[2.75rem] flex justify-center items-center font-medium rounded-lg","icon-lg":"h-[3rem] w-[3rem] flex justify-center items-center font-medium rounded-lg"}},defaultVariants:{variant:"primary",size:"default"}}),Re=({className:t,variant:e="primary",size:r,asChild:a=!1,isLoading:n=!1,leftNode:s,rightNode:d,LoaderSize:i,ref:y,...m})=>{let p=a?mt:"button",{children:l,disabled:f,...g}=m,S=xe.useRef(null);return G(p,{className:o(ft({variant:e,size:r,className:t})),ref:S||y,disabled:f||n,...g,children:G("div",{className:"flex font-medium justify-center items-center gap-2",children:n?G(Ne,{children:G("span",{className:"mx-auto",children:G(B,{size:i,colour:"secondary"})})}):yt(Ne,{children:[s,l,d]})})})};Re.displayName="Button";import{cva as ue}from"class-variance-authority";import gt from"react";import{jsx as Ct}from"react/jsx-runtime";var P=gt.forwardRef(({className:t,children:e,error:r,...a},n)=>{let s=r??e;return s?Ct("p",{ref:n,className:o("text-xs font-normal text-[#F04248]",t),...a,children:s}):null});P.displayName="ErrorMessage";import ht from"react";import{jsx as bt}from"react/jsx-runtime";var N=ht.forwardRef(({className:t,...e},r)=>bt("div",{ref:r,className:o("text-sm text-[#8E98A8",t),...e}));N.displayName="FormDescription";import{jsx as E,jsxs as ke}from"react/jsx-runtime";var fe=ue("!p-0 flex h-full w-full !border-transparent !bg-transparent text-base focus-visible:bg-transparent focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",error:"placeholder:text-red-500 text-red-500",loading:"placeholder:text-[#C4C4C4] dark:placeholder:text-[#9299A2]",prefilled:""}},defaultVariants:{status:"default"}}),De=({className:t,status:e,type:r,ref:a,...n})=>E("input",{type:r,className:o(fe({status:e}),t),ref:a,...n});De.displayName="BaseInnerInput";var w=ue("flex relative h-10 w-full rounded-[4px] dark:!bg-transparent border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{status:{default:"border-[#DEDEDE] bg-white text-[#191919] dark:!bg-transparent caret-text-primary focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-status-error-bg-dark text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),we=ue("top-0 flex justify-center items-center h-full min-w-[50px] max-w-[100px] dark:!bg-transparent transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:disabled:!border-[#9299A2]",{variants:{side:{left:"left-0 rounded-l-[8px] border-r",right:"right-0 rounded-r-[8px] border-l"},status:{default:"border-[#DEDEDE] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-500 bg-red-50 border-red-500 dark:!bg-red-50 text-red-500 focus-within:bg-red-50 focus-within:border-red-500",loading:"",prefilled:"bg-[#F6F6F6] border-[#DEDEDE] dark:!bg-transparent caret-[#DEDEDE] focus-within:bg-[#F6F6F6] focus-within:border-[#DEDEDE] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default",side:"left"}}),ae=({className:t,status:e="default",disabled:r,error:a,isLoading:n,sideNodeClassName:s,showAsterisk:d,label:i,description:y,ref:m,...p})=>{let l=e;return a&&(l="error"),n&&(l="loading"),r&&(l="prefilled"),ke("div",{className:"relative space-y-1 w-full",children:[E(b,{showAsterisk:d,error:a,children:i}),ke("div",{className:o(w({status:l}),p.leftNode||p.rightNode?"p-0":"",t),children:[p.leftNode?E("div",{className:o(we({status:l,side:"left"}),s),children:p.leftNode}):null,E(De,{ref:m,disabled:n||r,className:p.leftNode||p.rightNode?"!px-3 !py-2":"",...p}),p.rightNode?E("div",{className:o(we({status:l,side:"right"}),s),children:p.rightNode}):null]}),y&&E(N,{className:"text-gray-400 text-sm !font-normal",children:y}),E(P,{error:a})]})};ae.displayName="Input";import{useMemo as Nt,useState as Ve}from"react";import{jsx as Le,jsxs as vt}from"react/jsx-runtime";var Se=()=>vt("svg",{width:"18",height:"14",viewBox:"0 0 18 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Le("path",{d:"M1.54639 7.26103C1.48389 7.09264 1.48389 6.90741 1.54639 6.73903C2.15517 5.26292 3.18853 4.00081 4.51547 3.1127C5.84241 2.22459 7.40317 1.75049 8.99989 1.75049C10.5966 1.75049 12.1574 2.22459 13.4843 3.1127C14.8113 4.00081 15.8446 5.26292 16.4534 6.73903C16.5159 6.90741 16.5159 7.09264 16.4534 7.26103C15.8446 8.73713 14.8113 9.99925 13.4843 10.8874C12.1574 11.7755 10.5966 12.2496 8.99989 12.2496C7.40317 12.2496 5.84241 11.7755 4.51547 10.8874C3.18853 9.99925 2.15517 8.73713 1.54639 7.26103Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),Le("path",{d:"M9 9.25C10.2426 9.25 11.25 8.24264 11.25 7C11.25 5.75736 10.2426 4.75 9 4.75C7.75736 4.75 6.75 5.75736 6.75 7C6.75 8.24264 7.75736 9.25 9 9.25Z",stroke:"#8E98A8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]});import{jsx as Ie,jsxs as Pt}from"react/jsx-runtime";var Ae=()=>Pt("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[Ie("path",{d:"M4.08759 12.69C3.26171 11.9072 2.61006 10.9591 2.17509 9.90752C2.10081 9.73454 2.0625 9.54826 2.0625 9.36001C2.0625 9.17177 2.10081 8.98549 2.17509 8.81252C2.75274 7.4073 3.72095 6.19704 4.96509 5.32502C6.14597 4.4998 7.55989 4.07405 9.00009 4.11002C10.0363 4.084 11.064 4.30239 12.0001 4.74752M13.9201 6.03752C14.7415 6.81964 15.3904 7.76486 15.8251 8.81252C15.8994 8.98549 15.9377 9.17177 15.9377 9.36001C15.9377 9.54826 15.8994 9.73454 15.8251 9.90752C15.2474 11.3127 14.2792 12.523 13.0351 13.395C11.8542 14.2202 10.4403 14.646 9.00009 14.61C7.9639 14.636 6.93616 14.4176 6.00009 13.9725",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),Ie("path",{d:"M6.5325 10.2375C6.42732 9.95694 6.37395 9.65962 6.375 9.36C6.375 8.66381 6.65156 7.99613 7.14384 7.50384C7.63613 7.01156 8.30381 6.735 9 6.735C9.3 6.7335 9.597 6.7875 9.8775 6.8925M11.4675 8.4825C11.5725 8.763 11.6265 9.06 11.625 9.36C11.625 10.0562 11.3484 10.7239 10.8562 11.2162C10.3639 11.7084 9.69619 11.985 9 11.985C8.70038 11.986 8.40306 11.9327 8.1225 11.8275M2.25 15L14.25 3",stroke:"#8E98A8",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]});import{jsx as Fe}from"react/jsx-runtime";var Ee=()=>Fe("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Fe("path",{d:"M8.89802 2.93408L9.70202 3.49808L6.21602 8.52608H5.41202L3.46802 5.80208L4.27202 5.05208L5.81402 6.49208L8.89802 2.93408Z",fill:"currentColor"})});import{jsx as Te}from"react/jsx-runtime";var Me=()=>Te("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Te("path",{d:"M3.37891 8.62142L6.00041 5.99992L8.62191 8.62142M8.62191 3.37842L5.99991 5.99992L3.37891 3.37842",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});import{jsx as k,jsxs as xt}from"react/jsx-runtime";var Oe=[{label:"Uppercase",key:"uppercase",RegExp:/[A-Z]/,validated:!1},{label:"Lowercase",key:"lowercase",RegExp:/[a-z]/,validated:!1},{label:"Number",key:"number",RegExp:/\d/,validated:!1},{label:"8 Characters",key:"eight-chars",RegExp:/.{8}/,validated:!1}],We=({onValidate:t,onChange:e,...r})=>{let[a,n]=Ve(!1),[s,d]=Ve(Oe),i=l=>Oe.map(f=>({...f,validated:f.RegExp.test(l)})),y=l=>{let f=i(l),g=f.every(S=>S.validated);return d(f),g},m=l=>{e&&e(l);let f=l?.target?.value,g=y(f);t&&t(g,f)},p=Nt(()=>k("div",{className:"flex items-center gap-2",children:s?.map(l=>xt("div",{className:o("text-xs flex items-center gap-0.5",{"text-[#62C554]":l?.validated,"text-[#8E98A8]":!l?.validated}),children:[k("span",{className:"",children:l?.validated?k(Ee,{}):k(Me,{})}),k("span",{className:"",children:l?.label})]},l?.key))}),[s]);return k(ae,{sideNodeClassName:"!border-l-0",rightNode:a?k("button",{type:"button",onClick:()=>n(l=>!l),children:k(Se,{})}):k("button",{type:"button",onClick:()=>n(l=>!l),children:k(Ae,{})}),type:a?"text":"password",onChange:m,description:p,...r})};We.displayName="PasswordInput";import{cva as Rt}from"class-variance-authority";import{jsx as ne,jsxs as wt}from"react/jsx-runtime";var ro=Rt("flex relative min-h-[80px] w-full rounded-[8px] border transition px-3 py-2 text-base placeholder:text-[#79818C] focus-within:outline-0 focus-within:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",{variants:{status:{default:"border-[#D7D7D7] dark:border-[#676767] bg-white text-[#191919] dark:!bg-transparent caret-primary-main focus-within:bg-white dark:focus-within:!bg-transparent dark:text-white focus-within:border-primary-main dark:focus-within:border-[#9299A2] dark:border-[#9299A2] dark:disabled:!border-[#9299A2]",error:"placeholder:text-status-error-fill bg-status-error-bg border-status-error-fill dark:!bg-status-error-bg-dark text-status-error-fill focus-within:bg-status-error-bg focus-within:border-status-error-fill",loading:"placeholder:text-[#C4C4C4]",prefilled:"resize-none bg-[#F6F6F6] border-[#D7D7D7] dark:!bg-transparent caret-[#D7D7D7] focus-within:bg-[#F6F6F6] focus-within:border-[#D7D7D7] dark:!border-[#9299A2] dark:focus-within:border-[#9299A2]"}},defaultVariants:{status:"default"}}),He=({className:t,status:e="default",disabled:r,error:a,isLoading:n,showAsterisk:s,label:d,description:i,...y})=>{let m=e;return a&&(m="error"),n&&(m="loading"),r&&(m="prefilled"),wt("div",{className:"relative space-y-1",children:[ne(b,{showAsterisk:s,error:a,children:d}),ne("textarea",{className:o("min-h-[80px]",w({status:m}),t),disabled:n||r,...y}),ne(N,{className:"text-gray-400 text-sm !font-normal",children:i}),ne(P,{error:a})]})};He.displayName="Textarea";import*as M from"react";import*as I from"react";import{Command as h}from"cmdk";import{Search as It}from"lucide-react";import*as _ from"react";import*as u from"@radix-ui/react-dialog";import{jsx as Be,jsxs as kt}from"react/jsx-runtime";var Ge=()=>kt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-x",children:[Be("path",{d:"M18 6 6 18"}),Be("path",{d:"m6 6 12 12"})]});import{Fragment as St,jsx as C,jsxs as W}from"react/jsx-runtime";var Dt=u.Root,Lt=u.Trigger,_e=u.Portal,ze=_.forwardRef(({className:t,...e},r)=>C(u.Overlay,{ref:r,className:o("fixed inset-0 z-50 bg-black/60 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));ze.displayName=u.Overlay.displayName;var ye=_.forwardRef(({className:t,hideCloseButton:e,children:r,...a},n)=>W(_e,{children:[C(ze,{}),W(u.Content,{ref:n,className:o("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-transparent bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",t),...a,children:[r,!e&&W(u.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[C(Ge,{}),C("span",{className:"sr-only",children:"Close"})]})]})]}));ye.displayName=u.Content.displayName;var Ze=({className:t,...e})=>C("div",{className:o("flex flex-col space-y-1.5 text-left",t),...e});Ze.displayName="DialogHeader";var Xe=({className:t,...e})=>C("div",{className:o("flex flex-row justify-end sm:space-x-2",t),...e});Xe.displayName="DialogFooter";var Ke=_.forwardRef(({className:t,...e},r)=>C(u.Title,{ref:r,className:o("text-xl font-semibold leading-none tracking-tight",t),...e}));Ke.displayName=u.Title.displayName;var Ue=_.forwardRef(({className:t,...e},r)=>C(u.Description,{ref:r,className:o("text-sm text-gray-500",t),...e}));Ue.displayName=u.Description.displayName;var ge=({trigger:t=void 0,children:e,open:r,onOpenChange:a,hideCloseButton:n,footer:s,title:d,description:i,contentClassName:y,headerClassName:m,titleClassName:p,descriptionClassName:l,footerClassName:f,asChild:g=!0,onOpenAutoFocus:S,onCloseAutoFocus:le,onEscapeKeyDown:oe,onInteractOutside:V,onPointerDownOutside:de,...ce})=>W(Dt,{...ce,open:r,onOpenChange:a,children:[C(Lt,{asChild:g,children:t}),C(_e,{children:W(ye,{className:y,hideCloseButton:n,onOpenAutoFocus:S,onCloseAutoFocus:le,onEscapeKeyDown:oe,onPointerDownOutside:de,onInteractOutside:V,children:[d||i?W(Ze,{className:m,children:[d&&C(Ke,{className:p,children:d}),i&&C(Ue,{className:l,children:i})]}):C(St,{}),e,s&&C(Xe,{className:f,children:s})]})})]});ge.displayName=u.Dialog.displayName;import{Fragment as ho,jsx as D,jsxs as Et}from"react/jsx-runtime";var z=I.forwardRef(({className:t,...e},r)=>D(h,{ref:r,className:o("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...e}));z.displayName=h.displayName;var Z=I.forwardRef(({className:t,CommandInputContainerClassName:e,loading:r,...a},n)=>Et("div",{className:o("flex items-center border-0 px-3 gap-2",e),"cmdk-input-wrapper":"",children:[r?D(B,{size:16,colour:"secondary"}):D(It,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),D(h.Input,{ref:n,className:o("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),disabled:r,...a})]}));Z.displayName=h.Input.displayName;var X=I.forwardRef(({className:t,...e},r)=>D(h.List,{ref:r,className:o("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...e}));X.displayName=h.List.displayName;var K=I.forwardRef((t,e)=>D(h.Empty,{ref:e,className:"py-6 text-center text-sm",...t}));K.displayName=h.Empty.displayName;var U=I.forwardRef(({className:t,...e},r)=>D(h.Group,{ref:r,className:o("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...e}));U.displayName=h.Group.displayName;var At=I.forwardRef(({className:t,...e},r)=>D(h.Separator,{ref:r,className:o("-mx-1 h-px bg-border",t),...e}));At.displayName=h.Separator.displayName;var $=I.forwardRef(({className:t,...e},r)=>D(h.Item,{ref:r,className:o("relative text=[#222222] flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-primary-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t),...e}));$.displayName=h.Item.displayName;var Ft=({className:t,...e})=>D("span",{className:o("ml-auto text-xs tracking-widest text-muted-foreground",t),...e});Ft.displayName="CommandShortcut";import*as $e from"react";import*as x from"@radix-ui/react-popover";import{jsx as q,jsxs as Tt}from"react/jsx-runtime";var H=x.Root,A=x.Trigger,T=$e.forwardRef(({className:t,align:e="center",sideOffset:r=4,portal:a=!0,...n},s)=>a?q(x.Portal,{children:q(x.Content,{ref:s,align:e,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n})}):q(x.Content,{ref:s,align:e,sideOffset:r,className:o("pointer-events-auto z-50 w-72 rounded-md border border-transparent bg-white p-4 text-[#191919] shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),onOpenAutoFocus:n.onOpenAutoFocus,onCloseAutoFocus:n.onCloseAutoFocus,...n}));T.displayName=x.Content.displayName;var qe=({trigger:t,children:e,open:r,onOpenChange:a,contentClassName:n,asChild:s=!0,align:d,side:i,alignOffset:y,sideOffset:m,onOpenAutoFocus:p,onCloseAutoFocus:l,...f})=>Tt(H,{...f,open:r,onOpenChange:a,children:[q(A,{asChild:s,children:t}),q(T,{alignOffset:y,sideOffset:m,side:i,align:d,className:n,onOpenAutoFocus:p,onCloseAutoFocus:l,children:e})]});qe.displayName=x.Root.displayName;import*as Ce from"react";import*as v from"@radix-ui/react-scroll-area";import{jsx as j,jsxs as Mt}from"react/jsx-runtime";var J=Ce.forwardRef(({className:t,children:e,...r},a)=>Mt(v.Root,{ref:a,className:o("relative overflow-hidden",t),...r,children:[j(v.Viewport,{className:"h-full w-full rounded-[inherit]",children:e}),j(je,{}),j(v.Corner,{})]}));J.displayName=v.Root.displayName;var je=Ce.forwardRef(({className:t,orientation:e="vertical",...r},a)=>j(v.ScrollAreaScrollbar,{ref:a,orientation:e,className:o("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...r,children:j(v.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));je.displayName=v.ScrollAreaScrollbar.displayName;import{jsx as L,jsxs as ie}from"react/jsx-runtime";var Je=({className:t,value:e,placeholder:r="",status:a,disabled:n})=>L(A,{asChild:!0,disabled:n,children:ie("button",{disabled:n,className:o(w({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex h-12 w-full items-center justify-between goup",e?"":"text-[#79818C]",t),children:[e??r??"Select options...",L("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:L("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),se=({options:t=[],value:e,onChange:r,containerClassName:a,placeholder:n,disabled:s,loading:d,optionComponent:i,children:y,modal:m=!1,hideSearch:p,className:l,inputValue:f,onValueChange:g,onInputValueChange:S})=>{let[le,oe]=M.useState(!1),V=M.useRef(null),[de,ce]=M.useState(void 0);return M.useLayoutEffect(()=>{V.current&&ce(V.current.clientWidth)},[V.current]),ie(H,{modal:m,open:le,onOpenChange:oe,children:[L("div",{className:o("w-full",l),ref:V,children:y}),L(T,{portal:!m,className:"p-0 min-w-[200px]",style:{width:de},children:ie(z,{className:"max-h-[270px] relative",children:[!p&&L(Z,{loading:d,placeholder:n??"Search options...",onValueChange:S,value:f,CommandInputContainerClassName:"mx-3 border rounded-md border-[#DEDEDE]"}),L(J,{className:o("w-full px-0 h-full overflow-y-auto",a),children:ie(X,{children:[!p&&L(K,{children:"No result found."}),L(U,{className:"w-full",children:t?.map(O=>L($,{defaultValue:e?.label,value:O.label,disabled:s,onSelect:()=>{r(O),oe(!1),g?.(O?.value)},children:i?i(O):O.label},O.value))})]})})]})})]})};import{jsx as Q,jsxs as Ot}from"react/jsx-runtime";var Vt=({showAsterisk:t,label:e,description:r,error:a,hideSearch:n=!0,status:s,...d})=>Ot("div",{className:"relative space-y-1",children:[Q(b,{showAsterisk:t,error:a,children:e}),Q(se,{hideSearch:n,...d,containerClassName:"max-h-[700px] h-full",children:Q(Je,{disabled:d?.disabled,placeholder:"Select or search email",status:s,value:d?.value?.label??d?.value?.value})}),Q(N,{className:"text-gray-400 text-sm !font-normal",children:r}),Q(P,{error:a})]});var he=[{countryCode:"GLOBAL",countryName:"Global",currency:"Dollars",currencyCode:"USD",internetCountryCode:"GLOBAL"},{countryName:"Benin",countryCode:"+229",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BJ"},{countryName:"Burkina Faso",countryCode:"+226",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"BF"},{countryName:"Cameroon",countryCode:"+237",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CM"},{countryName:"Chad",countryCode:"+235",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"TD"},{countryName:"DR Congo",countryCode:"+243",currency:"Congolese franc",currencyCode:"CDF",currencyIcon:"FC",internetCountryCode:"CD"},{countryName:"Eswatini",countryCode:"+268",currency:"Swazi lilangeni",currencyCode:"SZL",currencyIcon:"L",internetCountryCode:"SZ"},{countryName:"Gabon",countryCode:"+241",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"GA"},{countryName:"Ghana",countryCode:"+233",currency:"Ghanaian cedi",currencyCode:"GHS",currencyIcon:"\u20B5",internetCountryCode:"GH"},{countryName:"Guinea",countryCode:"+224",currency:"Guinean franc",currencyCode:"GNF",currencyIcon:"Fr",internetCountryCode:"GN"},{countryName:"Ivory Coast",countryCode:"+225",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"CI"},{countryName:"Kenya",countryCode:"+254",currency:"Kenyan shilling",currencyCode:"KES",currencyIcon:"Sh",internetCountryCode:"KE"},{countryName:"Lesotho",countryCode:"+266",currency:"Lesotho loti",currencyCode:"LSL",currencyIcon:"L",internetCountryCode:"LS"},{countryName:"Liberia",countryCode:"+231",currency:"Liberian dollar",currencyCode:"LRD",currencyIcon:"$",internetCountryCode:"LR"},{countryName:"Madagascar",countryCode:"+261",currency:"Malagasy ariary",currencyCode:"MGA",currencyIcon:"Ar",internetCountryCode:"MG"},{countryName:"Malawi",countryCode:"+265",currency:"Malawian kwacha",currencyCode:"MWK",currencyIcon:"MK",internetCountryCode:"MW"},{countryName:"Mali",countryCode:"+223",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"ML"},{countryName:"Mozambique",countryCode:"+258",currency:"Mozambican metical",currencyCode:"MZN",currencyIcon:"MT",internetCountryCode:"MZ"},{countryName:"Namibia",countryCode:"+264",currency:"Namibian dollar",currencyCode:"NAD",currencyIcon:"$",internetCountryCode:"NA"},{countryName:"Niger",countryCode:"+227",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"NE"},{countryName:"Nigeria",countryCode:"+234",currency:"Nigerian naira",currencyCode:"NGN",currencyIcon:"\u20A6",internetCountryCode:"NG"},{countryName:"Republic of the Congo",countryCode:"+242",currency:"Central African CFA franc",currencyCode:"XAF",currencyIcon:"Fr",internetCountryCode:"CG"},{countryName:"Rwanda",countryCode:"+250",currency:"Rwandan franc",currencyCode:"RWF",currencyIcon:"Fr",internetCountryCode:"RW"},{countryName:"Senegal",countryCode:"+221",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"SN"},{countryName:"Seychelles",countryCode:"+248",currency:"Seychellois rupee",currencyCode:"SCR",currencyIcon:"\u20A8",internetCountryCode:"SC"},{countryName:"South Africa",countryCode:"+27",currency:"South African rand",currencyCode:"ZAR",currencyIcon:"R",internetCountryCode:"ZA"},{countryName:"South Sudan",countryCode:"+211",currency:"South Sudanese pound",currencyCode:"SSP",currencyIcon:"\xA3",internetCountryCode:"SS"},{countryName:"Tanzania",countryCode:"+255",currency:"Tanzanian shilling",currencyCode:"TZS",currencyIcon:"Sh",internetCountryCode:"TZ"},{countryName:"Togo",countryCode:"+228",currency:"West African CFA franc",currencyCode:"XOF",currencyIcon:"Fr",internetCountryCode:"TG"},{countryName:"Uganda",countryCode:"+256",currency:"Ugandan shilling",currencyCode:"UGX",currencyIcon:"Sh",internetCountryCode:"UG"},{countryName:"Zambia",countryCode:"+260",currency:"Zambian kwacha",currencyCode:"ZMW",currencyIcon:"ZK",internetCountryCode:"ZM"}],Qe=()=>{let t={};return he?.forEach(e=>{t[e?.internetCountryCode]=e?.countryName}),t};import*as te from"react";import*as et from"react-phone-number-input";import Bt from"react-phone-number-input";import Gt from"react-phone-number-input/flags";import{jsx as Y,jsxs as Ht}from"react/jsx-runtime";var Wt=t=>Ht("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"none",...t,children:[Y("rect",{width:"32",height:"32",fill:"#60A5FA"})," ",Y("path",{d:"M3 10L7 8L10 9L13 8L16 10L19 9L22 11L25 10L28 12V15L26 17L28 19L27 22L29 24L27 26L24 25L21 26L18 24L15 25L12 23L9 24L6 22L4 23L2 21V18L4 16L3 13L5 11L3 10Z",fill:"#34D399"}),Y("rect",{x:"2",y:"28",width:"28",height:"3",fill:"#D1D5DB"}),Y("path",{d:"M0 16H32M8 0V32M16 0V32M24 0V32",stroke:"#2563EB",strokeWidth:"0.5",vectorEffect:"non-scaling-stroke"}),Y("path",{d:"M0 16H32",stroke:"#2563EB",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]}),Ye=Wt;import{jsx as c,jsxs as ee}from"react/jsx-runtime";var tt=te.forwardRef(({className:t,onChange:e,value:r,modal:a,showAsterisk:n,label:s,description:d,error:i,defaultCountry:y="NG",...m},p)=>{let l=g=>c(_t,{...g,status:m.status,modal:a,onChange:S=>g.onChange(S)}),f=r;return ee("div",{className:"relative space-y-1",children:[c(b,{showAsterisk:n,error:i,children:s}),c(Bt,{ref:p,className:o("flex",t),flagComponent:F,countrySelectComponent:l,focusInputOnCountrySelection:!0,countryCallingCodeEditable:!0,enableLongNumber:!0,addInternationalOption:!0,international:!0,inputComponent:rt,defaultCountry:y,containerComponent:({children:g})=>c("div",{className:o(w({status:m?.status}),"p-0 gap-1"),children:g}),...m,onChange:g=>{e&&e(g)},value:f}),c(N,{className:"text-gray-400 text-sm !font-normal",children:d}),c(P,{error:i})]})});tt.displayName="PhoneInput";var rt=te.forwardRef(({className:t,...e},r)=>c("input",{className:o(fe({status:e?.status})," h-full !-mt-0 border-0 rounded-l-none !flex-1 !block !w-full",t),...e,ref:r}));rt.displayName="InputComponent";var _t=({disabled:t,value:e,onChange:r,options:a,status:n,modal:s})=>{let d=te.useCallback(i=>{console.log(i),r(i)},[r]);return ee(H,{modal:s,children:[c(A,{disabled:t,children:ee("div",{className:o(w({status:n}),"!border-0 transition justify-center items-center disabled:text-base-500 flex gap-3 h-full rounded-e-none pl-2 pr-2"),children:[c(F,{country:e,countryName:e}),c("svg",{className:o("-mr-2 h-4 w-4 opacity-50",t?"hidden":"opacity-100"),width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:c("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"#959595",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),c(T,{portal:!s,className:"w-[200px] md:w-[300px] p-0",children:c(z,{children:c(X,{children:ee(J,{className:"h-72",children:[c(Z,{placeholder:"Search country..."}),c(K,{children:"No country found."}),c(U,{children:a.filter(i=>i.value).map(i=>ee($,{className:"gap-2",onSelect:()=>d(i.value),children:[c(F,{country:i.value,countryName:i.label}),c("span",{className:"flex-1 text-sm",children:i.label}),i.value&&c("span",{className:"text-[#191919]/50 text-sm dark:text-white",children:`+${et.getCountryCallingCode(i.value)}`}),c("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:o("ml-auto",i.value===e?"opacity-100":"opacity-0"),children:c("path",{d:"M4 8.00008L6.66353 10.6636L12 5.33655",stroke:"#959595",strokeWidth:"1.06667",strokeLinecap:"round",strokeLinejoin:"round"})})]},`${i.value}-${i.label}`))})]})})})})]})},F=({country:t,countryName:e,className:r})=>{let a=Gt[t];return t==="GLOBAL"?c("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:c(Ye,{className:"w-full h-[90%]"})}):c("span",{className:o("bg-white/20 flex h-4 w-6 overflow-hidden rounded-sm",r),children:a&&c(a,{title:e})})};F.displayName="FlagComponent";import{jsx as R,jsxs as re}from"react/jsx-runtime";var zt=Qe(),Zt=({className:t,value:e,placeholder:r="",status:a,disabled:n})=>R(A,{asChild:!0,disabled:n,children:re("button",{disabled:n,className:o(w({status:a}),"[&>span]:justify-start [&>span]:items-center gap-2 flex w-full items-center justify-between goup",e?"":"text-[#79818C]",t),children:[e?re("div",{className:"flex gap-2 items-center",children:[R(F,{country:e,countryName:e,className:"ml-1 !w-6 h-5"}),re("span",{className:"",children:[" ",zt[e]]})]}):r??"Select options...",R("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",className:" data-[state=open]:goup-rotate-180",children:R("path",{d:"M16.5999 7.45825L11.1666 12.8916C10.5249 13.5333 9.4749 13.5333 8.83324 12.8916L3.3999 7.45825",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})})]})}),Xt=({hideSearch:t=!0,showAsterisk:e,label:r,description:a,error:n,...s})=>{let d=he?.map(i=>({value:i?.internetCountryCode,label:i?.countryName,...i}));return re("div",{className:"relative space-y-1",children:[R(b,{showAsterisk:e,error:n,children:r}),R(se,{options:d,hideSearch:t,optionComponent:i=>re("div",{className:"w-full flex items-center gap-2",children:[R(F,{country:i?.internetCountryCode,countryName:i?.label,className:"ml-2 !w-6 !h-5"}),R("span",{className:"flex-1 text-sm",children:i?.label})]}),...s,children:R(Zt,{value:s?.value?.value,status:s?.status,placeholder:s?.placeholder??" Select Country"})}),R(N,{className:"text-gray-400 text-sm !font-normal",children:a}),R(P,{error:n})]})};import Kt from"react-otp-input";import{cva as Ut}from"class-variance-authority";import{useMemo as $t}from"react";import{jsx as ot}from"react/jsx-runtime";var qt=Ut("transition cursor-default placeholder:text-black dark:placeholder:text-white rounded-lg !h-14 !w-14 border aspect-square text-base font-semibold tracking-normal outline-none placeholder:text-sm placeholder:font-normal text-black focus:bg-white",{variants:{status:{default:"border-gray-300 dark:border-[#d4d4d4] focus:border-gray-400 focus-visible:!ring-offset-gray-200 focus:ring-offset-gray-200 !ring-gray-200 !focus-visible:ring-1 bg-white dark:!bg-transparent dark:focus-visible:!ring-0 dark:focus-within:!bg-transparent dark:text-white dark:focus-within:border-[#9299A2] dark:border-[#676767] dark:disabled:!border-[#9299A2]",error:"placeholder:text-red-600 bg-red-50 border-red-600 text-red-600 focus-within:bg-red-50 focus-within:border-red-600",loading:"placeholder:text-[#C4C4C4]"}},defaultVariants:{status:"default"}}),jt=({numInputs:t=4,inputStyle:e,containerStyle:r,placeholder:a="-",status:n,...s})=>{let d=$t(()=>a||new Array(t).fill("").reduce((m,p)=>m+=p,""),[t,a]);return ot(Kt,{numInputs:t,placeholder:d,containerStyle:o("w-full",r),inputStyle:o(qt({status:n}),e),renderInput:i=>ot("input",{...i}),...s})};export{Re as Button,Xt as Country,ge as Dialog,F as FlagComponent,b as FormLabel,ae as Input,B as Loader,jt as OTPInput,We as PasswordInput,tt as PhoneInput,qe as Popover,T as PopoverContent,H as PopoverRoot,A as PopoverTrigger,Vt as Select,He as Textarea};
2
2
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@6thbridge/hexa",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {