@lifeforge/ui
Version:
LifeForge UI component library
2 lines • 127 kB
JavaScript
"use strict";var Ts=Object.create;var Dt=Object.defineProperty,Rs=Object.defineProperties,Ps=Object.getOwnPropertyDescriptor,Fs=Object.getOwnPropertyDescriptors,Ms=Object.getOwnPropertyNames,Jt=Object.getOwnPropertySymbols,Es=Object.getPrototypeOf,rr=Object.prototype.hasOwnProperty,ca=Object.prototype.propertyIsEnumerable;var sa=(e,t,o)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,k=(e,t)=>{for(var o in t||(t={}))rr.call(t,o)&&sa(e,o,t[o]);if(Jt)for(var o of Jt(t))ca.call(t,o)&&sa(e,o,t[o]);return e},T=(e,t)=>Rs(e,Fs(t));var Xt=(e,t)=>{var o={};for(var r in e)rr.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&Jt)for(var r of Jt(e))t.indexOf(r)<0&&ca.call(e,r)&&(o[r]=e[r]);return o};var Ls=(e,t)=>{for(var o in t)Dt(e,o,{get:t[o],enumerable:!0})},da=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Ms(t))!rr.call(e,a)&&a!==o&&Dt(e,a,{get:()=>t[a],enumerable:!(r=Ps(t,a))||r.enumerable});return e};var b=(e,t,o)=>(o=e!=null?Ts(Es(e)):{},da(t||!e||!e.__esModule?Dt(o,"default",{value:e,enumerable:!0}):o,e)),As=e=>da(Dt({},"__esModule",{value:!0}),e);var R=(e,t,o)=>new Promise((r,a)=>{var n=s=>{try{l(o.next(s))}catch(c){a(c)}},i=s=>{try{l(o.throw(s))}catch(c){a(c)}},l=s=>s.done?r(s.value):Promise.resolve(s.value).then(n,i);l((o=o.apply(e,t)).next())});var rm={};Ls(rm,{Button:()=>x,Checkbox:()=>Sa,ColorInput:()=>po,ColorPickerModal:()=>Do,ConfigColumn:()=>ri,ContentWrapperWithSidebar:()=>vs,CurrencyInput:()=>Fl,DashboardItem:()=>ui,DateInput:()=>uo,DeleteConfirmationModal:()=>zn,DnDContainer:()=>zo,EmptyStateScreen:()=>Pe,ErrorScreen:()=>wt,FAB:()=>Ra,FileAndImagePickerModal:()=>Uo,FormModal:()=>On,GoBackButton:()=>kt,HamburgerMenu:()=>ro,HamburgerMenuSelectorWrapper:()=>Oa,HeaderFilter:()=>Zn,IconInput:()=>bo,IconPickerModal:()=>Eo,ImageAndFileInput:()=>fo,InputIcon:()=>M,InputLabel:()=>E,InputWrapper:()=>H,LayoutWithSidebar:()=>Is,LifeforgeUIProvider:()=>Us,ListboxNullOption:()=>go,ListboxOrComboboxInput:()=>te,ListboxOrComboboxOption:()=>oe,ListboxOrComboboxOptions:()=>Gt,LoadingScreen:()=>Re,LocationInput:()=>xo,MenuItem:()=>Ha,ModalHeader:()=>A,ModalManager:()=>Cr,ModalWrapper:()=>Ve,ModuleHeader:()=>Ss,ModuleWrapper:()=>Cs,NotFoundScreen:()=>rn,Pagination:()=>Qt,PreviewContainer:()=>$o,QRCodeScanner:()=>ho,QueryWrapper:()=>an,Scrollbar:()=>ke,SearchInput:()=>de,SidebarDivider:()=>xs,SidebarItem:()=>ps,SidebarTitle:()=>bs,SidebarWrapper:()=>ql,Switch:()=>It,Tabs:()=>To,TagsInput:()=>Ol,TextAreaInput:()=>Ct,TextInput:()=>Ue,Tooltip:()=>st,ViewModeSelector:()=>si,useLifeforgeUIContext:()=>F,useModalStore:()=>Y});module.exports=As(rm);var eo=b(require("lodash")),to=require("react"),ka=require("react-i18next");var Os={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)"},ma=Os;var xa=b(require("lodash")),nr=require("react");var pa=b(require("javascript-color-gradient"));function Bs(e){return e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(t,o,r,a)=>"#"+o+o+r+r+a+a).substring(1).match(/.{2}/g).map(t=>parseInt(t,16))}function Ds(e,t,o){e/=255,t/=255,o/=255;let r=Math.max(e,t,o),a=Math.min(e,t,o),n,i,l=(r+a)/2;if(r===a)n=i=0;else{let s=r-a;switch(i=l>.5?s/(2-r-a):s/(r+a),r){case e:n=(t-o)/s+(t<o?6:0);break;case t:n=(o-e)/s+2;break;case o:n=(e-t)/s+4;break}n!==void 0&&(n/=6)}return[n!=null?n:0,i,l]}function Hs(e,t,o){let r,a,n;if(t===0)r=a=n=o;else{let l=function(d,p,m){return m<0&&(m+=1),m>1&&(m-=1),m<1/6?d+(p-d)*6*m:m<1/2?p:m<2/3?d+(p-d)*(2/3-m)*6:d};var i=l;let s=o<.5?o*(1+t):o+t-o*t,c=2*o-s;r=l(c,s,e+1/3),a=l(c,s,e),n=l(c,s,e-1/3)}return[r*255,a*255,n*255]}function Zt(e,t,o){return"#"+[e,t,o].map(r=>{let a=Math.floor(r).toString(16);return a.length===1?"0"+a:a}).join("")}var ar=(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]],zs=([e,t,o])=>[e,isNaN(o)?0:t*Math.cos(o*Math.PI/180),isNaN(o)?0:t*Math.sin(o*Math.PI/180)],$s=e=>e.map(t=>Math.abs(t)>.0031308?(t<0?-1:1)*(1.055*Math.abs(t)**(1/2.4)-.055):12.92*t),_s=e=>{let o=ar([1,.3963377773761749,.2158037573099136,1,-.1055613458156586,-.0638541728258133,1,-.0894841775298119,-1.2914855480194092],e).map(r=>r**3);return ar([1.2268798758459243,-.5578149944602171,.2813910456659647,-.0405757452148008,1.112286803280317,-.0717110580655164,-.0763729366746601,-.4214933324022432,1.5869240198367816],o)},Ws=e=>ar([3.2409699419045226,-1.537383177570094,-.4986107602930034,-.9692436362808796,1.8759675015077202,.04155505740717559,.05563007969699366,-.20397695888897652,1.0569715142428786],e),qs=e=>$s(Ws(_s(zs(e))));function ua(e){let t=e.match(/\(([^)]+)\)/)[1],[o,r,a]=t.split(" ").map(i=>parseFloat(i));o/=100;let n=qs([o,r,a]).map(i=>Math.max(0,Math.min(1,i)));return Zt(Math.round(n[0]*255),Math.round(n[1]*255),Math.round(n[2]*255))}function fa(e,t,o){let r=e;if(t==="bg"){let[i,l,s]=Bs(e),[c,d,p]=Ds(i,l,s);p=o==="dark"?.4:.7;let[m,f,u]=Hs(c,d,p);r=Zt(m,f,u)}let a=new pa.default().setColorGradient("#FFFFFF",r,"#000000").setMidpoint(14).getColors().slice(1,-1);return[50,100,200,300,400,500,600,700,800,900,950].reduce((i,l,s)=>(i[l]=a[s],i),{})}var yt=require("react");var ga=require("react/jsx-runtime"),ba=(0,yt.createContext)(void 0),Us=({children:e,personalization:t})=>{let o=(0,yt.useMemo)(()=>k({apiHost:"",theme:"dark",themeColor:"lime",bgTemp:"zinc",bgImage:"",setTheme:()=>{},setThemeColor:()=>{},setBgTemp:()=>{},setBgImage:()=>{},language:"en",toggleSidebar:()=>{},sidebarExpanded:!0},t),[t==null?void 0:t.apiHost,t==null?void 0:t.theme,t==null?void 0:t.themeColor,t==null?void 0:t.bgTemp,t==null?void 0:t.bgImage,t==null?void 0:t.language,t==null?void 0:t.sidebarExpanded]);return(0,ga.jsx)(ba.Provider,{value:o,children:e})},F=()=>{let e=(0,yt.useContext)(ba);if(e===void 0)throw new Error("useLifeforgeUIContext must be used within a LifeforgeUIProvider");return e};var Qs={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 Se(){let{theme:e,themeColor:t,bgTemp:o}=F(),r=(0,nr.useMemo)(()=>t.startsWith("#")?t:ma[xa.default.camelCase(t.replace("theme-","").replace(/-/g," "))],[t]),a=(0,nr.useMemo)(()=>o.startsWith("#")?fa(o,"bg",e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e):Qs[o.replace("bg-","")],[o]);return{theme:r,bgTemp:a}}var ir=b(require("tinycolor2")),Ks=(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`,Vs=(e,t,o)=>{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 disabled:text-red-300 disabled:hover:text-red-300 disabled:hover:bg-transparent disabled:dark:hover:bg-transparent disabled:bg-transparent dark:disabled:bg-transparent dark:disabled:text-red-900/50 dark:disabled:hover:bg-transparent";case"tertiary":return"text-red-500 hover:bg-red-500/10 dark:hover:bg-red-500/10 disabled:hover:shadow-none disabled:hover:bg-transparent hover:shadow-custom disabled:text-red-300 disabled:hover:text-red-300 dark:disabled:text-red-900/50 dark:disabled:hover:bg-transparent";case"secondary":return"border-[1.6px] border-red-500 shadow-custom text-red-500 disabled:border-red-300 hover:bg-red-500/15 disabled:text-red-300 disabled:hover:border-red-300 disabled:hover:text-red-300 disabled:hover:bg-transparent dark:disabled:border-red-900/50 dark:disabled:text-red-900/50 dark:disabled:hover:border-red-900/50 dark:disabled:hover:bg-transparent";case"primary":default:return`bg-red-500 shadow-custom hover:bg-red-600 ${(0,ir.default)(o).isLight()?"text-bg-800 dark:text-bg-800":"text-bg-50 dark:text-bg-50"} disabled:bg-red-500/10 disabled:text-red-300 disabled:hover:bg-red-500/10 dark:disabled:bg-red-500/10 dark:disabled:text-red-900/50 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-300 disabled:dark:hover:text-bg-500 disabled:hover:bg-transparent disabled:dark:hover:bg-transparent disabled:text-bg-300 dark:disabled:text-bg-700 dark:disabled:hover:text-bg-700!";case"tertiary":return"text-custom-500 hover:bg-custom-500/15 disabled:hover:shadow-none disabled:hover:bg-transparent hover:shadow-custom dark:disabled:text-bg-700 dark:disabled:hover:text-bg-700 disabled:text-bg-300 disabled:hover:text-bg-300";case"secondary":return"border-[1.6px] border-custom-500 shadow-custom text-custom-500 hover:bg-custom-500/10 disabled:border-bg-300 disabled:text-bg-300 disabled:hover:border-bg-300 disabled:hover:text-bg-300 disabled:hover:bg-transparent dark:disabled:border-bg-700 dark:disabled:text-bg-700 dark:disabled:hover:border-bg-700";case"primary":default:return`bg-custom-500 shadow-custom hover:bg-custom-600 ${(0,ir.default)(o).isLight()?"text-bg-800 dark:text-bg-800":"text-bg-50 dark:text-bg-50"} disabled:bg-bg-200 disabled:text-bg-400 disabled:hover:bg-bg-200 dark:disabled:bg-bg-800 dark:disabled:text-bg-700 dark:disabled:hover:bg-bg-800`}},ha=(e,t,o,r,a,n)=>`${Ks(t,o)} ${Vs(r,a,e)} ${n}`;var va=require("@iconify/react/dist/iconify.js"),ya=b(require("clsx")),jt=require("react"),Ia=require("react/jsx-runtime");function Gs({icon:e,disabled:t,loading:o,iconClassName:r}){let a=(0,jt.useMemo)(()=>o?"svg-spinners:180-ring":t?"tabler:ban":e,[e,t,o]);return(0,Ia.jsx)(va.Icon,{className:(0,ya.default)("size-5 shrink-0",r),icon:a})}var lr=(0,jt.memo)(Gs);var Ht=require("react/jsx-runtime"),Ys={iconAtEnd:!1,loading:!1,disabled:!1,className:"",variant:"primary",isRed:!1,namespace:"common.buttons"};function Js(n){var i=n,{as:e,children:t,icon:o,onClick:r}=i,a=Xt(i,["as","children","icon","onClick"]);let{theme:l}=Se(),s=e||"button",c=(0,to.useMemo)(()=>k(k({},Ys),a),[a]),d=ha(l,!!t,c.iconAtEnd,c.isRed,c.variant,c.className),{t:p}=(0,ka.useTranslation)(c.namespace);return(0,Ht.jsxs)(s,T(k({},a),{className:d,disabled:c.loading||c.disabled,type:"button",onClick:r,children:[!c.iconAtEnd&&(0,Ht.jsx)(lr,{disabled:c.disabled,icon:o,iconClassName:c.iconClassName,loading:c.loading}),t&&typeof t=="string"?p([`common.buttons:${eo.default.camelCase(t)}`,`buttons.${eo.default.camelCase(t)}`,`${c.tKey}.buttons.${eo.default.camelCase(t)}`,t],c.tProps):t,c.iconAtEnd&&(0,Ht.jsx)(lr,{disabled:c.disabled,icon:o,iconClassName:c.iconClassName,loading:c.loading})]}))}var x=(0,to.memo)(Js);var Ca=require("@headlessui/react"),oo=b(require("clsx")),wa=b(require("tinycolor2"));var sr=require("react/jsx-runtime");function Xs({checked:e,onChange:t}){let{theme:o}=Se(),r=()=>e?(0,oo.default)((0,wa.default)(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(0,sr.jsx)(Ca.Switch,{checked:e,className:(0,oo.default)("relative inline-flex h-6 w-11 shrink-0 items-center rounded-full",e?"bg-custom-500":"darker-component-bg-with-hover"),onChange:t,children:(0,sr.jsx)("span",{className:(0,oo.default)("inline-block size-4 shrink-0 rounded-full transition",r())})})}var It=Xs;var Na=require("@iconify/react"),cr=b(require("clsx")),dr=require("react/jsx-runtime");function Zs({checked:e,onChange:t,className:o}){return(0,dr.jsx)("button",{className:(0,cr.default)("flex-center ring-offset-bg-50 dark:ring-offset-bg-900 group relative z-50 size-5 shrink-0 cursor-pointer rounded-full ring-2 ring-offset-2 transition-all",e?"ring-custom-500":"ring-bg-200 hover:ring-bg-600! dark:ring-bg-500 dark:hover:ring-bg-300!",o),onClick:r=>{r.preventDefault(),r.stopPropagation(),t(r)},children:(0,dr.jsx)(Na.Icon,{className:(0,cr.default)("size-4 stroke-1",e?"stroke-custom-500 text-custom-500":"stroke-bg-800 text-bg-800 dark:stroke-bg-100 dark:text-bg-100 opacity-0 group-hover:opacity-50"),icon:"uil:check"})})}var Sa=Zs;var Ta=b(require("clsx"));var Pa=require("react/jsx-runtime");function js({onClick:e,icon:t="tabler:plus",text:o="",hideWhen:r="sm",alwaysShow:a=!1,as:n,isRed:i,loading:l}){return(0,Pa.jsx)(x,{alwaysShow:a,as:n!=null?n:"button",className:(0,Ta.default)("fixed bottom-6 right-6 z-[9992] shadow-lg",!a&&{sm:"sm:hidden",md:"md:hidden",lg:"lg:hidden",xl:"xl:hidden"}[r]),icon:t,isRed:i,loading:l,onClick:e,children:o})}var Ra=js;var Fa=require("react-i18next");var Ma=require("react/jsx-runtime");function ec({onClick:e}){let{t}=(0,Fa.useTranslation)("common.misc");return(0,Ma.jsx)(x,{className:"hover:bg-transparent! dark:hover:bg-transparent! mb-2 w-min px-0 py-2 pl-2",icon:"tabler:chevron-left",variant:"plain",onClick:e,children:t(["buttons.goBack","Go Back"])})}var kt=ec;var ve=require("@headlessui/react"),Ea=b(require("clsx")),La=require("react");var tt=require("react/jsx-runtime");function tc(e){let{children:t,anchor:o,classNames:r,customIcon:a,onClick:n,onClose:i}=e,l=(0,La.useCallback)(s=>{s.preventDefault(),s.stopPropagation(),n!==void 0&&n(s)},[n]);return(0,tt.jsxs)(ve.Menu,{as:"div",className:r==null?void 0:r.wrapper,children:[(0,tt.jsx)(x,{as:ve.MenuButton,className:r==null?void 0:r.button,icon:a!=null?a:"tabler:dots-vertical",iconClassName:r==null?void 0:r.icon,variant:"plain",onClick:l}),(0,tt.jsx)(ve.Transition,{afterLeave:i,enter:"transition-opacity duration-200",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"transition-opacity duration-150",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:(0,tt.jsx)(ve.TransitionChild,{children:(0,tt.jsx)(ve.MenuItems,{transition:!0,anchor:o!=null?o:"bottom end",className:(0,Ea.default)("z-9999 border-bg-200 bg-bg-100 text-bg-500 focus:outline-hidden data-closed:scale-95 data-closed:opacity-0 dark:border-bg-700 dark:bg-bg-800 min-w-[var(--button-width)] overflow-auto rounded-md border text-base shadow-lg transition duration-100 ease-out [--anchor-gap:12px] empty:invisible",r==null?void 0:r.menu),children:t})})})]})}var ro=tc;var Aa=require("@iconify/react"),ot=require("react/jsx-runtime");function oc({icon:e,title:t,children:o,className:r}){return(0,ot.jsxs)("div",{className:r,children:[(0,ot.jsxs)("span",{className:"text-bg-500 flex items-center gap-3 p-4",children:[(0,ot.jsx)(Aa.Icon,{className:"size-5",icon:e}),t]}),(0,ot.jsx)("div",{className:"p-4 pt-0",children:(0,ot.jsx)("ul",{className:"divide-bg-200 bg-bg-200/50 shadow-custom dark:divide-bg-700 dark:bg-bg-700/50 flex flex-col divide-y overflow-hidden rounded-md",children:o})})]})}var Oa=oc;var Ba=require("@headlessui/react"),ao=require("@iconify/react"),mr=b(require("clsx")),pr=b(require("lodash")),Da=require("react-i18next"),We=require("react/jsx-runtime");function rc(e,t,o){return e?"text-bg-300 dark:text-bg-700":t?`${o===!0?"text-red-600":"text-bg-800 dark:text-bg-50"} hover:text-bg-800 dark:hover:text-bg-50`:o?"text-red-500":"text-bg-500 dark:hover:text-bg-600"}function ac(e){return e===!0?"text-red-600":"text-bg-800 dark:text-bg-50"}function nc({icon:e,text:t,isRed:o=!1,onClick:r,isToggled:a=!1,disabled:n,preventDefault:i=!1,namespace:l="common.buttons",loading:s=!1,className:c}){let{t:d}=(0,Da.useTranslation)(l||"common.buttons");return(0,We.jsx)(Ba.MenuItem,{children:function({close:p}){return(0,We.jsxs)("button",{className:(0,mr.default)(rc(n||s,a,o),!n&&!s&&"hover:bg-bg-200 dark:hover:bg-bg-700/50","flex w-full items-center gap-3 p-4 text-left transition-all",c),disabled:n||s,onClick:m=>{i&&m.preventDefault(),m.stopPropagation(),r(m,p)},children:[s?(0,We.jsx)(ao.Icon,{className:"size-5 shrink-0",icon:"svg-spinners:180-ring"}):typeof e=="string"?(0,We.jsx)(ao.Icon,{className:"size-5 shrink-0",icon:e}):e,(0,We.jsx)("span",{className:"w-full truncate whitespace-nowrap",children:l!==!1?d([pr.default.camelCase(t),`buttons.${pr.default.camelCase(t)}`,t]):t}),a&&(0,We.jsx)(ao.Icon,{className:(0,mr.default)(ac(o),"ml-4 size-5 shrink-0"),icon:"tabler:check"})]})}})}var Ha=nc;var Ya=b(require("lodash")),qe=require("react"),Ja=require("react-i18next");var za=require("@iconify/react"),ur=require("react/jsx-runtime");function ic({actionButtonLoading:e,onActionButtonClick:t,actionButtonIcon:o}){return(0,ur.jsx)("button",{className:"text-bg-500 hover:bg-bg-300 hover:text-bg-800 focus:outline-hidden dark:hover:bg-bg-700/70 dark:hover:text-bg-200 mr-4 shrink-0 rounded-lg p-2 transition-all",disabled:e,tabIndex:-1,onClick:r=>{r.preventDefault(),r.stopPropagation(),t(r)},children:(0,ur.jsx)(za.Icon,{className:"size-6",icon:e?"svg-spinners:180-ring":o})})}var $a=ic;var _a=require("@iconify/react"),Wa=b(require("clsx")),qa=require("react"),Ua=require("react/jsx-runtime");function lc({icon:e,active:t,isFocused:o,className:r}){return(0,Ua.jsx)(_a.Icon,{className:(0,Wa.default)("group-focus-within:text-custom-500! group-data-open:text-custom-500! size-6 shrink-0 transition-all",!t&&"text-bg-500",o&&"text-custom-500",r),icon:e})}var M=(0,qa.memo)(lc);var Qa=b(require("clsx")),no=require("react"),io=require("react/jsx-runtime");function sc({label:e,active:t,focused:o,isListboxOrCombobox:r=!1,isCombobox:a=!1,required:n=!1}){let i=(0,no.useMemo)(()=>t?"top-5 -translate-y-1/2 text-[14px]":`top-1/2 -translate-y-1/2 ${r?`${a&&"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,a]);return(0,io.jsxs)("span",{className:(0,Qa.default)("text-bg-500 group-focus-within:text-custom-500! group-data-open:text-custom-500! pointer-events-none absolute left-[4.2rem] font-medium tracking-wide transition-all",o&&"text-custom-500",i),children:[e,n&&(0,io.jsx)("span",{className:"text-red-500",children:" *"})]})}var E=(0,no.memo)(sc);var Ka=b(require("clsx")),fr=require("react"),Va=require("react/jsx-runtime");function cc({darker:e=!1,className:t="",disabled:o=!1,inputRef:r,children:a}){let n=(0,fr.useCallback)(l=>{l.target.tagName!=="BUTTON"&&(r==null?void 0:r.current)!==void 0&&r.current!==null&&(r.current.focus(),["INPUT","TEXTAREA"].includes(l.target.tagName)||r.current.setSelectionRange(r.current.value.length,r.current.value.length))},[r]),i=(0,fr.useCallback)(l=>{l.key==="Enter"&&(l.preventDefault(),(r==null?void 0:r.current)!==void 0&&r.current!==null&&r.current.focus())},[r]);return(0,Va.jsx)("div",{className:(0,Ka.default)("border-bg-500 bg-bg-200/50 shadow-custom focus-within:!border-custom-500 hover:bg-bg-200 group relative flex shrink-0 items-center gap-1 rounded-t-lg border-b-2 pl-6 transition-all",e?"component-bg-lighter-with-hover":"component-bg-with-hover",t,o?"pointer-events-none! opacity-50":"cursor-text"),role:"button",tabIndex:0,onClick:n,onFocus:n,onKeyDown:i,children:a})}var H=cc;var Ga=b(require("clsx")),lo=require("react"),rt=require("react/jsx-runtime");function dc({value:e,setValue:t,isPassword:o=!1,inputMode:r,showPassword:a,placeholder:n,inputRef:i,reference:l,disabled:s=!1,noAutoComplete:c=!1,onKeyDown:d=()=>{},className:p="",onBlur:m=()=>{}}){let f=(0,lo.useRef)(null),u=(0,lo.useCallback)(g=>{l&&(l.current=g),i&&(i.current=g),f.current=g},[]);return(0,rt.jsxs)(rt.Fragment,{children:[o&&(0,rt.jsx)("input",{hidden:!0,type:"password",value:"",onChange:()=>{}}),(0,rt.jsx)("input",{ref:u,"aria-label":n,autoComplete:c?"off":"on",className:(0,Ga.default)("h-13 caret-custom-500 focus:outline-hidden focus:placeholder:text-bg-500 mt-6 w-full rounded-lg bg-transparent p-6 pl-4 tracking-wider placeholder:text-transparent",p),disabled:s,inputMode:r,placeholder:n,style:o&&a!==!0?{fontFamily:"Arial"}:{},type:o&&a!==!0?"password":"text",value:e,onBlur:g=>{m(),t(g.target.value.trim())},onChange:g=>{t(g.target.value)},onKeyDown:d})]})}var so=dc;var Te=require("react/jsx-runtime");function mc({actionButtonIcon:e="",actionButtonLoading:t=!1,className:o="",darker:r=!1,disabled:a=!1,icon:n,inputMode:i="text",isPassword:l=!1,name:s,noAutoComplete:c=!0,onActionButtonClick:d=()=>{},onKeyDown:p=()=>{},placeholder:m,ref:f,required:u,setValue:g,value:h,namespace:v,tKey:w}){let{t:I}=(0,Ja.useTranslation)(v||void 0),[y,C]=(0,qe.useState)(!1),L=(0,qe.useRef)(null),G=(0,qe.useMemo)(()=>{if(!v)return s;let ge=Ya.default.camelCase(s),xe=[w,"inputs",ge,"label"].filter(Boolean).join("."),Bt=[w,"inputs",ge].filter(Boolean).join(".");return I([xe,Bt,s])},[v,s,w,I]);return(0,Te.jsxs)(H,{className:o,darker:r,disabled:a,inputRef:L,children:[(0,Te.jsx)(M,{active:!!h&&String(h).length>0,icon:n}),(0,Te.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,Te.jsx)(E,{active:!!h&&String(h).length>0,label:G,required:u===!0}),(0,Te.jsx)(so,{disabled:a,inputMode:i,inputRef:L,isPassword:l,noAutoComplete:c,placeholder:m,reference:f,setValue:g,showPassword:y,value:h,onKeyDown:p}),l&&(0,Te.jsx)(x,{className:"mr-2",icon:y?"tabler:eye":"tabler:eye-off",variant:"plain",onMouseDown:()=>{C(!0)},onMouseUp:()=>{C(!1)},onTouchEnd:()=>{C(!1)},onTouchStart:()=>{C(!0)}}),e&&(0,Te.jsx)($a,{actionButtonIcon:e,actionButtonLoading:t,onActionButtonClick:d})]})]})}var Ue=(0,qe.memo)(mc);var br=b(require("lodash")),co=require("react"),Xa=require("react-i18next");var at=require("react/jsx-runtime");function pc({className:e="",darker:t=!1,disabled:o=!1,icon:r,name:a,placeholder:n,required:i,setValue:l,value:s,namespace:c,tKey:d}){let{t:p}=(0,Xa.useTranslation)(c||void 0),m=(0,co.useRef)(null);return(0,co.useEffect)(()=>{m.current&&(m.current.style.height="auto",m.current.style.height=m.current.scrollHeight+"px")},[s]),(0,at.jsxs)(H,{className:e,darker:t,disabled:o,inputRef:m,children:[(0,at.jsx)(M,{active:!!s&&String(s).length>0,icon:r}),(0,at.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,at.jsx)(E,{active:!!s&&String(s).length>0,label:c!==!1?p([[d,"inputs",br.default.camelCase(a),"label"].filter(f=>f).join("."),[d,"inputs",br.default.camelCase(a)].filter(f=>f).join(".")]):a,required:i===!0}),(0,at.jsx)("textarea",{ref:m,className:"outline-hidden focus:outline-hidden focus:placeholder:text-bg-500 -mb-3 mt-3 min-h-8 w-full resize-none rounded-lg bg-transparent p-6 pl-4 tracking-wide placeholder:text-transparent",placeholder:n,value:s,onInput:f=>{l(f.currentTarget.value)},onKeyDown:f=>{if(f.key==="Enter"){let u=f.currentTarget.selectionStart,g=f.currentTarget.value,h=g.slice(0,u)+`
`+g.slice(u);l(h),f.currentTarget.value=h,f.currentTarget.setSelectionRange(u+1,u+1),f.preventDefault()}}})]})]})}var Ct=pc;var Mr=require("@iconify/react"),ki=b(require("clsx")),Ci=b(require("lodash")),Lo=require("react"),wi=require("react-i18next");var Mn=require("@tanstack/react-query"),En=b(require("dayjs")),Ln=require("react"),An=require("react-toastify");var Za=require("@iconify/react"),zt=require("react/jsx-runtime");function uc({message:e}){return(0,zt.jsxs)("div",{className:"flex-center size-full flex-col gap-6",children:[(0,zt.jsx)(Za.Icon,{className:"size-12 text-red-500",icon:"tabler:alert-triangle"}),(0,zt.jsx)("p",{className:"text-center text-lg font-medium text-red-500",children:e})]})}var wt=uc;var $t=require("react/jsx-runtime");function Re({customMessage:e}){return(0,$t.jsxs)("div",{className:"flex-center size-full flex-col gap-6",children:[(0,$t.jsx)("span",{className:"loader"}),(0,$t.jsx)("p",{className:"text-bg-500 text-lg font-medium",children:e!=null?e:""})]})}var ja=require("@iconify/react"),_t=b(require("clsx")),en=require("react-i18next");var nt=require("react/jsx-runtime");function fc({onCTAClick:e,name:t,title:o,description:r,icon:a,ctaContent:n,ctaTProps:i,ctaIcon:l,customCTAButton:s,smaller:c=!1,namespace:d,tKey:p=""}){let{t:m}=(0,en.useTranslation)(d||void 0);return(0,nt.jsxs)("div",{className:(0,_t.default)("flex-center size-full flex-col",c?"gap-3":"gap-6"),children:[a!==void 0&&(typeof a=="string"?(0,nt.jsx)(ja.Icon,{className:(0,_t.default)("text-bg-300 dark:text-bg-500 shrink-0",c?"size-24":"size-32"),icon:a}):a),(0,nt.jsx)("h2",{className:(0,_t.default)("text-bg-500 px-6 text-center font-semibold",c?"text-3xl":"text-4xl"),children:t?m([p,"empty",t,"title"].filter(f=>f).join(".")):o}),(0,nt.jsx)("p",{className:(0,_t.default)("text-bg-500 -mt-2 whitespace-pre-wrap px-6 text-center",c?"text-base":"text-lg"),children:t?m([p,"empty",t,"description"].filter(f=>f).join(".")):r}),s!=null?s:n&&e&&(0,nt.jsx)(x,{className:"mt-6",icon:l!=null?l:"tabler:plus",tProps:i,onClick:()=>{e("create")},children:n})]})}var Pe=fc;var tn=require("react-i18next"),on=require("react-router");var Fe=require("react/jsx-runtime");function bc(){let{t:e}=(0,tn.useTranslation)("common.misc");return(0,Fe.jsxs)("div",{className:"flex-center w-full flex-col gap-6",children:[(0,Fe.jsx)("span",{className:"text-custom-500 text-[10rem]",children:";-;"}),(0,Fe.jsx)("h1",{className:"text-4xl font-semibold",children:e("notFound.title")}),(0,Fe.jsx)("p",{className:"text-bg-500 text-xl",children:e("notFound.description")}),(0,Fe.jsxs)("div",{className:"flex-center mt-6 gap-3",children:[(0,Fe.jsx)(x,{as:on.Link,icon:"tabler:arrow-left",to:"/",children:e("buttons.goBack")}),(0,Fe.jsx)(x,{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 rn=bc;var Qe=require("react/jsx-runtime");function gc({query:e,children:t,showLoading:o=!0}){return e.isLoading||e.isPending||e.isFetching||e.isRefetching?o?(0,Qe.jsx)(Re,{}):(0,Qe.jsx)(Qe.Fragment,{}):e.isError||e.data===void 0?(0,Qe.jsx)(wt,{message:"Failed to fetch data from server."}):(0,Qe.jsx)(Qe.Fragment,{children:t(e.data)})}var an=gc;var ln=require("@tanstack/react-query"),gr=require("react-toastify");var nn=require("pocketbase");function xc(e,t){return t?JSON.stringify(e):e}function Z(i,l){return R(this,arguments,function*(e,t,{method:o="GET",body:r,timeout:a=3e4,raiseError:n=!0}={}){var p;let s=!!r&&!(r instanceof FormData||r instanceof URLSearchParams||r instanceof Blob),d=(p=(0,nn.cookieParse)(document.cookie).session)!=null?p:"";try{let m=new URL(t,e),f=yield fetch(m.toString(),{method:o,signal:AbortSignal.timeout(a),headers:k({Authorization:d?`Bearer ${d}`:""},s?{"Content-Type":"application/json"}:{}),body:r&&xc(r,s)});if(!f.ok){let g=yield f.json();throw new Error(g.message||"Failed to perform API request")}if(f.status===204)return;let u=yield f.json();if(u.state==="error")throw new Error(u.message||"API returned an error");if(u.state==="success")return u.data;throw new Error("Unexpected API response format")}catch(m){if(n)throw m instanceof Error?m:new Error("Failed to perform API request");return}})}function hc(e,t,o,r){return(0,ln.useMutation)({mutationFn:a=>R(this,null,function*(){if(Object.values(a).some(n=>n instanceof File||typeof n=="object"&&(n==null?void 0:n.image)instanceof File)){let n=new FormData;return Object.entries(a).forEach(([i,l])=>{l instanceof File?n.append(i,l):typeof l=="object"&&(l==null?void 0:l.image)instanceof File?n.append(i,l.image):typeof l!="string"?n.append(i,JSON.stringify(l)):n.append(i,l)}),Z(t,o,{method:e==="create"?"POST":"PATCH",body:n})}return Object.keys(a).forEach(n=>{let i=a[n];typeof i=="object"&&Object.keys(i!=null?i:{}).includes("image")&&(typeof i.image=="string"?a[n]=i.image:i.image||delete a[n])}),Z(t,o,{method:e==="create"?"POST":"PATCH",body:a})}),onSuccess:a=>{var n;gr.toast.success(`Successfully ${e==="create"?"created":"updated"}!`),(n=r==null?void 0:r.onSuccess)==null||n.call(r,a)},onSettled:()=>{var a;(a=r==null?void 0:r.onSettled)==null||a.call(r)},onError:a=>{var n;console.error(a),gr.toast.error(`Failed to ${e==="create"?"create":"update"}`),(n=r==null?void 0:r.onError)==null||n.call(r)}})}var xr=hc;var mo=require("@iconify/react"),hr=require("@uidotdev/usehooks"),vr=b(require("clsx")),Wt=b(require("lodash")),sn=require("react"),cn=require("react-i18next");var se=require("react/jsx-runtime");function vc({title:e,needTranslate:t=!0,icon:o,hasAI:r=!1,onClose:a,actionButtonIcon:n,actionButtonIsRed:i=!1,onActionButtonClick:l,className:s="",appendTitle:c,namespace:d="common.modals"}){let{t:p}=(0,cn.useTranslation)(d),m=(0,hr.useDebounce)(e,100),f=(0,hr.useDebounce)(o,100);return(0,se.jsxs)("div",{className:(0,vr.default)("flex-between mb-4 flex gap-3",s),children:[(0,se.jsxs)("h1",{className:"flex w-full min-w-0 items-center gap-3 text-2xl font-semibold",children:[(0,se.jsx)(mo.Icon,{className:"size-7 shrink-0",icon:f}),(0,se.jsx)("span",{className:"min-w-0 truncate",children:t?p([`modals.${Wt.default.camelCase(m)}.title`,`modals.${Wt.default.camelCase(m)}`,`${Wt.default.camelCase(m)}.title`,`${Wt.default.camelCase(m)}`,`${m}.title`,`${m}`,`modals.${m}.title`,`modals.${m}`,m]):m}),r&&(0,se.jsx)(mo.Icon,{className:"size-5 shrink-0 text-yellow-500",icon:"mage:stars-c"}),c]}),(0,se.jsxs)("div",{className:"flex items-center gap-2",children:[n!==void 0&&(0,se.jsx)("button",{className:(0,vr.default)("hover:bg-bg-100 dark:hover:bg-bg-800 rounded-md p-2 transition-all",i?"text-red-500 hover:text-red-600":"text-bg-500 hover:text-bg-200"),onClick:l,children:(0,se.jsx)(mo.Icon,{className:"size-6",icon:n})}),(0,se.jsx)(x,{icon:"tabler:x",iconClassName:"size-6",variant:"plain",onClick:a})]})]})}var A=(0,sn.memo)(vc,(e,t)=>e.title===t.title&&e.icon===t.icon&&e.actionButtonIcon===t.actionButtonIcon&&e.actionButtonIsRed===t.actionButtonIsRed&&e.className===t.className&&e.appendTitle===t.appendTitle);var dn=require("@iconify/react/dist/iconify.js"),yr=b(require("lodash")),mn=require("react-i18next");var it=require("react/jsx-runtime");function yc({field:e,selectedData:t,namespace:o,handleChange:r}){let{t:a}=(0,mn.useTranslation)(o);return(0,it.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,it.jsxs)("div",{className:"flex items-center gap-2",children:[(0,it.jsx)(dn.Icon,{className:"size-6",icon:e.icon}),(0,it.jsx)("span",{className:"text-lg",children:a([["inputs",yr.default.camelCase(e.label),"label"].filter(n=>n).join("."),["inputs",yr.default.camelCase(e.label)].filter(n=>n).join(".")])})]}),(0,it.jsx)(It,{checked:t,onChange:()=>{r(!t)}})]})}var pn=yc;var fn=require("react/jsx-runtime");function Ic({field:e,selectedData:t,namespace:o,handleChange:r}){return(0,fn.jsx)(po,{color:t,disabled:e.disabled,name:e.label,namespace:o,required:e.required,setColor:r})}var un=Ic;var gn=require("react/jsx-runtime");function kc({field:e,selectedData:t,namespace:o,handleChange:r}){return(0,gn.jsx)(uo,{darker:!0,date:t,disabled:e.disabled,hasTime:e.hasTime,icon:e.icon,name:e.label,namespace:o,required:e.required,setDate:r})}var bn=kc;var hn=require("react/jsx-runtime");function Cc({field:e,selectedData:t,namespace:o,handleChange:r}){return(0,hn.jsx)(fo,{enablePixabay:!0,enableUrl:!0,acceptedMimeTypes:{images:["image/png","image/jpeg","image/webp"]},defaultAIPrompt:e.defaultImageGenerationPrompt,disabled:e.disabled,enableAI:e.enableAIImageGeneration,icon:"tabler:file",image:t.image,name:e.label,namespace:o,preview:t.preview,required:e.required,setData:r,onImageRemoved:()=>r({image:null,preview:null})})}var xn=Cc;var yn=require("react/jsx-runtime");function wc({field:e,selectedData:t,namespace:o,handleChange:r}){return(0,yn.jsx)(bo,{disabled:e.disabled,icon:t,name:e.label,namespace:o,required:e.required,setIcon:r})}var vn=wc;var qt=require("@iconify/react"),In=require("react/jsx-runtime");var P=require("react/jsx-runtime");function Nc({field:e,selectedData:t,namespace:o,handleChange:r}){var a,n,i,l,s,c,d,p,m,f;return(0,P.jsxs)(te,{buttonContent:e.multiple===!0&&Array.isArray(t)?(0,P.jsx)(P.Fragment,{children:t.length>0?t.map((u,g)=>{var h,v,w,I;return(0,P.jsxs)(In.Fragment,{children:[(0,P.jsx)(qt.Icon,{className:"size-5",icon:(v=(h=e.options.find(y=>y.value===u))==null?void 0:h.icon)!=null?v:""}),(0,P.jsx)("span",{className:"-mt-px block truncate",children:(I=(w=e.options.find(y=>y.value===u))==null?void 0:w.text)!=null?I:"None"}),g!==t.length-1&&(0,P.jsx)(qt.Icon,{className:"size-1",icon:"tabler:circle-filled"})]},u)}):(0,P.jsxs)(P.Fragment,{children:[e.nullOption!==void 0&&(0,P.jsx)(qt.Icon,{className:"size-5",icon:e.nullOption}),"None"]})}):(0,P.jsxs)(P.Fragment,{children:[!!((n=(a=e.options.find(u=>u.value===t))==null?void 0:a.icon)!=null?n:e.nullOption)&&(0,P.jsx)(qt.Icon,{className:"size-5",icon:(s=(l=(i=e.options.find(u=>u.value===t))==null?void 0:i.icon)!=null?l:e.nullOption)!=null?s:"",style:{color:(c=e.options.find(u=>u.value===t))==null?void 0:c.color}}),e.options.length&&e.options[0].icon===void 0&&e.options[0].color!==void 0&&(0,P.jsx)("span",{className:"size-2 rounded-full",style:{backgroundColor:(d=e.options.find(u=>u.value===t))==null?void 0:d.color}}),(0,P.jsx)("span",{className:"-mt-px block truncate",children:(m=(p=e.options.find(u=>u.value===t))==null?void 0:p.text)!=null?m:"None"})]}),disabled:e.disabled,icon:e.icon,multiple:e.multiple,name:e.label,namespace:o,required:e.required,setValue:r,type:"listbox",value:t,children:[e.nullOption!==void 0&&(0,P.jsx)(go,{hasBgColor:((f=e.options[0])==null?void 0:f.color)!==void 0,icon:e.nullOption}),e.options.map(({text:u,color:g,icon:h,value:v})=>(0,P.jsx)(oe,{color:g,icon:h,text:u,value:v},v))]})}var kn=Nc;var wn=require("react/jsx-runtime");function Sc({field:e,selectedData:t,namespace:o,handleChange:r}){return(0,wn.jsx)(xo,{disabled:e.disabled,label:e.label,location:t,namespace:o,required:e.required,setLocation:a=>r(a)})}var Cn=Sc;var Sn=require("react/jsx-runtime");function Tc({field:e,selectedData:t,namespace:o,handleChange:r}){return(0,Sn.jsx)(Ct,{darker:!0,disabled:e.disabled,icon:e.icon,name:e.label,namespace:o,placeholder:e.placeholder,required:e.required,setValue:r,value:t})}var Nn=Tc;var Tn=require("react");var lt=require("react/jsx-runtime");function Rc({field:e,selectedData:t,namespace:o,handleChange:r}){let[a,n]=(0,Tn.useState)(!1);return(0,lt.jsxs)(lt.Fragment,{children:[(0,lt.jsx)(Ue,{darker:!0,actionButtonIcon:e.qrScanner?"tabler:qrcode":"",disabled:e.disabled,icon:e.icon,isPassword:e.isPassword,name:e.label,namespace:o,placeholder:e.placeholder,required:e.required,setValue:r,value:t,onActionButtonClick:()=>{n(!0)}}),(0,lt.jsx)(ho,{isOpen:a,onClose:()=>{n(!1)},onScanned:i=>{r(i),n(!1)}})]})}var Rn=Rc;var z=require("react/jsx-runtime");function Pc({fields:e,data:t,setData:o,namespace:r}){let a=n=>i=>{o(l=>T(k({},l),{[n.id]:i}))};return(0,z.jsx)("div",{className:"space-y-3",children:e.map(n=>{let i=t[n.id];if(n.hidden)return(0,z.jsx)(z.Fragment,{});switch(n.type){case"text":return(0,z.jsx)(Rn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"textarea":return(0,z.jsx)(Nn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"datetime":return(0,z.jsx)(bn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"listbox":return(0,z.jsx)(kn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"color":return(0,z.jsx)(un,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"icon":return(0,z.jsx)(vn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"location":return(0,z.jsx)(Cn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"checkbox":return(0,z.jsx)(pn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);case"file":return(0,z.jsx)(xn,{field:n,handleChange:a(n),namespace:r,selectedData:i},n.id);default:return(0,z.jsx)(z.Fragment,{})}})})}var Pn=Pc;var Nt=require("react/jsx-runtime");function Fc({submitButtonProps:e,submitLoading:t,openType:o,onSubmitButtonClick:r}){return e?(0,Nt.jsx)(x,T(k({className:"mt-6 w-full"},e),{loading:t,onClick:r})):["create","update"].includes(o!=null?o:"")?(0,Nt.jsx)(x,{className:"mt-6 w-full",icon:o==="create"?"tabler:plus":"tabler:pencil",loading:t,onClick:r,children:o==="create"?"Create":"Update"}):(0,Nt.jsx)(Nt.Fragment,{})}var Fn=Fc;var ye=require("react/jsx-runtime");function Mc({fields:e,additionalFields:t,data:o,setData:r,title:a,icon:n,openType:i,onClose:l,loading:s=!1,onSubmit:c,id:d,endpoint:p,queryKey:m,getFinalData:f,sortBy:u,sortMode:g,submitButtonProps:h={children:"Submit",icon:"tabler:check"},customUpdateDataList:v,actionButtonIcon:w,actionButtonIsRed:I,onActionButtonClick:y,namespace:C}){let{apiHost:L}=F(),G=(0,Mn.useQueryClient)(),[ge,xe]=(0,Ln.useState)(!1),Bt=xr("create",L,p!=null?p:"",{onSettled:()=>{xe(!1)},onSuccess:Ne=>{v!=null&&v.create?v.create(Ne):G.setQueryData(m!=null?m:[],_e=>_e?[..._e,Ne].sort((le,U)=>u?g==="asc"?le[u]>U[u]?1:-1:le[u]<U[u]?1:-1:0):[]),l()}}),he=xr("update",L,`${p}/${d}`,{onSettled:()=>{xe(!1)},onSuccess:Ne=>{v!=null&&v.update?v.update(Ne):G.setQueryData(m!=null?m:[],_e=>_e?_e.map(le=>le.id===Ne.id?Ne:le).sort((le,U)=>u?g==="asc"?le[u]>U[u]?1:-1:le[u]<U[u]?1:-1:0):[]),l()}});function vt(){return R(this,null,function*(){let _e=e.filter(U=>U.required).filter(U=>{let D=o[U.id];return!D||typeof D=="string"&&!D.trim()||typeof D=="object"&&!Array.isArray(D)&&!D.image&&JSON.stringify(D)==="{}"});if(_e.length){An.toast.error(`The following fields are required: ${_e.map(U=>U.label).join(", ")}`);return}xe(!0);let le=Object.fromEntries(Object.entries(f?yield f(o):o).map(([U,D])=>D instanceof Date?[U,(0,En.default)(D).format("YYYY-MM-DDTHH:mm:ssZ")]:typeof D=="object"&&"image"in(D!=null?D:{})?[U,D.image]:JSON.parse(JSON.stringify([U,D]))));if(c){yield c(),xe(!1);return}i==="create"?Bt.mutate(le):i==="update"&&he.mutate(le)})}return(0,ye.jsxs)("div",{className:"min-w-[50vw]",children:[(0,ye.jsx)(A,{actionButtonIcon:w,actionButtonIsRed:I,icon:n,namespace:C,title:a,onActionButtonClick:y,onClose:l}),s?(0,ye.jsx)(Re,{}):(0,ye.jsxs)(ye.Fragment,{children:[(0,ye.jsx)(Pn,{data:o,fields:e,namespace:C,setData:r}),t,(0,ye.jsx)(Fn,{openType:i,submitButtonProps:h,submitLoading:ge,onSubmitButtonClick:vt})]})]})}var On=Mc;var Bn=require("@tanstack/react-query"),Ke=require("react"),Dn=require("react-i18next"),Hn=require("react-toastify");var ce=require("react/jsx-runtime");function Ec({onClose:e,data:{itemName:t,data:o,updateDataList:r,apiEndpoint:a,customTitle:n,customText:i,nameKey:l,customCallback:s,customConfirmButtonIcon:c,customConfirmButtonText:d,customOnClick:p,queryKey:m,queryUpdateType:f="mutate",multiQueryKey:u=!1,confirmationText:g=""}}){let{apiHost:h}=F(),{t:v}=(0,Dn.useTranslation)("common.modals"),[w,I]=(0,Ke.useState)(!1),y=(0,Bn.useQueryClient)(),[C,L]=(0,Ke.useState)(""),G=(0,Ke.useMemo)(()=>Array.isArray(o)?`${o.length} ${t}`:l?o==null?void 0:o[l]:`the ${t}`,[o,t,l]),ge=(0,Ke.useCallback)(he=>Array.isArray(o)?he.filter(vt=>!o.some(Ne=>Ne.id===vt.id)):he.filter(vt=>vt.id!==o.id),[o]),xe=(0,Ke.useCallback)(()=>{!o||!m||(u?m.forEach(he=>{f==="mutate"&&y.setQueryData(he,ge),f==="invalidate"&&y.invalidateQueries({queryKey:he})}):(f==="mutate"&&y.setQueryData(m,ge),f==="invalidate"&&y.invalidateQueries({queryKey:m})))},[o,m,f,u,ge]);function Bt(){return R(this,null,function*(){var he;if(o!==null){I(!0),yield Z(h,`${a}/${Array.isArray(o)?"":(he=o==null?void 0:o.id)!=null?he:""}`,{method:"DELETE",body:Array.isArray(o)?{ids:o}:void 0});try{e(),r&&r(),s&&s().then(()=>{I(!1),e()}).catch(console.error)}catch(vt){Hn.toast.error(v("deleteConfirmation.error"))}finally{xe(),I(!1)}}})}return(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.jsx)("h1",{className:"text-2xl font-semibold",children:n!=null?n:v("deleteConfirmation.title",{itemName:G})}),(0,ce.jsx)("p",{className:"text-bg-500 mt-2",children:i!=null?i:v("deleteConfirmation.desc",{itemName:t})}),g&&(0,ce.jsx)(Ue,{darker:!0,className:"mt-4",icon:"tabler:alert-triangle",name:"Confirmation",namespace:"common.modals",placeholder:v("deleteConfirmation.inputs.confirmation.placeholder",{text:g}),setValue:L,tKey:"deleteConfirmation",value:C}),(0,ce.jsxs)("div",{className:"mt-6 flex w-full flex-col-reverse justify-around gap-2 sm:flex-row",children:[(0,ce.jsx)(x,{className:"w-full",icon:"",variant:"secondary",onClick:e,children:"Cancel"}),(0,ce.jsx)(x,{isRed:!0,className:"w-full",disabled:g!==""&&g!==C,icon:c!=null?c:"tabler:trash",loading:w,onClick:()=>{if(p!==void 0){I(!0),p(e).finally(()=>I(!1));return}Bt().catch(console.error)},children:d!=null?d:"Delete"})]})]})}var zn=Ec;var Ir=b(require("clsx")),$n=require("react-dom"),kr=require("react/jsx-runtime");function Lc({isOpen:e,children:t,minWidth:o,minHeight:r,maxWidth:a,className:n,modalRef:i,zIndex:l=0,onExited:s}){return(0,$n.createPortal)((0,kr.jsx)("div",{ref:i,className:(0,Ir.default)("backdrop-blur-xs dark:bg-bg-950/40 fixed left-0 top-0 h-dvh w-full overscroll-contain bg-black/10 transition-opacity ease-linear",e?"opacity-100":"opacity-0 [transition:z-index_0.1s_linear_0.4s,opacity_0.1s_linear_0.1s]"),style:{zIndex:e?l:-1},onTransitionEnd:s,children:(0,kr.jsx)("div",{className:(0,Ir.default)("bg-bg-100 dark:bg-bg-900 absolute top-1/2 flex max-h-[calc(100dvh-8rem)] w-full max-w-[calc(100vw-4rem)] -translate-y-1/2 translate-x-1/2 flex-col overflow-auto rounded-xl p-6 shadow-2xl transition-all duration-500 sm:max-w-[calc(100vw-8rem)] lg:w-auto",e?"right-1/2":"right-[-100dvw]",n),style:{minWidth:o,minHeight:r,maxWidth:a},children:t})}),document.querySelector("#app")||document.body)}var Ve=Lc;var vo=require("react");var _n=require("zustand");var Y=(0,_n.create)((e,t)=>({stack:[],open:(o,r)=>{e(a=>({stack:[...a.stack,{component:o,data:r,isClosing:!1}]}))},close:()=>{let{stack:o}=t();o.length!==0&&e(r=>{let a=[...r.stack],n=a.length-1;return n>=0&&(a[n]=T(k({},a[n]),{isClosing:!0})),{stack:a}})},remove:o=>e(r=>{let a=[...r.stack];return a.splice(o,1),{stack:a}})}));var Ge=require("react/jsx-runtime");function Ac({index:e}){let{stack:t,close:o}=Y(),r=t[e],{data:a,component:n}=r||{};return n?(0,Ge.jsx)(n,{data:a,onClose:o}):null}function Oc({index:e}){let{stack:t,remove:o}=Y(),r=t[e],{isClosing:a}=r||{},[n,i]=(0,vo.useState)(!1);return(0,vo.useEffect)(()=>{let l=setTimeout(()=>{i(!0)},10);return()=>clearTimeout(l)},[]),(0,Ge.jsx)(Ve,{isOpen:n&&!a,zIndex:e*10,onExited:()=>{a&&o(e)},children:(0,Ge.jsx)(Ac,{index:e})})}function Cr(){let{stack:e}=Y();return(0,Ge.jsx)(Ge.Fragment,{children:e.map((t,o)=>(0,Ge.jsx)(Oc,{index:o},`modal-${o}`))})}var Ii=require("@iconify/react"),Mo=require("react");var Ye=require("react"),wo=require("react-virtualized");var Un=require("@iconify/react"),wr=b(require("clsx")),Qn=require("react");var Wn=require("@iconify/react"),qn=b(require("clsx")),Io=require("react/jsx-runtime");function Bc({text:e,icon:t,selected:o,onClick:r}){return(0,Io.jsxs)("button",{className:(0,qn.default)(o?"bg-custom-500! text-bg-50 shadow-xs dark:text-bg-800 font-semibold":"bg-bg-50 hover:bg-bg-100 dark:bg-bg-800 dark:hover:bg-bg-700/70","flex-center h-8 grow cursor-pointer gap-2 whitespace-nowrap rounded-full px-6 text-sm shadow-sm transition-all duration-100 md:grow-0"),type:"button",onClick:r,children:[t!==void 0&&(0,Io.jsx)(Wn.Icon,{className:"size-5",icon:t}),e]})}var yo=Bc;var Ie=require("react/jsx-runtime");function Dc({options:e,value:t,setValue:o}){let[r,a]=(0,Qn.useState)(!1);return e.length>0?(0,Ie.jsxs)("div",{className:"mt-4 flex items-center gap-2",children:[(0,Ie.jsx)("div",{className:(0,wr.default)("flex gap-2 pb-1 transition-all",r?"flex-wrap":"overflow-x-auto"),children:e.sort((n,i)=>n[0]===i[0]?n.length-i.length:n.localeCompare(i)).map(n=>(0,Ie.jsx)(yo,{selected:t===n,text:n,onClick:()=>{o(t===n?null:n),a(!1)}},n))}),(0,Ie.jsx)("button",{className:"flex-center text-bg-500 hover:text-bg-800 dark:hover:text-bg-100 h-8 grow gap-2 whitespace-nowrap rounded-full px-2 text-sm transition-all duration-100 md:grow-0",type:"button",onClick:()=>{a(!r)},children:(0,Ie.jsx)(Un.Icon,{className:(0,wr.default)("size-6 transition-all",r&&"rotate-180"),icon:"uil:angle-up"})})]}):(0,Ie.jsx)(Ie.Fragment,{})}var ko=Dc;var Kn=require("@iconify/react"),Vn=require("react"),Ut=require("react/jsx-runtime");function Hc({icon:e,iconSet:t,onIconSelected:o}){let r=(0,Vn.useCallback)(()=>{o(`${t}:${e}`)},[e]);return(0,Ut.jsxs)("button",{className:"hover:bg-bg-200/70 dark:hover:bg-bg-800 flex h-min w-full cursor-pointer flex-col items-center rounded-lg p-4 transition-all",type:"button",onClick:r,children:[(0,Ut.jsx)(Kn.Icon,{height:"32",icon:`${t}:${e}`,width:"32"}),(0,Ut.jsx)("p",{className:"-mb-0.5 mt-4 break-all text-center text-xs font-medium tracking-wide",children:e.replace(/-/g," ")})]})}var Co=Hc;var Q=require("react/jsx-runtime");function zc(e){return R(this,null,function*(){try{return yield fetch(`https://api.iconify.design/collection?prefix=${e}`).then(o=>R(this,null,function*(){return yield o.json()}))}catch(t){return console.error(t),null}})}function $c({iconSet:e,onIconSelected:t}){var c;let[o,r]=(0,Ye.useState)(""),[a,n]=(0,Ye.useState)(null),[i,l]=(0,Ye.useState)(null),s=(0,Ye.useMemo)(()=>{var p,m;let d=[...(p=i==null?void 0:i.uncategorized)!=null?p:[],...Object.values((m=i==null?void 0:i.categories)!=null?m:{}).flat()];return i?a?(i.categories[a]||[]).filter(f=>f.toLowerCase().includes(o.toLowerCase())):d.filter(f=>f.toLowerCase().includes(o.toLowerCase())):[]},[o,a,i]);return(0,Ye.useEffect)(()=>{zc(e).then(d=>{l(d)}).catch(console.error)},[]),i?(0,Q.jsxs)("div",{className:"flex size-full min-h-0 flex-1 flex-col",children:[(0,Q.jsx)("h1",{className:"mb-6 flex flex-col items-center gap-1 text-center text-3xl font-semibold tracking-wide sm:inline",children:i.title}),(0,Q.jsx)(de,{lighter:!0,namespace:"common.modals",searchQuery:o,setSearchQuery:r,stuffToSearch:"icon",tKey:"iconPicker"}),(0,Q.jsx)(ko,{options:Object.keys((c=i.categories)!=null?c:{}),setValue:n,value:a}),(0,Q.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:s.length?(0,Q.jsx)(wo.AutoSizer,{className:"mt-6",children:({width:d,height:p})=>{let m=Math.floor(d/160)||1;return(0,Q.jsx)(wo.List,{height:p-12,itemsPerRow:Math.floor(d/s.length)||1,rowCount:Math.ceil(s.length/m),rowHeight:120,rowRenderer:({index:f,key:u,style:g})=>{let h=f*m,v=h+m;return(0,Q.jsx)("div",{className:"flex w-full gap-3",style:g,children:s.slice(h,v).map(w=>(0,Q.jsx)(Co,{icon:w,iconSet:e,onIconSelected:t},w))},u)},width:d})}}):(0,Q.jsx)("div",{className:"flex-center flex-1",children:(0,Q.jsx)(Pe,{icon:"tabler:icons-off",name:"icon",namespace:"common.modals",tKey:"iconPicker"})})})]}):(0,Q.jsx)("div",{className:"flex w-full justify-center pb-8",children:(0,Q.jsx)("span",{className:"loader"})})}var Gn=$c;var vi=require("@iconify/collections"),Po=require("react");var Xn=require("react");var Nr=require("@iconify/react"),Yn=b(require("clsx")),St=require("react/jsx-runtime");function _c({icon:e,text:t,color:o,onRemove:r}){return(0,St.jsxs)("span",{className:(0,Yn.default)("flex-center gap-1 rounded-full px-2 py-1 text-sm",o===void 0&&"text-bg-500 dark:text-bg-400 component-bg-lighter"),style:o!==void 0?{backgroundColor:o+"20",color:o}:{},children:[(0,St.jsx)(Nr.Icon,{className:"size-4",icon:e}),t,(0,St.jsx)("button",{onClick:r,children:(0,St.jsx)(Nr.Icon,{className:"size-4",icon:"tabler:x"})})]})}var Jn=_c;var Tt=require("react/jsx-runtime");function Wc({items:e,values:t,setValues:o}){let{theme:r}=Se(),a=(0,Xn.useMemo)(()=>{var s,c;if(r.startsWith("#"))return r;let[n,i,l]=(c=(s=r.match(/\((\d+), (\d+), (\d+)\)/))==null?void 0:s.slice(1))!=null?c:[];return Zt(Number(n),Number(i),Number(l))},[r]);return Object.values(e).every(({data:n})=>typeof n!="string")&&Object.keys(e).some(n=>!!t[n])?(0,Tt.jsx)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:Object.entries(e).map(([n,{data:i,isColored:l}])=>typeof i!="string"&&t[n]?(()=>{var c,d,p;let s=i.find(m=>m.id===t[n]);return s===void 0?null:(0,Tt.jsx)(Jn,{color:l===!0?(c=s.color)!=null?c:a:void 0,icon:(d=s.icon)!=null?d:"",text:(p=s.name)!=null?p:"",onRemove:()=>{o[n](null)}},n)})():null)}):(0,Tt.jsx)(Tt.Fragment,{})}var Zn=Wc;var ti=require("@iconify/react"),oi=b(require("clsx")),No=require("react");var jn=require("@iconify/react/dist/iconify.js"),Sr=b(require("lodash")),ei=require("react-tooltip");var Je=require("react/jsx-runtime");function st({id:e,icon:t,children:o,tooltipProps:r}){return(0,Je.jsxs)(Je.Fragment,{children:[(0,Je.jsx)("span",{"data-tooltip-id":`tooltip-${Sr.default.kebabCase(e)}`,children:(0,Je.jsx)(jn.Icon,{className:"text-bg-500 size-5",icon:t})}),(0,Je.jsx)(ei.Tooltip,T(k({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-${Sr.default.kebabCase(e)}`,opacity:1,place:"top-start",positionStrategy:"fixed"},r),{children:o}))]})}var J=require("react/jsx-runtime");function qc({title:e,desc:t,icon:o,vertical:r=!1,tooltip:a,hasDivider:n=!0,children:i,wrapWhen:l="md",noDefaultBreakpoints:s=!1,className:c}){let d=(0,No.useRef)(null);return(0,No.useEffect)(()=>{d.current&&d.current.getBoundingClientRect()},[d]),(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)("div",{ref