UNPKG

@lifeforge/ui

Version:

LifeForge UI component library

2 lines 115 kB
var Sa=Object.defineProperty,Ta=Object.defineProperties;var Pa=Object.getOwnPropertyDescriptors;var tt=Object.getOwnPropertySymbols;var Jo=Object.prototype.hasOwnProperty,Zo=Object.prototype.propertyIsEnumerable;var Xo=(e,t,r)=>t in e?Sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,y=(e,t)=>{for(var r in t||(t={}))Jo.call(t,r)&&Xo(e,r,t[r]);if(tt)for(var r of tt(t))Zo.call(t,r)&&Xo(e,r,t[r]);return e},N=(e,t)=>Ta(e,Pa(t));var ot=(e,t)=>{var r={};for(var o in e)Jo.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&tt)for(var o of tt(e))t.indexOf(o)<0&&Zo.call(e,o)&&(r[o]=e[o]);return r};var S=(e,t,r)=>new Promise((o,n)=>{var a=i=>{try{s(r.next(i))}catch(l){n(l)}},c=i=>{try{s(r.throw(i))}catch(l){n(l)}},s=i=>i.done?o(i.value):Promise.resolve(i.value).then(a,c);s((r=r.apply(e,t)).next())});import"react-date-picker/dist/DatePicker.css";import"react-datetime-picker/dist/DateTimePicker.css";import{Icon as Va}from"@iconify/react";import Ka from"clsx";import Ht from"lodash";import{memo as Ga,useCallback as Ya,useMemo as Xa}from"react";import{useTranslation as Ja}from"react-i18next";var Ra={red:"rgb(244, 67, 54)",pink:"rgb(233, 30, 99)",purple:"rgb(156, 39, 176)",deepPurple:"rgb(103, 58, 183)",indigo:"rgb(63, 81, 181)",blue:"rgb(33, 150, 243)",lightBlue:"rgb(3, 169, 244)",cyan:"rgb(0, 188, 212)",teal:"rgb(0, 150, 136)",green:"rgb(76, 175, 80)",lightGreen:"rgb(139, 195, 74)",lime:"rgb(205, 220, 57)",yellow:"rgb(255, 235, 59)",amber:"rgb(255, 193, 7)",orange:"rgb(255, 152, 0)",deepOrange:"rgb(255, 87, 34)",brown:"rgb(121, 85, 72)",grey:"rgb(158, 158, 158)"},jo=Ra;import $a from"lodash";import{useMemo as ue}from"react";import Fa from"javascript-color-gradient";function Ma(e){return e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(t,r,o,n)=>"#"+r+r+o+o+n+n).substring(1).match(/.{2}/g).map(t=>parseInt(t,16))}function La(e,t,r){e/=255,t/=255,r/=255;let o=Math.max(e,t,r),n=Math.min(e,t,r),a,c,s=(o+n)/2;if(o===n)a=c=0;else{let i=o-n;switch(c=s>.5?i/(2-o-n):i/(o+n),o){case e:a=(t-r)/i+(t<r?6:0);break;case t:a=(r-e)/i+2;break;case r:a=(e-t)/i+4;break}a!==void 0&&(a/=6)}return[a!=null?a:0,c,s]}function Ea(e,t,r){let o,n,a;if(t===0)o=n=a=r;else{let s=function(d,u,m){return m<0&&(m+=1),m>1&&(m-=1),m<1/6?d+(u-d)*6*m:m<1/2?u:m<2/3?d+(u-d)*(2/3-m)*6:d};var c=s;let i=r<.5?r*(1+t):r+t-r*t,l=2*r-i;o=s(l,i,e+1/3),n=s(l,i,e),a=s(l,i,e-1/3)}return[o*255,n*255,a*255]}function rt(e,t,r){return"#"+[e,t,r].map(o=>{let n=Math.floor(o).toString(16);return n.length===1?"0"+n:n}).join("")}var Dt=(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2],e[3]*t[0]+e[4]*t[1]+e[5]*t[2],e[6]*t[0]+e[7]*t[1]+e[8]*t[2]],_a=([e,t,r])=>[e,isNaN(r)?0:t*Math.cos(r*Math.PI/180),isNaN(r)?0:t*Math.sin(r*Math.PI/180)],Oa=e=>e.map(t=>Math.abs(t)>.0031308?(t<0?-1:1)*(1.055*Math.abs(t)**(1/2.4)-.055):12.92*t),Aa=e=>{let r=Dt([1,.3963377773761749,.2158037573099136,1,-.1055613458156586,-.0638541728258133,1,-.0894841775298119,-1.2914855480194092],e).map(o=>o**3);return Dt([1.2268798758459243,-.5578149944602171,.2813910456659647,-.0405757452148008,1.112286803280317,-.0717110580655164,-.0763729366746601,-.4214933324022432,1.5869240198367816],r)},Ba=e=>Dt([3.2409699419045226,-1.537383177570094,-.4986107602930034,-.9692436362808796,1.8759675015077202,.04155505740717559,.05563007969699366,-.20397695888897652,1.0569715142428786],e),za=e=>Oa(Ba(Aa(_a(e))));function er(e){let t=e.match(/\(([^)]+)\)/)[1],[r,o,n]=t.split(" ").map(c=>parseFloat(c)),a=za([r,o,n]).map(c=>Math.max(0,Math.min(1,c)));return rt(Math.round(a[0]*255),Math.round(a[1]*255),Math.round(a[2]*255))}function tr(e,t,r){let o=e;if(t==="bg"){let[c,s,i]=Ma(e),[l,d,u]=La(c,s,i);u=r==="dark"?.4:.7;let[m,f,p]=Ea(l,d,u);o=rt(m,f,p)}let n=new Fa().setColorGradient("#FFFFFF",o,"#000000").setMidpoint(14).getColors().slice(1,-1);return[50,100,200,300,400,500,600,700,800,900,950].reduce((c,s,i)=>(c[s]=n[i],c),{})}import{createContext as Da,useContext as Ha}from"react";import{jsx as Wa}from"react/jsx-runtime";var or=Da(void 0),pu=({children:e,personalization:t})=>Wa(or.Provider,{value:y({apiHost:"",theme:"dark",themeColor:"lime",bgTemp:"zinc",bgImage:"",setTheme:()=>{},setThemeColor:()=>{},setBgTemp:()=>{},setBgImage:()=>{},language:"en",toggleSidebar:()=>{},sidebarExpanded:!0},t),children:e}),P=()=>{let e=Ha(or);if(e===void 0)throw new Error("useLifeforgeUIContext must be used within a LifeforgeUIProvider");return e};var qa={slate:{50:"rgb(248, 250, 252)",100:"rgb(241, 245, 249)",200:"rgb(226, 232, 240)",300:"rgb(203, 213, 225)",400:"rgb(148, 163, 184)",500:"rgb(100, 116, 139)",600:"rgb(71, 85, 105)",700:"rgb(51, 65, 85)",800:"rgb(30, 41, 59)",900:"rgb(15, 23, 42)",950:"rgb(2, 6, 23)"},gray:{50:"rgb(249, 250, 251)",100:"rgb(243, 244, 246)",200:"rgb(229, 231, 235)",300:"rgb(209, 213, 219)",400:"rgb(156, 163, 175)",500:"rgb(107, 114, 128)",600:"rgb(75, 85, 99)",700:"rgb(55, 65, 81)",800:"rgb(31, 41, 55)",900:"rgb(17, 24, 39)",950:"rgb(3, 7, 18)"},zinc:{50:"rgb(250, 250, 250)",100:"rgb(244, 244, 245)",200:"rgb(228, 228, 231)",300:"rgb(212, 212, 216)",400:"rgb(161, 161, 170)",500:"rgb(113, 113, 122)",600:"rgb(82, 82, 91)",700:"rgb(63, 63, 70)",800:"rgb(39, 39, 42)",900:"rgb(24, 24, 27)",950:"rgb(9, 9, 11)"},neutral:{50:"rgb(250, 250, 250)",100:"rgb(245, 245, 245)",200:"rgb(229, 229, 229)",300:"rgb(212, 212, 212)",400:"rgb(163, 163, 163)",500:"rgb(115, 115, 115)",600:"rgb(82, 82, 82)",700:"rgb(64, 64, 64)",800:"rgb(38, 38, 38)",900:"rgb(23, 23, 23)",950:"rgb(10, 10, 10)"},stone:{50:"rgb(250, 250, 249)",100:"rgb(245, 245, 244)",200:"rgb(231, 229, 228)",300:"rgb(214, 211, 209)",400:"rgb(168, 162, 158)",500:"rgb(120, 113, 108)",600:"rgb(87, 83, 78)",700:"rgb(68, 64, 60)",800:"rgb(41, 37, 36)",900:"rgb(28, 25, 23)",950:"rgb(12, 10, 9)"}};function M(){let{theme:e,bgImage:t,themeColor:r,bgTemp:o}=P(),n=ue(()=>r.startsWith("#")?r:jo[$a.camelCase(r.replace("theme-","").replace(/-/g," "))],[r]),a=ue(()=>o.startsWith("#")?tr(o,"bg",e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e):qa[o.replace("bg-","")],[o]),c=ue(()=>t!==""?"bg-bg-50/50 backdrop-blur-xs dark:bg-bg-900/50":"bg-bg-50 dark:bg-bg-900",[t]),s=ue(()=>t!==""?"bg-bg-50/50 backdrop-blur-xs dark:bg-bg-900/50 hover:bg-bg-100/50 dark:hover:bg-bg-800/50 transition-all":"bg-bg-50 dark:bg-bg-900 dark:hover:bg-bg-800/70 hover:bg-bg-100 transition-all",[t]),i=ue(()=>t!==""?"bg-bg-100/50 dark:bg-bg-800/50":"bg-bg-100 dark:bg-bg-800/50",[t]),l=ue(()=>t!==""?"bg-bg-100/50 dark:bg-bg-800/50 hover:bg-bg-200/50 dark:hover:bg-bg-700/50 transition-all":"bg-bg-100/50 dark:bg-bg-800/50 dark:hover:bg-bg-800/80 hover:bg-bg-200/50 transition-all",[t]),d=ue(()=>t!==""?"bg-bg-50/50 backdrop-blur-xs dark:bg-bg-800/50 hover:bg-bg-200/50 dark:hover:bg-bg-700/50 transition-all":"bg-bg-200 dark:bg-bg-800/50 dark:hover:bg-bg-800/80 hover:bg-bg-200 transition-all",[t]);return{theme:n,bgTemp:a,componentBg:c,componentBgWithHover:s,componentBgLighter:i,componentBgLighterWithHover:l,darkerComponentBgWithHover:d}}import rr from"tinycolor2";var Ua=(e,t)=>`flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg p-4 ${e&&(t?"pl-5":"pr-5")} font-medium tracking-wide transition-all disabled:cursor-not-allowed`,Qa=(e,t,r)=>{if(e)switch(t){case"plain":return"hover:bg-red-500/10 dark:hover:bg-red-500/10 text-red-500 hover:text-red-500 dark:hover:text-red-500";case"tertiary":return"text-red-500 hover:bg-red-500/10 dark:hover:bg-red-500/10 disabled:hover:text-red-500";case"secondary":return"border-[1.6px] border-red-500 shadow-custom text-red-500 disabled:border-red-500 hover:bg-red-500/15 disabled:text-red-500 disabled:hover:border-red-500 disabled:hover:text-red-500";case"primary":default:return`bg-red-500 shadow-custom hover:bg-red-600 ${rr(r).isLight()?"text-bg-800 dark:text-bg-800":"text-bg-50 dark:text-bg-50"} disabled:bg-red-500/10 disabled:text-red-500 disabled:hover:bg-red-500/10 dark:disabled:bg-red-500/10 dark:disabled:text-red-500 dark:disabled:hover:bg-red-500/10`}switch(t){case"plain":return"hover:bg-bg-200/50 dark:hover:bg-bg-800/50 text-bg-500 hover:text-bg-800 dark:hover:text-bg-50! disabled:hover:text-bg-500 disabled:dark:hover:text-bg-500 disabled:hover:bg-transparent disabled:dark:hover:bg-transparent disabled:text-bg-500";case"tertiary":return"text-custom-500 hover:bg-custom-500/15 disabled:hover:shadow-none disabled:hover:bg-transparent hover:shadow-custom disabled:text-bg-500 disabled:hover:text-bg-500";case"secondary":return"border-[1.6px] border-custom-500 shadow-custom text-custom-500 hover:bg-custom-500/10 disabled:border-bg-500 disabled:text-bg-500 disabled:hover:border-bg-500 disabled:hover:text-bg-500";case"primary":default:return`bg-custom-500 shadow-custom hover:bg-custom-600 ${rr(r).isLight()?"text-bg-800 dark:text-bg-800":"text-bg-50 dark:text-bg-50"} disabled:bg-bg-200 disabled:text-bg-500 disabled:hover:bg-bg-200 dark:disabled:bg-bg-800 dark:disabled:text-bg-500 dark:disabled:hover:bg-bg-800`}},nr=(e,t,r,o,n,a)=>`${Ua(t,r)} ${Qa(o,n,e)} ${a}`;import{jsx as ei,jsxs as ti}from"react/jsx-runtime";var Za={iconAtEnd:!1,loading:!1,disabled:!1,className:"",variant:"primary",isRed:!1,namespace:"common.buttons"},ar=(e,t,r)=>ei(Va,{className:Ka("size-5 shrink-0",r),icon:t?"svg-spinners:180-ring":e});function ja(a){var c=a,{as:e,children:t,icon:r,onClick:o}=c,n=ot(c,["as","children","icon","onClick"]);let{theme:s}=M(),i=e||"button",l=Xa(()=>y(y({},Za),n),[n]),d=nr(s,!!t,l.iconAtEnd,l.isRed,l.variant,l.className),{t:u}=Ja(l.namespace),m=Ya(f=>{o&&o(f)},[o]);return ti(i,N(y({},n),{className:d,disabled:l.loading||l.disabled,type:"button",onClick:m,children:[!l.iconAtEnd&&ar(r,l.loading,l.iconClassName),t&&typeof t=="string"?u([`common.buttons:${Ht.camelCase(t)}`,`buttons.${Ht.camelCase(t)}`,`${l.tKey}.buttons.${Ht.camelCase(t)}`,t],l.tProps):t,l.iconAtEnd&&ar(r,l.loading,l.iconClassName)]}))}var g=Ga(ja);import{Switch as oi}from"@headlessui/react";import Wt from"clsx";import ri from"tinycolor2";import{jsx as ir}from"react/jsx-runtime";function ni({checked:e,onChange:t}){let{darkerComponentBgWithHover:r,theme:o}=M(),n=()=>e?Wt(ri(o).isLight()?"bg-bg-100 dark:bg-bg-800":"bg-bg-100","translate-x-6"):"translate-x-1 bg-bg-50 dark:bg-bg-500";return ir(oi,{checked:e,className:Wt("relative inline-flex h-6 w-11 shrink-0 items-center rounded-full",e?"bg-custom-500":r),onChange:t,children:ir("span",{className:Wt("inline-block size-4 shrink-0 rounded-full transition",n())})})}var Fe=ni;import{Icon as ai}from"@iconify/react";import sr from"clsx";import{jsx as lr}from"react/jsx-runtime";function ii({checked:e,onChange:t,className:r}){return lr("button",{className:sr("group relative z-50 flex-center size-5 shrink-0 cursor-pointer rounded-full ring-2 ring-offset-2 ring-offset-bg-50 transition-all dark:ring-offset-bg-900",e?"ring-custom-500":"ring-bg-200 hover:ring-bg-600! dark:ring-bg-500 dark:hover:ring-bg-300!",r),onClick:o=>{o.preventDefault(),o.stopPropagation(),t(o)},children:lr(ai,{className:sr("size-4 stroke-1",e?"stroke-custom-500 text-custom-500":"stroke-bg-800 text-bg-800 opacity-0 group-hover:opacity-50 dark:stroke-bg-100 dark:text-bg-100"),icon:"uil:check"})})}var si=ii;import li from"clsx";import{jsx as mi}from"react/jsx-runtime";function ci({onClick:e,icon:t="tabler:plus",text:r="",hideWhen:o="sm",alwaysShow:n=!1,as:a,isRed:c,loading:s}){return mi(g,{alwaysShow:n,as:a!=null?a:"button",className:li("fixed right-6 bottom-6 z-10 shadow-lg",!n&&{sm:"sm:hidden",md:"md:hidden",lg:"lg:hidden",xl:"xl:hidden"}[o]),icon:t,isRed:c,loading:s,onClick:e,children:r})}var di=ci;import{useTranslation as pi}from"react-i18next";import{jsx as fi}from"react/jsx-runtime";function ui({onClick:e}){let{t}=pi("common.misc");return fi(g,{className:"mb-2 w-min px-0 py-2 pl-2 hover:bg-transparent! dark:hover:bg-transparent!",icon:"tabler:chevron-left",variant:"plain",onClick:e,children:t(["buttons.goBack","Go Back"])})}var Me=ui;import{Menu as bi,MenuButton as gi,MenuItems as hi,Transition as xi,TransitionChild as vi}from"@headlessui/react";import ki from"clsx";import{useState as Ii}from"react";import{jsx as nt,jsxs as Ci}from"react/jsx-runtime";function yi(e){let{children:t,anchor:r,classNames:o,customIcon:n,onClick:a,onClose:c}=e,[s,i]=Ii(!1);return Ci(bi,{as:"div",className:o==null?void 0:o.wrapper,children:[nt(g,{as:gi,className:o==null?void 0:o.button,icon:n!=null?n:"tabler:dots-vertical",iconClassName:o==null?void 0:o.icon,variant:"plain",onClick:l=>{l.stopPropagation(),i(!s),a!==void 0&&a(l)}}),nt(xi,{afterLeave:()=>{c!==void 0&&c()},enter:"transition-opacity duration-200",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"transition-opacity duration-150",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:nt(vi,{children:nt(hi,{transition:!0,anchor:r!=null?r:"bottom end",className:ki("z-9999 min-w-[var(--button-width)] overflow-auto rounded-md border border-bg-200 bg-bg-100 text-base text-bg-500 shadow-lg transition duration-100 ease-out [--anchor-gap:12px] empty:invisible focus:outline-hidden data-closed:scale-95 data-closed:opacity-0 dark:border-bg-700 dark:bg-bg-800",o==null?void 0:o.menu),children:t})})})]})}var $t=yi;import{Icon as wi}from"@iconify/react";import{jsx as qt,jsxs as cr}from"react/jsx-runtime";function Ni({icon:e,title:t,children:r,className:o}){return cr("div",{className:o,children:[cr("span",{className:"flex items-center gap-4 p-4 text-bg-500",children:[qt(wi,{className:"size-5",icon:e}),t]}),qt("div",{className:"p-4 pt-0",children:qt("ul",{className:"flex flex-col divide-y divide-bg-200 overflow-hidden rounded-md bg-bg-200/50 shadow-custom dark:divide-bg-700 dark:bg-bg-700/50",children:r})})]})}var Si=Ni;import{MenuItem as Ti}from"@headlessui/react";import{Icon as Ut}from"@iconify/react";import dr from"clsx";import mr from"lodash";import{useTranslation as Pi}from"react-i18next";import{jsx as Le,jsxs as Ei}from"react/jsx-runtime";function Ri(e,t,r){return e?"text-bg-300 dark:text-bg-700":t?`${r===!0?"text-red-600":"text-bg-800 dark:text-bg-50"} hover:text-bg-800 dark:hover:text-bg-50`:r?"text-red-500":"text-bg-500 dark:hover:text-bg-600"}function Fi(e){return e===!0?"text-red-600":"text-bg-800 dark:text-bg-50"}function Mi({icon:e,text:t,isRed:r=!1,onClick:o,isToggled:n=!1,disabled:a,preventDefault:c=!1,namespace:s="common.buttons",loading:i=!1}){let{t:l}=Pi(s||"common.buttons");return Le(Ti,{children:function({close:d}){return Ei("button",{className:dr(Ri(a||i,n,r),!a&&!i&&"hover:bg-bg-200 dark:hover:bg-bg-700/50","flex w-full items-center gap-4 p-4 text-left transition-all"),disabled:a||i,onClick:u=>{c&&u.preventDefault(),u.stopPropagation(),o(u,d)},children:[i?Le(Ut,{className:"size-5 shrink-0",icon:"svg-spinners:180-ring"}):typeof e=="string"?Le(Ut,{className:"size-5 shrink-0",icon:e}):e,Le("span",{className:"w-full truncate whitespace-nowrap",children:s!==!1?l([mr.camelCase(t),`buttons.${mr.camelCase(t)}`,t]):t}),n&&Le(Ut,{className:dr(Fi(r),"ml-4 size-5 shrink-0"),icon:"tabler:check"})]})}})}var Li=Mi;import gr from"lodash";import{memo as ji,useEffect as es,useRef as ts,useState as os}from"react";import{useTranslation as rs}from"react-i18next";import{Icon as _i}from"@iconify/react";import{jsx as pr}from"react/jsx-runtime";function Oi({actionButtonLoading:e,onActionButtonClick:t,actionButtonIcon:r}){return pr("button",{className:"mr-4 shrink-0 rounded-lg p-2 text-bg-500 transition-all hover:bg-bg-300 hover:text-bg-800 focus:outline-hidden dark:hover:bg-bg-700/70 dark:hover:text-bg-200",disabled:e,tabIndex:-1,onClick:o=>{o.preventDefault(),o.stopPropagation(),t(o)},children:pr(_i,{className:"size-6",icon:e?"svg-spinners:180-ring":r})})}var ur=Oi;import Ai from"clsx";import{useRef as Bi}from"react";import{Fragment as Di,jsx as fr,jsxs as Hi}from"react/jsx-runtime";function zi({value:e,setValue:t,isPassword:r=!1,inputMode:o,showPassword:n,placeholder:a,inputRef:c,reference:s,disabled:i=!1,noAutoComplete:l=!1,onKeyDown:d=()=>{},className:u="",onBlur:m=()=>{}}){let f=Bi(null);return Hi(Di,{children:[r&&fr("input",{hidden:!0,type:"password",value:"",onChange:()=>{}}),fr("input",{ref:p=>{s!==void 0&&(s.current=p),c!==void 0&&(c.current=p),f.current=p},autoComplete:l?"false":"true",className:Ai("mt-6 h-13 w-full rounded-lg bg-transparent p-6 pl-4 tracking-wider caret-custom-500 placeholder:text-transparent focus:outline-hidden focus:placeholder:text-bg-500",u),disabled:i,inputMode:o,placeholder:a,style:r&&n!==!0?{fontFamily:"Arial"}:{},type:r&&n!==!0?"password":"text",value:e,onBlur:p=>{t(p.target.value.trim()),m()},onChange:p=>{t(p.target.value)},onKeyDown:d})]})}var at=zi;import{Icon as Wi}from"@iconify/react";import $i from"clsx";import{memo as qi}from"react";import{jsx as Qi}from"react/jsx-runtime";function Ui({icon:e,active:t,listboxOrCombobox:r,isCombobox:o,className:n}){return Qi(Wi,{className:$i("size-6 shrink-0 transition-all",!t&&"text-bg-500",o&&"group-focus-within:text-custom-500!",r!==void 0&&"group-data-open:text-custom-500!",n),icon:e})}var R=qi(Ui);import Vi from"clsx";import{useMemo as br}from"react";import{jsx as Gi,jsxs as Yi}from"react/jsx-runtime";function Ki({label:e,active:t,isListboxOrCombobox:r=!1,isCombobox:o=!1,required:n=!1}){let a=br(()=>t?"top-5 -translate-y-1/2 text-[14px]":`top-1/2 -translate-y-1/2 ${r?`${o&&"group-focus-within:top-5 group-focus-within:text-[14px]"} group-data-open:top-5 group-data-open:text-[14px]`:"group-focus-within:top-5 group-focus-within:text-[14px]"}`,[t,r,o]),c=br(()=>r?`${o&&"group-focus-within:text-custom-500!"} group-data-open:text-custom-500!`:"group-focus-within:text-custom-500!",[r]);return Yi("span",{className:Vi("pointer-events-none absolute left-[4.2rem] font-medium tracking-wide text-bg-500 transition-all",c,a),children:[e,n&&Gi("span",{className:"text-red-500",children:" *"})]})}var F=Ki;import Xi from"clsx";import{jsx as Zi}from"react/jsx-runtime";function Ji({darker:e=!1,className:t="",disabled:r=!1,inputRef:o,children:n}){let{componentBgWithHover:a,componentBgLighterWithHover:c}=M();function s(i){i.target.tagName!=="BUTTON"&&(o==null?void 0:o.current)!==void 0&&o.current!==null&&(o.current.focus(),["INPUT","TEXTAREA"].includes(i.target.tagName)||o.current.setSelectionRange(o.current.value.length,o.current.value.length))}return Zi("div",{className:Xi("group relative flex shrink-0 items-center gap-1 rounded-t-lg border-b-2 border-bg-500 bg-bg-200/50 pl-6 shadow-custom transition-all focus-within:!border-custom-500 hover:bg-bg-200",e?c:a,t,r?"pointer-events-none! opacity-50":"cursor-text"),role:"button",tabIndex:0,onClick:s,onFocus:s,onKeyDown:i=>{i.key==="Enter"&&(i.preventDefault(),(o==null?void 0:o.current)!==void 0&&o.current!==null&&o.current.focus())},children:n})}var _=Ji;import{jsx as Ee,jsxs as hr}from"react/jsx-runtime";function ns({actionButtonIcon:e="",actionButtonLoading:t=!1,autoFocus:r=!1,className:o="",darker:n=!1,disabled:a=!1,icon:c,inputMode:s="text",isPassword:i=!1,name:l,noAutoComplete:d=!0,onActionButtonClick:u=()=>{},onKeyDown:m=()=>{},placeholder:f,ref:p,required:b,setValue:h,value:x,namespace:v,tKey:C}){let{t:k}=rs(v||void 0),[I,w]=os(!1),E=ts(null);return es(()=>{r&&E.current&&E.current.focus()},[r]),hr(_,{className:o,darker:n,disabled:a,inputRef:E,children:[Ee(R,{active:!!x&&String(x).length>0,icon:c}),hr("div",{className:"flex w-full items-center gap-2",children:[Ee(F,{active:!!x&&String(x).length>0,label:v!==!1?k([[C,"inputs",gr.camelCase(l),"label"].filter(ne=>ne).join("."),[C,"inputs",gr.camelCase(l)].filter(ne=>ne).join(".")]):l,required:b===!0}),Ee(at,{disabled:a,inputMode:s,inputRef:E,isPassword:i,noAutoComplete:d,placeholder:f,reference:p,setValue:h,showPassword:I,value:x,onKeyDown:m}),i&&Ee(g,{className:"mr-2",icon:I?"tabler:eye":"tabler:eye-off",variant:"plain",onMouseDown:()=>{w(!0)},onMouseUp:()=>{w(!1)},onTouchEnd:()=>{w(!1)},onTouchStart:()=>{w(!0)}}),e&&Ee(ur,{actionButtonIcon:e,actionButtonLoading:t,onActionButtonClick:u})]})]})}var fe=ji(ns);import xr from"lodash";import{useEffect as as,useRef as is}from"react";import{useTranslation as ss}from"react-i18next";import{jsx as Qt,jsxs as vr}from"react/jsx-runtime";function ls({className:e="",darker:t=!1,disabled:r=!1,icon:o,name:n,placeholder:a,required:c,setValue:s,value:i,namespace:l,tKey:d}){let{t:u}=ss(l||void 0),m=is(null);return as(()=>{m.current&&(m.current.style.height="auto",m.current.style.height=m.current.scrollHeight+"px")},[i]),vr(_,{inputRef:m,className:e,darker:t,disabled:r,children:[Qt(R,{active:!!i&&String(i).length>0,icon:o}),vr("div",{className:"flex w-full items-center gap-2",children:[Qt(F,{active:!!i&&String(i).length>0,label:l!==!1?u([[d,"inputs",xr.camelCase(n),"label"].filter(f=>f).join("."),[d,"inputs",xr.camelCase(n)].filter(f=>f).join(".")]):n,required:c===!0}),Qt("textarea",{ref:m,className:"mt-3 -mb-3 min-h-8 w-full resize-none rounded-lg bg-transparent p-6 pl-4 tracking-wide outline-hidden placeholder:text-transparent focus:outline-hidden focus:placeholder:text-bg-500",placeholder:a,value:i,onInput:f=>{s(f.currentTarget.value)},onKeyDown:f=>{if(f.key==="Enter"){let p=f.currentTarget.selectionStart,b=f.currentTarget.value,h=b.slice(0,p)+` `+b.slice(p);s(h),f.currentTarget.value=h,f.currentTarget.setSelectionRange(p+1,p+1),f.preventDefault()}}})]})]})}var _e=ls;import{Icon as kr}from"@iconify/react";import cs from"clsx";import ds from"lodash";import{useRef as ms}from"react";import{useTranslation as ps}from"react-i18next";import{Fragment as fs,jsx as be,jsxs as Vt}from"react/jsx-runtime";function us({name:e,icon:t,disabled:r,setIcon:o,setIconSelectorOpen:n,namespace:a,required:c}){let{t:s}=ps(a),i=ms(null);function l(d){o(d.target.value)}return be(fs,{children:Vt(_,{darker:!0,className:"mt-4",disabled:r,inputRef:i,children:[be(R,{active:!!t,icon:"tabler:icons"}),Vt("div",{className:"flex w-full items-center gap-2",children:[be(F,{active:!!t,label:s(`inputs.${ds.camelCase(e)}`),required:c}),Vt("div",{className:"mt-6 mr-12 flex w-full items-center gap-2 pl-4",children:[be(kr,{className:cs("size-4 shrink-0",!t&&"pointer-events-none opacity-0 group-focus-within:opacity-100"),icon:t||"tabler:question-mark"}),be("input",{ref:i,className:"h-8 w-full rounded-lg bg-transparent p-6 pl-0 tracking-wide placeholder:text-transparent focus:outline-hidden focus:placeholder:text-bg-500",placeholder:"tabler:cube",value:t,onChange:l})]}),be("button",{className:"mr-4 shrink-0 rounded-lg p-2 text-bg-500 transition-all hover:bg-bg-300 hover:text-bg-800 focus:outline-hidden dark:hover:bg-bg-700/70 dark:hover:text-bg-200",onClick:()=>{n(!0)},children:be(kr,{className:"size-5",icon:"tabler:chevron-down"})})]})]})})}var Kt=us;import{Icon as bs}from"@iconify/react";import gs from"clsx";import hs from"lodash";import{useCallback as xs,useRef as vs}from"react";import{useTranslation as ks}from"react-i18next";import{jsx as Ie,jsxs as Gt}from"react/jsx-runtime";function Is({name:e,color:t,setColor:r,setColorPickerOpen:o,hasTopMargin:n=!0,className:a,namespace:c,required:s,disabled:i}){let{t:l}=ks(c),d=vs(null),u=xs(()=>{o(!0)},[o]);return Gt(_,{darker:!0,className:gs(n&&"mt-4",a),disabled:i,inputRef:d,children:[Ie(R,{active:t!=="",icon:"tabler:palette"}),Gt("div",{className:"flex w-full items-center gap-2",children:[Ie(F,{active:!!t,label:l(`inputs.${hs.camelCase(e)}`),required:s}),Gt("div",{className:"mt-6 mr-4 flex w-full items-center gap-2 pl-4",children:[Ie("div",{className:"mt-0.5 size-3 shrink-0 rounded-full",style:{backgroundColor:t}}),Ie("input",{ref:d,className:"h-8 w-full min-w-28 rounded-lg bg-transparent p-6 pl-0 tracking-wide placeholder:text-transparent focus:outline-hidden focus:placeholder:text-bg-500",placeholder:"#FFFFFF",value:t,onChange:m=>{r(m.target.value)}})]}),Ie("button",{className:"mr-4 shrink-0 rounded-lg p-2 text-bg-500 transition-all hover:bg-bg-200 hover:text-bg-800 focus:outline-hidden dark:hover:bg-bg-700/70 dark:hover:text-bg-200",onClick:()=>{u()},children:Ie(bs,{className:"size-6",icon:"tabler:color-picker"})})]})]})}var Yt=Is;import{Icon as ys}from"@iconify/react";import Cs from"clsx";import ws from"lodash";import{useTranslation as Ns}from"react-i18next";import Ss from"react-medium-image-zoom";import{jsx as J,jsxs as Oe}from"react/jsx-runtime";function Ts({icon:e,name:t,reminderText:r,image:o,preview:n,setPreview:a,setImage:c,setImagePickerModalOpen:s,onImageRemoved:i,required:l,namespace:d,disabled:u}){let{componentBgLighter:m}=M(),{t:f}=Ns([d,"common.buttons"]);return Oe("div",{className:Cs("flex w-full flex-col rounded-md p-6 shadow-custom",m,u?"pointer-events-none! opacity-50":"cursor-pointer"),children:[Oe("div",{className:"flex items-center gap-4 text-bg-500",children:[J(ys,{className:"size-6",icon:e}),Oe("span",{className:"font-medium",children:[f(`${d}:inputs.${ws.camelCase(t)}`)," ",l===!0&&J("span",{className:"text-red-500",children:"*"})]})]}),n!==null&&J(Ss,{zoomMargin:100,children:J("img",{alt:"",className:"mx-auto mt-6 max-h-64 rounded-md",src:n})}),n!==null&&J(g,{isRed:!0,className:"mt-6 w-full",icon:"tabler:x",onClick:()=>{a(null),c(null),i==null||i()},children:"Remove"}),o!==null&&n===null&&Oe("div",{className:"mt-4 flex items-center justify-between gap-8",children:[J("p",{className:"w-full truncate",children:o.name}),J(g,{className:"p-2!",icon:"tabler:x",variant:"plain",onClick:()=>{c(null),i==null||i()}})]}),o===null&&n===null&&Oe("div",{className:"mt-6 flex flex-col items-center gap-3",children:[J(g,{className:"w-full",icon:"tabler:photo",variant:"secondary",onClick:()=>{s(!0)},children:f("common.buttons:select")}),J("p",{className:"text-xs text-bg-500",children:r})]})]})}var Xt=Ts;import{ComboboxInput as Ws,ListboxButton as $s}from"@headlessui/react";import{Icon as qs}from"@iconify/react";import Jt from"lodash";import{useMemo as Us}from"react";import{useTranslation as Qs}from"react-i18next";import{Combobox as Ps}from"@headlessui/react";import Rs from"clsx";import{jsx as Ms}from"react/jsx-runtime";function Fs({value:e,onChange:t,setQuery:r,children:o,className:n,disabled:a}){return Ms(Ps,{as:"div",className:Rs("relative flex items-center gap-1 rounded-t-lg border-b-2 border-bg-500 bg-bg-200/50 shadow-custom transition-all focus-within:border-custom-500! hover:bg-bg-200 data-[open]:border-custom-500! dark:bg-bg-800/50 dark:hover:bg-bg-800/80",n,a?"pointer-events-none! opacity-50":""),value:e,onChange:t,onClose:()=>{r("")},children:o})}var Ir=Fs;import{Listbox as Ls}from"@headlessui/react";import Es from"clsx";import{jsx as Os}from"react/jsx-runtime";function _s({value:e,onChange:t,multiple:r=!1,className:o,children:n,disabled:a}){return Os(Ls,{as:"div",className:Es("relative flex items-center gap-1 rounded-t-lg border-b-2 border-bg-500 bg-bg-200/50 shadow-custom transition-all hover:bg-bg-200 data-open:border-custom-500! dark:bg-bg-800/50 dark:hover:bg-bg-800/80",o,a?"pointer-events-none! opacity-50":""),multiple:r,value:e,onChange:t,children:n})}var yr=_s;import{ComboboxOptions as As,ListboxOptions as Bs}from"@headlessui/react";import zs from"clsx";import{jsx as Hs}from"react/jsx-runtime";function Ds({type:e="listbox",children:t,customWidth:r,lighter:o=!1}){return Hs(e==="listbox"?Bs:As,{transition:!0,anchor:"bottom start",className:zs(r!=null?r:e==="listbox"?"w-[var(--button-width)]":"w-[var(--input-width)]","z-9999 divide-y divide-bg-200 overflow-auto rounded-md border border-bg-200 dark:border-bg-700",o?"bg-bg-50":"bg-bg-100","text-base text-bg-500 shadow-lg transition duration-100 ease-out",e==="listbox"?"[--anchor-gap:12px]":"[--anchor-gap:22px]","empty:invisible focus:outline-hidden data-closed:scale-95 data-closed:opacity-0 dark:divide-bg-700/50 dark:border-bg-700 dark:bg-bg-800"),children:t})}var it=Ds;import{jsx as G,jsxs as st}from"react/jsx-runtime";function Vs(e){let{name:t,icon:r,value:o,setValue:n,disabled:a,type:c,children:s,required:i,customActive:l,namespace:d,tKey:u=""}=e,{t:m}=Qs(d||void 0),f=Us(()=>typeof l=="boolean"?l:Array.isArray(o)?o.length>0:typeof o=="number"?!0:!!o,[o,l]);switch(c){case"listbox":case void 0:return st(yr,{className:e.className,disabled:a,multiple:e.multiple,value:o,onChange:n,children:[st($s,{className:"group flex w-full min-w-64 items-center pl-6",children:[G(R,{active:f,icon:r,listboxOrCombobox:"listbox"}),G(F,{isListboxOrCombobox:!0,active:f,label:m(d!==!1?m([[u,"inputs",Jt.camelCase(t),"label"].filter(p=>p).join("."),[u,"inputs",Jt.camelCase(t)].filter(p=>p).join(".")]):t),required:i===!0}),G("div",{className:"relative mt-10 mb-3 flex min-h-[1.2rem] w-full items-center gap-2 rounded-lg pr-10 pl-5 text-left focus:outline-hidden",children:f&&e.buttonContent}),G("span",{className:"pointer-events-none absolute inset-y-0 right-0 mt-1 mr-2 flex items-center pr-4",children:G(qs,{className:"size-6 text-zinc-500",icon:"heroicons:chevron-up-down-16-solid"})})]}),G(it,{children:s})]});case"combobox":return st(Ir,{className:e.className,disabled:a,setQuery:e.setQuery,value:o,onChange:n,children:[st("div",{className:"group relative flex w-full items-center",children:[G(R,{isCombobox:!0,active:!!o||l===!0,className:"absolute left-6",icon:r,listboxOrCombobox:"combobox"}),G(F,{isCombobox:!0,isListboxOrCombobox:!0,active:!!o||l===!0,label:m(`inputs.${Jt.camelCase(t)}`),required:i===!0}),G(Ws,{className:"relative mt-10 mb-3 flex w-full items-center gap-2 rounded-lg bg-transparent! pr-5 pl-17.5 text-left focus:outline-hidden",displayValue:e.displayValue,onChange:p=>{e.setQuery(p.target.value)}})]}),G(it,{type:"combobox",children:s})]})}}var U=Vs;import{Icon as Ae}from"@iconify/react";import Ks from"clsx";import Gs from"dayjs";import Cr from"lodash";import{useRef as Ys}from"react";import Xs from"react-date-picker";import Js from"react-datetime-picker";import{useTranslation as Zs}from"react-i18next";import{jsx as Z,jsxs as wr}from"react/jsx-runtime";function js({date:e,setDate:t,name:r,icon:o,hasMargin:n=!0,className:a="",darker:c=!1,modalRef:s,index:i=0,required:l,hasTime:d=!1,namespace:u,disabled:m}){var v;let f=d?Js:Xs,{t:p}=Zs(u||void 0),{language:b}=P(),h=Ys(null);function x(){setTimeout(()=>{if((s==null?void 0:s.current)===null||h.current===null)return;let C=document.querySelectorAll(".react-calendar")[i],k=h.current.querySelector(d?".react-datetime-picker":".react-date-picker");if(!C||!k)return;let I=k.getBoundingClientRect();if(d){let w=document.querySelectorAll(".react-datetime-picker__clock")[i];w&&(w.style.position="absolute",w.style.top=`${I.top+I.height+window.scrollY}px`,w.style.left=`${I.left+window.scrollX}px`)}C.style.top=`${I.top+I.height+window.scrollY}px`,C.style.left=`${I.left+window.scrollX}px`},10)}return wr(_,{className:Ks(a,n&&"mt-4"),darker:c,disabled:m,children:[Z(R,{active:e!=="",icon:o}),wr("div",{ref:h,className:"flex w-full items-center gap-2",children:[Z(F,{active:!0,label:u!==!1?p([["inputs",Cr.camelCase(r),"label"].filter(C=>C).join("."),["inputs",Cr.camelCase(r)].filter(C=>C).join(".")]):r,required:l===!0}),Z(f,{calendarIcon:null,calendarProps:{className:"bg-bg-200! dark:bg-bg-800! absolute z-9999 outline-hidden border-bg-200! dark:border-bg-700! rounded-lg p-4",tileClassName:"hover:bg-bg-300 dark:hover:bg-bg-700/50! rounded-md disabled:text-bg-500 disabled:bg-transparent disabled:cursor-not-allowed disabled:hover:bg-transparent! dark:disabled:hover:bg-transparent!",locale:b,prevLabel:Z(Ae,{icon:"tabler:chevron-left"}),nextLabel:Z(Ae,{icon:"tabler:chevron-right"}),prev2Label:Z(Ae,{icon:"tabler:chevrons-left"}),next2Label:Z(Ae,{icon:"tabler:chevrons-right"})},className:"mt-6 h-13 w-full rounded-lg border-none bg-transparent px-4 tracking-wider outline-hidden placeholder:text-transparent focus:outline-hidden focus:placeholder:text-bg-500",clearIcon:null,format:d?"dd-MM-yyyy HH:mm":"dd-MM-yyyy",portalContainer:(v=s==null?void 0:s.current)!=null?v:document.querySelector("#app"),value:e,onCalendarOpen:x,onChange:C=>{t(Gs(C).toISOString())},onClockOpen:x}),e!==""&&Z("button",{"aria-label":"Clear date",className:"mr-4 shrink-0 rounded-lg p-2 text-bg-500 transition-all hover:bg-bg-300 hover:text-bg-800 focus:outline-hidden dark:hover:bg-bg-700/70 dark:hover:text-bg-200",onClick:()=>{t("")},children:Z(Ae,{className:"size-6",icon:"tabler:x"})})]})]})}var Zt=js;import el from"lodash";import tl from"react-currency-input-field";import{useTranslation as ol}from"react-i18next";import{jsx as jt,jsxs as Nr}from"react/jsx-runtime";function rl({name:e,placeholder:t,icon:r,value:o,setValue:n,darker:a=!1,className:c="",required:s,namespace:i}){let{t:l}=ol(i);return Nr(_,{className:c,darker:a,children:[jt(R,{active:!!o,icon:r}),Nr("div",{className:"flex w-full items-center gap-2",children:[jt(F,{active:!!o,label:l(`inputs.${el.camelCase(e)}`),required:s===!0}),jt(tl,{className:"mt-6 h-8 w-full rounded-lg bg-transparent p-6 pl-4 tracking-wider placeholder:text-transparent focus:outline-hidden focus:placeholder:text-bg-500",decimalsLimit:2,name:e,placeholder:t,value:o,onValueChange:d=>n(d!=null?d:"")})]})]})}var nl=rl;import{Icon as Sr}from"@iconify/react";import Tr from"clsx";import al from"lodash";import{useMemo as il}from"react";import{useTranslation as sl}from"react-i18next";import{jsx as lt,jsxs as eo}from"react/jsx-runtime";function ll({searchQuery:e,setSearchQuery:t,stuffToSearch:r,onKeyUp:o,customIcon:n,hasTopMargin:a=!0,onFilterIconClick:c,filterAmount:s,sideButtonIcon:i,sideButtonLoading:l,onSideButtonClick:d,className:u,namespace:m,tKey:f=""}){let{t:p}=sl(["common.misc",m]),{bgImage:b}=P(),h=il(()=>b!==""?"bg-bg-50 dark:bg-bg-800/50 hover:bg-bg-200/50 dark:hover:bg-bg-700/50 transition-all":"bg-bg-50 dark:bg-bg-800/50 dark:hover:bg-bg-800/80 hover:bg-bg-50/50 transition-all",[b]);return eo("search",{className:Tr("flex min-h-14 w-full cursor-text items-center gap-4 rounded-lg px-4 shadow-custom transition-all",h,a&&"mt-4",u),onClick:x=>{var v;(v=x.currentTarget.querySelector("input"))==null||v.focus()},children:[lt(Sr,{className:"size-5 shrink-0 text-bg-500",icon:n!=null?n:"tabler:search"}),lt("input",{className:"w-full bg-transparent caret-custom-500 placeholder:text-bg-500",placeholder:p("search",{item:p([`${m}:${[f,"items",al.camelCase(r)].filter(x=>x).join(".")}`,r])}),type:"text",value:e,onChange:x=>{t(x.target.value)},onKeyUp:o}),c!==void 0&&eo("button",{className:Tr("flex items-center gap-1 rounded-lg p-2",s!==void 0&&s>0?"text-bg-900 dark:text-bg-100":"text-bg-500 hover:text-bg-900 dark:hover:text-bg-100","transition-all hover:bg-bg-200 dark:hover:bg-bg-700/50"),onClick:c,children:[lt(Sr,{className:"text-xl",icon:"tabler:filter"}),s!==void 0&&s>0&&eo("span",{className:"-mt-0.5",children:["(",s,")"]})]}),i!==void 0&&d!==void 0&&lt(g,{icon:i,loading:l,className:"p-2!",variant:"plain",onClick:d})]})}var Y=ll;import{Icon as cl}from"@iconify/react";import Pr from"lodash";import{useRef as dl,useState as ml}from"react";import{useTranslation as pl}from"react-i18next";import{jsx as ye,jsxs as ct}from"react/jsx-runtime";function ul({name:e,icon:t,placeholder:r,value:o,setValue:n,maxTags:a=100,disabled:c=!1,className:s="",darker:i,existedTags:l,required:d,namespace:u,tKey:m=""}){let{t:f}=pl(u),[p,b]=ml(""),h=dl(null),x=()=>{p.trim()!==""&&o.length<a&&(n([...o,p.trim()]),b(""))},v=k=>{let I=o.filter((w,E)=>E!==k);n(I)},C=k=>{k.key==="Enter"||k.key===","?(k.preventDefault(),x()):k.key==="Backspace"&&p===""&&o.length>0&&v(o.length-1)};return ct(_,{className:s,darker:i,disabled:c,inputRef:h,children:[ye(R,{active:String(o).length>0,icon:t}),ct("div",{className:"flex w-full items-center gap-2",children:[ye(F,{active:String(o).length>0,label:f([[m,"inputs",Pr.camelCase(e)].filter(k=>k).join("."),[m,"inputs",Pr.camelCase(e),"label"].filter(k=>k).join(".")]),required:d===!0}),ct("div",{className:"mt-12 mb-4 ml-[14px] flex flex-wrap items-center gap-2",children:[o.map((k,I)=>{let w=l==null?void 0:l.find(E=>E.name===k);return ct("div",{className:"flex items-center rounded-full bg-bg-200 py-1 pr-2 pl-3 dark:bg-bg-700/50",children:[w!==void 0&&ye(cl,{className:"mr-2 size-3",icon:w.icon,style:{color:w.color}}),ye("span",{className:"mr-2 text-sm",children:k}),!c&&ye(g,{className:"m-0! h-4! w-4! p-0!",icon:"tabler:x",iconClassName:"size-3",variant:"plain",onClick:()=>{v(I)}})]},I)}),!c&&ye(at,{noAutoComplete:!0,className:"my-0! w-auto! flex-1 py-0 pl-0!",inputRef:h,placeholder:r,setValue:b,value:p,onBlur:x,onKeyDown:C})]})]})]})}var fl=ul;import{useQuery as dc}from"@tanstack/react-query";import{useDebounce as mc}from"@uidotdev/usehooks";import{useEffect as Hr,useState as Wr}from"react";import{useTranslation as pc}from"react-i18next";import{Icon as bl}from"@iconify/react";import{jsx as Rr,jsxs as hl}from"react/jsx-runtime";function gl({message:e}){return hl("div",{className:"flex-center size-full flex-col gap-6",children:[Rr(bl,{className:"size-12 text-red-500",icon:"tabler:alert-triangle"}),Rr("p",{className:"text-center text-lg font-medium text-red-500",children:e})]})}var Be=gl;import{jsx as Fr,jsxs as xl}from"react/jsx-runtime";function ie({customMessage:e}){return xl("div",{className:"flex-center size-full flex-col gap-6",children:[Fr("span",{className:"loader"}),Fr("p",{className:"text-lg font-medium text-bg-500",children:e!=null?e:""})]})}import{Icon as vl}from"@iconify/react";import dt from"clsx";import{useTranslation as kl}from"react-i18next";import{jsx as mt,jsxs as yl}from"react/jsx-runtime";function Il({onCTAClick:e,name:t,title:r,description:o,icon:n,ctaContent:a,ctaTProps:c,ctaIcon:s,customCTAButton:i,smaller:l=!1,namespace:d,tKey:u=""}){let{t:m}=kl(d||void 0);return yl("div",{className:dt("flex-center size-full flex-col",l?"gap-4":"gap-6"),children:[n!==void 0&&(typeof n=="string"?mt(vl,{className:dt("shrink-0 text-bg-300 dark:text-bg-500",l?"size-24":"size-32"),icon:n}):n),mt("h2",{className:dt("px-6 text-center font-semibold text-bg-500",l?"text-3xl":"text-4xl"),children:t?m([u,"empty",t,"title"].filter(f=>f).join(".")):r}),mt("p",{className:dt("-mt-2 px-6 text-center whitespace-pre-wrap text-bg-500",l?"text-base":"text-lg"),children:t?m([u,"empty",t,"description"].filter(f=>f).join(".")):o}),i!=null?i:a&&e&&mt(g,{className:"mt-6",icon:s!=null?s:"tabler:plus",tProps:c,onClick:()=>{e("create")},children:a})]})}var se=Il;import{useTranslation as Cl}from"react-i18next";import{Link as wl}from"react-router";import{jsx as ze,jsxs as Mr}from"react/jsx-runtime";function Nl(){let{t:e}=Cl("common.misc");return Mr("div",{className:"flex-center w-full flex-col gap-6",children:[ze("span",{className:"text-[10rem] text-custom-500",children:";-;"}),ze("h1",{className:"text-4xl font-semibold",children:e("notFound.title")}),ze("p",{className:"text-xl text-bg-500",children:e("notFound.description")}),Mr("div",{className:"mt-6 flex-center gap-4",children:[ze(g,{as:wl,icon:"tabler:arrow-left",to:"/",children:e("buttons.goBack")}),ze(g,{as:"a",href:"https://github.com/Lifeforge-app/lifeforge/issues",icon:"tabler:bug",rel:"noopener noreferrer",target:"_blank",variant:"secondary",children:e("buttons.reportBug")})]})]})}var Sl=Nl;import{Fragment as Lr,jsx as pt}from"react/jsx-runtime";function Tl({query:e,children:t,showLoading:r=!0}){return e.isLoading||e.isPending||e.isFetching||e.isRefetching?r?pt(ie,{}):pt(Lr,{}):e.isError||e.data===void 0?pt(Be,{message:"Failed to fetch data from server."}):pt(Lr,{children:t(e.data)})}var to=Tl;import{cookieParse as Pl}from"pocketbase";function Rl(e,t){return t?JSON.stringify(e):e}function z(c,s){return S(this,arguments,function*(e,t,{method:r="GET",body:o,timeout:n=3e4,raiseError:a=!0}={}){var u;let i=!!o&&!(o instanceof FormData||o instanceof URLSearchParams||o instanceof Blob),d=(u=Pl(document.cookie).token)!=null?u:"";try{let m=new URL(t,e),f=yield fetch(m.toString(),{method:r,signal:AbortSignal.timeout(n),headers:y({Authorization:d?`Bearer ${d}`:""},i?{"Content-Type":"application/json"}:{}),body:o&&Rl(o,i)});if(!f.ok){let b=yield f.json();throw new Error(b.message||"Failed to perform API request")}if(f.status===204)return;let p=yield f.json();if(p.state==="error")throw new Error(p.message||"API returned an error");if(p.state==="success")return p.data;throw new Error("Unexpected API response format")}catch(m){if(a)throw m instanceof Error?m:new Error("Failed to perform API request");return}})}import{useMemo as El}from"react";import{useSearchParams as _l}from"react-router";import{Icon as Er}from"@iconify/react";import Fl from"clsx";import{jsx as oo,jsxs as Ll}from"react/jsx-runtime";function Ml({icon:e,text:t,color:r,onRemove:o}){let{componentBgLighter:n}=M();return Ll("span",{className:Fl("flex-center gap-1 rounded-full px-2 py-1 text-sm",r===void 0&&`text-bg-500 dark:text-bg-400 ${n}`),style:r!==void 0?{backgroundColor:r+"20",color:r}:{},children:[oo(Er,{className:"size-4",icon:e}),t,oo("button",{onClick:o,children:oo(Er,{className:"size-4",icon:"tabler:x"})})]})}var _r=Ml;import{Fragment as Bl,jsx as ro}from"react/jsx-runtime";function Ol({items:e}){let[t,r]=_l(),{theme:o}=M(),n=El(()=>{var i,l;if(o.startsWith("#"))return o;let[a,c,s]=(l=(i=o.match(/\((\d+), (\d+), (\d+)\)/))==null?void 0:i.slice(1))!=null?l:[];return rt(Number(a),Number(c),Number(s))},[o]);return Object.values(e).every(({data:a})=>typeof a!="string")&&Object.keys(e).some(a=>!!t.get(a))?ro("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:Object.entries(e).map(([a,{data:c,isColored:s}])=>typeof c!="string"&&t.get(a)?(()=>{var l,d,u;let i=c.find(m=>m.id===t.get(a));return i===void 0?null:ro(_r,{color:s===!0?(l=i.color)!=null?l:n:void 0,icon:(d=i.icon)!=null?d:"",text:(u=i.name)!=null?u:"",onRemove:()=>{t.delete(a),r(t)}},a)})():null)}):ro(Bl,{})}var Al=Ol;import{Icon as $l}from"@iconify/react";import ql from"clsx";import{useEffect as Ul,useRef as Ql}from"react";import{Icon as zl}from"@iconify/react/dist/iconify.js";import Or from"lodash";import{Tooltip as Dl}from"react-tooltip";import{Fragment as Hl,jsx as no,jsxs as Wl}from"react/jsx-runtime";function Ce({id:e,icon:t,children:r,tooltipProps:o}){return Wl(Hl,{children:[no("span",{"data-tooltip-id":`tooltip-${Or.kebabCase(e)}`,children:no(zl,{className:"size-5 text-bg-500",icon:t})}),no(Dl,N(y({className:"z-9999 rounded-md! bg-bg-50 p-4! text-base! text-bg-800 shadow-custom dark:bg-bg-900 dark:text-bg-50",classNameArrow:"size-6!",id:`tooltip-${Or.kebabCase(e)}`,opacity:1,place:"top-start",positionStrategy:"fixed"},o),{children:r}))]})}import{Fragment as Gl,jsx as De,jsxs as He}from"react/jsx-runtime";function Vl({title:e,desc:t,icon:r,vertical:o=!1,tooltip:n,hasDivider:a=!0,children:c,wrapWhen:s="md",noDefaultBreakpoints:i=!1,className:l}){let d=Ql(null);return Ul(()=>{d.current&&d.current.getBoundingClientRect()},[d]),He(Gl,{children:[He("div",{ref:d,className:ql("flex w-full min-w-0 flex-col justify-between gap-8 px-4",!o&&!i&&{sm:"sm:flex-row",md:"md:flex-row",lg:"lg:flex-row",xl:"xl:flex-row"}[s],o&&"flex-col",l),children:[He("div",{className:"flex shrink items-center gap-4",children:[De($l,{className:"size-6 shrink-0 text-bg-500",icon:r}),He("div",{children:[He("h3",{className:"flex w-full items-center gap-2 text-xl leading-normal font-medium md:w-auto",children:[e,n!==void 0&&De(Ce,{icon:"tabler:info-circle",id:(e==null?void 0:e.toString())||"",children:n})]}),De("p",{className:"text-bg-500",children:t})]})]}),De("div",{className:"flex w-full min-w-0 shrink-0 items-center gap-4 md:w-auto",children:c})]}),a&&De("div",{className:"my-6 w-full border-b-[1.5px] border-bg-200 dark:border-bg-800/50"})]})}var Kl=Vl;import{Icon as Ar}from"@iconify/react";import le from"clsx";import{Fragment as ut,jsx as D,jsxs as ge}from"react/jsx-runtime";function Yl({currentPage:e,onPageChange:t,totalPages:r,className:o=""}){let n=()=>{let a=[],s=Math.max(e>r-5?r-5+1:e<5?1:e-Math.floor(2.5),1),i=Math.min(r,s+5-1);s>2&&a.push(ge(ut,{children:[D("button",{className:le("hidden rounded-md px-3 py-2 lg:block",e===1?"font-semibold text-custom-500":"text-bg-500 hover:bg-bg-200 dark:hover:bg-bg-800"),onClick:()=>{t(1)},children:1},1),D(Ar,{className:"hidden text-bg-500 lg:block",icon:"uil:ellipsis-h"})]}));for(let l=s;l<=i;l++)a.push(ge("button",{className:le("rounded-md px-5 py-3",e===l?"font-semibold lg:text-custom-500":"hidden text-bg-500 hover:bg-bg-200 lg:block dark:hover:bg-bg-800"),onClick:()=>{t(l)},children:[D("span",{className:"inline lg:hidden",children:"Page "}),l,ge("span",{className:"inline lg:hidden",children:[" / ",r]})]},l));return i<r&&a.push(ge(ut,{children:[i<r-1&&D(Ar,{className:"hidden text-bg-500 lg:block",icon:"uil:ellipsis-h"}),D("button",{className:le("hidden rounded-md px-5 py-3 lg:block",e===r?"font-semibold text-custom-500":"text-bg-500 hover:bg-bg-200 dark:hover:bg-bg-800"),onClick:()=>{t(r)},children:r},r)]})),a};return ge("div",{className:le("flex-between flex gap-2",o),children:[e!==1?ge(ut,{children:[D(g,{className:le("hidden w-32 sm:flex"),disabled:e===1,icon:"uil:angle-left",variant:"plain",onClick:()=>{e>1&&t(e-1)},children:"Previous"}),D(g,{className:le("w-12 sm:hidden"),icon:"uil:angle-left",variant:"plain",onClick:()=>{e>1&&t(e-1)}})]}):D("span",{className:"w-12 sm:w-32"}),D("div",{className:"flex items-center gap-2",children:n()}),e<r?ge(ut,{children:[D(g,{iconAtEnd:!0,className:le("w-12 sm:hidden"),icon:"uil:angle-right",variant:"plain",onClick:()=>{e<r&&t(e+1)}}),D(g,{iconAtEnd:!0,className:le("hidden w-32 sm:flex"),disabled:e===r,icon:"uil:angle-right",variant:"plain",onClick:()=>{e<r&&t(e+1)},children:"Next"})]}):D("span",{className:"w-12 sm:w-32"})]})}var ft=Yl;import{Scrollbars as Xl}from"react-custom-scrollbars";import{jsx as ao}from"react/jsx-runtime";function Jl(r){var o=r,{children:e}=o,t=ot(o,["children"]);return ao(Xl,N(y({},t),{autoHide:!0,autoHideDuration:200,renderThumbVertical:n=>ao("div",N(y({},n),{className:"rounded-lg bg-bg-300 dark:bg-bg-800"})),renderView:n=>ao("div",N(y({},n),{className:"flex min-h-0 flex-1 flex-col"})),children:e}))}var j=Jl;import{Icon as Zl}from"@iconify/react";import jl from"clsx";import{jsx as io,jsxs as Br}from"react/jsx-runtime";function ec({items:e,enabled:t,active:r,onNavClick:o,className:n}){return io("div",{className:"mb-6 flex items-center",children:e.filter(({id:a})=>t.includes(a)).map(({name:a,icon:c,id:s})=>{var i,l;return Br("button",{className:jl("flex w-full min-w-0 cursor-pointer items-center justify-center gap-2 border-b-2 p-4 tracking-widest uppercase transition-all",r===s?"border-custom-500 font-medium text-custom-500":"border-bg-400 text-bg-400 hover:border-bg-800 hover:text-bg-800 dark:border-bg-500 dark:text-bg-500 dark:hover:border-bg-200 dark:hover:text-bg-200",n),onClick:()=>{o(s)},children:[io(Zl,{className:"size-5 shrink-0",icon:c}),io("span",{className:"truncate sm:block",children:a}),((i=e.find(d=>d.name===a))==null?void 0:i.amount)!==void 0&&Br("span",{className:"hidden text-sm sm:block",children:["(",(l=e.find(d=>d.name===a))==null?void 0:l.amount,")"]})]},s)})})}var so=ec;import{Icon as tc}from"@iconify/react";import zr from"clsx";import{jsx as lo}from"react/jsx-runtime";function oc({viewMode:e,setViewMode:t,options:r,className:o}){let{componentBg:n,componentBgLighter:a}=M();return lo("div",{className:zr("mt-4 flex items-center gap-2 rounded-md p-2 shadow-custom",n,o),children:r.map(({value:c,icon:s})=>lo("button",{className:zr("flex items-center gap-2 rounded-md p-2 transition-all",c===e?a:"text-bg-500 hover:text-bg-800 dark:hover:text-bg-50"),onClick:()=>{t(c)},children:lo(tc,{className:"size-6",icon:s})},c))})}var rc=oc;import{Icon as nc}from"@iconify/react";import ac from"clsx";import ic from"lodash";import{useTranslation as sc}from"react-i18next";import{jsx as Dr,jsxs as co}from"react/jsx-runtime";function lc({ref:e,className:t="",icon:r,title:o,children:n,componentBesideTitle:a,namespace:c="core.dashboard"}){let{t:s}=sc(c),{componentBg:i}=M();return co("div",{ref:e,className:ac("flex size-full flex-col gap-4 rounded-lg p-6 shadow-custom",i,t),children:[co("div",{className:"mb-2 flex-between flex",children:[co("h2",{className:"flex items-center gap-2 text-xl font-semibold",children:[Dr(nc,{className:"text-2xl",icon:r}),Dr("span",{className:"ml-2",children:s(`widgets.${ic.camelCase(o)}.title`)})]}),a]}),n]})}var cc=lc;import{Fragment as fc,jsx as we,jsxs as mo}from"react/jsx-runtime";function uc({location:e,setLocation:t,namespace:r,label:o,required:n,disabled:a}){let{t:c}=pc("common.misc"),{apiHost:s}=P(),[i,l]=Wr(""),d=mc(i,500),[u,m]=Wr(!1),f=dc({queryKey:["locations",d],queryFn:()=>z(s,`/locations?q=${d}`),enabled:d.trim()!==""});return Hr(()=>{i.trim()===""&&f.refetch()},[i]),Hr(()=>{z(s,"/locations/enabled").then(p=>m(p))},[]),mo("div",{className:"relative flex w-full items-center gap-4",children:[we(U,{className:"w-full",customActive:!!e,disabled:!u||a,displayValue:p=>p!=null?p:"",icon:"tabler:map-pin",name:o||"Location",namespace:r,required:n,setQuery:l,setValue:t,type:"combobox",value:e,children:i.trim()!==""&&we(to,{query:f,children:p=>we(fc,{children:p.predictions.map(b=>we(Q,{matchedSubstrings:b.matched_substrings,text:b.description,type:"combobox",value:b.description},b.place_id))})})}),!u&&mo("div",{className:"absolute top-1/2 right-6 flex-center -translate-y-1/2 gap-2 text-bg-500",children:[c("locationDisabled.title"),we(Ce,{icon:"tabler:info-circle",id:"location-disabled",tooltipProps:{positionStrategy:"fixed",clickable:!0,place:"top-end"},children:mo("p",{className:"max-w-64 text-bg-500",children:[c("locationDisabled.description")," ",we("a",{className:"font-medium text-custom-500 underline decoration-custom-500 decoration-2",href:"https://docs.lifeforge.melvinchia.dev/user-guide/api-keys#location",rel:"noopener noreferrer",target:"_blank",children:"API Keys Guide"})]})})]})]})}var po=uc;import{ComboboxOption as bc,ListboxOption as gc}from"@headlessui/react";import{Icon as $r}from"@iconify/react";import qr from"clsx";import{Fragment as xc,jsx as he,jsxs as Ur}from"react/jsx-runtime";function hc({value:e,text:t,icon:r,iconAtEnd:o=!1,color:n,type:a="listbox",matchedSubstrings:c,noCheckmark:s=!1}){let i=a==="listbox"?gc:bc,l=(d,u)=>d===void 0||!d.some(({offset:m,length:f})=>u>=m&&u<m+f)?"":"font-medium text-bg-800 dark:text-bg-100";return he(i,{className:"re