@chem-po/react-web 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -4
- package/dist/index.d.ts +17 -4
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/box/MobileFrame/index.tsx +2 -1
- package/src/components/list/DataList.tsx +2 -2
- package/src/components/list/types.ts +1 -4
- package/src/components/nav/NavBar.tsx +2 -1
- package/src/contexts/index.ts +1 -0
- package/src/contexts/view.tsx +26 -0
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
'use strict';var react=require('@chakra-ui/react'),react$1=require('@chem-po/react'),b=require('react'),icons=require('@chakra-ui/icons'),rr=require('@react-hook/resize-observer'),core=require('@chem-po/core'),framerMotion=require('framer-motion'),reactErrorBoundary=require('react-error-boundary'),reactRouterDom=require('react-router-dom'),reactTransitionGroup=require('react-transition-group'),lottieReact=require('lottie-react'),dnd=require('@hello-pangea/dnd'),reactHookForm=require('react-hook-form'),reactDayPicker=require('react-day-picker'),zustand=require('zustand'),op=require('react-currency-input-field'),Wp=require('react-textarea-autosize'),reactWindow=require('react-window'),qn=require('react-window-infinite-loader');require('firebase/firestore');var anatomy=require('@chakra-ui/anatomy'),themeTools=require('@chakra-ui/theme-tools');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var b__default=/*#__PURE__*/_interopDefault(b);var rr__default=/*#__PURE__*/_interopDefault(rr);var op__default=/*#__PURE__*/_interopDefault(op);var Wp__default=/*#__PURE__*/_interopDefault(Wp);var qn__default=/*#__PURE__*/_interopDefault(qn);var qi=({layout:e="row"})=>{let{adapter:{auth:o}}=react$1.useBackendBase(),t=react$1.useAuth(r=>r.user);return b__default.default.createElement(react.Flex,{gap:[1,1,2],align:"center",flexFlow:["column","column","row"]},t?b__default.default.createElement(react.Button,{size:"sm",onClick:()=>{o.logout();}},"SIGN OUT"):b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.Text,{whiteSpace:"nowrap",textAlign:"center",opacity:.8,fontWeight:600,fontSize:"sm"},"SIGN IN"),b__default.default.createElement(react.Flex,{flexFlow:e,gap:2,w:"100%"})))},f0=e=>b__default.default.createElement(react.Portal,null,b__default.default.createElement(react.Flex,{position:"fixed",bottom:4,left:4},b__default.default.createElement(qi,{...e})));var qt=({width:e,children:o,active:t,duration:r=400,...n})=>b__default.default.createElement(react.Center,{width:`${t?e:0}px`,opacity:t?1:0,transition:`all ${r}ms ease-in-out`,overflow:"hidden",...n},o);var ts=(e,o)=>b__default.default.createElement(react.Flex,{ref:o,bg:"background.100",p:3,borderRadius:6,boxShadow:"1px 1px 4px #00000066",...e}),Le=b.forwardRef(ts);var W=()=>react.useColorModeValue("#00000033","#ffffff33");var Jt=({viewText:e="View",hideText:o="Hide",onClick:t,isOpen:r,color:n})=>b__default.default.createElement(react.IconButton,{icon:r?b__default.default.createElement(icons.ChevronUpIcon,{width:5,height:5}):b__default.default.createElement(icons.ChevronDownIcon,{width:5,height:5}),"aria-label":r?o:e,variant:"ghost",p:"2px",ml:"auto",size:"xs",fontSize:"xs",borderRadius:"full",_hover:{bg:"blackAlpha.200"},color:n??"#777",onClick:s=>{s.stopPropagation(),t(s);}});var Qo=({header:e,children:o,initExpanded:t=false,nested:r,alwaysExpanded:n,headerProps:s,iconColor:i,footer:l,isOpen:a,onClose:p,onOpen:u,...m})=>{let{isOpen:d,onClose:c,onOpen:f}=react.useDisclosure({defaultIsOpen:n??t,isOpen:a,onClose:p,onOpen:u}),g=b.useCallback(y=>{if(y.stopPropagation(),!n){if(d){c();return}f();}},[n,f,c,d]),h=W();return b__default.default.createElement(react.VStack,{spacing:0,borderColor:h,w:"100%",...m},b__default.default.createElement(react.HStack,{borderBottom:d?`1px solid ${h}`:void 0,px:2,spacing:0,w:"100%",...s},b__default.default.createElement(react.Flex,{onClick:g,cursor:"pointer","aria-label":"expand/hide",align:"center",flex:1},typeof e=="string"?b__default.default.createElement(react.Text,{fontWeight:600,color:"gray.500",flex:1},e):b__default.default.createElement(e,{isOpen:d,onClose:c})),n?null:b__default.default.createElement(Jt,{color:i,onClick:g,isOpen:d})),b__default.default.createElement(react.Box,{w:"100%",borderLeft:r?"4px solid #00000033":void 0},b__default.default.createElement(react.Collapse,{unmountOnExit:true,style:{width:"100%"},in:d},o)),l?b__default.default.createElement(l,{isOpen:d,onClose:c}):null)};var Z=({animateOpacity:e,duration:o=300,children:t,in:r=true,onExited:n,...s})=>{let i=react$1.useMounted(),[l,a]=b.useState(0),p=b.useRef(null),[u,m]=b.useState(false),d=b.useMemo(()=>i&&r,[r,i]),c=b.useMemo(()=>d?l:0,[l,d]),f=b.useCallback(y=>{a(y.target.scrollHeight);},[]);rr__default.default(p,f);let g=b.useRef(null);b.useEffect(()=>{g.current&&(clearTimeout(g.current),g.current=null),m(true),g.current=setTimeout(()=>{m(false),n&&!d&&n();},o);},[d,o,n]);let h=b.useMemo(()=>!u&&d?"height 0ms":e?`height ${o}ms, opacity ${o}ms ease ${d?o:0}ms`:`height ${o}ms`,[e,o,d,u]);return b__default.default.createElement(react.Box,{overflow:"hidden",w:"100%",transition:h,height:`${c}px`,...s},b__default.default.createElement(react.Box,{ref:p,w:"100%",...s},t))};var eg=({children:e,...o})=>{let[t,r]=b.useState(0),[n,s]=b.useState(0),i=b.useRef(null),l=b.useCallback(a=>{r(a.target.scrollWidth),s(a.target.scrollHeight);},[]);return rr__default.default(i,l),b__default.default.createElement(react.Box,{ref:i,...o,width:"100%",height:"100%"},b__default.default.createElement(e,{width:t,height:n}))},sr=({children:e,...o})=>{let[t,r]=b.useState(0),[n,s]=b.useState(0),i=b.useRef(null),l=b.useCallback(p=>{r(p.target.scrollWidth),s(p.target.scrollHeight);},[]);rr__default.default(i,l);let a=b.useMemo(()=>({width:t,height:n}),[t,n]);return b__default.default.createElement(react.Box,{ref:i,...o,width:"100%",height:"100%"},b__default.default.createElement(react$1.FullSizeContext.Provider,{value:a},e))};var ar=b__default.default.createContext(false),dr=({children:e})=>b__default.default.createElement(ar.Provider,{value:true},e),pr=()=>b.useContext(ar);var Jo=50,ks=({view:e,absolute:o})=>{let{path:t,name:r,icon:n,iconScale:s}=e,i=Array.isArray(t)?t[0]:t,l=react.useColorModeValue(1,1.8),a=b.useMemo(()=>o?2.4:l,[o,l]),{pathname:p}=reactRouterDom.useLocation(),u=react.useColorModeValue("#ffffff33","#00000033"),m=b__default.default.createElement(react.Button,{pointerEvents:p===i?"none":"auto",opacity:p===i?1:.7,width:"100%",height:"100%",borderRadius:0,flexFlow:"column",_hover:{bg:u},variant:"unstyled",display:"flex",alignItems:"center",justifyContent:"center"},b__default.default.createElement(react.Image,{height:`${34*(s??1)}px`,filter:`brightness(${a})${o?" drop-shadow(1px 1px 3px #00000099 )":""}`,src:n,alt:r}));return p===i?b__default.default.createElement(react.Flex,{key:i,flex:1,h:"100%",justify:"center"},m):b__default.default.createElement(reactRouterDom.Link,{key:i,style:{flex:1,display:"flex",height:"100%",justifyContent:"center"},to:i},m)},ur=({selectedView:e,children:o})=>{let t=react.useColorModeValue("#dedede",core.palette.gray.dark),r=react.useColorModeValue("#00000022","#ffffff33"),n=react$1.useViews(),s=b.useMemo(()=>n.filter(p=>!!p.view.icon),[n]),i=b.useMemo(()=>!!e?.navBar?.absolute,[e]),l=b.useMemo(()=>e?.navBar?.backgroundColor??t,[t,e]),a=b.useMemo(()=>e?.navBar?.borderColor?!!e?.navBar?.borderColor:i?"#ffffff33":r,[r,e,i]);return b__default.default.createElement(react.Flex,{position:"absolute",bottom:0,left:0,bg:l,w:"100%",transition:"all 500ms",h:`${Jo}px`,borderTop:`1px solid ${a}`},b__default.default.createElement(react.Flex,{position:"relative",w:"100%",justify:"space-around",align:"center"},s.map(({view:p})=>b__default.default.createElement(ks,{absolute:i,key:p.name,view:p})),o))};var mr=({message:e})=>{let o=react.useColorModeValue("gray.600","gray.100");return b__default.default.createElement(react.Flex,{pt:4},b__default.default.createElement(Le,null,b__default.default.createElement(react.Text,{color:o},e??"Sorry, something went wrong.")))};var uo=e=>{let o=react.useColorModeValue("gray.400","gray.400"),t=react.useColorModeValue("gray.300","gray.600");return b__default.default.createElement(react.CircularProgress,{isIndeterminate:true,trackColor:t,color:o,...e})};var xr=({size:e=30,isLoading:o,speed:t=2,inFeed:r,asset:n})=>{let s=react.useColorModeValue(n.default,n.dark??n.default),i=b.useMemo(()=>r?n.dark??n.default:s,[s,n,r]),l=b.useMemo(()=>({animationData:i,loop:true}),[i]),a=b.useMemo(()=>({width:e,height:e,opacity:o?.85:0,transition:"opacity 300ms ease-in-out"}),[e,o]),{View:p,pause:u,play:m,setSpeed:d}=lottieReact.useLottie(l,a);return b.useEffect(()=>{d(t);},[d,t]),b.useEffect(()=>{o?m():u();},[o,m,u]),b__default.default.createElement(b__default.default.Fragment,null,p)},br=({size:e=30,isLoading:o,asset:t,inFeed:r})=>{let n=react.useColorModeValue(t.default,t.dark??t.default),s=b.useMemo(()=>r?t.dark??t.default:n,[n,t,r]),i=b.useMemo(()=>({width:e,height:e,opacity:o?.85:0,transition:"opacity 300ms ease-in-out"}),[e,o]);return b__default.default.createElement("img",{src:s,style:i,alt:"loading"})},Hs=({isLoading:e,size:o})=>{let{loading:t}=react$1.useAppAssets();return t.lottieJson?b__default.default.createElement(xr,{isLoading:e,size:o,asset:t.lottieJson}):t.svg?b__default.default.createElement(br,{isLoading:e,size:o,asset:t.svg}):null},Ce=({isLoading:e,size:o,inFeed:t})=>{let{loading:r}=react$1.useAppAssets();return r.lottieJson?b__default.default.createElement(xr,{inFeed:t,isLoading:e,size:o,asset:r.lottieJson}):r.svg?b__default.default.createElement(br,{inFeed:t,isLoading:e,size:o,asset:r.svg}):b__default.default.createElement(react.Text,{color:"red"},"ERROR: No loading animation found")},Fe=({text:e="Loading...",inBox:o,stackProps:t})=>{let r=b__default.default.createElement(react.HStack,{p:2,...t},b__default.default.createElement(Hs,{isLoading:true}),b__default.default.createElement(react.Text,{opacity:.8,fontSize:"sm"},e));return o?b__default.default.createElement(Le,null,r):r},Be=({isLoading:e,text:o,inFeed:t,...r})=>{let n=react.useColorModeValue("#ffffffaa","#00000088");return b__default.default.createElement(react.Center,{pos:"absolute",top:0,left:0,right:0,bottom:0,bg:n,pointerEvents:e?"auto":"none",opacity:e?1:0,...r},o?b__default.default.createElement(Fe,{text:o}):b__default.default.createElement(Ce,{inFeed:t,size:100,isLoading:e}))};var wr=({loading:e})=>{let o=b.useRef(null),t=react$1.useAuth(n=>n.loading),r=reactRouterDom.useNavigate();return b.useEffect(()=>(!e&&!t&&(o.current=setTimeout(()=>{r("/");},1500)),()=>{o.current&&clearTimeout(o.current);}),[e,r,t]),!e&&!t?b__default.default.createElement(react.Center,{minH:"100%",w:"100%"},b__default.default.createElement(Le,{maxW:"500px"},b__default.default.createElement(react.HStack,{spacing:3},b__default.default.createElement(uo,{size:6}),b__default.default.createElement(react.VStack,{spacing:0,align:"flex-start"},b__default.default.createElement(react.Text,null,"404"),b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.7},"Page not found - redirecting to Home..."))))):b__default.default.createElement(Fe,null)};var Sr=390,Ir=844,Fr=Sr/Ir,sl=({children:e,navBarChildren:o})=>{let{isMobile:t,height:r,width:n}=react$1.useScreen(),{contentHeight:s,contentWidth:i}=b.useMemo(()=>{let x=t?r:Ir,F=t?n:Sr;if(t)return {contentHeight:x,contentWidth:F};let S=Math.floor(r*.9),v=Math.floor(n*.9);return x>S?(F=Math.floor(S*Fr),x=S):F>v&&(x=Math.floor(v/Fr),F=v),{contentHeight:x,contentWidth:F}},[t,r,n]),l=react.useColorModeValue(core.cssGradients.accentGray,core.cssGradients.darkGray),a=reactRouterDom.useLocation(),p=reactRouterDom.useOutlet(),u=react$1.useViews(),m=b.useMemo(()=>u.find(x=>!!reactRouterDom.matchRoutes(x.routes,a)),[u,a]),d=b.useMemo(()=>m?typeof m.view.path=="string"?m.view.path:m.view.path[0]:"404",[m]),c=b.useRef(null),f=b.useRef(null),g=b.useMemo(()=>!!m?.view?.navBar?.absolute,[m]),h=b.useMemo(()=>s-(g?0:Jo),[s,g]),y=b.useMemo(()=>({overlayRef:c,height:s,width:i,absoluteNavBar:g,bodyHeight:h}),[c,s,i,g,h]);return b__default.default.createElement(dr,null,b__default.default.createElement(react$1.MobileFrameProvider,{value:y},b__default.default.createElement(react.Center,{position:"relative",bg:l,w:"100%",height:"100%"},b__default.default.createElement(react.Flex,{bg:"background.100",position:"relative",style:{height:`${s}px`,width:`${i}px`},boxShadow:t?"none":"1px 1px 4px rgba(0,0,0,0.4)",borderRadius:t?0:10,overflow:"hidden",direction:"column",maxH:s},b__default.default.createElement(framerMotion.AnimatePresence,null,b__default.default.createElement(reactTransitionGroup.SwitchTransition,null,b__default.default.createElement(reactTransitionGroup.CSSTransition,{key:d,nodeRef:f,unmountOnExit:true,classNames:"page",timeout:300},()=>b__default.default.createElement(framerMotion.motion.div,{style:{position:"relative",width:"100%",overflow:"hidden"},animate:{height:h,opacity:1,dur:.5,scale:1},initial:{opacity:0,scale:.9,height:h},exit:{opacity:0}},b__default.default.createElement(reactErrorBoundary.ErrorBoundary,{FallbackComponent:()=>b__default.default.createElement(mr,null)},m?p:b__default.default.createElement(wr,null)),e?b__default.default.createElement(react.Box,{height:"100%",w:"100%",position:"absolute",top:0,left:0,pointerEvents:"none"},e):null)))),b__default.default.createElement(ur,{selectedView:m?.view},o),b__default.default.createElement(react.Flex,{pos:"absolute",pointerEvents:"none",bottom:0,w:"100%",h:"100%"},b__default.default.createElement(react.Flex,{ref:c,w:"100%",h:"100%",pos:"relative"}))))))},rh=({children:e,navBarChildren:o,views:t})=>b__default.default.createElement(react$1.ViewsProvider,{views:t},b__default.default.createElement(sl,{navBarChildren:o},e));var bl="Are you sure? You can't undo this action afterwards.",yl=({confirmActive:e,onCancel:o,onConfirm:t,body:r=bl,actionName:n="Delete",actionLoading:s,itemName:i})=>{let l=b.useRef(null);return b__default.default.createElement(react.AlertDialog,{isCentered:true,isOpen:e,leastDestructiveRef:l,onClose:()=>o()},b__default.default.createElement(react.AlertDialogOverlay,null,b__default.default.createElement(react.AlertDialogContent,{gap:0},b__default.default.createElement(react.AlertDialogBody,null,b__default.default.createElement(react.VStack,{align:"flex-start",py:1},b__default.default.createElement(react.Text,{fontSize:"lg",fontWeight:500},n," ",i,"?"),typeof r=="string"?b__default.default.createElement(react.Text,{fontSize:"md"},r):r,b__default.default.createElement(react.HStack,{justify:"flex-end",w:"100%"},b__default.default.createElement(react.Button,{size:"sm",ref:l,onClick:o},"Cancel"),b__default.default.createElement(react.Button,{size:"sm",isLoading:s,color:"white",textShadow:"1px 1px 3px #00000077",bg:"red.500",_dark:{bg:"red.500"},onClick:t},n)))))))},kr=({onDelete:e,itemName:o,noConfirm:t,alertBody:r,text:n,actionName:s="Delete",...i})=>{let[l,a]=b.useState(false),[p,u]=b.useState(false),m=b.useRef(null),d=b.useRef(true);b.useEffect(()=>(d.current=true,()=>{d.current=false;}),[]);let c=react.useToast(),f=b.useCallback(async()=>{if(m.current&&clearTimeout(m.current),u(false),e){a(true);try{await e();}catch(g){console.error(g),c({title:"Error",description:g.message??"An error occurred",status:"error",duration:5e3,isClosable:true});}d.current&&a(false);}else console.error("No delete function");},[e,c]);return b__default.default.createElement(b__default.default.Fragment,null,n?b__default.default.createElement(react.Button,{variant:"ghost",size:i.size??"md","aria-label":"delete",_hover:{color:"red.600",bg:"red.200"},color:"red.600",onClick:g=>{g.stopPropagation(),t?f():u(true);},isLoading:l,...i},b__default.default.createElement(react.Flex,{align:"center",gap:1},b__default.default.createElement(icons.DeleteIcon,null),b__default.default.createElement(react.Text,null,n))):b__default.default.createElement(react.IconButton,{variant:"ghost",size:i.size??"sm","aria-label":s,_hover:{color:"red.600",bg:"red.200"},color:"red.500",borderRadius:"full",icon:b__default.default.createElement(icons.DeleteIcon,null),onClick:g=>{g.stopPropagation(),t?f():u(true);},isLoading:l,...i}),t?null:b__default.default.createElement(yl,{confirmActive:p,onCancel:()=>u(false),actionLoading:l,onConfirm:()=>{f();},actionName:s,body:r,itemName:o}))};var Sl=({selected:e,option:{Render:o,label:t,disabledMessage:r},size:n,...s})=>{let i=b__default.default.createElement(react.Box,null,b__default.default.createElement(react.IconButton,{variant:"unstyled",w:`${n}px`,h:`${n}px`,minW:0,borderRadius:0,outline:"none",display:"flex",alignItems:"center",justifyContent:"center",opacity:r?.6:1,filter:r?"grayscale(1)":"none",bg:e?"whiteAlpha.500":"blackAlpha.100",_dark:{bg:e?"blackAlpha.500":"whiteAlpha.200"},icon:o(e),pointerEvents:e?"none":"auto","aria-label":t,...s}));return b__default.default.createElement(react.Tooltip,{label:r??t,"aria-label":t},i)},Mr=({value:e,onChange:o,size:t=28,options:r})=>{let n=W();return b__default.default.createElement(react.Flex,{bg:"whiteAlpha.300",_dark:{bg:"blackAlpha.300"},border:`1px solid ${n}`,borderRadius:3},r.map((s,i)=>b__default.default.createElement(Sl,{key:s.id,onClick:()=>{o(s.id);},option:s,size:t,borderLeftRadius:i?0:3,borderRightRadius:i===r.length-1?3:0,selected:s.id===e,borderLeft:i?`1px solid ${n}`:"none"})))};var Lr=b.createContext({}),Br=({curr:e,children:o})=>{let t=b.useMemo(()=>({curr:e}),[e]);return b__default.default.createElement(Lr.Provider,{value:t},o)},Ml=()=>b.useContext(Lr);var Er=({src:e,onClose:o})=>{let[t,r]=b.useState(true),n=react$1.useScreen(d=>d.width),s=react$1.useScreen(d=>d.height),[i,l]=b.useState({width:n/2,height:s/2}),{height:a,width:p}=b.useMemo(()=>{if(t)return i;let d=i.width/i.height,c=Math.min(i.height,s*.9),f=c*d;return f>n*.9&&(f=Math.min(i.width,n*.9),c=f/d),{height:c,width:f}},[s,n,i,t]),u=b.useCallback(()=>r(true),[]),m=b.useCallback(d=>{let{naturalWidth:c,naturalHeight:f}=d.currentTarget;l({width:c,height:f}),r(false);},[]);return b__default.default.createElement(react.Modal,{size:"full",isOpen:true,onClose:o},b__default.default.createElement(react.ModalOverlay,{bg:"blackAlpha.700"}),b__default.default.createElement(react.ModalContent,{style:{background:"transparent"},pointerEvents:"none",width:"100%",height:"100%"},b__default.default.createElement(react.Center,{pointerEvents:"none",position:"fixed",p:[4,6,8],top:0,left:0,right:0,bottom:0,zIndex:4},b__default.default.createElement(react.Center,{opacity:t?0:1,transition:"all 500ms",overflow:"hidden",w:`${p}px`,height:`${a}px`},b__default.default.createElement(react.Image,{onLoadStart:u,onLoad:m,transition:"opacity 300ms",height:"100%",objectFit:"contain",borderRadius:4,src:e})),b__default.default.createElement(react.IconButton,{borderRadius:"full",position:"absolute",top:4,right:4,"aria-label":"close",icon:b__default.default.createElement(icons.CloseIcon,null),onClick:o})),b__default.default.createElement(react.Center,{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",opacity:t?1:0,transition:"opacity 300ms"},b__default.default.createElement(Ce,{isLoading:t,size:70}))))};var _r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",$r=({src:e,loadingOverride:o,alt:t,onLoad:r,width:n,height:s,noFullView:i,buttonFullView:l,imageProps:a,...p})=>{let[u,m]=b.useState(!!e),d=b.useRef(null),[c,f]=b.useState(false),g=react$1.useMounted(100);b.useEffect(()=>{d.current?.complete&&m(true);},[d]);let h=b.useCallback(S=>{m(false),r&&r(S);},[r]),[y,x]=b.useState(e);b.useEffect(()=>{e&&x(e);},[e,y]);let F=u||!!o;return b__default.default.createElement(react.Center,{opacity:g?1:0,transition:"opacity 333ms",w:n??"100%",h:s??"100%",overflow:"hidden",position:"relative",...p},b__default.default.createElement(react.Image,{src:e??_r,alt:t,onClick:i||l?void 0:()=>f(true),onLoad:h,onLoadStart:()=>m(true),top:0,left:0,cursor:i||l?"default":"pointer",draggable:false,opacity:e&&!F?1:0,transition:"opacity 300ms ease-in-out",w:"100%",h:"100%",objectFit:e?"cover":"contain",zIndex:0,...a}),l?b__default.default.createElement(react.IconButton,{pos:"absolute",top:2,right:2,zIndex:1,w:7,minW:0,borderRadius:10,h:7,size:"sm","aria-label":"View Image",icon:b__default.default.createElement(react.Image,{height:"20px",src:"/icons/open_in_full.svg",opacity:.8,filter:"brightness(300%) drop-shadow(1px 1px 3px #00000066)"}),onClick:()=>f(true)}):null,b__default.default.createElement(react.Center,{pos:"absolute",top:0,left:0,zIndex:2,pointerEvents:"none",transition:"opacity 0.5s ease-in-out",opacity:F||!e?1:0,w:"100%",h:"100%"},b__default.default.createElement(Ce,{isLoading:F,size:"60%"})),c?b__default.default.createElement(Er,{src:e??_r,onClose:()=>f(false)}):null)};var _h=({value:e,label:o,onChange:t})=>{let r=react.useToast(),[n,s]=b.useState(false),i=b.useCallback(l=>{let a=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{s(false);},a);},[]);return b__default.default.createElement(react.Flex,{py:1,pr:2,pl:3,bg:"gray.700",borderRadius:12,boxShadow:"0 0 4px black",pos:"relative",align:"center"},b__default.default.createElement(react.Flex,{opacity:n?0:1,transition:`opacity 300ms ${n?"ease-out":"ease-in"}`,pointerEvents:n?"none":"auto",align:"center",gap:2},b__default.default.createElement(react.Text,{style:{fontSize:"1.2rem",height:"24px"}},o),b__default.default.createElement(react.Switch,{size:"md",isChecked:e,onChange:l=>{s(true);let a=Date.now();t(l.target.checked).catch(p=>{console.error(p),r({title:"Error",description:p?.message??"Error occurred",status:"error",duration:5e3,isClosable:true});}),i(a);}})),b__default.default.createElement(react.Center,{opacity:n?1:0,transition:`opacity 300ms ${n?"ease-in":"ease-out"}`,pointerEvents:n?"auto":"none",pos:"absolute",top:"-10%",left:"-10%",w:"120%",borderRadius:8,p:1,gap:2,h:"120%"},b__default.default.createElement(Fe,null)))};var st={damping:25,stiffness:200,bounce:.5},ee=75,se=100;var Gr=e=>e==="current"?1:0,ta=(e,o)=>{let{width:t}=o;return e==="current"?0:e==="next"?t:e==="prev"?-t:0},lt=(e,o)=>{let{height:t}=o;return e==="current"?0:e==="next"?t*1.1:e==="prev"?-t*1.1:0},jr=({id:e,collectionPath:o,onItemLoad:t,RenderItem:r,status:n,offsetY:s,enterStatus:i})=>{let l=react$1.useMobileFrame(),a=framerMotion.useSpring(0,st),p=framerMotion.useMotionValue(lt(i??"next",l)),u=framerMotion.useTransform(()=>p.get()+s.get()),m=framerMotion.useSpring(u,st),d=b.useMemo(()=>`${o}/${e}`,[o,e]),{data:c}=react$1.useDocument(d,t),f=b.useRef({contentSize:l,status:i??n,y:lt(i??n,l),scale:Gr(i??n)});return b.useEffect(()=>{let g=Gr(n),h=ta(n,l);p.set(h),a.set(g);},[n,p,a,l]),b__default.default.createElement(framerMotion.motion.div,{initial:{x:0,y:f.current.y,scale:f.current.scale},style:{position:"absolute",top:0,left:0,display:"flex",alignItems:"center",justifyContent:"center",touchAction:"none",userSelect:"none",height:"100%",y:m,scale:a,opacity:a,width:"100%"},exit:{opacity:0,scale:0,x:0,y:lt(i==="next"?"prev":"next",l)}},c?r(c):null)};var sa=10,Yr=(e,o,t=sa,r=false)=>{let[n,s]=b.useState([null,null,null]),[i,l]=b.useState(0),a=react$1.useAuth(P=>P.user),[p,u]=b.useState(false),[m,d]=b.useState(false),[c,f]=b.useState(null),[g,h]=b.useState(false),[y,x]=b.useState(null),F=react.useToast(),S=b.useRef(null),v=b.useRef({prev:null,curr:null,next:null}),T=b.useCallback(P=>{P&&(v.current.prev===P&&(v.current.prev=null),v.current.next===P&&(v.current.next=null)),v.current.curr=P,o({...v.current});},[o]),E=b.useCallback(P=>{P&&(v.current.prev===P&&(v.current.prev=null),v.current.curr===P&&(v.current.curr=null)),v.current.next=P,o({...v.current});},[o]),z=b.useCallback(P=>{P&&(v.current.curr===P&&(v.current.curr=null),v.current.next===P&&(v.current.next=null)),v.current.prev=P,o({...v.current});},[o]),O=b.useCallback(async(P,H,k)=>{if(!a&&r)return [];k||u(true);try{let C=await e({limit:t,startAfter:H,startBefore:P});if(k)H?s(M=>[M[0],M[1],C.ids]):P&&s(M=>[C.ids,M[1],M[2]]);else {let M=C.ids[0],J=C.ids[1]||null;T(M),E(J),z(H),s(H?X=>[X[1],C.ids,null]:P?X=>[null,C.ids,X[1]]:[null,C.ids,null]);let Y=C.ids[C.ids.length-1];Y&&O(null,Y,!0);}return u(!1),C.ids||[]}catch(C){f(C.message),F({title:"Error fetching feed",description:C.message,status:"error",duration:9e3,isClosable:true});}return u(false),[]},[e,F,a,r,T,E,z,t]),L=b.useCallback(async(P,H)=>{let k=n[1]??[],C=n[2]??[],M=P+1;if(M<k.length)return {id:k[M],idx:M};if(C[0]){let X=C[C.length-1];return H||(s(Kt=>[Kt[1],Kt[2],null]),O(null,X,true)),{id:C[0],idx:0}}let Y=(await O(null,k[k.length-1],H))[0];return Y?{id:Y,idx:0}:null},[n,O]),N=b.useCallback(async(P,H)=>{let k=n[1]??[],C=n[0]??[],M=P-1;if(M>=0)return {id:k[M],idx:M};if(C[C.length-1]){let X=C[0];return H||(s([null,n[0],n[1]]),O(X,null,true)),{id:C[C.length-1],idx:C.length-1}}let J=await O(k[0],null,H),Y=J[J.length-1];return Y?{id:Y,idx:J.length-1}:null},[n,O]),D=b.useCallback(async()=>{if(g)return;let P=v.current.curr;h(true);let H=await L(i,false);if(x("next"),H){let{id:k,idx:C}=H;S.current=k,l(C),T(k),E(null),z(P),L(C,true).then(M=>E(M?.id??null));}else F({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,L,T,E,z,F,g]),U=b.useCallback(async()=>{if(g)return;let P=v.current.curr;x("prev"),h(true);let H=await N(i,false);if(H){let{id:k,idx:C}=H;S.current=k,l(C),T(k),z(null),E(P),N(C,true).then(M=>z(M?.id??null));}else F({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,N,T,E,z,F,g]),ce=b.useCallback(async()=>{u(true),d(true),s([null,null,null]),T(null),E(null),z(null),x(null),l(0),await O(null,null,false),d(false);},[O,T,E,z]),[ke]=b.useState(()=>O);b.useEffect(()=>{ke(null,null,false);},[ke]);let Me=b.useMemo(()=>i>0&&!!n[1]?.length||!!n[0]?.length,[n,i]),we=b.useMemo(()=>(n[1]&&i<n[1].length)??!!n[2]?.length,[n,i]);return b.useMemo(()=>({ids:n,goNext:D,goPrev:U,error:c,refresh:ce,refreshing:m,loading:p,canGoNext:we,direction:y,canGoPrev:Me,itemLoading:g}),[n,D,U,p,c,g,we,Me,ce,m,y])};var aa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",mo=({background:e,...o})=>b__default.default.createElement(react.Center,{position:"absolute",top:"0",left:"0",opacity:e?.7:0,transition:"opacity 500ms",right:"0",bottom:"0",zIndex:0,transform:"scale(1.075)",pointerEvents:"none",backgroundImage:`url(${e??aa})`,backgroundSize:"cover",backgroundPosition:"center",...o,filter:o.filter??"blur(15px) brightness(70%)"}),da=({getBackgroundValue:e,item:o,filter:t})=>{let r=b.useMemo(()=>o?e(o):null,[e,o]),{loading:n,url:s}=react$1.useObjectUrl(r),i=b.useRef(0),[l,a]=b.useState(0),[p,u]=b.useState(null),[m,d]=b.useState(null);return b.useEffect(()=>{i.current===0?(u(s),i.current=1,a(0)):(d(s),i.current=0,a(1));},[s]),b__default.default.createElement(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0},b__default.default.createElement(mo,{filter:t,opacity:l===0?1:0,background:p}),b__default.default.createElement(mo,{filter:t,opacity:l===1?1:0,background:m}),b__default.default.createElement(Ce,{isLoading:n}))},pa=({getBackgroundUrl:e,item:o,filter:t})=>{let r=b.useMemo(()=>o?e(o):null,[e,o]),n=b.useRef(0),[s,i]=b.useState(0),[l,a]=b.useState(null),[p,u]=b.useState(null);return b.useEffect(()=>{r&&(n.current===0?(a(r),n.current=1,i(0)):(u(r),n.current=0,i(1)));},[r]),b__default.default.createElement(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0},b__default.default.createElement(mo,{filter:t,opacity:s===0?1:0,background:l}),b__default.default.createElement(mo,{filter:t,opacity:s===1?1:0,background:p}))},qr=({getBackgroundValue:e,getBackgroundUrl:o,...t})=>e?b__default.default.createElement(da,{getBackgroundValue:e,...t}):o?b__default.default.createElement(pa,{getBackgroundUrl:o,...t}):null;var fa=se-ee,Rr=({offsetY:e,refreshing:o,canRefresh:t})=>{let r=framerMotion.useTransform(e,p=>Math.max(0,p-ee)/fa),n=framerMotion.useSpring(0),s=framerMotion.useSpring(0);b.useEffect(()=>{o?n.set(50):n.set(0);},[o,n]),b.useEffect(()=>{t?s.set(1):s.set(0);},[s,t]);let i=framerMotion.useTransform(()=>s.get()*Math.min(20,Math.max(0,n.get()+r.get()**.5*20))),l=framerMotion.useTransform(i,p=>s.get()*Math.min(1,Math.max(0,p/30))),a=framerMotion.useTransform(()=>s.get()*r.get()*180);return b__default.default.createElement(framerMotion.motion.div,{style:{opacity:l,pointerEvents:"none",y:i,position:"absolute",top:0,left:0,right:0,height:"auto",scale:l,rotate:a}},b__default.default.createElement(react.Center,{w:"100%"},b__default.default.createElement(icons.RepeatIcon,{opacity:o?0:1,transition:`opacity 300ms ease ${o?0:300}ms`,w:8,h:8,color:"white",filter:"drop-shadow(1px 1px 3px #000000aa)"}),b__default.default.createElement(uo,{size:8,position:"absolute",isIndeterminate:true,opacity:o?1:0,transition:`opacity 300ms ease ${o?300:0}ms`})))};var ba=e=>b.useCallback(o=>{let t=[];o.prev&&t.push({status:"prev",id:o.prev}),o.curr&&t.push({status:"current",id:o.curr}),o.next&&t.push({status:"next",id:o.next}),e(t);},[e]),kx=({fetch:e,collection:o,RenderItem:t,authRequired:r,getBackgroundUrl:n,getBackgroundValue:s,limit:i,defaultBackground:l,swipeDisabled:a,children:p})=>{let{width:u,height:m}=react$1.useMobileFrame(),d=b.useRef(null),c=b.useRef(null),[f,g]=b.useState(null),[h,y]=b.useState([]),x=framerMotion.useMotionValue(0),F=ba(y),S=b.useRef(null),{goNext:v,goPrev:T,loading:E,canGoNext:z,canGoPrev:O,refresh:L,refreshing:N}=Yr(e,F,i,r),D=b.useRef(false),U=b.useRef({x:0,y:0}),ce=b.useCallback(k=>{if(a)return;D.current=true,U.current={x:k.clientX,y:k.clientY};let C=M=>{let J=O?ee:se,Y=z?-75:-100,X=Math.max(Y,Math.min(J,M.clientY-U.current.y));d.current&&d.current.style.setProperty("pointer-events","auto"),z&&X<-65?(g("next"),v()):O&&X>ee-10?(g("prev"),T()):(X>se-10||X<-90)&&(L(),S.current&&S.current.onNewData(null)),x.set(0),D.current=false,window.removeEventListener("pointerup",C);};window.addEventListener("pointerup",C);},[x,v,T,z,O,L,a]),ke=b.useCallback(k=>{requestAnimationFrame(()=>{if(D.current){let C=Math.max(-10,Math.min(10,k.clientX-U.current.x)),M=O?ee:se,J=z?-75:-100,Y=Math.max(J,Math.min(M,k.clientY-U.current.y));Math.sqrt(C**2+Y**2)>10&&d.current&&d.current.style.setProperty("pointer-events","none"),x.set(Y);}});},[x,z,O]),Me=b.useMemo(()=>({height:`${m}px`,width:`${u}px`,overflow:"hidden",pointerEvents:a?"none":"auto"}),[u,m,a]),[we,P]=b.useState(null),H=b.useCallback(k=>{h.find(M=>M.status==="current")?.id===k?._id&&P(k);},[h]);return b__default.default.createElement(Br,{curr:we},b__default.default.createElement(react.Center,{background:l??"background.100",style:{touchAction:"none"},userSelect:"none",position:"relative",w:"100%",h:"100%",overflow:"hidden",onPointerDown:ce,onPointerMove:ke},b__default.default.createElement(qr,{item:we,getBackgroundValue:s,getBackgroundUrl:n}),b__default.default.createElement("div",{ref:c,style:Me},b__default.default.createElement(react.Center,{ref:d,h:"100%",w:"100%"},h.map(k=>b__default.default.createElement(jr,{key:k.id,id:k.id,collectionPath:o,RenderItem:t,onItemLoad:H,status:k.status,enterStatus:f,offsetY:x})))),b__default.default.createElement(Rr,{canRefresh:!O,refreshing:N,offsetY:x}),b__default.default.createElement(Be,{inFeed:true,zIndex:2,bg:"transparent",pointerEvents:"none",isLoading:E}),p?b__default.default.createElement(react.Center,{position:"absolute",bottom:"0",left:"0",right:"0",zIndex:3,pointerEvents:"none"},p):null))};var ho=({path:e,condition:o,children:t})=>{let r=reactHookForm.useWatch({exact:true,name:e});return b.useMemo(()=>o(r),[r,o])?b__default.default.createElement(Z,{py:"3px",animateOpacity:true,in:true},t):null};var Pa=({field:e,input:{onChange:o,value:t,...r}},n)=>{let{placeholder:s}=e;return b.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Checkbox,{isChecked:t,onChange:i=>o(i.target.checked),...r},s)},Ta=b.forwardRef(Pa),ka=({field:e,input:{onChange:o,value:t,...r}},n)=>{let{placeholder:s}=e;return b.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Flex,{gap:1,align:"center"},b__default.default.createElement(react.Switch,{isChecked:t,onChange:i=>o(i.target.checked),...r}),b__default.default.createElement(react.Text,{fontWeight:600,opacity:t?.9:.6},s))},Ma=b.forwardRef(ka),La=(e,o)=>e.field.type==="switch"?b__default.default.createElement(Ma,{ref:o,...e}):b__default.default.createElement(Ta,{ref:o,...e}),on=b.forwardRef(La);var xo=(e,o,t)=>{let r=b.useRef(null);return b.useImperativeHandle(e,()=>({focus:(()=>r.current?.focus()),blur:(()=>r.current?.blur())})),r};var ct=({children:e,color:o,background:t,boxProps:r,...n})=>b__default.default.createElement(react.Box,{background:t,...r},b__default.default.createElement(react.Text,{cursor:"default",className:"gradient-text",background:o,...n},e));var bo=({label:e,stackProps:o,gradient:t,value:r,min:n,max:s,...i})=>{let l=t?core.gradientToCssGradientProp(t):null;return b__default.default.createElement(react.HStack,{opacity:r!==void 0?1:.5,_hover:{opacity:1},transition:"all 500ms",spacing:2,width:"100%",align:"center",...o},b__default.default.createElement(react.HStack,{w:"100%",align:"center"},n!==void 0&&l?b__default.default.createElement(ct,{fontSize:"sm",color:l},typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""):null,n!==void 0&&!l?b__default.default.createElement(react.Text,null,typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""):null,b__default.default.createElement(react.Slider,{min:n,max:s,step:1,"aria-label":e,flex:1,...i},b__default.default.createElement(react.SliderTrack,{bg:"gray.400"},b__default.default.createElement(react.SliderFilledTrack,{bg:l??"blackAlpha.500"})),b__default.default.createElement(react.Tooltip,{bg:"gray.100",color:"gray.500",placement:"top",hasArrow:true,label:typeof r=="number"?r.toFixed(0):""},b__default.default.createElement(react.SliderThumb,{width:2,height:4}))),s!==void 0&&l?b__default.default.createElement(ct,{fontSize:"sm",color:l},typeof s=="number"?s.toFixed((i?.step??1)<1?2:0):""):null,s!==void 0&&!l?b__default.default.createElement(react.Text,null,typeof s=="number"?s.toFixed((i?.step??1)<1?2:0):""):null))};var wo=({label:e,stackProps:o,gradient:t,value:r,...n})=>b__default.default.createElement(bo,{label:e,value:r,min:0,step:1,max:255,stackProps:{width:"100%",...o},gradient:t,...n}),ln=b.forwardRef(({input:{onChange:e,value:o},field:t,meta:r},n)=>{let{withAlpha:s,defaultValue:i}=t,{active:l}=r||{};xo(n);let a=b.useCallback((m,d)=>{e(s?{r:0,g:0,b:0,a:1,...o,[m]:d}:{r:0,g:0,b:0,...o,[m]:d});},[o,e,s]),p=b.useMemo(()=>({...i,...o}),[i,o]),u=b.useMemo(()=>core.colorValueToHex(!!s,p),[p,s]);return b__default.default.createElement(react.HStack,{w:"100%"},b__default.default.createElement(react.Box,{boxShadow:"inset 0 0 12px rgba(255,255,255,0.4), 0 0 4px rgba(0,0,0,0.4)",p:2,bg:"blackAlpha.800",borderRadius:"full"},b__default.default.createElement(react.Center,{transition:"background 300ms",bg:u,width:"80px",h:"80px",borderRadius:"full"},b__default.default.createElement(react.Text,{style:{fontSize:"1.3rem"}},u))),b__default.default.createElement(react.VStack,{spacing:1,flex:1,px:2,align:"flex-start",borderRadius:6,transition:"all 400ms",boxShadow:`0 0 5px ${l?"#ffffff":"transparent"}`},b__default.default.createElement(wo,{label:"R",gradient:core.gradients.red,defaultValue:i.r,value:o?.r,onChange:m=>a("r",m)}),b__default.default.createElement(wo,{label:"G",defaultValue:i.g,gradient:core.gradients.green,value:o?.g,onChange:m=>a("g",m)}),b__default.default.createElement(wo,{label:"B",gradient:core.gradients.blue,defaultValue:i.b,value:o?.b,onChange:m=>a("b",m)}),s?b__default.default.createElement(wo,{label:"A",gradient:core.gradients.midnight,defaultValue:1,value:o?.a,onChange:m=>a("a",m)}):null))});var ft=(e,o)=>{let t=`${e}`;for(let r=t.length;r<o;r+=1)t=`0${t}`;return t},gt=e=>e?`${ft(e.getFullYear(),4)}-${ft(e.getMonth()+1,2)}-${ft(e.getDate(),2)}`:void 0,Ye=b.forwardRef((e,o)=>{let{input:t,field:{placeholder:r,minDate:n,maxDate:s,optional:i},meta:{active:l}}=e,{onChange:a,value:p,onFocus:u,onBlur:m}=t,d=b.useMemo(()=>p?new Date(`${p}T00:00:00.000`):new Date,[p]),c=b.useMemo(()=>{let f=[];return n!==void 0&&f.push({to:n==="now"?new Date:new Date(n),from:new Date(0)}),s!==void 0&&f.push({from:s==="now"?new Date:new Date(s),to:new Date(1/0)}),f},[n,s]);return b.useImperativeHandle(o,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Popover,{isOpen:l,onOpen:u,onClose:m,closeDelay:100,placement:"bottom"},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.Button,{w:"100%",fontFamily:"Public Sans",fontWeight:"normal",alignItems:"center",_hover:{bg:"#efefef"},lineHeight:1,variant:"outline"},b__default.default.createElement(react.Text,{fontSize:"md",height:"16px",align:"left",flex:1},p?core.getDateString(p,"short"):r),b__default.default.createElement(react.Image,{src:"/svg/calendar.svg",height:"20px"}))),b__default.default.createElement(react.Portal,null,b__default.default.createElement(react.PopoverContent,{zIndex:2,onFocus:u},b__default.default.createElement(react.PopoverArrow,null),b__default.default.createElement(reactDayPicker.DayPicker,{required:!i,disabled:c,styles:{caption:{fontFamily:"Public Sans",fontWeight:"400",fontSize:"0.9rem",color:"#555"},head:{fontFamily:"Public Sans"},nav:{fontFamily:"Public Sans"}},modifiersStyles:{selected:{background:"#454545"}},mode:"single",selected:d,onSelect:f=>a(gt(f))}))))});Ye.displayName="DateInput";var Xe=b.forwardRef(({field:e,input:o},t)=>(b.useImperativeHandle(t,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Input,{fontFamily:"Public Sans",css:`
|
|
1
|
+
'use strict';var react=require('@chakra-ui/react'),react$1=require('@chem-po/react'),b=require('react'),icons=require('@chakra-ui/icons'),nr=require('@react-hook/resize-observer'),core=require('@chem-po/core'),framerMotion=require('framer-motion'),reactErrorBoundary=require('react-error-boundary'),reactRouterDom=require('react-router-dom'),reactTransitionGroup=require('react-transition-group'),lottieReact=require('lottie-react'),dnd=require('@hello-pangea/dnd'),reactHookForm=require('react-hook-form'),reactDayPicker=require('react-day-picker'),zustand=require('zustand'),ap=require('react-currency-input-field'),Qp=require('react-textarea-autosize'),reactWindow=require('react-window'),Rn=require('react-window-infinite-loader');require('firebase/firestore');var anatomy=require('@chakra-ui/anatomy'),themeTools=require('@chakra-ui/theme-tools');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var b__default=/*#__PURE__*/_interopDefault(b);var nr__default=/*#__PURE__*/_interopDefault(nr);var ap__default=/*#__PURE__*/_interopDefault(ap);var Qp__default=/*#__PURE__*/_interopDefault(Qp);var Rn__default=/*#__PURE__*/_interopDefault(Rn);var Ri=({layout:e="row"})=>{let{adapter:{auth:o}}=react$1.useBackendBase(),t=react$1.useAuth(r=>r.user);return b__default.default.createElement(react.Flex,{gap:[1,1,2],align:"center",flexFlow:["column","column","row"]},t?b__default.default.createElement(react.Button,{size:"sm",onClick:()=>{o.logout();}},"SIGN OUT"):b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.Text,{whiteSpace:"nowrap",textAlign:"center",opacity:.8,fontWeight:600,fontSize:"sm"},"SIGN IN"),b__default.default.createElement(react.Flex,{flexFlow:e,gap:2,w:"100%"})))},C0=e=>b__default.default.createElement(react.Portal,null,b__default.default.createElement(react.Flex,{position:"fixed",bottom:4,left:4},b__default.default.createElement(Ri,{...e})));var Jt=({width:e,children:o,active:t,duration:r=400,...n})=>b__default.default.createElement(react.Center,{width:`${t?e:0}px`,opacity:t?1:0,transition:`all ${r}ms ease-in-out`,overflow:"hidden",...n},o);var is=(e,o)=>b__default.default.createElement(react.Flex,{ref:o,bg:"background.100",p:3,borderRadius:6,boxShadow:"1px 1px 4px #00000066",...e}),Le=b.forwardRef(is);var W=()=>react.useColorModeValue("#00000033","#ffffff33");var Zt=({viewText:e="View",hideText:o="Hide",onClick:t,isOpen:r,color:n})=>b__default.default.createElement(react.IconButton,{icon:r?b__default.default.createElement(icons.ChevronUpIcon,{width:5,height:5}):b__default.default.createElement(icons.ChevronDownIcon,{width:5,height:5}),"aria-label":r?o:e,variant:"ghost",p:"2px",ml:"auto",size:"xs",fontSize:"xs",borderRadius:"full",_hover:{bg:"blackAlpha.200"},color:n??"#777",onClick:s=>{s.stopPropagation(),t(s);}});var Ko=({header:e,children:o,initExpanded:t=false,nested:r,alwaysExpanded:n,headerProps:s,iconColor:i,footer:l,isOpen:a,onClose:p,onOpen:u,...m})=>{let{isOpen:d,onClose:c,onOpen:f}=react.useDisclosure({defaultIsOpen:n??t,isOpen:a,onClose:p,onOpen:u}),g=b.useCallback(y=>{if(y.stopPropagation(),!n){if(d){c();return}f();}},[n,f,c,d]),h=W();return b__default.default.createElement(react.VStack,{spacing:0,borderColor:h,w:"100%",...m},b__default.default.createElement(react.HStack,{borderBottom:d?`1px solid ${h}`:void 0,px:2,spacing:0,w:"100%",...s},b__default.default.createElement(react.Flex,{onClick:g,cursor:"pointer","aria-label":"expand/hide",align:"center",flex:1},typeof e=="string"?b__default.default.createElement(react.Text,{fontWeight:600,color:"gray.500",flex:1},e):b__default.default.createElement(e,{isOpen:d,onClose:c})),n?null:b__default.default.createElement(Zt,{color:i,onClick:g,isOpen:d})),b__default.default.createElement(react.Box,{w:"100%",borderLeft:r?"4px solid #00000033":void 0},b__default.default.createElement(react.Collapse,{unmountOnExit:true,style:{width:"100%"},in:d},o)),l?b__default.default.createElement(l,{isOpen:d,onClose:c}):null)};var Z=({animateOpacity:e,duration:o=300,children:t,in:r=true,onExited:n,...s})=>{let i=react$1.useMounted(),[l,a]=b.useState(0),p=b.useRef(null),[u,m]=b.useState(false),d=b.useMemo(()=>i&&r,[r,i]),c=b.useMemo(()=>d?l:0,[l,d]),f=b.useCallback(y=>{a(y.target.scrollHeight);},[]);nr__default.default(p,f);let g=b.useRef(null);b.useEffect(()=>{g.current&&(clearTimeout(g.current),g.current=null),m(true),g.current=setTimeout(()=>{m(false),n&&!d&&n();},o);},[d,o,n]);let h=b.useMemo(()=>!u&&d?"height 0ms":e?`height ${o}ms, opacity ${o}ms ease ${d?o:0}ms`:`height ${o}ms`,[e,o,d,u]);return b__default.default.createElement(react.Box,{overflow:"hidden",w:"100%",transition:h,height:`${c}px`,...s},b__default.default.createElement(react.Box,{ref:p,w:"100%",...s},t))};var lg=({children:e,...o})=>{let[t,r]=b.useState(0),[n,s]=b.useState(0),i=b.useRef(null),l=b.useCallback(a=>{r(a.target.scrollWidth),s(a.target.scrollHeight);},[]);return nr__default.default(i,l),b__default.default.createElement(react.Box,{ref:i,...o,width:"100%",height:"100%"},b__default.default.createElement(e,{width:t,height:n}))},lr=({children:e,...o})=>{let[t,r]=b.useState(0),[n,s]=b.useState(0),i=b.useRef(null),l=b.useCallback(p=>{r(p.target.scrollWidth),s(p.target.scrollHeight);},[]);nr__default.default(i,l);let a=b.useMemo(()=>({width:t,height:n}),[t,n]);return b__default.default.createElement(react.Box,{ref:i,...o,width:"100%",height:"100%"},b__default.default.createElement(react$1.FullSizeContext.Provider,{value:a},e))};var ar=b.createContext([]),po=()=>b.useContext(ar),dr=({children:e,views:o})=>{let t=react$1.useAuth(n=>n.user),r=b.useMemo(()=>core.getUserViews(o,t).map(n=>({view:n,routes:core.getViewRoutes(n)})),[t,o]);return b__default.default.createElement(ar.Provider,{value:r},e)};var ur=b__default.default.createContext(false),mr=({children:e})=>b__default.default.createElement(ur.Provider,{value:true},e),cr=()=>b.useContext(ur);var Zo=50,Vs=({view:e,absolute:o})=>{let{path:t,name:r,icon:n,iconScale:s}=e,i=Array.isArray(t)?t[0]:t,l=react.useColorModeValue(1,1.8),a=b.useMemo(()=>o?2.4:l,[o,l]),{pathname:p}=reactRouterDom.useLocation(),u=react.useColorModeValue("#ffffff33","#00000033"),m=b__default.default.createElement(react.Button,{pointerEvents:p===i?"none":"auto",opacity:p===i?1:.7,width:"100%",height:"100%",borderRadius:0,flexFlow:"column",_hover:{bg:u},variant:"unstyled",display:"flex",alignItems:"center",justifyContent:"center"},b__default.default.createElement(react.Image,{height:`${34*(s??1)}px`,filter:`brightness(${a})${o?" drop-shadow(1px 1px 3px #00000099 )":""}`,src:n,alt:r}));return p===i?b__default.default.createElement(react.Flex,{key:i,flex:1,h:"100%",justify:"center"},m):b__default.default.createElement(reactRouterDom.Link,{key:i,style:{flex:1,display:"flex",height:"100%",justifyContent:"center"},to:i},m)},fr=({selectedView:e,children:o})=>{let t=react.useColorModeValue("#dedede",core.palette.gray.dark),r=react.useColorModeValue("#00000022","#ffffff33"),n=po(),s=b.useMemo(()=>n.filter(p=>!!p.view.icon),[n]),i=b.useMemo(()=>!!e?.navBar?.absolute,[e]),l=b.useMemo(()=>e?.navBar?.backgroundColor??t,[t,e]),a=b.useMemo(()=>e?.navBar?.borderColor?!!e?.navBar?.borderColor:i?"#ffffff33":r,[r,e,i]);return b__default.default.createElement(react.Flex,{position:"absolute",bottom:0,left:0,bg:l,w:"100%",transition:"all 500ms",h:`${Zo}px`,borderTop:`1px solid ${a}`},b__default.default.createElement(react.Flex,{position:"relative",w:"100%",justify:"space-around",align:"center"},s.map(({view:p})=>b__default.default.createElement(Vs,{absolute:i,key:p.name,view:p})),o))};var gr=({message:e})=>{let o=react.useColorModeValue("gray.600","gray.100");return b__default.default.createElement(react.Flex,{pt:4},b__default.default.createElement(Le,null,b__default.default.createElement(react.Text,{color:o},e??"Sorry, something went wrong.")))};var mo=e=>{let o=react.useColorModeValue("gray.400","gray.400"),t=react.useColorModeValue("gray.300","gray.600");return b__default.default.createElement(react.CircularProgress,{isIndeterminate:true,trackColor:t,color:o,...e})};var wr=({size:e=30,isLoading:o,speed:t=2,inFeed:r,asset:n})=>{let s=react.useColorModeValue(n.default,n.dark??n.default),i=b.useMemo(()=>r?n.dark??n.default:s,[s,n,r]),l=b.useMemo(()=>({animationData:i,loop:true}),[i]),a=b.useMemo(()=>({width:e,height:e,opacity:o?.85:0,transition:"opacity 300ms ease-in-out"}),[e,o]),{View:p,pause:u,play:m,setSpeed:d}=lottieReact.useLottie(l,a);return b.useEffect(()=>{d(t);},[d,t]),b.useEffect(()=>{o?m():u();},[o,m,u]),b__default.default.createElement(b__default.default.Fragment,null,p)},Cr=({size:e=30,isLoading:o,asset:t,inFeed:r})=>{let n=react.useColorModeValue(t.default,t.dark??t.default),s=b.useMemo(()=>r?t.dark??t.default:n,[n,t,r]),i=b.useMemo(()=>({width:e,height:e,opacity:o?.85:0,transition:"opacity 300ms ease-in-out"}),[e,o]);return b__default.default.createElement("img",{src:s,style:i,alt:"loading"})},Ys=({isLoading:e,size:o})=>{let{loading:t}=react$1.useAppAssets();return t.lottieJson?b__default.default.createElement(wr,{isLoading:e,size:o,asset:t.lottieJson}):t.svg?b__default.default.createElement(Cr,{isLoading:e,size:o,asset:t.svg}):null},ve=({isLoading:e,size:o,inFeed:t})=>{let{loading:r}=react$1.useAppAssets();return r.lottieJson?b__default.default.createElement(wr,{inFeed:t,isLoading:e,size:o,asset:r.lottieJson}):r.svg?b__default.default.createElement(Cr,{inFeed:t,isLoading:e,size:o,asset:r.svg}):b__default.default.createElement(react.Text,{color:"red"},"ERROR: No loading animation found")},Fe=({text:e="Loading...",inBox:o,stackProps:t})=>{let r=b__default.default.createElement(react.HStack,{p:2,...t},b__default.default.createElement(Ys,{isLoading:true}),b__default.default.createElement(react.Text,{opacity:.8,fontSize:"sm"},e));return o?b__default.default.createElement(Le,null,r):r},Be=({isLoading:e,text:o,inFeed:t,...r})=>{let n=react.useColorModeValue("#ffffffaa","#00000088");return b__default.default.createElement(react.Center,{pos:"absolute",top:0,left:0,right:0,bottom:0,bg:n,pointerEvents:e?"auto":"none",opacity:e?1:0,...r},o?b__default.default.createElement(Fe,{text:o}):b__default.default.createElement(ve,{inFeed:t,size:100,isLoading:e}))};var Fr=({loading:e})=>{let o=b.useRef(null),t=react$1.useAuth(n=>n.loading),r=reactRouterDom.useNavigate();return b.useEffect(()=>(!e&&!t&&(o.current=setTimeout(()=>{r("/");},1500)),()=>{o.current&&clearTimeout(o.current);}),[e,r,t]),!e&&!t?b__default.default.createElement(react.Center,{minH:"100%",w:"100%"},b__default.default.createElement(Le,{maxW:"500px"},b__default.default.createElement(react.HStack,{spacing:3},b__default.default.createElement(mo,{size:6}),b__default.default.createElement(react.VStack,{spacing:0,align:"flex-start"},b__default.default.createElement(react.Text,null,"404"),b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.7},"Page not found - redirecting to Home..."))))):b__default.default.createElement(Fe,null)};var Tr=390,kr=844,Ir=Tr/kr,cl=({children:e,navBarChildren:o})=>{let{isMobile:t,height:r,width:n}=react$1.useScreen(),{contentHeight:s,contentWidth:i}=b.useMemo(()=>{let x=t?r:kr,F=t?n:Tr;if(t)return {contentHeight:x,contentWidth:F};let S=Math.floor(r*.9),C=Math.floor(n*.9);return x>S?(F=Math.floor(S*Ir),x=S):F>C&&(x=Math.floor(C/Ir),F=C),{contentHeight:x,contentWidth:F}},[t,r,n]),l=react.useColorModeValue(core.cssGradients.accentGray,core.cssGradients.darkGray),a=reactRouterDom.useLocation(),p=reactRouterDom.useOutlet(),u=po(),m=b.useMemo(()=>u.find(x=>!!reactRouterDom.matchRoutes(x.routes,a)),[u,a]),d=b.useMemo(()=>m?typeof m.view.path=="string"?m.view.path:m.view.path[0]:"404",[m]),c=b.useRef(null),f=b.useRef(null),g=b.useMemo(()=>!!m?.view?.navBar?.absolute,[m]),h=b.useMemo(()=>s-(g?0:Zo),[s,g]),y=b.useMemo(()=>({overlayRef:c,height:s,width:i,absoluteNavBar:g,bodyHeight:h}),[c,s,i,g,h]);return b__default.default.createElement(mr,null,b__default.default.createElement(react$1.MobileFrameProvider,{value:y},b__default.default.createElement(react.Center,{position:"relative",bg:l,w:"100%",height:"100%"},b__default.default.createElement(react.Flex,{bg:"background.100",position:"relative",style:{height:`${s}px`,width:`${i}px`},boxShadow:t?"none":"1px 1px 4px rgba(0,0,0,0.4)",borderRadius:t?0:10,overflow:"hidden",direction:"column",maxH:s},b__default.default.createElement(framerMotion.AnimatePresence,null,b__default.default.createElement(reactTransitionGroup.SwitchTransition,null,b__default.default.createElement(reactTransitionGroup.CSSTransition,{key:d,nodeRef:f,unmountOnExit:true,classNames:"page",timeout:300},()=>b__default.default.createElement(framerMotion.motion.div,{style:{position:"relative",width:"100%",overflow:"hidden"},animate:{height:h,opacity:1,dur:.5,scale:1},initial:{opacity:0,scale:.9,height:h},exit:{opacity:0}},b__default.default.createElement(reactErrorBoundary.ErrorBoundary,{FallbackComponent:()=>b__default.default.createElement(gr,null)},m?p:b__default.default.createElement(Fr,null)),e?b__default.default.createElement(react.Box,{height:"100%",w:"100%",position:"absolute",top:0,left:0,pointerEvents:"none"},e):null)))),b__default.default.createElement(fr,{selectedView:m?.view},o),b__default.default.createElement(react.Flex,{pos:"absolute",pointerEvents:"none",bottom:0,w:"100%",h:"100%"},b__default.default.createElement(react.Flex,{ref:c,w:"100%",h:"100%",pos:"relative"}))))))},bh=({children:e,navBarChildren:o,views:t})=>b__default.default.createElement(dr,{views:t},b__default.default.createElement(cl,{navBarChildren:o},e));var Pl="Are you sure? You can't undo this action afterwards.",Il=({confirmActive:e,onCancel:o,onConfirm:t,body:r=Pl,actionName:n="Delete",actionLoading:s,itemName:i})=>{let l=b.useRef(null);return b__default.default.createElement(react.AlertDialog,{isCentered:true,isOpen:e,leastDestructiveRef:l,onClose:()=>o()},b__default.default.createElement(react.AlertDialogOverlay,null,b__default.default.createElement(react.AlertDialogContent,{gap:0},b__default.default.createElement(react.AlertDialogBody,null,b__default.default.createElement(react.VStack,{align:"flex-start",py:1},b__default.default.createElement(react.Text,{fontSize:"lg",fontWeight:500},n," ",i,"?"),typeof r=="string"?b__default.default.createElement(react.Text,{fontSize:"md"},r):r,b__default.default.createElement(react.HStack,{justify:"flex-end",w:"100%"},b__default.default.createElement(react.Button,{size:"sm",ref:l,onClick:o},"Cancel"),b__default.default.createElement(react.Button,{size:"sm",isLoading:s,color:"white",textShadow:"1px 1px 3px #00000077",bg:"red.500",_dark:{bg:"red.500"},onClick:t},n)))))))},Br=({onDelete:e,itemName:o,noConfirm:t,alertBody:r,text:n,actionName:s="Delete",...i})=>{let[l,a]=b.useState(false),[p,u]=b.useState(false),m=b.useRef(null),d=b.useRef(true);b.useEffect(()=>(d.current=true,()=>{d.current=false;}),[]);let c=react.useToast(),f=b.useCallback(async()=>{if(m.current&&clearTimeout(m.current),u(false),e){a(true);try{await e();}catch(g){console.error(g),c({title:"Error",description:g.message??"An error occurred",status:"error",duration:5e3,isClosable:true});}d.current&&a(false);}else console.error("No delete function");},[e,c]);return b__default.default.createElement(b__default.default.Fragment,null,n?b__default.default.createElement(react.Button,{variant:"ghost",size:i.size??"md","aria-label":"delete",_hover:{color:"red.600",bg:"red.200"},color:"red.600",onClick:g=>{g.stopPropagation(),t?f():u(true);},isLoading:l,...i},b__default.default.createElement(react.Flex,{align:"center",gap:1},b__default.default.createElement(icons.DeleteIcon,null),b__default.default.createElement(react.Text,null,n))):b__default.default.createElement(react.IconButton,{variant:"ghost",size:i.size??"sm","aria-label":s,_hover:{color:"red.600",bg:"red.200"},color:"red.500",borderRadius:"full",icon:b__default.default.createElement(icons.DeleteIcon,null),onClick:g=>{g.stopPropagation(),t?f():u(true);},isLoading:l,...i}),t?null:b__default.default.createElement(Il,{confirmActive:p,onCancel:()=>u(false),actionLoading:l,onConfirm:()=>{f();},actionName:s,body:r,itemName:o}))};var Bl=({selected:e,option:{Render:o,label:t,disabledMessage:r},size:n,...s})=>{let i=b__default.default.createElement(react.Box,null,b__default.default.createElement(react.IconButton,{variant:"unstyled",w:`${n}px`,h:`${n}px`,minW:0,borderRadius:0,outline:"none",display:"flex",alignItems:"center",justifyContent:"center",opacity:r?.6:1,filter:r?"grayscale(1)":"none",bg:e?"whiteAlpha.500":"blackAlpha.100",_dark:{bg:e?"blackAlpha.500":"whiteAlpha.200"},icon:o(e),pointerEvents:e?"none":"auto","aria-label":t,...s}));return b__default.default.createElement(react.Tooltip,{label:r??t,"aria-label":t},i)},Ar=({value:e,onChange:o,size:t=28,options:r})=>{let n=W();return b__default.default.createElement(react.Flex,{bg:"whiteAlpha.300",_dark:{bg:"blackAlpha.300"},border:`1px solid ${n}`,borderRadius:3},r.map((s,i)=>b__default.default.createElement(Bl,{key:s.id,onClick:()=>{o(s.id);},option:s,size:t,borderLeftRadius:i?0:3,borderRightRadius:i===r.length-1?3:0,selected:s.id===e,borderLeft:i?`1px solid ${n}`:"none"})))};var Or=b.createContext({}),Dr=({curr:e,children:o})=>{let t=b.useMemo(()=>({curr:e}),[e]);return b__default.default.createElement(Or.Provider,{value:t},o)},zl=()=>b.useContext(Or);var Hr=({src:e,onClose:o})=>{let[t,r]=b.useState(true),n=react$1.useScreen(d=>d.width),s=react$1.useScreen(d=>d.height),[i,l]=b.useState({width:n/2,height:s/2}),{height:a,width:p}=b.useMemo(()=>{if(t)return i;let d=i.width/i.height,c=Math.min(i.height,s*.9),f=c*d;return f>n*.9&&(f=Math.min(i.width,n*.9),c=f/d),{height:c,width:f}},[s,n,i,t]),u=b.useCallback(()=>r(true),[]),m=b.useCallback(d=>{let{naturalWidth:c,naturalHeight:f}=d.currentTarget;l({width:c,height:f}),r(false);},[]);return b__default.default.createElement(react.Modal,{size:"full",isOpen:true,onClose:o},b__default.default.createElement(react.ModalOverlay,{bg:"blackAlpha.700"}),b__default.default.createElement(react.ModalContent,{style:{background:"transparent"},pointerEvents:"none",width:"100%",height:"100%"},b__default.default.createElement(react.Center,{pointerEvents:"none",position:"fixed",p:[4,6,8],top:0,left:0,right:0,bottom:0,zIndex:4},b__default.default.createElement(react.Center,{opacity:t?0:1,transition:"all 500ms",overflow:"hidden",w:`${p}px`,height:`${a}px`},b__default.default.createElement(react.Image,{onLoadStart:u,onLoad:m,transition:"opacity 300ms",height:"100%",objectFit:"contain",borderRadius:4,src:e})),b__default.default.createElement(react.IconButton,{borderRadius:"full",position:"absolute",top:4,right:4,"aria-label":"close",icon:b__default.default.createElement(icons.CloseIcon,null),onClick:o})),b__default.default.createElement(react.Center,{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",opacity:t?1:0,transition:"opacity 300ms"},b__default.default.createElement(ve,{isLoading:t,size:70}))))};var Nr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",Gr=({src:e,loadingOverride:o,alt:t,onLoad:r,width:n,height:s,noFullView:i,buttonFullView:l,imageProps:a,...p})=>{let[u,m]=b.useState(!!e),d=b.useRef(null),[c,f]=b.useState(false),g=react$1.useMounted(100);b.useEffect(()=>{d.current?.complete&&m(true);},[d]);let h=b.useCallback(S=>{m(false),r&&r(S);},[r]),[y,x]=b.useState(e);b.useEffect(()=>{e&&x(e);},[e,y]);let F=u||!!o;return b__default.default.createElement(react.Center,{opacity:g?1:0,transition:"opacity 333ms",w:n??"100%",h:s??"100%",overflow:"hidden",position:"relative",...p},b__default.default.createElement(react.Image,{src:e??Nr,alt:t,onClick:i||l?void 0:()=>f(true),onLoad:h,onLoadStart:()=>m(true),top:0,left:0,cursor:i||l?"default":"pointer",draggable:false,opacity:e&&!F?1:0,transition:"opacity 300ms ease-in-out",w:"100%",h:"100%",objectFit:e?"cover":"contain",zIndex:0,...a}),l?b__default.default.createElement(react.IconButton,{pos:"absolute",top:2,right:2,zIndex:1,w:7,minW:0,borderRadius:10,h:7,size:"sm","aria-label":"View Image",icon:b__default.default.createElement(react.Image,{height:"20px",src:"/icons/open_in_full.svg",opacity:.8,filter:"brightness(300%) drop-shadow(1px 1px 3px #00000066)"}),onClick:()=>f(true)}):null,b__default.default.createElement(react.Center,{pos:"absolute",top:0,left:0,zIndex:2,pointerEvents:"none",transition:"opacity 0.5s ease-in-out",opacity:F||!e?1:0,w:"100%",h:"100%"},b__default.default.createElement(ve,{isLoading:F,size:"60%"})),c?b__default.default.createElement(Hr,{src:e??Nr,onClose:()=>f(false)}):null)};var ex=({value:e,label:o,onChange:t})=>{let r=react.useToast(),[n,s]=b.useState(false),i=b.useCallback(l=>{let a=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{s(false);},a);},[]);return b__default.default.createElement(react.Flex,{py:1,pr:2,pl:3,bg:"gray.700",borderRadius:12,boxShadow:"0 0 4px black",pos:"relative",align:"center"},b__default.default.createElement(react.Flex,{opacity:n?0:1,transition:`opacity 300ms ${n?"ease-out":"ease-in"}`,pointerEvents:n?"none":"auto",align:"center",gap:2},b__default.default.createElement(react.Text,{style:{fontSize:"1.2rem",height:"24px"}},o),b__default.default.createElement(react.Switch,{size:"md",isChecked:e,onChange:l=>{s(true);let a=Date.now();t(l.target.checked).catch(p=>{console.error(p),r({title:"Error",description:p?.message??"Error occurred",status:"error",duration:5e3,isClosable:true});}),i(a);}})),b__default.default.createElement(react.Center,{opacity:n?1:0,transition:`opacity 300ms ${n?"ease-in":"ease-out"}`,pointerEvents:n?"auto":"none",pos:"absolute",top:"-10%",left:"-10%",w:"120%",borderRadius:8,p:1,gap:2,h:"120%"},b__default.default.createElement(Fe,null)))};var lt={damping:25,stiffness:200,bounce:.5},ee=75,se=100;var Yr=e=>e==="current"?1:0,da=(e,o)=>{let{width:t}=o;return e==="current"?0:e==="next"?t:e==="prev"?-t:0},at=(e,o)=>{let{height:t}=o;return e==="current"?0:e==="next"?t*1.1:e==="prev"?-t*1.1:0},Xr=({id:e,collectionPath:o,onItemLoad:t,RenderItem:r,status:n,offsetY:s,enterStatus:i})=>{let l=react$1.useMobileFrame(),a=framerMotion.useSpring(0,lt),p=framerMotion.useMotionValue(at(i??"next",l)),u=framerMotion.useTransform(()=>p.get()+s.get()),m=framerMotion.useSpring(u,lt),d=b.useMemo(()=>`${o}/${e}`,[o,e]),{data:c}=react$1.useDocument(d,t),f=b.useRef({contentSize:l,status:i??n,y:at(i??n,l),scale:Yr(i??n)});return b.useEffect(()=>{let g=Yr(n),h=da(n,l);p.set(h),a.set(g);},[n,p,a,l]),b__default.default.createElement(framerMotion.motion.div,{initial:{x:0,y:f.current.y,scale:f.current.scale},style:{position:"absolute",top:0,left:0,display:"flex",alignItems:"center",justifyContent:"center",touchAction:"none",userSelect:"none",height:"100%",y:m,scale:a,opacity:a,width:"100%"},exit:{opacity:0,scale:0,x:0,y:at(i==="next"?"prev":"next",l)}},c?r(c):null)};var ca=10,Kr=(e,o,t=ca,r=false)=>{let[n,s]=b.useState([null,null,null]),[i,l]=b.useState(0),a=react$1.useAuth(I=>I.user),[p,u]=b.useState(false),[m,d]=b.useState(false),[c,f]=b.useState(null),[g,h]=b.useState(false),[y,x]=b.useState(null),F=react.useToast(),S=b.useRef(null),C=b.useRef({prev:null,curr:null,next:null}),T=b.useCallback(I=>{I&&(C.current.prev===I&&(C.current.prev=null),C.current.next===I&&(C.current.next=null)),C.current.curr=I,o({...C.current});},[o]),E=b.useCallback(I=>{I&&(C.current.prev===I&&(C.current.prev=null),C.current.curr===I&&(C.current.curr=null)),C.current.next=I,o({...C.current});},[o]),z=b.useCallback(I=>{I&&(C.current.curr===I&&(C.current.curr=null),C.current.next===I&&(C.current.next=null)),C.current.prev=I,o({...C.current});},[o]),O=b.useCallback(async(I,V,k)=>{if(!a&&r)return [];k||u(true);try{let v=await e({limit:t,startAfter:V,startBefore:I});if(k)V?s(M=>[M[0],M[1],v.ids]):I&&s(M=>[v.ids,M[1],M[2]]);else {let M=v.ids[0],J=v.ids[1]||null;T(M),E(J),z(V),s(V?X=>[X[1],v.ids,null]:I?X=>[null,v.ids,X[1]]:[null,v.ids,null]);let Y=v.ids[v.ids.length-1];Y&&O(null,Y,!0);}return u(!1),v.ids||[]}catch(v){f(v.message),F({title:"Error fetching feed",description:v.message,status:"error",duration:9e3,isClosable:true});}return u(false),[]},[e,F,a,r,T,E,z,t]),L=b.useCallback(async(I,V)=>{let k=n[1]??[],v=n[2]??[],M=I+1;if(M<k.length)return {id:k[M],idx:M};if(v[0]){let X=v[v.length-1];return V||(s(qt=>[qt[1],qt[2],null]),O(null,X,true)),{id:v[0],idx:0}}let Y=(await O(null,k[k.length-1],V))[0];return Y?{id:Y,idx:0}:null},[n,O]),N=b.useCallback(async(I,V)=>{let k=n[1]??[],v=n[0]??[],M=I-1;if(M>=0)return {id:k[M],idx:M};if(v[v.length-1]){let X=v[0];return V||(s([null,n[0],n[1]]),O(X,null,true)),{id:v[v.length-1],idx:v.length-1}}let J=await O(k[0],null,V),Y=J[J.length-1];return Y?{id:Y,idx:J.length-1}:null},[n,O]),D=b.useCallback(async()=>{if(g)return;let I=C.current.curr;h(true);let V=await L(i,false);if(x("next"),V){let{id:k,idx:v}=V;S.current=k,l(v),T(k),E(null),z(I),L(v,true).then(M=>E(M?.id??null));}else F({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,L,T,E,z,F,g]),U=b.useCallback(async()=>{if(g)return;let I=C.current.curr;x("prev"),h(true);let V=await N(i,false);if(V){let{id:k,idx:v}=V;S.current=k,l(v),T(k),z(null),E(I),N(v,true).then(M=>z(M?.id??null));}else F({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,N,T,E,z,F,g]),ce=b.useCallback(async()=>{u(true),d(true),s([null,null,null]),T(null),E(null),z(null),x(null),l(0),await O(null,null,false),d(false);},[O,T,E,z]),[ke]=b.useState(()=>O);b.useEffect(()=>{ke(null,null,false);},[ke]);let Me=b.useMemo(()=>i>0&&!!n[1]?.length||!!n[0]?.length,[n,i]),we=b.useMemo(()=>(n[1]&&i<n[1].length)??!!n[2]?.length,[n,i]);return b.useMemo(()=>({ids:n,goNext:D,goPrev:U,error:c,refresh:ce,refreshing:m,loading:p,canGoNext:we,direction:y,canGoPrev:Me,itemLoading:g}),[n,D,U,p,c,g,we,Me,ce,m,y])};var ga="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",co=({background:e,...o})=>b__default.default.createElement(react.Center,{position:"absolute",top:"0",left:"0",opacity:e?.7:0,transition:"opacity 500ms",right:"0",bottom:"0",zIndex:0,transform:"scale(1.075)",pointerEvents:"none",backgroundImage:`url(${e??ga})`,backgroundSize:"cover",backgroundPosition:"center",...o,filter:o.filter??"blur(15px) brightness(70%)"}),ha=({getBackgroundValue:e,item:o,filter:t})=>{let r=b.useMemo(()=>o?e(o):null,[e,o]),{loading:n,url:s}=react$1.useObjectUrl(r),i=b.useRef(0),[l,a]=b.useState(0),[p,u]=b.useState(null),[m,d]=b.useState(null);return b.useEffect(()=>{i.current===0?(u(s),i.current=1,a(0)):(d(s),i.current=0,a(1));},[s]),b__default.default.createElement(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0},b__default.default.createElement(co,{filter:t,opacity:l===0?1:0,background:p}),b__default.default.createElement(co,{filter:t,opacity:l===1?1:0,background:m}),b__default.default.createElement(ve,{isLoading:n}))},xa=({getBackgroundUrl:e,item:o,filter:t})=>{let r=b.useMemo(()=>o?e(o):null,[e,o]),n=b.useRef(0),[s,i]=b.useState(0),[l,a]=b.useState(null),[p,u]=b.useState(null);return b.useEffect(()=>{r&&(n.current===0?(a(r),n.current=1,i(0)):(u(r),n.current=0,i(1)));},[r]),b__default.default.createElement(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0},b__default.default.createElement(co,{filter:t,opacity:s===0?1:0,background:l}),b__default.default.createElement(co,{filter:t,opacity:s===1?1:0,background:p}))},Rr=({getBackgroundValue:e,getBackgroundUrl:o,...t})=>e?b__default.default.createElement(ha,{getBackgroundValue:e,...t}):o?b__default.default.createElement(xa,{getBackgroundUrl:o,...t}):null;var Ca=se-ee,tn=({offsetY:e,refreshing:o,canRefresh:t})=>{let r=framerMotion.useTransform(e,p=>Math.max(0,p-ee)/Ca),n=framerMotion.useSpring(0),s=framerMotion.useSpring(0);b.useEffect(()=>{o?n.set(50):n.set(0);},[o,n]),b.useEffect(()=>{t?s.set(1):s.set(0);},[s,t]);let i=framerMotion.useTransform(()=>s.get()*Math.min(20,Math.max(0,n.get()+r.get()**.5*20))),l=framerMotion.useTransform(i,p=>s.get()*Math.min(1,Math.max(0,p/30))),a=framerMotion.useTransform(()=>s.get()*r.get()*180);return b__default.default.createElement(framerMotion.motion.div,{style:{opacity:l,pointerEvents:"none",y:i,position:"absolute",top:0,left:0,right:0,height:"auto",scale:l,rotate:a}},b__default.default.createElement(react.Center,{w:"100%"},b__default.default.createElement(icons.RepeatIcon,{opacity:o?0:1,transition:`opacity 300ms ease ${o?0:300}ms`,w:8,h:8,color:"white",filter:"drop-shadow(1px 1px 3px #000000aa)"}),b__default.default.createElement(mo,{size:8,position:"absolute",isIndeterminate:true,opacity:o?1:0,transition:`opacity 300ms ease ${o?300:0}ms`})))};var Pa=e=>b.useCallback(o=>{let t=[];o.prev&&t.push({status:"prev",id:o.prev}),o.curr&&t.push({status:"current",id:o.curr}),o.next&&t.push({status:"next",id:o.next}),e(t);},[e]),Gx=({fetch:e,collection:o,RenderItem:t,authRequired:r,getBackgroundUrl:n,getBackgroundValue:s,limit:i,defaultBackground:l,swipeDisabled:a,children:p})=>{let{width:u,height:m}=react$1.useMobileFrame(),d=b.useRef(null),c=b.useRef(null),[f,g]=b.useState(null),[h,y]=b.useState([]),x=framerMotion.useMotionValue(0),F=Pa(y),S=b.useRef(null),{goNext:C,goPrev:T,loading:E,canGoNext:z,canGoPrev:O,refresh:L,refreshing:N}=Kr(e,F,i,r),D=b.useRef(false),U=b.useRef({x:0,y:0}),ce=b.useCallback(k=>{if(a)return;D.current=true,U.current={x:k.clientX,y:k.clientY};let v=M=>{let J=O?ee:se,Y=z?-75:-100,X=Math.max(Y,Math.min(J,M.clientY-U.current.y));d.current&&d.current.style.setProperty("pointer-events","auto"),z&&X<-65?(g("next"),C()):O&&X>ee-10?(g("prev"),T()):(X>se-10||X<-90)&&(L(),S.current&&S.current.onNewData(null)),x.set(0),D.current=false,window.removeEventListener("pointerup",v);};window.addEventListener("pointerup",v);},[x,C,T,z,O,L,a]),ke=b.useCallback(k=>{requestAnimationFrame(()=>{if(D.current){let v=Math.max(-10,Math.min(10,k.clientX-U.current.x)),M=O?ee:se,J=z?-75:-100,Y=Math.max(J,Math.min(M,k.clientY-U.current.y));Math.sqrt(v**2+Y**2)>10&&d.current&&d.current.style.setProperty("pointer-events","none"),x.set(Y);}});},[x,z,O]),Me=b.useMemo(()=>({height:`${m}px`,width:`${u}px`,overflow:"hidden",pointerEvents:a?"none":"auto"}),[u,m,a]),[we,I]=b.useState(null),V=b.useCallback(k=>{h.find(M=>M.status==="current")?.id===k?._id&&I(k);},[h]);return b__default.default.createElement(Dr,{curr:we},b__default.default.createElement(react.Center,{background:l??"background.100",style:{touchAction:"none"},userSelect:"none",position:"relative",w:"100%",h:"100%",overflow:"hidden",onPointerDown:ce,onPointerMove:ke},b__default.default.createElement(Rr,{item:we,getBackgroundValue:s,getBackgroundUrl:n}),b__default.default.createElement("div",{ref:c,style:Me},b__default.default.createElement(react.Center,{ref:d,h:"100%",w:"100%"},h.map(k=>b__default.default.createElement(Xr,{key:k.id,id:k.id,collectionPath:o,RenderItem:t,onItemLoad:V,status:k.status,enterStatus:f,offsetY:x})))),b__default.default.createElement(tn,{canRefresh:!O,refreshing:N,offsetY:x}),b__default.default.createElement(Be,{inFeed:true,zIndex:2,bg:"transparent",pointerEvents:"none",isLoading:E}),p?b__default.default.createElement(react.Center,{position:"absolute",bottom:"0",left:"0",right:"0",zIndex:3,pointerEvents:"none"},p):null))};var xo=({path:e,condition:o,children:t})=>{let r=reactHookForm.useWatch({exact:true,name:e});return b.useMemo(()=>o(r),[r,o])?b__default.default.createElement(Z,{py:"3px",animateOpacity:true,in:true},t):null};var Oa=({field:e,input:{onChange:o,value:t,...r}},n)=>{let{placeholder:s}=e;return b.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Checkbox,{isChecked:t,onChange:i=>o(i.target.checked),...r},s)},Da=b.forwardRef(Oa),Ea=({field:e,input:{onChange:o,value:t,...r}},n)=>{let{placeholder:s}=e;return b.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Flex,{gap:1,align:"center"},b__default.default.createElement(react.Switch,{isChecked:t,onChange:i=>o(i.target.checked),...r}),b__default.default.createElement(react.Text,{fontWeight:600,opacity:t?.9:.6},s))},za=b.forwardRef(Ea),Va=(e,o)=>e.field.type==="switch"?b__default.default.createElement(za,{ref:o,...e}):b__default.default.createElement(Da,{ref:o,...e}),nn=b.forwardRef(Va);var bo=(e,o,t)=>{let r=b.useRef(null);return b.useImperativeHandle(e,()=>({focus:(()=>r.current?.focus()),blur:(()=>r.current?.blur())})),r};var ft=({children:e,color:o,background:t,boxProps:r,...n})=>b__default.default.createElement(react.Box,{background:t,...r},b__default.default.createElement(react.Text,{cursor:"default",className:"gradient-text",background:o,...n},e));var yo=({label:e,stackProps:o,gradient:t,value:r,min:n,max:s,...i})=>{let l=t?core.gradientToCssGradientProp(t):null;return b__default.default.createElement(react.HStack,{opacity:r!==void 0?1:.5,_hover:{opacity:1},transition:"all 500ms",spacing:2,width:"100%",align:"center",...o},b__default.default.createElement(react.HStack,{w:"100%",align:"center"},n!==void 0&&l?b__default.default.createElement(ft,{fontSize:"sm",color:l},typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""):null,n!==void 0&&!l?b__default.default.createElement(react.Text,null,typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""):null,b__default.default.createElement(react.Slider,{min:n,max:s,step:1,"aria-label":e,flex:1,...i},b__default.default.createElement(react.SliderTrack,{bg:"gray.400"},b__default.default.createElement(react.SliderFilledTrack,{bg:l??"blackAlpha.500"})),b__default.default.createElement(react.Tooltip,{bg:"gray.100",color:"gray.500",placement:"top",hasArrow:true,label:typeof r=="number"?r.toFixed(0):""},b__default.default.createElement(react.SliderThumb,{width:2,height:4}))),s!==void 0&&l?b__default.default.createElement(ft,{fontSize:"sm",color:l},typeof s=="number"?s.toFixed((i?.step??1)<1?2:0):""):null,s!==void 0&&!l?b__default.default.createElement(react.Text,null,typeof s=="number"?s.toFixed((i?.step??1)<1?2:0):""):null))};var Co=({label:e,stackProps:o,gradient:t,value:r,...n})=>b__default.default.createElement(yo,{label:e,value:r,min:0,step:1,max:255,stackProps:{width:"100%",...o},gradient:t,...n}),pn=b.forwardRef(({input:{onChange:e,value:o},field:t,meta:r},n)=>{let{withAlpha:s,defaultValue:i}=t,{active:l}=r||{};bo(n);let a=b.useCallback((m,d)=>{e(s?{r:0,g:0,b:0,a:1,...o,[m]:d}:{r:0,g:0,b:0,...o,[m]:d});},[o,e,s]),p=b.useMemo(()=>({...i,...o}),[i,o]),u=b.useMemo(()=>core.colorValueToHex(!!s,p),[p,s]);return b__default.default.createElement(react.HStack,{w:"100%"},b__default.default.createElement(react.Box,{boxShadow:"inset 0 0 12px rgba(255,255,255,0.4), 0 0 4px rgba(0,0,0,0.4)",p:2,bg:"blackAlpha.800",borderRadius:"full"},b__default.default.createElement(react.Center,{transition:"background 300ms",bg:u,width:"80px",h:"80px",borderRadius:"full"},b__default.default.createElement(react.Text,{style:{fontSize:"1.3rem"}},u))),b__default.default.createElement(react.VStack,{spacing:1,flex:1,px:2,align:"flex-start",borderRadius:6,transition:"all 400ms",boxShadow:`0 0 5px ${l?"#ffffff":"transparent"}`},b__default.default.createElement(Co,{label:"R",gradient:core.gradients.red,defaultValue:i.r,value:o?.r,onChange:m=>a("r",m)}),b__default.default.createElement(Co,{label:"G",defaultValue:i.g,gradient:core.gradients.green,value:o?.g,onChange:m=>a("g",m)}),b__default.default.createElement(Co,{label:"B",gradient:core.gradients.blue,defaultValue:i.b,value:o?.b,onChange:m=>a("b",m)}),s?b__default.default.createElement(Co,{label:"A",gradient:core.gradients.midnight,defaultValue:1,value:o?.a,onChange:m=>a("a",m)}):null))});var gt=(e,o)=>{let t=`${e}`;for(let r=t.length;r<o;r+=1)t=`0${t}`;return t},ht=e=>e?`${gt(e.getFullYear(),4)}-${gt(e.getMonth()+1,2)}-${gt(e.getDate(),2)}`:void 0,Ye=b.forwardRef((e,o)=>{let{input:t,field:{placeholder:r,minDate:n,maxDate:s,optional:i},meta:{active:l}}=e,{onChange:a,value:p,onFocus:u,onBlur:m}=t,d=b.useMemo(()=>p?new Date(`${p}T00:00:00.000`):new Date,[p]),c=b.useMemo(()=>{let f=[];return n!==void 0&&f.push({to:n==="now"?new Date:new Date(n),from:new Date(0)}),s!==void 0&&f.push({from:s==="now"?new Date:new Date(s),to:new Date(1/0)}),f},[n,s]);return b.useImperativeHandle(o,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Popover,{isOpen:l,onOpen:u,onClose:m,closeDelay:100,placement:"bottom"},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.Button,{w:"100%",fontFamily:"Public Sans",fontWeight:"normal",alignItems:"center",_hover:{bg:"#efefef"},lineHeight:1,variant:"outline"},b__default.default.createElement(react.Text,{fontSize:"md",height:"16px",align:"left",flex:1},p?core.getDateString(p,"short"):r),b__default.default.createElement(react.Image,{src:"/svg/calendar.svg",height:"20px"}))),b__default.default.createElement(react.Portal,null,b__default.default.createElement(react.PopoverContent,{zIndex:2,onFocus:u},b__default.default.createElement(react.PopoverArrow,null),b__default.default.createElement(reactDayPicker.DayPicker,{required:!i,disabled:c,styles:{caption:{fontFamily:"Public Sans",fontWeight:"400",fontSize:"0.9rem",color:"#555"},head:{fontFamily:"Public Sans"},nav:{fontFamily:"Public Sans"}},modifiersStyles:{selected:{background:"#454545"}},mode:"single",selected:d,onSelect:f=>a(ht(f))}))))});Ye.displayName="DateInput";var Xe=b.forwardRef(({field:e,input:o},t)=>(b.useImperativeHandle(t,()=>({focus:()=>{},blur:()=>{}})),b__default.default.createElement(react.Input,{fontFamily:"Public Sans",css:`
|
|
2
2
|
::-webkit-calendar-picker-indicator {
|
|
3
3
|
background: url(/svg/clock.svg) center/80% no-repeat;
|
|
4
4
|
color: white;
|
|
5
5
|
}
|
|
6
|
-
`,fontSize:"md",type:"time",placeholder:e.placeholder,...o,value:o.value??""})));Xe.displayName="TimeInput";var hd=e=>{if(!e)return {date:void 0,time:void 0};let o=new Date(e);return {date:gt(o),time:o.toTimeString().substring(0,5)}},xt=b.forwardRef(({input:{value:e,onBlur:o,onChange:t,onFocus:r}},n)=>{let[{date:s,time:i},l]=b.useState(hd(e)),[a,p]=b.useState(null),u=b.useCallback((d,c)=>{d==="date"?(l({date:c,time:i}),c&&i&&t(new Date(`${c}T${i}`).getTime())):(l({time:c,date:s}),c&&s&&t(new Date(`${s}T${c}:00.000`).getTime()));},[s,i,t]);b.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}}));let m=b.useMemo(()=>({active:a==="date",error:void 0,touched:false}),[a]);return b__default.default.createElement(react.HStack,{w:"100%"},b__default.default.createElement(Ye,{field:{_type:"date",placeholder:"Date"},input:{value:s,onChange:d=>{u("date",d);},onBlur:()=>{p(null),o();},onFocus:()=>{p("date"),r();}},meta:m}),b__default.default.createElement(Xe,{field:{_type:"time",placeholder:"Time"},input:{value:i,onChange:d=>u("time",d.target.value),onBlur:()=>{p(null),o();},onFocus:()=>{p("time"),r();}},meta:m}))});xt.displayName="DateTimeInput";var Qe=zustand.create(()=>({isPlaying:false,media:null,isLoading:false,fetchingMedia:null,shuffle:false,playlist:null,volume:.5,repeat:false,api:{pause:()=>{},play:()=>{},canGoNext:false,canGoPrev:false,goNext:()=>{},goPrev:()=>{},seek:()=>{},sound:null,trackProgress:new framerMotion.MotionValue(0),setMedia:()=>{},stop:()=>{},loop:()=>{}}})),pn=()=>{let{media:e,playlist:o}=Qe();return b.useMemo(()=>o?o.currentId!==null?o.items.find(t=>t.id===o.currentId)??null:null:e,[o,e])};var mn=({media:e,size:o=50,opacity:t=.8,buttonProps:r})=>{let{id:n}=e??{},{playlist:s}=react$1.usePlaylist(),i=Qe(d=>d.api),l=Qe(d=>d.isPlaying),a=Qe(d=>d.isLoading),p=pn(),u=l&&p?.id===n,m=a&&p?.id===n;return b__default.default.createElement(react.IconButton,{boxShadow:"md",p:1,height:`${o}px`,width:`${o}px`,minW:"0",minH:"0",borderRadius:"full",isLoading:m,"aria-label":"play/pause",onClick:d=>{d.stopPropagation(),e&&(p?.id===n?l?i.pause():i.play():s?i.setMedia({playlist:{...s,currentId:n??null}}):i.setMedia({media:e}));},style:{background:"#eee"},...r,icon:b__default.default.createElement(react.Center,{borderRadius:"full",height:`${o}px`,width:`${o}px`},b__default.default.createElement(react.Image,{opacity:u?t:0,width:"100%",transition:"all 0.2s ease-in-out",src:"/svg/pause.svg",filter:"invert(100%) drop-shadow(0 0 4px black)",transform:`scale(${u?.8:1})`}),b__default.default.createElement(react.Image,{position:"absolute",width:"100%",opacity:u?0:t,transition:"all 0.2s ease-in-out",filter:"invert(100%) drop-shadow(0 0 3px black)",src:"/svg/play.svg",transform:`scale(${u?1:.8})`}))})};var Od=e=>{if(!e.accept)return;let o=[];return e.accept.includes("image")&&o.push("image/jpg","image/jpeg","image/png","image/svg","image/gif"),e.accept.includes("pdf")&&o.push("application/pdf"),e.accept.includes("audio")&&o.push("audio/mp3","audio/wav","audio/x-wav","audio/webm","audio/ogg"),o.join(",")},Dd=({hasUpload:e,value:o,noLabel:t})=>{let r=b.useMemo(()=>({id:core.generateId(),title:o.filename||"Uploaded file",artistName:"",artistId:"",storageDir:"",producerId:"",songwriterId:""}),[o]);return b__default.default.createElement(react.VStack,null,b__default.default.createElement(react.HStack,{spacing:4},b__default.default.createElement(mn,{withThumbnail:true,media:r}),e?b__default.default.createElement(react.IconButton,{w:"40px",h:"40px",p:2,borderRadius:"full",boxShadow:"0 0 4px black","aria-label":"upload",icon:b__default.default.createElement(react.Image,{filter:"invert(100%)",src:"/svg/upload.svg",opacity:.8})}):null),!t&&o.filename?b__default.default.createElement(react.Text,{fontSize:"md"},o.filename||"Uploaded file"):null)},Ed=({value:e,options:o,hasUpload:t,loading:r})=>{let[n,s]=b.useState(false),{url:i,loading:l}=react$1.useObjectUrl(e),[a,p]=b.useState({width:0,height:0}),{shape:u,placeholder:m,objectFit:d,noFullView:c,background:f}=o??{},{src:g,opacity:h,scale:y}=m??{},x=react$1.useImageSize(o,a),{width:F,height:S}=x??{},v=b.useMemo(()=>n?i?1:h??.8:0,[n,i,h]),T=b.useMemo(()=>i?{objectFit:d??(n&&u?"cover":"contain"),onLoad:L=>{s(true),p({width:L.currentTarget.naturalWidth,height:L.currentTarget.naturalHeight});}}:{width:x?`${x.width*(y??.9)}px`:"auto",height:x?`${x.height*(y??.9)}px`:"80px"},[i,x,y,n,u,d]),E=!!r||l,z=typeof F=="number"?`${F}px`:"auto",O=typeof S=="number"?`${S}px`:"100px";return b__default.default.createElement($r,{width:z,height:O,noFullView:t??c,overflow:"hidden",borderRadius:u==="circle"?"full":4,boxShadow:u?"1px 1px 3px #00000066":"none",opacity:v,background:f,transition:"opacity 333ms ease",loadingOverride:E,imageProps:T,src:i??g})},zd={txt:"/icons/description.svg",pdf:"/icons/pdf.svg",zip:"/icons/zip.svg","7z":"/icons/zip.svg",rar:"/icons/zip.svg"},Hd=({value:e})=>{let o=b.useMemo(()=>{if(!e)return "";let n=e.filename.split(".");return n[n.length-1]},[e]),t=zd[o],r=react.useColorModeValue("invert(0)","invert(1)");return t?b__default.default.createElement(react.Image,{filter:o!=="pdf"?r:"none",h:"24px",src:t}):null},Vd=({value:e,noLabel:o,imageOptions:t,loading:r,hasUpload:n})=>{switch(b.useMemo(()=>e.type?.split("/")?.[0],[e])){case "image":return b__default.default.createElement(Ed,{hasUpload:n,loading:r,options:t,value:e});case "audio":return b__default.default.createElement(Dd,{noLabel:o,value:e,hasUpload:n});case "pdf":return b__default.default.createElement(react.Image,{src:"/icons/pdf.svg"});default:return b__default.default.createElement(react.Flex,{gap:2},b__default.default.createElement(Hd,{value:e}),b__default.default.createElement(react.Text,null,e.filename))}},_d=({hasUpload:e,imageOptions:o})=>{let t=react$1.useImageSize(o),{shape:r,placeholder:n}=o??{},{src:s,scale:i,opacity:l}=n??{},{width:a,height:p}=t??{},u=react.useColorModeValue("invert(0)","invert(1)"),m=react.useColorModeValue("whiteAlpha.500","whiteAlpha.100"),d=W(),c=o?b__default.default.createElement(react.Center,{height:r?`${p}px`:"auto",width:r?`${a}px`:"auto",bg:r?m:"transparent",borderRadius:r==="circle"?"full":4,overflow:"hidden",boxShadow:r?"1px 1px 4px #00000055":"none"},b__default.default.createElement(react.Image,{filter:u,opacity:l,height:typeof p=="number"?`${p*(i??.6)}px`:"50px",src:s??"/icons/image.svg"})):b__default.default.createElement(react.Text,{border:"1px dashed",borderColor:d,p:3,fontSize:"sm",textAlign:"center",w:"100%",opacity:.8},e?"Click to upload or drop file here":"No file uploaded");return b__default.default.createElement(react.Center,{width:typeof a=="number"?`${a}px`:"auto",height:typeof p=="number"?`${p}px`:"auto"},c)},Io=({value:e,hasUpload:o,noLabel:t,loading:r,imageOptions:n})=>{let{storagePath:s,dataUrl:i}=e??{},l=b.useMemo(()=>!i&&!s,[i,s]);return !e||l?b__default.default.createElement(_d,{hasUpload:o,imageOptions:n}):b__default.default.createElement(Vd,{loading:r,imageOptions:n,noLabel:t,hasUpload:o,value:e})},yt=b.forwardRef(({input:{value:e,onChange:o},field:t},r)=>{let{imageOptions:n}=t||{},s=b.useRef(null),i=b.useCallback(p=>{let u=p.target.files?.[0];u&&(e?.dataUrl&&URL.revokeObjectURL(e.dataUrl),o({...e,dataUrl:URL.createObjectURL(u),type:u.type,filename:u.name}));},[o,e]);b.useImperativeHandle(r,()=>({focus:()=>{s.current?.click();},blur:()=>{s.current?.blur();}}));let l=b.useMemo(()=>t.accept&&t.accept.length===1&&t.accept[0]==="image",[t]),a=b.useMemo(()=>l||e?.type?.startsWith("image/")||e?.type?.startsWith("video/")?{height:120,...n,objectFit:"contain"}:void 0,[n,l,e]);return b__default.default.createElement(react.Center,{flexFlow:"column",position:"relative",cursor:"pointer",onClick:()=>s.current?.click(),width:"100%"},b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.8,mb:1},t.placeholder),b__default.default.createElement(react.Center,{width:"100%",position:"relative",p:2,overflow:"hidden"},b__default.default.createElement(Io,{hasUpload:true,imageOptions:a,value:e}),b__default.default.createElement("input",{onChange:i,ref:s,accept:Od(t),type:"file",style:{position:"absolute",pointerEvents:"none",height:.1,width:.1,opacity:0}})))});yt.displayName="FileComponent";var hn=b.forwardRef(({field:e,input:o,inEditable:t},r)=>{let{options:n,renderOption:s,getOptionKey:i}=e,{onChange:l,value:a,onFocus:p,onBlur:u}=o,{colorMode:m}=react.useColorMode();b.useImperativeHandle(r,()=>({focus:()=>{p();},blur:()=>{u();}}));let d=b__default.default.createElement(react.Flex,{w:"100%",flexFlow:"row wrap"},n.map(c=>b__default.default.createElement(react.Box,{key:i?i(c):c,p:.5},b__default.default.createElement(react.Button,{w:"100%",minH:0,size:"xs",p:0,opacity:a?.includes(c)?1:.7,variant:"unstyled",onClick:f=>{f.stopPropagation(),l(a?.includes(c)?a.filter(g=>g!==c):[...a??[],c]);},_hover:{opacity:.8}},b__default.default.createElement(s,{value:c,colorMode:m,isSelected:!!a?.includes(c)})))));return t?b__default.default.createElement(react.Flex,{py:.5,flexFlow:"column",w:"100%"},b__default.default.createElement(react.Text,{lineHeight:1,px:2,opacity:.8,fontSize:"sm",fontWeight:600},e.placeholder),d):d});var Xd={xs:.25,sm:.35,md:.5,lg:.5,xl:.5},Qd={xs:.5,sm:.75,md:.75,lg:.75,xl:.75},Kd=e=>{let o=Xd[e],t=Qd[e];return `${o}rem ${t}rem`},qd={xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},xn=e=>b.useMemo(()=>({padding:Kd(e??"md"),fontSize:qd[e??"md"]}),[e]);var vt=b.forwardRef(({input:{onChange:e,value:o,...t},field:r,size:n,prefix:s,inEditable:i,...l},a)=>{let{type:p,defaultValue:u,placeholder:m}=r,d=react.useColorModeValue("number-input","number-input-dark"),c=xn(n),f=xo(a),[g,h]=b.useState(""),y=typeof o=="number"&&!Number.isNaN(o)?`${o}${g}`:"";return p==="slider"?b__default.default.createElement(bo,{label:m,onChange:e,value:o,defaultValue:u}):b__default.default.createElement(op__default.default,{className:d,placeholder:r.placeholder,decimalsLimit:r.precision,allowDecimals:!!r.precision,prefix:s,ref:f,onValueChange:(x,F,S)=>{x?.endsWith(".")?h("."):x?.includes(".")&&x?.endsWith("0")?h("0"):h(""),e(S?.float);},value:y,...l,style:{background:"none",resize:"none",fontFamily:"Encode Sans",boxSizing:"border-box",width:"100%",borderRadius:"4px",border:"none",outline:"none",...c,...l.style},...t})}),tp=({field:e,...o},t)=>{let r=b.useRef(null);return b.useImperativeHandle(t,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}})),b__default.default.createElement(vt,{prefix:"$",field:{...e,_type:"number"},...o})},yn=b.forwardRef(tp);var vn=({value:e,field:o})=>{let t=b.useMemo(()=>{if(e===""||e===void 0||e===null)return 1;switch(o._type){case "text":case "number":case "select":case "date":case "time":case "datetime":return -1;default:return 1}},[e,o]);return b__default.default.createElement(react.Flex,{transition:"top 300ms",top:t,position:"absolute",right:3},b__default.default.createElement(react.Text,{fontSize:"xs",opacity:.6},"OPTIONAL"))};var hp=e=>b__default.default.createElement(react.Text,null,typeof e=="string"?e:JSON.stringify(e)),Sn=b.forwardRef(({field:e,input:o,meta:t},r)=>{let{placeholder:n,options:s,renderOption:i,getOptionKey:l}=e,{onChange:a,value:p,onFocus:u,onBlur:m}=o,{active:d}=t,c=b.useMemo(()=>p&&s.find(h=>h===p),[p,s]),{colorMode:f}=react.useColorMode();b.useImperativeHandle(r,()=>({focus:()=>{u();},blur:()=>{m();}}));let g=i??hp;return b__default.default.createElement(react.Popover,{strategy:"fixed",placement:"bottom",matchWidth:true,isOpen:d,onClose:m},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.Button,{fontWeight:500,w:"100%",opacity:p?1:.7,onClick:h=>{h.stopPropagation(),u();},variant:"unstyled",position:"relative"},b__default.default.createElement(react.Box,null,c?b__default.default.createElement(g,{value:c,colorMode:f,isSelected:true}):b__default.default.createElement(react.Text,{opacity:.7},n)))),b__default.default.createElement(react.PopoverContent,{w:"100%",overflowY:"auto",maxH:"300px"},b__default.default.createElement(react.PopoverBody,{p:0},s.map(h=>b__default.default.createElement(react.Button,{key:l?l(h):h,w:"100%",variant:"unstyled",onClick:y=>{y.stopPropagation(),a(h),m();},_hover:{bg:"blackAlpha.100"},_dark:{_hover:{bg:"whiteAlpha.100"}}},b__default.default.createElement(g,{value:h,colorMode:f,isSelected:h===c})))),b__default.default.createElement(react.PopoverArrow,null)))});var Lp="/icons/facebook.svg",Bp="/icons/instagram.svg",Ap="/icons/soundcloud.svg",Op="/icons/twitter.svg",Dp="/icons/youtube.svg",Ep={facebook:Lp,instagram:Bp,twitter:Op,youtube:Dp,soundcloud:Ap},Ke=({site:e,value:o,onChange:t})=>{let{handle:r,error:n}=b.useMemo(()=>{try{return {handle:core.getHandle(e,o)}}catch(i){return {error:i?.message??"Error parsing handle"}}},[o,e]),s=b.useMemo(()=>r?`${e.toUpperCase()}: ${r}`:e.toUpperCase(),[e,r]);return b__default.default.createElement(react.Popover,{trigger:"hover"},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.Center,{opacity:r?1:.6,borderRadius:"full",width:"34px",height:"34px"},b__default.default.createElement(react.Image,{cursor:"pointer",filter:`grayscale(${r?0:100}%)`,height:"24px",width:"24px",objectFit:"contain",src:Ep[e]}))),b__default.default.createElement(react.PopoverContent,{w:"auto"},b__default.default.createElement(react.PopoverBody,{overflow:"hidden",borderRadius:4,p:0,w:"auto"},b__default.default.createElement(react.VStack,{spacing:0,p:2,w:"300px",align:"flex-start"},b__default.default.createElement(react.Text,{fontSize:"md"},s),b__default.default.createElement(react.Collapse,{in:!!n,style:{width:"100%"}},b__default.default.createElement(react.Text,{px:1,bg:"red.500",fontSize:"sm",color:"white"},n)),b__default.default.createElement(react.Input,{onChange:i=>t(i.target.value),placeholder:"Handle or URL",width:"100%",value:o,size:"md"})))))},St=b.forwardRef((e,o)=>{let{input:{value:t,onChange:r},field:{sites:n}}=e,s=b.useCallback((i,l)=>{let{[i]:a,...p}=t??{};!l&&Object.keys(p).length===0&&r({target:{value:void 0}}),l||r(p),r({...p,[i]:l});},[r,t]);return b.useImperativeHandle(o,()=>({blur:()=>{},focus:()=>{}})),b__default.default.createElement(react.VStack,{w:"100%",p:1},b__default.default.createElement(react.VStack,{borderRadius:4,p:2,spacing:0,w:"100%"},b__default.default.createElement(react.Text,{fontSize:"md"},"Links"),b__default.default.createElement(react.HStack,null,!n||n.facebook?b__default.default.createElement(Ke,{onChange:i=>s("facebook",i),site:"facebook",value:t?.facebook}):null,!n||n.instagram?b__default.default.createElement(Ke,{onChange:i=>s("instagram",i),site:"instagram",value:t?.instagram}):null,!n||n.twitter?b__default.default.createElement(Ke,{onChange:i=>s("twitter",i),site:"twitter",value:t?.twitter}):null,!n||n.youtube?b__default.default.createElement(Ke,{onChange:i=>s("youtube",i),site:"youtube",value:t?.youtube}):null,!n||n.soundcloud?b__default.default.createElement(Ke,{onChange:i=>s("soundcloud",i),site:"soundcloud",value:t?.soundcloud}):null)))});St.displayName="SocialMediaComponent";var It=b.forwardRef(({input:e,field:o,inEditable:t},r)=>{let n=react$1.useTextColor(),s=b.useRef(null);return b.useImperativeHandle(r,()=>({focus:()=>{s.current?.focus();},blur:()=>{s.current?.blur();}})),b__default.default.createElement(Wp__default.default,{placeholder:o.placeholder,minRows:2,maxRows:5,ref:s,style:{resize:"none",width:"100%",color:n,background:"none",fontFamily:"fonts.body",boxSizing:"border-box",borderRadius:"4px",padding:t?0:"0.6rem 1rem",border:"none",outline:"none"},...e})});It.displayName="TextAreaComponent";var Pt=b.forwardRef(({input:e,inEditable:o,meta:t,field:r},n)=>{let{placeholder:s,type:i}=r,[l,a]=b.useState(i==="password"),{value:p}=e,u=b.useRef(null);b.useImperativeHandle(n,()=>({focus:()=>{u.current?.focus();},blur:()=>{u.current?.blur();}}));let m=i==="textarea"?b__default.default.createElement(It,{inEditable:o,field:r,input:e,meta:t}):b__default.default.createElement(react.Input,{ref:u,border:"none",_dark:{border:"none"},borderRadius:0,px:o?0:3,background:"transparent",_focus:{border:"none"},py:o?0:.5,type:l?"password":"text",height:o?"auto":10,placeholder:s,...e,onChange:d=>{e.onChange({target:{value:d.target.value}});},value:p??""});return i==="password"?b__default.default.createElement(react.Flex,{width:"100%",position:"relative",align:"center"},m,b__default.default.createElement(react.IconButton,{position:"absolute",right:2,onClick:()=>a(!l),variant:"ghost",icon:l?b__default.default.createElement(icons.ViewIcon,null):b__default.default.createElement(icons.ViewOffIcon,null),"aria-label":l?"show":"hide",title:l?"Show":"Hide",size:"xs"})):m});Pt.displayName="TextComponent";var eu={text:Pt,file:yt,boolean:on,select:Sn,multipleSelect:hn,currency:yn,number:vt,date:Ye,datetime:xt,time:Xe,socialMedia:St,color:ln},ou=(e,o)=>{let{field:t,meta:{error:r,active:n,touched:s},input:i,inEditable:l}=e,{value:a}=i,p=b.useMemo(()=>r&&s?"#ff7777":n?"rgba(0,0,0,0.7)":"rgba(0,0,0,0.3)",[r,n,s]),{_type:u,optional:m,label:d}=t,c=b.useMemo(()=>u==="multipleSelect"||!!a&&u!=="file"&&u!=="boolean",[a,u]),f=b.useMemo(()=>{if(l)return {};switch(u){case "text":case "number":case "currency":case "select":return {boxShadow:`0 0 7px ${p}`,transition:"all 300ms",bg:"background.50"};default:return {}}},[u,p,l]),g=b.useMemo(()=>eu[u],[u]),h=b.useMemo(()=>l?0:r&&s?6:2,[l,r,s]);return b__default.default.createElement(react.VStack,{position:"relative",align:"flex-start",width:"100%",py:l?0:1,px:1,spacing:0,pb:h,transition:"all 500ms",pt:c&&!l?4:0},d&&!l?typeof d=="string"?b__default.default.createElement(react.Text,{color:"gray.800",fontSize:"sm",px:2},d):b__default.default.createElement(d,null):null,b__default.default.createElement(react.Flex,{width:"100%",borderRadius:4,py:.5,overflow:"hidden",...f},b__default.default.createElement(g,{ref:o,...e})),l?null:b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.Text,{opacity:r&&s?1:0,transition:`opacity 500ms ease ${r&&s?250:0}ms`,position:"absolute",bottom:"0px",fontSize:"sm",px:1,pointerEvents:"none",color:"red.600"},r),b__default.default.createElement(react.Text,{opacity:c?1:0,transition:`opacity 500ms ease ${c?250:0}ms`,position:"absolute",top:"-4px",pointerEvents:"none",fontSize:"sm",fontFamily:"fonts.heading",px:1,color:"blackAlpha.600",_dark:{color:"whiteAlpha.600"}},t.placeholder||"")),m&&!l?b__default.default.createElement(vn,{field:t,value:a}):null)},Po=b.forwardRef(ou);var iu=({field:e,name:o},t)=>{let{control:r,getOnChange:n,meta:s,onFocus:i,onBlur:l}=react$1.useField(o,e);return b__default.default.createElement(reactHookForm.Controller,{control:r,name:o,render:({field:{name:a,ref:p,onBlur:u,...m}})=>b__default.default.createElement(Po,{ref:t,field:e,input:{...m,onFocus:i,onBlur:()=>{l(),u();},onChange:n(m.onChange)},meta:s})})},Tn=b.forwardRef(iu);var To=({uploads:e})=>{let o=b.useMemo(()=>Object.values(e),[e]);return b__default.default.createElement(reactTransitionGroup.TransitionGroup,{component:react.Flex,width:"100%",flexFlow:"column"},o.map(t=>b__default.default.createElement(Z,{key:t.label},b__default.default.createElement(react.Center,{px:2,height:"26px",position:"relative",w:"100%",flexDirection:"column"},b__default.default.createElement(react.Progress,{borderRadius:"full",value:t.percent*100,mx:2,my:1,size:"md",height:"100%",width:"100%"}),b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",textShadow:"1px 1px 3px #000000aa",color:"white",position:"absolute",fontSize:"sm",fontWeight:500},t.label.toUpperCase())))))};var bu=({onBack:e,children:o})=>b__default.default.createElement(react.Button,{flex:1,transition:"all 500ms",onClick:e,variant:"outline",border:"1px solid #cdcdcd",color:"#777",ml:"auto"},o),yu=({onSubmitClick:e,submitting:o,children:t,filter:r,opacity:n})=>b__default.default.createElement(react.Button,{isLoading:o,filter:r,flex:1,transition:"all 500ms",opacity:n,onClick:()=>{e();},ml:"auto",variant:"solid"},t),wu=()=>{let{formError:e}=react$1.useChempoForm();return b__default.default.createElement(react.Collapse,{in:!!e},b__default.default.createElement(react.Text,{color:"red"},e??""))},Ln=({renderFooter:e,...o})=>{let{uploads:t,onBack:r,buttonText:n,onSubmit:s}=o,{isSubmitting:i,isValid:l}=reactHookForm.useFormState();return b__default.default.createElement(react.Flex,{w:"100%",flexFlow:"column"},b__default.default.createElement(react.Collapse,{endingHeight:5,style:{width:"100%"},in:i},b__default.default.createElement(react.Progress,{w:"100%",h:"5px",isIndeterminate:true})),b__default.default.createElement(To,{uploads:t}),b__default.default.createElement(wu,null),e?b__default.default.createElement(e,{...o}):b__default.default.createElement(react.HStack,{py:2,borderTop:"1px solid",borderColor:"background.200",px:3,w:"100%"},r?b__default.default.createElement(bu,{onBack:r},"Cancel"):null,b__default.default.createElement(yu,{size:"sm",filter:`grayscale(${l?0:100}%)`,opacity:l?1:.5,onSubmitClick:s,submitting:i},n)))};var An=({field:e,value:o,noLabel:t,style:r})=>{let{imageOptions:n,placeholder:s}=e,i=b.useMemo(()=>({height:150,...n}),[n]);return b__default.default.createElement(react.Flex,{flexFlow:o?"column":"row",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},s),o?b__default.default.createElement(Z,null,b__default.default.createElement(react.Box,{p:1},b__default.default.createElement(Io,{imageOptions:i,value:o}))):b__default.default.createElement(react.Text,{opacity:.7},"None"))};var Dn=({field:e,value:o,noLabel:t,style:r})=>{let{placeholder:n,renderOption:s}=e,{colorMode:i}=react.useColorMode();return b__default.default.createElement(react.Flex,{maxW:"100%",flexFlow:"row wrap",align:"center",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},n),o?o.map(l=>b__default.default.createElement(react.Box,{key:e.getOptionKey?e.getOptionKey(l):l,p:.5},b__default.default.createElement(s,{value:l,colorMode:i,isSelected:true}))):b__default.default.createElement(react.Text,{opacity:.6},"None"))};var Mu=e=>typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?e.toString():JSON.stringify(e),Lu=e=>b__default.default.createElement(react.Text,null,Mu(e)),zn=({field:e,value:o,noLabel:t,style:r})=>{let{placeholder:n,renderOption:s}=e,{colorMode:i}=react.useColorMode();return b__default.default.createElement(react.Flex,{align:"center",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},n),o?b__default.default.createElement(s??Lu,{value:o,colorMode:i,isSelected:true}):"None")};var Du=({field:e,value:o,noLabel:t,style:r})=>{let{placeholder:n}=e,s=b.useMemo(()=>{let i=core.formatField[e._type];return i?i(e,o):o},[o,e]);return b__default.default.createElement(react.Flex,{align:"center",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},n),b__default.default.createElement(react.Text,{opacity:o!=null?1:.6},s??"None"))},Re=({field:e,value:o,noLabel:t,style:r})=>{switch(e._type){case "select":return b__default.default.createElement(zn,{style:r,field:e,value:o,noLabel:t});case "multipleSelect":return b__default.default.createElement(Dn,{style:r,field:e,value:o,noLabel:t});case "file":return b__default.default.createElement(An,{style:r,field:e,value:o,noLabel:t});default:return b__default.default.createElement(Du,{style:r,field:e,value:o,noLabel:t})}};var Vu=({onChange:e,value:o,field:t,onBlur:r,inEditable:n,onFocus:s,style:i},l)=>{let{inputProps:a,meta:p}=react$1.useStandaloneInput(t,o,e,s,r);return b__default.default.createElement(Po,{ref:l,field:t,inEditable:n,style:i,input:a,meta:p})},Vn=b.forwardRef(Vu);var $n=({value:e,field:o,onSubmit:t,storagePath:r,style:n,onEditClose:s,onEditOpen:i})=>{let{formattedValue:l,inputRef:a,setValue:p,isLoading:u,uploads:m,editHovered:d,handleEditOpen:c,handleEditClose:f,isEditing:g,value:h,setEditHovered:y,submit:x,submitValue:F,parse:S}=react$1.useEditable({value:e,field:o,onSubmit:t,storagePath:r,onEditOpen:i,onEditClose:s}),v=b.useMemo(()=>o._type==="file"||o._type==="boolean",[o]);b.useEffect(()=>{g&&a.current?.focus();},[g,a]);let T=react$1.useColorModeValue("#00000055","#ffffff55");return b__default.default.createElement(react.Flex,{borderRadius:4,border:`1px dashed ${d&&!g?T:"transparent"}`,flexFlow:"column",w:"100%"},b__default.default.createElement(react.Flex,{align:"center",px:1,position:"relative",w:"100%"},b__default.default.createElement(react.Flex,{opacity:u?0:1,transition:"all 300ms",mr:1,border:`1px dashed ${g?T:"transparent"}`,flex:1,minW:"0"},g||v?b__default.default.createElement(Vn,{ref:a,value:l,inEditable:true,field:o,style:{padding:0,...n},onChange:v?E=>F(S(E)):E=>p(S(E))}):b__default.default.createElement(Re,{style:n,field:o,value:h})),v?null:b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.IconButton,{"aria-label":"Edit",size:"xs",icon:g?b__default.default.createElement(icons.CloseIcon,{width:3}):b__default.default.createElement(icons.EditIcon,null),onMouseEnter:()=>y(true),onMouseLeave:()=>y(false),onClick:()=>{g?(p(h),f()):c();}}),b__default.default.createElement(react.Flex,{transition:"all 300ms",justify:"flex-end",opacity:g?1:0,overflow:"hidden",w:g?"30px":"0px"},b__default.default.createElement(react.IconButton,{"aria-label":"Edit",size:"xs",bg:core.palette.cyan.light,_dark:{bg:core.palette.cyan.light,_hover:{bg:core.palette.cyan.lighter}},_hover:{bg:core.palette.cyan.medium},icon:b__default.default.createElement(icons.CheckIcon,{filter:"drop-shadow(1px 1px 3px #000000aa)"}),onClick:()=>{x();}}))),b__default.default.createElement(Be,{isLoading:u})),b__default.default.createElement(To,{uploads:m}))};var um=e=>o=>{o.destination&&e(o.source.index,o.destination.index);},mm=({field:e,name:o})=>{let t=b.useMemo(()=>core.isField(e.itemField)?"":core.isListField(e.itemField)?[]:{},[e]),r=react.useColorModeValue("#efefef","#2b2b2b"),n=W(),{control:s}=reactHookForm.useFormContext(),{fields:i,append:l,remove:a,move:p}=reactHookForm.useFieldArray({control:s,name:o}),u=b.useMemo(()=>um(p),[p]);return b__default.default.createElement(react.Flex,{overflow:"hidden",gap:2,flexFlow:"column",w:"100%",px:2,py:1},b__default.default.createElement(react.Text,{lineHeight:1,opacity:.7,fontSize:"sm"},e.placeholder),b__default.default.createElement(dnd.DragDropContext,{onDragEnd:u},b__default.default.createElement(dnd.Droppable,{droppableId:"droppable"},(m,{draggingFromThisWith:d})=>b__default.default.createElement(react.Flex,{ref:m.innerRef,flexFlow:"column",w:"100%",py:1,borderRadius:4,minH:"30px",align:"flex",...m.droppableProps},i.length?i.map((c,f)=>b__default.default.createElement(dnd.Draggable,{key:c.id,draggableId:c.id,index:f},({dragHandleProps:g,draggableProps:h,innerRef:y},{isDragging:x})=>b__default.default.createElement(react.Flex,{transition:"all 300ms",boxShadow:`2px 2px 4px #000000${x?"55":"00"}`,borderRadius:4,pt:2,px:2,border:`1px solid ${n}`,bg:`${r}${x?"ff":"00"}`,ref:y,w:"100%",...h},b__default.default.createElement(Z,null,b__default.default.createElement(react.Flex,{opacity:d&&!x?.5:1,gap:1,align:"center",w:"100%"},b__default.default.createElement(react.IconButton,{"aria-label":"drag",size:"xs",opacity:.8,variant:"ghost",icon:b__default.default.createElement(icons.DragHandleIcon,null),...g}),b__default.default.createElement(react.Box,{minW:"0",flex:1},b__default.default.createElement(kt,{name:c.id,field:e.itemField})),b__default.default.createElement(react.IconButton,{"aria-label":"delete",size:"xs",bg:"red.600",color:"white",icon:b__default.default.createElement(icons.DeleteIcon,{filter:"drop-shadow(1px 1px 3px #00000088)"}),onClick:F=>{F.stopPropagation(),a(f);}})))))):b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2},"No items"),m.placeholder))),b__default.default.createElement(react.Flex,null,b__default.default.createElement(react.Button,{mr:"auto",width:"auto",size:"xs",onClick:()=>l(t)},"+ NEW")))},kt=({field:e,name:o})=>{let t=b.useMemo(()=>core.isField(e)||core.isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([r,n])=>({name:`${o?`${o}.`:""}${r}`,field:n})),[e,o]);return b__default.default.createElement(react.VStack,{spacing:1,w:"100%"},t.map(r=>{if(core.isListField(r.field)){let s=b__default.default.createElement(mm,{key:r.name,name:r.name,field:r.field});return r.field.condition?b__default.default.createElement(ho,{path:o,condition:r.field.condition,key:r.name},s):s}if(core.isField(r.field)){let s=b__default.default.createElement(Tn,{key:r.name,name:r.name,field:r.field});return r.field.condition?b__default.default.createElement(ho,{path:o,condition:r.field.condition,key:r.name},s):s}let n=b__default.default.createElement(kt,{key:r.name,name:r.name,field:r.field});return r.field.condition?b__default.default.createElement(ho,{path:o,condition:r.field.condition,key:r.name},n):n}))},cm=({field:e,value:o,path:t})=>{let{placeholder:r}=e,n=W(),s=react$1.useGetItemField(e);return b__default.default.createElement(react.Box,{w:"100%",p:1},b__default.default.createElement(Qo,{border:`1px solid ${n}`,borderRadius:4,initExpanded:true,header:()=>b__default.default.createElement(react.Text,{py:1},r)},b__default.default.createElement(react.Flex,{flexFlow:"column",bg:"background.200",gap:2,px:2,py:1},o?.length?o.map((i,l)=>b__default.default.createElement(react.Box,{bg:"background.100",key:`${t}.${l}`,border:`1px solid ${n}`,borderRadius:3},b__default.default.createElement(Wn,{path:`${t}.${l}`,field:s(l),value:i}))):b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2},"No items"))))},Wn=({field:e,value:o,path:t,storagePath:r})=>{let{updateField:n}=react$1.useDataView();return core.isField(e)?n?b__default.default.createElement($n,{storagePath:r,field:e,value:o,onSubmit:s=>n(t,s)}):b__default.default.createElement(Re,{field:e,value:o}):core.isListField(e)?b__default.default.createElement(cm,{path:t,field:e,value:o}):b__default.default.createElement(fm,{storagePath:r?`${r}.${t}`:void 0,path:t,field:e})},fm=({field:e,value:o,onClose:t,onDelete:r,onSubmit:n,itemName:s,storagePath:i,path:l=""})=>{let{name:a,children:p}=e,[u,m]=b.useState(false);return b__default.default.createElement(react$1.DataViewProvider,{value:o,onSubmit:n},b__default.default.createElement(Qo,{alwaysExpanded:true,header:()=>b__default.default.createElement(react.Flex,{align:"center",px:2,w:"100%"},b__default.default.createElement(react.Text,{py:2,fontSize:"lg",fontFamily:"fonts.heading"},a),b__default.default.createElement(react.Flex,{gap:2,align:"center",ml:"auto"},r?b__default.default.createElement(kr,{onDelete:r,itemName:s??"item"}):null,n?b__default.default.createElement(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,ml:"auto","aria-label":"edit",icon:b__default.default.createElement(icons.EditIcon,null),onClick:()=>m(true)}):null,t?b__default.default.createElement(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,variant:"ghost","aria-label":"close",icon:b__default.default.createElement(icons.CloseIcon,{opacity:.8,w:3,h:3}),onClick:t}):null))},u&&n?b__default.default.createElement(Mt,{storagePath:i,field:e,value:o,onSubmit:n,onBack:()=>m(false)}):b__default.default.createElement(react.Flex,{flexFlow:"column",px:4,py:2},Object.entries(p).map(([d,c])=>b__default.default.createElement(Wn,{storagePath:i?`${i}/${d}`:void 0,path:l?`${l}.${d}`:d,key:d,field:c,value:o?.[d]})))))},Nn=({onSubmit:e,onBack:o,field:t,value:r,buttonText:n="SUBMIT",renderFooter:s,storagePath:i})=>{let l=b.useMemo(()=>({field:t,value:r,submit:e,storagePath:i}),[t,r,e,i]),{onSubmit:a,uploads:p}=react$1.useFormSubmit(l);return b__default.default.createElement(react.Stack,{w:"100%",spacing:3},b__default.default.createElement("form",null,b__default.default.createElement(react.Box,{pt:1,px:2,w:"100%"},b__default.default.createElement(kt,{name:"",field:t})),b__default.default.createElement(Ln,{uploads:p,onSubmit:a,renderFooter:s,onBack:o,buttonText:n})))},gm=({onSubmit:e,field:o,value:t,...r})=>{let n=b.useMemo(()=>({children:{value:o}}),[o]);return b__default.default.createElement(Nn,{field:n,value:{value:t},onSubmit:s=>e(s?.value),...r})},Mt=({field:e,onSubmit:o,...t})=>{let r=core.isField(e)||core.isListField(e)?b__default.default.createElement(gm,{field:e,onSubmit:o,...t}):b__default.default.createElement(Nn,{field:e,onSubmit:o,...t});return b__default.default.createElement(react$1.ChempoFormProvider,null,r)};var jn=e=>{let o=react$1.useMounted();return b__default.default.createElement(sr,null,b__default.default.createElement(react.Flex,{overflow:"hidden",flexFlow:"column",h:"100%",w:"100%",opacity:o?1:0,transition:"opacity 300ms",...e}))};var _e=({data:e,rowIndex:o,columnIndex:t,style:r})=>{let{items:n,onSelect:s,refetch:i,grid:l,numCols:a,colorMode:p}=e||{},{ItemPreview:u}=l,m=o*a+t,d=n[m];return d?b__default.default.createElement(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{s(d);},style:r,px:1,py:.25,key:m},b__default.default.createElement(u,{index:m,item:d,refetch:i?()=>i(d._id):void 0,colorMode:p})):null};var xe=()=>{let{list:e,search:{debounced:o,search:t}}=react$1.useDataList(),{data:{isLoading:r}}=react$1.usePaginatedList(),n=b.useMemo(()=>r||o!==t,[r,o,t]),{itemName:s,pluralItemName:i,noItemsMessage:l,searchRequired:a}=e;return b__default.default.createElement(react.Flex,{justify:"center",align:"flex-start",w:"100%",h:"100%"},n?b__default.default.createElement(Fe,{text:`Loading ${i??core.toPlural(s)}`}):b__default.default.createElement(react.Text,{textAlign:"center",flex:1,p:3,fontStyle:"italic",opacity:.7},!o&&a?`Search ${i??core.toPlural(s)}`:l??`No ${i??core.toPlural(s)}`))};var ue=e=>typeof e=="function";var Im=(e,o)=>{if(e.key!==o.key||e.operator!==o.operator)return false;if(core.arrayOperators.includes(e.operator)){let t=Array.isArray(e.value)?e.value:[e.value];return !(Array.isArray(o.value)?o.value:[o.value]).every(n=>!t.includes(n))}return e.value===o.value},Yn=(e,{nativeFilter:o})=>(Array.isArray(o)?o:[o]).every(r=>Im(r,e));var km=(e,o,t)=>{let{rowHeight:r,columnWidth:n}=o;if(typeof r!="number"&&typeof n!="number")throw new Error("Cannot have both variable row height and variable column width");if(typeof n=="function"){let l=Math.floor(t/n(e[0]));return {numRows:Math.ceil(e.length/l),numCols:l}}let s=Math.max(1,Math.floor(t/n));return {numRows:Math.ceil(e.length/s),numCols:s}},Mm=(e,o,t)=>{let{rowHeight:r,columnWidth:n}=o,{numRows:s,numCols:i}=km(e,o,t),l=typeof n=="number"?t/i:Array.from({length:i},(m,d)=>e.filter((f,g)=>g%i===d).reduce((f,g)=>{let h=n(g);return Math.max(f,h)},0)),a=typeof r=="number"?r:Array.from({length:s},(m,d)=>e.slice(d*i,(d+1)*i).reduce((f,g)=>{let h=r(g);return Math.max(f,h)},0)),p=Array.isArray(a)?m=>a[m]:a,u=Array.isArray(l)?m=>l[m]:l;return {rowHeight:p,colWidth:u,numCols:i,numRows:s}},Oo=(e,o)=>{let{data:{data:t}}=react$1.usePaginatedList();return b.useMemo(()=>Mm(t,e,o),[t,e,o])};var Jn=({height:e,options:o})=>{let{totalCount:t,data:{data:r},refetchItem:n,isItemLoaded:s,goNext:i}=react$1.usePaginatedList(),{list:l,onSelectItem:a,mobileLayout:p,query:u}=react$1.useDataList(),{width:m}=react$1.useFullSize(),{numCols:d,numRows:c,rowHeight:f,colWidth:g}=Oo(o,m),{previewHeight:h,mobile:y}=l,{colorMode:x}=react.useColorMode(),F=b.useMemo(()=>({list:l,items:r,mobileLayout:p,grid:o,colorMode:x,numCols:d,onSelect:L=>a(L._id),refetch:n}),[r,l,n,a,p,d,o,x]),S=b.useRef(null),v=b.useMemo(()=>p?y?.previewHeight??h:h,[y,h,p]);b.useEffect(()=>{let L=S.current;L&&(L.resetAfterColumnIndex(0),L.resetAfterRowIndex(0));},[u]);let T=b.useRef(null);b.useEffect(()=>{T.current&&T.current.resetloadMoreItemsCache(true);},[t]);let E=b.useMemo(()=>ue(v),[v]),z=b.useCallback(({columnIndex:L,rowIndex:N,data:D})=>{let U=N*d+L;return D.items[U]?._id||`${U}`},[d]),O=b.useCallback(({overscanColumnStartIndex:L,overscanColumnStopIndex:N,overscanRowStartIndex:D,overscanRowStopIndex:U,visibleColumnStartIndex:ce,visibleColumnStopIndex:ke,visibleRowStartIndex:Me,visibleRowStopIndex:we},P)=>{let H=Me*d+ce,k=we*d+ke,C=D*d+L,M=U*d+N;P({overscanStartIndex:C,overscanStopIndex:M,visibleStartIndex:H,visibleStopIndex:k});},[d]);return r.length?E?b__default.default.createElement(qn__default.default,{isItemLoaded:s,ref:T,itemCount:t??0,loadMoreItems:i},({onItemsRendered:L,ref:N})=>b__default.default.createElement(reactWindow.VariableSizeGrid,{height:e,width:m,rowCount:c,columnCount:d,rowHeight:f,columnWidth:g,itemData:F,style:{overflowX:"hidden"},itemKey:z,onItemsRendered:D=>O(D,L),ref:D=>{N(D),S.current=D;}},_e)):b__default.default.createElement(qn__default.default,{isItemLoaded:s,itemCount:t??0,ref:T,loadMoreItems:i},({onItemsRendered:L,ref:N})=>b__default.default.createElement(reactWindow.FixedSizeGrid,{height:e,width:m,rowCount:c,columnCount:d,rowHeight:f,columnWidth:g,itemData:F,onItemsRendered:D=>O(D,L),style:{overflowX:"hidden"},ref:D=>{N(D),S.current=null;}},_e)):b__default.default.createElement(xe,null)};var $e=({data:e,index:o,style:t})=>{let{list:r,items:n,onSelect:s,refetch:i,mobileLayout:l,colorMode:a}=e||{},{ItemPreview:p,mobile:u}=r,m=l?u?.ItemPreview??p:p,d=n[o];return d?b__default.default.createElement(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{s(n[o]);},style:t,key:o},b__default.default.createElement(m,{index:o,item:d,refetch:i?()=>i(d._id):void 0,colorMode:a})):null};var ti=({height:e})=>{let{totalCount:o,data:{data:t},refetchItem:r,isItemLoaded:n,goNext:s}=react$1.usePaginatedList(),{list:i,onSelectItem:l,mobileLayout:a,query:p}=react$1.useDataList(),{previewHeight:u,mobile:m}=i,{colorMode:d}=react.useColorMode(),{width:c}=react$1.useFullSize(),f=b.useMemo(()=>({list:i,items:t,mobileLayout:a,colorMode:d,onSelect:S=>l(S._id),refetch:r}),[t,i,r,l,a,d]),g=b.useRef(null),h=b.useMemo(()=>a?m?.previewHeight??u:u,[m,u,a]),y=b.useRef(null);b.useEffect(()=>{y.current&&y.current.resetloadMoreItemsCache(true);},[o]),b.useEffect(()=>{let S=g.current;S&&(S.resetAfterRowIndex(0),S.resetAfterColumnIndex(0));},[p]);let x=b.useCallback(S=>typeof h=="function"?h(t[S]):h,[t,h]),F=b.useMemo(()=>ue(h),[h]);return t.length?F?b__default.default.createElement(qn__default.default,{ref:y,isItemLoaded:n,itemCount:o??0,loadMoreItems:s},({onItemsRendered:S,ref:v})=>b__default.default.createElement(reactWindow.VariableSizeList,{height:e,width:c,itemSize:x,itemCount:o??0,itemData:f,style:{overflowX:"hidden"},itemKey:T=>t[T]?._id||`${T}`,onItemsRendered:T=>{S(T);},ref:v},$e)):b__default.default.createElement(qn__default.default,{ref:y,isItemLoaded:n,itemCount:o??0,loadMoreItems:s},({onItemsRendered:S,ref:v})=>b__default.default.createElement(reactWindow.FixedSizeList,{height:e,width:c,itemSize:h,itemCount:o??0,itemData:f,itemKey:T=>t[T]?._id||`${T}`,style:{overflowX:"hidden"},onItemsRendered:S,ref:v},$e)):b__default.default.createElement(xe,null)};var Jm=({height:e,options:o})=>{let{list:t,onSelectItem:r,mobileLayout:n,query:s}=react$1.useDataList(),{data:{data:i},pageIndex:l}=react$1.usePaginatedList(),a=b.useRef(null),p=b.useRef(null),{width:u}=react$1.useFullSize(),{numCols:m,numRows:d,rowHeight:c,colWidth:f}=Oo(o,u),{colorMode:g}=react.useColorMode(),h=b.useMemo(()=>({list:t,items:i,numCols:m,onSelect:x=>r(x._id),mobileLayout:n,colorMode:g,grid:o}),[i,t,r,n,m,o,g]);b.useEffect(()=>{let x=a.current;x&&(x.resetAfterColumnIndex(0),x.resetAfterRowIndex(0));},[s]),b.useEffect(()=>{let x=a.current,F=p.current;x&&x.scrollTo({scrollLeft:0,scrollTop:0}),F&&F.scrollTo({scrollLeft:0,scrollTop:0});},[l,s]);let y=b.useMemo(()=>ue(o.rowHeight)||ue(o.columnWidth),[o]);return i.length?y?b__default.default.createElement(reactWindow.VariableSizeGrid,{ref:a,height:e,width:u,rowCount:d,columnCount:m,rowHeight:c,columnWidth:f,itemData:h,style:{overflowX:"hidden"}},_e):b__default.default.createElement(reactWindow.FixedSizeGrid,{height:e,ref:p,width:u,rowCount:d,columnCount:m,rowHeight:c,columnWidth:f,itemData:h,style:{overflowX:"hidden"}},_e):b__default.default.createElement(xe,null)},si=b.memo(Jm);var sc=({height:e})=>{let{list:o,onSelectItem:t,mobileLayout:r,query:n}=react$1.useDataList(),{data:{data:s},pageIndex:i}=react$1.usePaginatedList(),{width:l}=react$1.useFullSize(),{previewHeight:a,mobile:p}=o,u=b.useRef(null),m=b.useRef(null),{colorMode:d}=react.useColorMode(),c=b.useMemo(()=>({list:o,colorMode:d,items:s,onSelect:y=>t(y._id),mobileLayout:r}),[s,o,t,r,d]),f=b.useMemo(()=>r?p?.previewHeight??a:a,[p,a,r]);b.useEffect(()=>{let y=u.current;y&&y.resetAfterIndex(0);},[n]),b.useEffect(()=>{let y=u.current,x=m.current;y&&y.scrollTo(0),x&&x.scrollTo(0);},[n,i]);let g=b.useCallback(y=>typeof f=="function"?f(s[y]):f,[s,f]),h=b.useMemo(()=>ue(f),[f]);return s.length?h?b__default.default.createElement(reactWindow.FixedSizeList,{ref:m,height:e,width:l,itemSize:f,itemCount:s.length,itemData:c,style:{overflowX:"hidden"}},$e):b__default.default.createElement(reactWindow.VariableSizeList,{ref:u,height:e,width:l,itemSize:g,itemCount:s.length,itemData:c,style:{overflowX:"hidden"}},$e):b__default.default.createElement(xe,null)},di=b.memo(sc);var pi=({height:e})=>{let{infiniteScroll:o,gridLayout:t,list:r}=react$1.useDataList(),{grid:n}=r;return t&&n?o?b__default.default.createElement(Jn,{options:n,height:e}):b__default.default.createElement(si,{options:n,height:e}):o?b__default.default.createElement(ti,{height:e}):b__default.default.createElement(di,{height:e})};var zo=({children:e,isOpen:o,contentProps:t,...r})=>b__default.default.createElement(react.Modal,{scrollBehavior:"inside",isCentered:true,isOpen:o,...r},b__default.default.createElement(react.ModalOverlay,null),b__default.default.createElement(react.ModalContent,{position:"relative",overflowY:"auto",bg:"background.100",...t},b__default.default.createElement(react.Box,null,e)));var mi=e=>{let{overlayRef:o}=react$1.useMobileFrame();return b__default.default.createElement(react.Portal,{containerRef:o},b__default.default.createElement(react.Flex,{justify:"center",align:"center",transition:"opacity 300ms",position:"absolute",left:0,top:0,height:"100%",width:"100%",...e}))};var bc=({onClick:e})=>b__default.default.createElement(react.Flex,{onClick:e,w:"100%",h:"100%",position:"absolute",bg:"blackAlpha.400",transition:"opacity 300ms"}),hi=({isOpen:e,onClose:o,children:t,contentProps:r,onContentMounted:n,closeOnOverlayClick:s})=>{let{height:i,width:l}=react$1.useMobileFrame(),a=react.useColorModeValue("gray.100","#454545"),[p,u]=b.useState(false),[m,d]=b.useState(false),c=b.useRef(null),f=b.useRef(null);return b.useEffect(()=>(c.current&&(clearTimeout(c.current),c.current=null),f.current&&(clearTimeout(f.current),f.current=null),e?(u(true),f.current=setTimeout(()=>{d(true),n&&n(true);},50)):(d(false),n&&n(false),c.current=setTimeout(()=>{u(false);},300)),()=>{c.current&&(clearTimeout(c.current),c.current=null),f.current&&(clearTimeout(f.current),f.current=null);}),[e,n]),p?b__default.default.createElement(mi,{opacity:m?1:0,pointerEvents:m?"auto":"none"},b__default.default.createElement(bc,{onClick:s!==false?o:void 0}),b__default.default.createElement(react.Flex,{width:`${l-10}px`,maxH:`${i-10}px`,overflowY:"auto",overflowX:"hidden",minH:"100px",bg:a,borderRadius:6,position:"relative",...r},t)):null};var xi=e=>{let o=react$1.useScreen(n=>n.isMobile),t=pr(),r=b.useMemo(()=>o||t?hi:zo,[o,t]);return b__default.default.createElement(r,{...e})};var bi=({field:e})=>{let{list:{baseQuery:o,itemName:t},newItemOpen:r,setNewItemOpen:n}=react$1.useDataList(),{adapter:{db:s}}=react$1.useBackendBase(),{refetch:i}=react$1.usePaginatedList(),l=b.useCallback(async a=>{await s.createItem(o.collection,a),n(false),i&&i();},[n,i,s,o]);return b__default.default.createElement(zo,{isOpen:r,onClose:()=>n(false)},b__default.default.createElement(react.Flex,{align:"center",pt:3,px:3,w:"100%"},b__default.default.createElement(react.Text,{pl:1,opacity:.7,fontWeight:600},"NEW ",t.toUpperCase()),b__default.default.createElement(react.IconButton,{size:"sm",borderRadius:"full",ml:"auto",h:7,w:7,minW:0,onClick:()=>n(false),"aria-label":"Close",icon:b__default.default.createElement(icons.CloseIcon,{opacity:.8,w:3,h:3})})),b__default.default.createElement(Mt,{field:e,onSubmit:l}))};var vi=({goNext:e,canGoNext:o,mobileLayout:t})=>b__default.default.createElement(react.Button,{opacity:o?1:.6,pointerEvents:o?"auto":"none",borderRadius:"full",onClick:e,"aria-label":"next",variant:"ghost",size:t?"xs":"sm",pl:3,pr:1,gap:1},b__default.default.createElement(react.Text,null,"Next"),b__default.default.createElement(icons.ChevronRightIcon,{w:5,h:5})),Ci=({goPrev:e,canGoPrev:o,mobileLayout:t})=>b__default.default.createElement(react.Button,{opacity:o?1:.5,pointerEvents:o?"auto":"none",onClick:e,borderRadius:"full","aria-label":"back",variant:"ghost",pr:3,pl:1,gap:1,size:t?"xs":"sm"},b__default.default.createElement(icons.ChevronLeftIcon,{w:5,h:5}),b__default.default.createElement(react.Text,null,"Back")),Gc=({progressBg:e,borderColor:o})=>{let{data:{isLoading:t,error:r}}=react$1.usePaginatedList();return b__default.default.createElement(react.Box,{position:"absolute",bottom:"100%",w:"100%",left:0},b__default.default.createElement(react.Collapse,{style:{width:"100%"},in:!!r,animateOpacity:true},b__default.default.createElement(react.Box,{borderTopRadius:6,bg:"red.600",maxW:"100%",p:1},b__default.default.createElement(react.Tooltip,{placement:"top",hasArrow:true,label:r?.message??"","aria-label":"error"},b__default.default.createElement(react.Text,{textShadow:"1px 1px 3px #00000077",_dark:{textShadow:"none"},px:1,fontWeight:600,isTruncated:true,maxW:"100%",fontSize:"sm",color:"white"},r?.message)))),b__default.default.createElement(Z,{in:t,animateOpacity:true},b__default.default.createElement(react.Flex,{bg:e,borderTop:"1px solid",borderBottom:"1px solid",borderColor:o,w:"100%"},b__default.default.createElement(react.Progress,{borderRadius:0,w:"100%",height:"8px",isIndeterminate:t}))))},jc=(e,o,t)=>Math.abs(e-o)<=1?2:e<3?o===0?2:0:e>t-4?o>t-3?2:4:e<o?1:3,_o=28,$o=24,Fi=({index:e,isActive:o,onClick:t,borderColor:r,isLoading:n,mobileLayout:s})=>b__default.default.createElement(react.Button,{key:e,onClick:t,variant:"unstyled",display:"flex",border:"1px solid",borderColor:o?"transparent":r,justifyContent:"center",alignItems:"center",width:`${s?$o:_o}px`,height:`${s?$o:_o}px`,fontFamily:"fonts.heading",lineHeight:1,fontWeight:600,minW:"0",bg:o?"accent.400":"transparent",_hover:{bg:o?"accent.500":"whiteAlpha.500"},color:o?"white":r,textShadow:o?"1px 1px 3px #00000088":"none",size:"sm",disabled:n,"aria-label":`Go to page ${e+1}`},e+1),Uc=({group:{indicators:e,collapsed:o},mobileLayout:t})=>{let{data:{isLoading:r},goToPage:n}=react$1.usePaginatedList(),s=W();return o?b__default.default.createElement(react.Popover,{trigger:"hover",gutter:1,variant:"fixed"},({onClose:i})=>b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.IconButton,{variant:"unstyled",width:`${t?$o:_o}px`,height:`${t?$o:_o}px`,minW:"0",opacity:.7,_hover:{opacity:1},"aria-label":"more pages",icon:b__default.default.createElement(react.Text,{fontSize:"md",position:"relative",bottom:"2px"},"...")})),b__default.default.createElement(react.PopoverContent,{bg:"background.200",w:"auto",border:"1px solid",borderColor:s,boxShadow:"none"},b__default.default.createElement(react.PopoverBody,{w:"auto",maxW:"166px",p:.5},b__default.default.createElement(react.Flex,{align:"center",justify:"center",flexFlow:"row wrap"},e.map(({index:l,isActive:a})=>b__default.default.createElement(react.Box,{key:`ind-${l}`,m:.5},b__default.default.createElement(Fi,{mobileLayout:t,index:l,isActive:a,onClick:()=>{n(l),i();},borderColor:s,isLoading:r})))))))):b__default.default.createElement(b__default.default.Fragment,null,e.map(({index:i,isActive:l})=>b__default.default.createElement(Fi,{mobileLayout:t,key:i,index:i,isActive:l,onClick:()=>n(i),borderColor:s,isLoading:r})))},Yc=()=>{let{pageIndex:e,numPages:o}=react$1.usePaginatedList(),{mobileLayout:t}=react$1.useDataList(),r=b.useMemo(()=>{let n=o??0;if(n<=9)return [{indicators:Array.from({length:n},(i,l)=>({index:l,isActive:l===e})),collapsed:false}];let s=Array.from({length:5},(i,l)=>({indicators:[],collapsed:l%2===1}));for(let i=0;i<n;i+=1){let l=jc(i,e,n);s[l]||(s[l]={indicators:[],collapsed:l!==2}),s[l].indicators.push({index:i,isActive:i===e});}return s.filter(i=>i.indicators.length).map(i=>({...i,collapsed:i.collapsed&&i.indicators.length>1}))},[o,e]);return b__default.default.createElement(react.Flex,{gap:1,align:"center"},r.map((n,s)=>b__default.default.createElement(Uc,{mobileLayout:t,key:`group-${s}`,group:n})))},Ht=120,Ii=({onResize:e,flexProps:o,noFooter:t})=>{let r=react.useColorModeValue("#cdcdcd","#2d3748"),{list:n,mobileLayout:s,infiniteScroll:i,search:{search:l,debounced:a}}=react$1.useDataList(),{data:{data:p,isLoading:u},totalCount:m,pageIndex:d,limit:c,numFetched:f,goNext:g,goPrev:h,hasMoreData:y}=react$1.usePaginatedList(),{itemName:x,pluralItemName:F,searchRequired:S}=n,{itemsText:v,pageText:T}=b.useMemo(()=>u&&!i?{itemsText:s?"Loading...":"",pageText:""}:m===null?{itemsText:"Loading...",pageText:""}:m===0&&!u&&l===a?{itemsText:!l&&S?`Search ${F??core.toPlural(x)}`:`No ${F??core.toPlural(x)} found`,pageText:""}:{itemsText:`${i?1:(d||0)*c+1} - ${i?f:d*c+p.length} of ${m}`,pageText:`Page ${d+1} of ${c?Math.ceil((m??0)/c):0}`},[m,u,x,F,c,d,l,S,s,a,p,i,f]),E=b.useMemo(()=>!i&&h,[i,h]),z=b.useMemo(()=>!i&&g,[i,g]),O=react.useColorModeValue("#efefef","#212121"),L=b.useRef(null),N=b.useCallback(D=>{let U=D.borderBoxSize[0].blockSize,ce=D.borderBoxSize[0].inlineSize;e({height:U,width:ce});},[e]);return rr__default.default(L,N),b__default.default.createElement(react.Flex,{ref:L,py:t?0:2,px:t?0:3,borderTop:`1px solid ${r}`,position:"relative",flexFlow:s?"column":"row",gap:s?1:0,w:"100%",...o},t||s&&i?null:b__default.default.createElement(react.Flex,{align:"center",justify:s?"center":"space-between",position:"relative",w:"100%"},E&&!s?b__default.default.createElement(Ci,{goPrev:h,canGoPrev:!u&&!!d}):null,b__default.default.createElement(react.Flex,{gap:1,align:"center"},i?null:b__default.default.createElement(b__default.default.Fragment,null,s?null:b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",whiteSpace:"nowrap",textAlign:"center",w:`${Ht}px`,fontSize:"sm"},T),b__default.default.createElement(Yc,null)),s?null:b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:s||i?"auto":`${Ht}px`,whiteSpace:"nowrap",fontSize:"sm"},v)),z&&!s?b__default.default.createElement(vi,{goNext:g,canGoNext:!u&&y}):null),s&&!t?b__default.default.createElement(react.Flex,{gap:2,w:"100%",justify:"space-between",align:"center"},E?b__default.default.createElement(Ci,{mobileLayout:true,goPrev:h,canGoPrev:!!d}):null,b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:s||i?"auto":`${Ht}px`,whiteSpace:"nowrap",fontSize:"sm"},v),z?b__default.default.createElement(vi,{mobileLayout:true,goNext:g,canGoNext:y}):null):null,b__default.default.createElement(Gc,{progressBg:O,borderColor:r}))};var ki=({filter:e,filters:o,GroupRender:t,toggleFilter:r})=>{let{label:n,Render:s}=e,i=b.useMemo(()=>o.some(m=>Yn(m,e)),[o,e]),{colorMode:l}=react.useColorMode(),a=W(),p=react.useColorModeValue("gray.700","gray.100"),u=s??t;return b__default.default.createElement(react.Box,{p:.5},b__default.default.createElement(react.Button,{onClick:()=>r(e),variant:"unstyled",color:i&&!u?"white":p,bg:i&&!u?"accent.400":"transparent",px:u?0:2,py:u?0:1,transition:"all 300ms",border:"none",boxShadow:`0px 0px 1px 1px ${i?"transparent":"#00000033"}`,w:"auto",_dark:{boxShadow:`0px 0px 1px 1px ${i?"transparent":"#ffffff66"}`},h:"auto",minW:"0",minH:"0",alignItems:"center",justifyContent:"center",borderColor:i?"transparent":a,size:"none"},u?b__default.default.createElement(u,{active:i,colorMode:l,preset:e}):b__default.default.createElement(react.Text,{textShadow:i?"0 0 3px rgba(0,0,0,0.8)":"none",fontSize:"xs"},n)))},pf=({group:e,filters:o,toggleFilter:t})=>{let{label:r,filters:n}=e;return b__default.default.createElement(react.Flex,{px:1,flexFlow:"column",w:"100%"},b__default.default.createElement(react.Text,{px:1,opacity:.8,fontSize:"sm",fontWeight:600},r),b__default.default.createElement(react.Flex,{w:"100%",flexFlow:"row wrap"},n.map(s=>b__default.default.createElement(ki,{toggleFilter:t,GroupRender:e.RenderFilter,filters:o,key:s.label,filter:s}))))},Wt=()=>{let{query:e,list:o,toggleFilter:t}=react$1.useDataList(),r=react$1.useScreen(l=>l.isMobile),{filters:n=[]}=e||{},{filterPresets:s}=o,i=W();return s?.length?b__default.default.createElement(react.HStack,{spacing:1},b__default.default.createElement(react.Popover,{placement:"right-start",trigger:r?"click":"hover",strategy:"fixed"},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.IconButton,{size:"sm",variant:"ghost","aria-label":"Filters",icon:b__default.default.createElement(react.Image,{width:"24px",filter:`grayscale(${n.length?0:100}%)`,src:"/icons/tune.svg"})})),b__default.default.createElement(react.Portal,null,b__default.default.createElement(react.PopoverContent,{borderRadius:6,w:"auto"},b__default.default.createElement(react.PopoverBody,{w:"240px",p:0},b__default.default.createElement(react.Flex,{flexFlow:"column",w:"100%"},b__default.default.createElement(react.HStack,{py:1.5,px:2,w:"100%",spacing:1,borderBottom:`1px solid ${i}`},b__default.default.createElement(react.Image,{width:"18px",filter:"grayscale(100%)",src:"/icons/tune.svg"}),b__default.default.createElement(react.Text,{opacity:.8,fontSize:"sm",fontWeight:600},"FILTERS")),b__default.default.createElement(react.Flex,{justify:"center",w:"100%",flexFlow:"row wrap",py:1,px:2},s.map(l=>core.isFilterGroup(l)?b__default.default.createElement(pf,{toggleFilter:t,filters:n,key:l.label,group:l}):b__default.default.createElement(ki,{toggleFilter:t,filters:n,key:l.label,filter:l}))))),b__default.default.createElement(react.PopoverArrow,null),b__default.default.createElement(react.PopoverCloseButton,null))))):null};var xf=({preset:e})=>{let{setSort:o,query:t}=react$1.useDataList(),{sort:r}=t,{label:n,key:s,Render:i}=e,l=b.useMemo(()=>r?.key===s?r.direction:null,[r,s]),{colorMode:a}=react.useColorMode(),p=b.useMemo(()=>l?"white":a==="light"?"gray.500":"gray.400",[l,a]),u=b.useMemo(()=>r?.direction==="asc"?b__default.default.createElement(icons.ArrowUpIcon,{w:4,h:4}):b__default.default.createElement(icons.ArrowDownIcon,{w:4,h:4}),[r]);return b__default.default.createElement(react.Button,{size:"xs",variant:"outline",bg:l?"accent.400":"transparent",transition:"all 300ms",textShadow:l?"0 0 2px rgba(0,0,0,0.7)":"none",boxShadow:`0px 0px 1px 1px ${l?"transparent":"#00000033"}`,border:"none",_dark:{boxShadow:`0px 0px 1px 1px ${l?"transparent":"#ffffff66"}`,color:p,textShadow:l?"0 0 2px rgba(0,0,0,0.7)":"none"},"aria-label":n,opacity:l?1:.8,height:6,pl:l?3:2,pr:2,_hover:{opacity:1},gap:0,color:p,onClick:()=>o({direction:l&&r?.direction==="asc"?"desc":"asc",key:s})},i?b__default.default.createElement(i,{active:l,colorMode:a,preset:e}):b__default.default.createElement(react.Text,{fontWeight:600,fontSize:"sm",color:p},n),b__default.default.createElement(qt,{active:!!l,h:"16px",width:20},u))},Gt=()=>{let{list:{sortPresets:e}}=react$1.useDataList();return e?b__default.default.createElement(react.HStack,{spacing:2},e.map(o=>b__default.default.createElement(xf,{key:o.label,preset:o}))):null};var Oi=()=>{let{list:e,search:{search:o,update:t}}=react$1.useDataList(),{searchIcon:r,itemName:n,pluralItemName:s}=e,i=react.useColorModeValue("invert(0)","invert(1)");return b__default.default.createElement(react.Flex,{p:1,flex:1,minW:"0"},b__default.default.createElement(react.InputGroup,null,b__default.default.createElement(react.InputLeftElement,{pointerEvents:"none"},r?b__default.default.createElement(react.Image,{filter:i,src:r,w:"24px"}):b__default.default.createElement(icons.SearchIcon,{w:"24px",opacity:.5})),b__default.default.createElement(react.Input,{bg:"whiteAlpha.700",pl:9,borderRadius:6,_focus:{boxShadow:"none",outline:"none"},border:"none",_dark:{bg:"blackAlpha.400",color:"#cdcdcd",_placeholder:{color:"#ababab"},border:"none"},value:o,placeholder:`Search for ${s??core.toPlural(n)}`,onChange:l=>t(l.target.value)})))},Di=({refetch:e})=>{let{list:o,setNewItemOpen:t}=react$1.useDataList(),r=react$1.useAuth(),{itemName:n,field:s,access:i}=o,l=b.useMemo(()=>core.getHasAccess(r,i?.create,null),[i,r]);return b__default.default.createElement(react.Flex,{gap:2,ml:"auto",align:"center"},e?b__default.default.createElement(react.Tooltip,{placement:"left",hasArrow:true,label:"Refresh","aria-label":"Refresh"},b__default.default.createElement(react.IconButton,{size:"xs",icon:b__default.default.createElement(icons.RepeatIcon,null),"aria-label":"Refresh",onClick:e})):null,s&&l?b__default.default.createElement(react.Tooltip,{placement:"left",hasArrow:true,label:`Create new ${n}`,"aria-label":`Create new ${n}`},b__default.default.createElement(react.IconButton,{size:"xs",icon:b__default.default.createElement(icons.AddIcon,null),"aria-label":`Create new ${n}`,onClick:()=>t(true)})):null)},Bf=[{id:"grid",label:"Grid View",Render:e=>b__default.default.createElement(react.Image,{w:5,opacity:e?1:.7,src:"/icons/grid_view.svg"})},{id:"list",label:"List View",Render:e=>b__default.default.createElement(react.Image,{w:6,opacity:e?1:.7,src:"/icons/list.svg"})}],Ei=()=>{let{toggleGridLayout:e,gridLayout:o}=react$1.useDataList();return e?b__default.default.createElement(Mr,{onChange:e,options:Bf,value:o?"grid":"list"}):null},Hi=({onResize:e,refetch:o,boxProps:t})=>{let{list:r,mobileLayout:n,toggleGridLayout:s}=react$1.useDataList(),{searchPath:i,sortPresets:l,filterPresets:a,Header:p}=r,u=W(),m=b.useRef(null),d=b.useCallback(f=>{e({height:f.contentRect.height,width:f.contentRect.width});},[e]),c=b.useMemo(()=>!!Object.keys(i??{}).length,[i]);return rr__default.default(m,d),b__default.default.createElement(react.Box,{ref:m,bg:"background.200",borderBottom:`1px solid ${u}`,w:"100%",...t},b__default.default.createElement(react.Flex,{px:2,align:"center",w:"100%"},l?.length||a?.length||c?b__default.default.createElement(react.Flex,{w:"100%",flexFlow:n?"column":"row"},n&&!p?null:b__default.default.createElement(react.Flex,{flex:1,px:2,py:n?0:1,gap:1,align:"center"},n?null:b__default.default.createElement(react.Flex,{flex:1,minW:"0",align:"center",gap:2},s?b__default.default.createElement(Ei,null):null,b__default.default.createElement(Wt,null),b__default.default.createElement(Gt,null),c?b__default.default.createElement(Oi,null):null),b__default.default.createElement(react.Flex,{align:"center",minW:"0",gap:3,ml:"auto"},p?b__default.default.createElement(react.Box,{minW:"0",flex:1},b__default.default.createElement(p,null)):null,n?null:b__default.default.createElement(Di,{refetch:o}))),c&&n?b__default.default.createElement(Oi,null):null,n&&(l?.length||a?.length)?b__default.default.createElement(react.Flex,{pl:1,py:1,gap:1.5,align:"center",w:"100%"},s?b__default.default.createElement(Ei,null):null,b__default.default.createElement(Wt,null),b__default.default.createElement(Gt,null),b__default.default.createElement(Di,{refetch:o})):null):null))};var _i=()=>{let{selectedItemId:e,deselectItem:o,list:t}=react$1.useDataList(),{ItemView:r,itemName:n}=t||{},[s,i]=b.useState({x:0,y:0}),{data:{data:l}}=react$1.usePaginatedList(),a=b.useMemo(()=>l.find(c=>c._id===e)??null,[l,e]),{colorMode:p}=react.useColorMode(),u=react.useColorModeValue("red.600","red.300"),[m,d]=b.useState(null);return b.useEffect(()=>{a&&d(a);},[a]),b__default.default.createElement(xi,{contentProps:{p:0,transition:"all 300ms",transform:`translate(${s.x}px, ${s.y}px)`},scrollBehavior:"inside",onClose:o,isOpen:!!r&&!!e},r&&m?b__default.default.createElement(r,{item:m,colorMode:p,clearContentOffset:()=>i({x:0,y:0}),updateContentOffset:(c,f)=>i({x:c,y:f})}):b__default.default.createElement(react.Text,{color:u,p:4},"Error displaying ",n))};var Ni=({modals:e,noFooter:o,headerProps:t,footerProps:r})=>{let{data:{isLoading:n,data:s}}=react$1.usePaginatedList(),{list:i}=react$1.useDataList(),{height:l}=react$1.useFullSize(),[a,p]=b.useState(0),[u,m]=b.useState(0),d=b.useMemo(()=>l-a-u,[l,a,u]),c=b.useCallback(y=>{p(y.height);},[]),f=b.useCallback(y=>{m(y.height);},[]),{ItemView:g,field:h}=i;return b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(Hi,{boxProps:t,onResize:c}),b__default.default.createElement(react.Box,{h:`${d}px`,position:"relative",w:"100%"},b__default.default.createElement(pi,{height:d}),o?b__default.default.createElement(Be,{isLoading:!s.length&&n}):null),b__default.default.createElement(Ii,{noFooter:o,flexProps:r,onResize:f}),e??null,g?b__default.default.createElement(_i,null):null,h?b__default.default.createElement(bi,{field:h}):null)};var g1=({list:e,basePath:o,flexProps:t,infiniteScroll:r,...n})=>{let{adapter:{db:s}}=react$1.useBackendBase(),{baseQuery:i}=e,l=react$1.useDataListData(e,r,o),a=react$1.usePaginatedQuery(s,i,!!r);return b__default.default.createElement(react$1.PaginatedListProvider,{state:l,data:a},b__default.default.createElement(jn,{...t},b__default.default.createElement(Ni,{...n})))};var b1=({value:e,duration:o=30})=>{let t=b.useRef(null),r=b.useRef(e),n=b.useRef(null);return b.useEffect(()=>(n.current=setInterval(()=>{if(t.current){if(r.current===e&&n.current)return clearInterval(n.current);r.current<e?(r.current+=1,t.current.innerText=r.current.toString()):r.current>e&&(r.current-=1,t.current.innerText=r.current.toString());}return ()=>{}},o),()=>{n.current&&clearInterval(n.current);}),[e,o]),b__default.default.createElement("span",{ref:t},e)};var o0=()=>{let{colorMode:e,toggleColorMode:o}=react.useColorMode(),t=react.useColorModeValue("gray.200","whiteAlpha.200"),r=react.useColorModeValue("blackAlpha.700","whiteAlpha.800"),n=react.useColorModeValue("gray.300","whiteAlpha.300"),s=react.useColorModeValue("gray.800","whiteAlpha.800");return b__default.default.createElement(react.IconButton,{"aria-label":"Toggle dark mode",bg:t,color:r,borderRadius:"full",_hover:{bg:n,color:s},w:8,h:8,minW:0,icon:e==="light"?b__default.default.createElement(icons.SunIcon,{w:4,h:4}):b__default.default.createElement(icons.MoonIcon,{w:4,h:4,filter:"drop-shadow(1px 1px 2px #000000aa)"}),onClick:o,variant:"ghost"})},S1=e=>b__default.default.createElement(react.Flex,{position:"absolute",bottom:3,right:3,...e},b__default.default.createElement(o0,null));var {definePartsStyle:s0,defineMultiStyleConfig:l0}=react.createMultiStyleConfigHelpers(anatomy.switchAnatomy.keys),a0=s0({track:{_focusVisible:{boxShadow:"none"}}}),d0=l0({baseStyle:a0}),Uo=themeTools.cssVar("popper-arrow-bg"),Gi="Encode Sans",ji="Noto Sans",L1=react.extendTheme({semanticTokens:{colors:{background:{50:{default:"white",_dark:core.palette.gray.darker},100:{default:"gray.100",_dark:core.palette.gray.dark},200:{default:"#efefef",_dark:core.palette.gray.medium}},accent:{50:{default:"blue.50",_dark:"blue.900"},100:{default:"blue.100",_dark:"blue.800"},200:{default:"blue.200",_dark:"blue.700"},300:{default:"blue.300",_dark:"blue.600"},400:{default:"blue.400",_dark:"blue.500"},500:{default:"blue.500",_dark:"blue.400"},600:{default:"blue.600",_dark:"blue.300"},700:{default:"blue.700",_dark:"blue.200"},800:{default:"blue.800",_dark:"blue.100"},900:{default:"blue.900",_dark:"blue.50"}},error:{default:"red.500",_dark:"red.300"}},fonts:{body:ji,heading:Gi}},components:{Badge:{baseStyle:{bg:"#9a9a9a",textShadow:"none",color:"white",boxShadow:"1px 1px 3px #00000077",_dark:{bg:"#555555",textShadow:"1px 1px 2px #00000077",color:"#efefef"}}},Tooltip:{baseStyle:{bg:"#ababab",textShadow:"0 0 3px rgba(0,0,0,0.5)",color:"white",[Uo.variable]:"#ababab",_dark:{bg:"#777777",textShadow:"none",color:"#efefef",[Uo.variable]:"#777777"}}},Button:{baseStyle:{fontFamily:Gi,fontWeight:500,_focus:{boxShadow:"none"}},variants:{link:{color:"#444",_dark:{color:"rgba(230,230,255,0.9)"}},ghost:{_hover:{bg:"blackAlpha.500"}},solid:{textShadow:"1px 1px 3px #00000077",bg:"blackAlpha.400",color:"whiteAlpha.800",_hover:{bg:"blackAlpha.500"},_dark:{bg:"whiteAlpha.300",color:"whiteAlpha.800",_hover:{bg:"whiteAlpha.400"}}},outline:{border:"1px solid",borderColor:"#ababab",color:"#656565",_hover:{bg:"blackAlpha.100"},_dark:{border:"1px solid #999",color:"#999",_hover:{bg:"whiteAlpha.300"}}}}},Tabs:{baseStyle:{tab:{_focus:{boxShadow:"none"}}}},Text:{baseStyle:{fontFamily:ji}},Popover:{baseStyle:{root:{_focus:{boxShadow:"none"}},content:{bg:"background.100",border:"none",boxShadow:"0 0 4px rgba(0,0,0,0.5)",[Uo.variable]:"background.100",_dark:{bg:"background.100",[Uo.variable]:"background.100"}}}},Checkbox:{baseStyle:{control:{_focus:{boxShadow:"none"},border:"2px solid #ababab",borderColor:"#ababab",_checked:{bg:"#666666",color:"#efefef",border:"none"},_hover:{bg:"#555",border:"none"},_dark:{_checked:{bg:"#efefef",color:"#444444",border:"none"},_hover:{bg:"#555",border:"none"}}},label:{color:"#888",_dark:{color:"#999999"},_checked:{color:"#444444",_dark:{color:"#cdcdcd"}}}},variants:{noBox:{control:{bg:"transparent",_hover:{bg:"none"}}}}},Modal:{baseStyle:{dialog:{bg:"background.100",boxShadow:"0 0 6px rgba(0,0,0,0.5)",_dark:{bg:"background.100"}}}},Input:{baseStyle:{field:{_focus:{boxShadow:"none",outline:"none",border:"1px solid #bcbcbc"}}},variants:{text:{field:{borderRadius:6,border:"1px solid #dedede",_focus:{boxShadow:"none",borderColor:"#bcbcbc"},_active:{boxShadow:"none"},_placeholder:{color:"#777"},_dark:{border:"1px solid #777",_focus:{borderColor:"#999",boxShadow:"none"},_placeholder:{color:"#777"}}}}},defaultProps:{variant:"text"}},Switch:d0,Menu:{baseStyle:{list:{bg:"background.100",border:"none",boxShadow:"0 0 6px rgba(0,0,0,0.5)",_dark:{bg:"background.100"}},item:{_hover:{bg:"rgba(0,0,0,0.3)"},_focus:{bg:"rgba(0,0,0,0.2)"}}}},Progress:{baseStyle:{track:{bg:"blackAlpha.300",borderRadius:"full",_dark:{bg:"whiteAlpha.300"}},filledTrack:{bg:"blackAlpha.400",_dark:{bg:"whiteAlpha.500"}}}}}});var O1=()=>{if(typeof window<"u"){let e=()=>{let o=window.innerWidth,t=window.innerHeight;react$1.useScreen.setState({width:o,height:t,isMobile:o<769,isPortrait:o<t}),window.addEventListener("resize",e);};return e(),()=>{window.removeEventListener("resize",e);}}return ()=>{}};exports.AbsoluteDarkModeToggle=S1;exports.AbsoluteLogin=f0;exports.CircularProgress=uo;exports.CollapseHorizontal=qt;exports.ContentBox=Le;exports.DarkModeToggle=o0;exports.DataList=g1;exports.DataView=fm;exports.DefaultModal=xi;exports.DeleteButton=kr;exports.DeleteConfirmAlert=yl;exports.DesktopModal=zo;exports.Editable=$n;exports.ErrorView=mr;exports.ExpandOnMount=Z;exports.Expandable=Qo;exports.FieldForm=gm;exports.FieldMapForm=Nn;exports.FieldView=Re;exports.FileView=Io;exports.Form=Mt;exports.FormElement=kt;exports.FullSizeContainer=eg;exports.FullSizeProvider=sr;exports.ImageViewOverlay=Er;exports.ListContainer=jn;exports.ListContent=Ni;exports.ListFieldInput=mm;exports.Loading=Fe;exports.LoadingImage=$r;exports.LoadingLogo=Ce;exports.LoadingOverlay=Be;exports.LoadingSwitch=_h;exports.LottieLoadingLogo=xr;exports.MediaFeed=kx;exports.MobileFrame=rh;exports.MobileModal=hi;exports.MobileOverlay=mi;exports.MobileOverlayBackground=bc;exports.NAV_BAR_HEIGHT=Jo;exports.NavBar=ur;exports.NumberTicker=b1;exports.PlayButton=mn;exports.RedirectView=wr;exports.SignIn=qi;exports.StandaloneInput=Vn;exports.Toggle=Mr;exports.ViewButton=Jt;exports.baseTheme=L1;exports.bodyFont=ji;exports.headingFont=Gi;exports.initializeScreen=O1;exports.switchTheme=d0;exports.useBorderColor=W;exports.useMediaFeed=Ml;//# sourceMappingURL=index.cjs.map
|
|
6
|
+
`,fontSize:"md",type:"time",placeholder:e.placeholder,...o,value:o.value??""})));Xe.displayName="TimeInput";var Fd=e=>{if(!e)return {date:void 0,time:void 0};let o=new Date(e);return {date:ht(o),time:o.toTimeString().substring(0,5)}},bt=b.forwardRef(({input:{value:e,onBlur:o,onChange:t,onFocus:r}},n)=>{let[{date:s,time:i},l]=b.useState(Fd(e)),[a,p]=b.useState(null),u=b.useCallback((d,c)=>{d==="date"?(l({date:c,time:i}),c&&i&&t(new Date(`${c}T${i}`).getTime())):(l({time:c,date:s}),c&&s&&t(new Date(`${s}T${c}:00.000`).getTime()));},[s,i,t]);b.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}}));let m=b.useMemo(()=>({active:a==="date",error:void 0,touched:false}),[a]);return b__default.default.createElement(react.HStack,{w:"100%"},b__default.default.createElement(Ye,{field:{_type:"date",placeholder:"Date"},input:{value:s,onChange:d=>{u("date",d);},onBlur:()=>{p(null),o();},onFocus:()=>{p("date"),r();}},meta:m}),b__default.default.createElement(Xe,{field:{_type:"time",placeholder:"Time"},input:{value:i,onChange:d=>u("time",d.target.value),onBlur:()=>{p(null),o();},onFocus:()=>{p("time"),r();}},meta:m}))});bt.displayName="DateTimeInput";var Qe=zustand.create(()=>({isPlaying:false,media:null,isLoading:false,fetchingMedia:null,shuffle:false,playlist:null,volume:.5,repeat:false,api:{pause:()=>{},play:()=>{},canGoNext:false,canGoPrev:false,goNext:()=>{},goPrev:()=>{},seek:()=>{},sound:null,trackProgress:new framerMotion.MotionValue(0),setMedia:()=>{},stop:()=>{},loop:()=>{}}})),cn=()=>{let{media:e,playlist:o}=Qe();return b.useMemo(()=>o?o.currentId!==null?o.items.find(t=>t.id===o.currentId)??null:null:e,[o,e])};var gn=({media:e,size:o=50,opacity:t=.8,buttonProps:r})=>{let{id:n}=e??{},{playlist:s}=react$1.usePlaylist(),i=Qe(d=>d.api),l=Qe(d=>d.isPlaying),a=Qe(d=>d.isLoading),p=cn(),u=l&&p?.id===n,m=a&&p?.id===n;return b__default.default.createElement(react.IconButton,{boxShadow:"md",p:1,height:`${o}px`,width:`${o}px`,minW:"0",minH:"0",borderRadius:"full",isLoading:m,"aria-label":"play/pause",onClick:d=>{d.stopPropagation(),e&&(p?.id===n?l?i.pause():i.play():s?i.setMedia({playlist:{...s,currentId:n??null}}):i.setMedia({media:e}));},style:{background:"#eee"},...r,icon:b__default.default.createElement(react.Center,{borderRadius:"full",height:`${o}px`,width:`${o}px`},b__default.default.createElement(react.Image,{opacity:u?t:0,width:"100%",transition:"all 0.2s ease-in-out",src:"/svg/pause.svg",filter:"invert(100%) drop-shadow(0 0 4px black)",transform:`scale(${u?.8:1})`}),b__default.default.createElement(react.Image,{position:"absolute",width:"100%",opacity:u?0:t,transition:"all 0.2s ease-in-out",filter:"invert(100%) drop-shadow(0 0 3px black)",src:"/svg/play.svg",transform:`scale(${u?1:.8})`}))})};var $d=e=>{if(!e.accept)return;let o=[];return e.accept.includes("image")&&o.push("image/jpg","image/jpeg","image/png","image/svg","image/gif"),e.accept.includes("pdf")&&o.push("application/pdf"),e.accept.includes("audio")&&o.push("audio/mp3","audio/wav","audio/x-wav","audio/webm","audio/ogg"),o.join(",")},Wd=({hasUpload:e,value:o,noLabel:t})=>{let r=b.useMemo(()=>({id:core.generateId(),title:o.filename||"Uploaded file",artistName:"",artistId:"",storageDir:"",producerId:"",songwriterId:""}),[o]);return b__default.default.createElement(react.VStack,null,b__default.default.createElement(react.HStack,{spacing:4},b__default.default.createElement(gn,{withThumbnail:true,media:r}),e?b__default.default.createElement(react.IconButton,{w:"40px",h:"40px",p:2,borderRadius:"full",boxShadow:"0 0 4px black","aria-label":"upload",icon:b__default.default.createElement(react.Image,{filter:"invert(100%)",src:"/svg/upload.svg",opacity:.8})}):null),!t&&o.filename?b__default.default.createElement(react.Text,{fontSize:"md"},o.filename||"Uploaded file"):null)},Nd=({value:e,options:o,hasUpload:t,loading:r})=>{let[n,s]=b.useState(false),{url:i,loading:l}=react$1.useObjectUrl(e),[a,p]=b.useState({width:0,height:0}),{shape:u,placeholder:m,objectFit:d,noFullView:c,background:f}=o??{},{src:g,opacity:h,scale:y}=m??{},x=react$1.useImageSize(o,a),{width:F,height:S}=x??{},C=b.useMemo(()=>n?i?1:h??.8:0,[n,i,h]),T=b.useMemo(()=>i?{objectFit:d??(n&&u?"cover":"contain"),onLoad:L=>{s(true),p({width:L.currentTarget.naturalWidth,height:L.currentTarget.naturalHeight});}}:{width:x?`${x.width*(y??.9)}px`:"auto",height:x?`${x.height*(y??.9)}px`:"80px"},[i,x,y,n,u,d]),E=!!r||l,z=typeof F=="number"?`${F}px`:"auto",O=typeof S=="number"?`${S}px`:"100px";return b__default.default.createElement(Gr,{width:z,height:O,noFullView:t??c,overflow:"hidden",borderRadius:u==="circle"?"full":4,boxShadow:u?"1px 1px 3px #00000066":"none",opacity:C,background:f,transition:"opacity 333ms ease",loadingOverride:E,imageProps:T,src:i??g})},Gd={txt:"/icons/description.svg",pdf:"/icons/pdf.svg",zip:"/icons/zip.svg","7z":"/icons/zip.svg",rar:"/icons/zip.svg"},jd=({value:e})=>{let o=b.useMemo(()=>{if(!e)return "";let n=e.filename.split(".");return n[n.length-1]},[e]),t=Gd[o],r=react.useColorModeValue("invert(0)","invert(1)");return t?b__default.default.createElement(react.Image,{filter:o!=="pdf"?r:"none",h:"24px",src:t}):null},Ud=({value:e,noLabel:o,imageOptions:t,loading:r,hasUpload:n})=>{switch(b.useMemo(()=>e.type?.split("/")?.[0],[e])){case "image":return b__default.default.createElement(Nd,{hasUpload:n,loading:r,options:t,value:e});case "audio":return b__default.default.createElement(Wd,{noLabel:o,value:e,hasUpload:n});case "pdf":return b__default.default.createElement(react.Image,{src:"/icons/pdf.svg"});default:return b__default.default.createElement(react.Flex,{gap:2},b__default.default.createElement(jd,{value:e}),b__default.default.createElement(react.Text,null,e.filename))}},Yd=({hasUpload:e,imageOptions:o})=>{let t=react$1.useImageSize(o),{shape:r,placeholder:n}=o??{},{src:s,scale:i,opacity:l}=n??{},{width:a,height:p}=t??{},u=react.useColorModeValue("invert(0)","invert(1)"),m=react.useColorModeValue("whiteAlpha.500","whiteAlpha.100"),d=W(),c=o?b__default.default.createElement(react.Center,{height:r?`${p}px`:"auto",width:r?`${a}px`:"auto",bg:r?m:"transparent",borderRadius:r==="circle"?"full":4,overflow:"hidden",boxShadow:r?"1px 1px 4px #00000055":"none"},b__default.default.createElement(react.Image,{filter:u,opacity:l,height:typeof p=="number"?`${p*(i??.6)}px`:"50px",src:s??"/icons/image.svg"})):b__default.default.createElement(react.Text,{border:"1px dashed",borderColor:d,p:3,fontSize:"sm",textAlign:"center",w:"100%",opacity:.8},e?"Click to upload or drop file here":"No file uploaded");return b__default.default.createElement(react.Center,{width:typeof a=="number"?`${a}px`:"auto",height:typeof p=="number"?`${p}px`:"auto"},c)},Io=({value:e,hasUpload:o,noLabel:t,loading:r,imageOptions:n})=>{let{storagePath:s,dataUrl:i}=e??{},l=b.useMemo(()=>!i&&!s,[i,s]);return !e||l?b__default.default.createElement(Yd,{hasUpload:o,imageOptions:n}):b__default.default.createElement(Ud,{loading:r,imageOptions:n,noLabel:t,hasUpload:o,value:e})},wt=b.forwardRef(({input:{value:e,onChange:o},field:t},r)=>{let{imageOptions:n}=t||{},s=b.useRef(null),i=b.useCallback(p=>{let u=p.target.files?.[0];u&&(e?.dataUrl&&URL.revokeObjectURL(e.dataUrl),o({...e,dataUrl:URL.createObjectURL(u),type:u.type,filename:u.name}));},[o,e]);b.useImperativeHandle(r,()=>({focus:()=>{s.current?.click();},blur:()=>{s.current?.blur();}}));let l=b.useMemo(()=>t.accept&&t.accept.length===1&&t.accept[0]==="image",[t]),a=b.useMemo(()=>l||e?.type?.startsWith("image/")||e?.type?.startsWith("video/")?{height:120,...n,objectFit:"contain"}:void 0,[n,l,e]);return b__default.default.createElement(react.Center,{flexFlow:"column",position:"relative",cursor:"pointer",onClick:()=>s.current?.click(),width:"100%"},b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.8,mb:1},t.placeholder),b__default.default.createElement(react.Center,{width:"100%",position:"relative",p:2,overflow:"hidden"},b__default.default.createElement(Io,{hasUpload:true,imageOptions:a,value:e}),b__default.default.createElement("input",{onChange:i,ref:s,accept:$d(t),type:"file",style:{position:"absolute",pointerEvents:"none",height:.1,width:.1,opacity:0}})))});wt.displayName="FileComponent";var yn=b.forwardRef(({field:e,input:o,inEditable:t},r)=>{let{options:n,renderOption:s,getOptionKey:i}=e,{onChange:l,value:a,onFocus:p,onBlur:u}=o,{colorMode:m}=react.useColorMode();b.useImperativeHandle(r,()=>({focus:()=>{p();},blur:()=>{u();}}));let d=b__default.default.createElement(react.Flex,{w:"100%",flexFlow:"row wrap"},n.map(c=>b__default.default.createElement(react.Box,{key:i?i(c):c,p:.5},b__default.default.createElement(react.Button,{w:"100%",minH:0,size:"xs",p:0,opacity:a?.includes(c)?1:.7,variant:"unstyled",onClick:f=>{f.stopPropagation(),l(a?.includes(c)?a.filter(g=>g!==c):[...a??[],c]);},_hover:{opacity:.8}},b__default.default.createElement(s,{value:c,colorMode:m,isSelected:!!a?.includes(c)})))));return t?b__default.default.createElement(react.Flex,{py:.5,flexFlow:"column",w:"100%"},b__default.default.createElement(react.Text,{lineHeight:1,px:2,opacity:.8,fontSize:"sm",fontWeight:600},e.placeholder),d):d});var ep={xs:.25,sm:.35,md:.5,lg:.5,xl:.5},op={xs:.5,sm:.75,md:.75,lg:.75,xl:.75},tp=e=>{let o=ep[e],t=op[e];return `${o}rem ${t}rem`},rp={xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},wn=e=>b.useMemo(()=>({padding:tp(e??"md"),fontSize:rp[e??"md"]}),[e]);var vt=b.forwardRef(({input:{onChange:e,value:o,...t},field:r,size:n,prefix:s,inEditable:i,...l},a)=>{let{type:p,defaultValue:u,placeholder:m}=r,d=react.useColorModeValue("number-input","number-input-dark"),c=wn(n),f=bo(a),[g,h]=b.useState(""),y=typeof o=="number"&&!Number.isNaN(o)?`${o}${g}`:"";return p==="slider"?b__default.default.createElement(yo,{label:m,onChange:e,value:o,defaultValue:u}):b__default.default.createElement(ap__default.default,{className:d,placeholder:r.placeholder,decimalsLimit:r.precision,allowDecimals:!!r.precision,prefix:s,ref:f,onValueChange:(x,F,S)=>{x?.endsWith(".")?h("."):x?.includes(".")&&x?.endsWith("0")?h("0"):h(""),e(S?.float);},value:y,...l,style:{background:"none",resize:"none",fontFamily:"Encode Sans",boxSizing:"border-box",width:"100%",borderRadius:"4px",border:"none",outline:"none",...c,...l.style},...t})}),dp=({field:e,...o},t)=>{let r=b.useRef(null);return b.useImperativeHandle(t,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}})),b__default.default.createElement(vt,{prefix:"$",field:{...e,_type:"number"},...o})},vn=b.forwardRef(dp);var Sn=({value:e,field:o})=>{let t=b.useMemo(()=>{if(e===""||e===void 0||e===null)return 1;switch(o._type){case "text":case "number":case "select":case "date":case "time":case "datetime":return -1;default:return 1}},[e,o]);return b__default.default.createElement(react.Flex,{transition:"top 300ms",top:t,position:"absolute",right:3},b__default.default.createElement(react.Text,{fontSize:"xs",opacity:.6},"OPTIONAL"))};var Fp=e=>b__default.default.createElement(react.Text,null,typeof e=="string"?e:JSON.stringify(e)),Tn=b.forwardRef(({field:e,input:o,meta:t},r)=>{let{placeholder:n,options:s,renderOption:i,getOptionKey:l}=e,{onChange:a,value:p,onFocus:u,onBlur:m}=o,{active:d}=t,c=b.useMemo(()=>p&&s.find(h=>h===p),[p,s]),{colorMode:f}=react.useColorMode();b.useImperativeHandle(r,()=>({focus:()=>{u();},blur:()=>{m();}}));let g=i??Fp;return b__default.default.createElement(react.Popover,{strategy:"fixed",placement:"bottom",matchWidth:true,isOpen:d,onClose:m},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.Button,{fontWeight:500,w:"100%",opacity:p?1:.7,onClick:h=>{h.stopPropagation(),u();},variant:"unstyled",position:"relative"},b__default.default.createElement(react.Box,null,c?b__default.default.createElement(g,{value:c,colorMode:f,isSelected:true}):b__default.default.createElement(react.Text,{opacity:.7},n)))),b__default.default.createElement(react.PopoverContent,{w:"100%",overflowY:"auto",maxH:"300px"},b__default.default.createElement(react.PopoverBody,{p:0},s.map(h=>b__default.default.createElement(react.Button,{key:l?l(h):h,w:"100%",variant:"unstyled",onClick:y=>{y.stopPropagation(),a(h),m();},_hover:{bg:"blackAlpha.100"},_dark:{_hover:{bg:"whiteAlpha.100"}}},b__default.default.createElement(g,{value:h,colorMode:f,isSelected:h===c})))),b__default.default.createElement(react.PopoverArrow,null)))});var Vp="/icons/facebook.svg",Hp="/icons/instagram.svg",_p="/icons/soundcloud.svg",$p="/icons/twitter.svg",Wp="/icons/youtube.svg",Np={facebook:Vp,instagram:Hp,twitter:$p,youtube:Wp,soundcloud:_p},Ke=({site:e,value:o,onChange:t})=>{let{handle:r,error:n}=b.useMemo(()=>{try{return {handle:core.getHandle(e,o)}}catch(i){return {error:i?.message??"Error parsing handle"}}},[o,e]),s=b.useMemo(()=>r?`${e.toUpperCase()}: ${r}`:e.toUpperCase(),[e,r]);return b__default.default.createElement(react.Popover,{trigger:"hover"},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.Center,{opacity:r?1:.6,borderRadius:"full",width:"34px",height:"34px"},b__default.default.createElement(react.Image,{cursor:"pointer",filter:`grayscale(${r?0:100}%)`,height:"24px",width:"24px",objectFit:"contain",src:Np[e]}))),b__default.default.createElement(react.PopoverContent,{w:"auto"},b__default.default.createElement(react.PopoverBody,{overflow:"hidden",borderRadius:4,p:0,w:"auto"},b__default.default.createElement(react.VStack,{spacing:0,p:2,w:"300px",align:"flex-start"},b__default.default.createElement(react.Text,{fontSize:"md"},s),b__default.default.createElement(react.Collapse,{in:!!n,style:{width:"100%"}},b__default.default.createElement(react.Text,{px:1,bg:"red.500",fontSize:"sm",color:"white"},n)),b__default.default.createElement(react.Input,{onChange:i=>t(i.target.value),placeholder:"Handle or URL",width:"100%",value:o,size:"md"})))))},Pt=b.forwardRef((e,o)=>{let{input:{value:t,onChange:r},field:{sites:n}}=e,s=b.useCallback((i,l)=>{let{[i]:a,...p}=t??{};!l&&Object.keys(p).length===0&&r({target:{value:void 0}}),l||r(p),r({...p,[i]:l});},[r,t]);return b.useImperativeHandle(o,()=>({blur:()=>{},focus:()=>{}})),b__default.default.createElement(react.VStack,{w:"100%",p:1},b__default.default.createElement(react.VStack,{borderRadius:4,p:2,spacing:0,w:"100%"},b__default.default.createElement(react.Text,{fontSize:"md"},"Links"),b__default.default.createElement(react.HStack,null,!n||n.facebook?b__default.default.createElement(Ke,{onChange:i=>s("facebook",i),site:"facebook",value:t?.facebook}):null,!n||n.instagram?b__default.default.createElement(Ke,{onChange:i=>s("instagram",i),site:"instagram",value:t?.instagram}):null,!n||n.twitter?b__default.default.createElement(Ke,{onChange:i=>s("twitter",i),site:"twitter",value:t?.twitter}):null,!n||n.youtube?b__default.default.createElement(Ke,{onChange:i=>s("youtube",i),site:"youtube",value:t?.youtube}):null,!n||n.soundcloud?b__default.default.createElement(Ke,{onChange:i=>s("soundcloud",i),site:"soundcloud",value:t?.soundcloud}):null)))});Pt.displayName="SocialMediaComponent";var It=b.forwardRef(({input:e,field:o,inEditable:t},r)=>{let n=react$1.useTextColor(),s=b.useRef(null);return b.useImperativeHandle(r,()=>({focus:()=>{s.current?.focus();},blur:()=>{s.current?.blur();}})),b__default.default.createElement(Qp__default.default,{placeholder:o.placeholder,minRows:2,maxRows:5,ref:s,style:{resize:"none",width:"100%",color:n,background:"none",fontFamily:"fonts.body",boxSizing:"border-box",borderRadius:"4px",padding:t?0:"0.6rem 1rem",border:"none",outline:"none"},...e})});It.displayName="TextAreaComponent";var Tt=b.forwardRef(({input:e,inEditable:o,meta:t,field:r},n)=>{let{placeholder:s,type:i}=r,[l,a]=b.useState(i==="password"),{value:p}=e,u=b.useRef(null);b.useImperativeHandle(n,()=>({focus:()=>{u.current?.focus();},blur:()=>{u.current?.blur();}}));let m=i==="textarea"?b__default.default.createElement(It,{inEditable:o,field:r,input:e,meta:t}):b__default.default.createElement(react.Input,{ref:u,border:"none",_dark:{border:"none"},borderRadius:0,px:o?0:3,background:"transparent",_focus:{border:"none"},py:o?0:.5,type:l?"password":"text",height:o?"auto":10,placeholder:s,...e,onChange:d=>{e.onChange({target:{value:d.target.value}});},value:p??""});return i==="password"?b__default.default.createElement(react.Flex,{width:"100%",position:"relative",align:"center"},m,b__default.default.createElement(react.IconButton,{position:"absolute",right:2,onClick:()=>a(!l),variant:"ghost",icon:l?b__default.default.createElement(icons.ViewIcon,null):b__default.default.createElement(icons.ViewOffIcon,null),"aria-label":l?"show":"hide",title:l?"Show":"Hide",size:"xs"})):m});Tt.displayName="TextComponent";var lu={text:Tt,file:wt,boolean:nn,select:Tn,multipleSelect:yn,currency:vn,number:vt,date:Ye,datetime:bt,time:Xe,socialMedia:Pt,color:pn},au=(e,o)=>{let{field:t,meta:{error:r,active:n,touched:s},input:i,inEditable:l}=e,{value:a}=i,p=b.useMemo(()=>r&&s?"#ff7777":n?"rgba(0,0,0,0.7)":"rgba(0,0,0,0.3)",[r,n,s]),{_type:u,optional:m,label:d}=t,c=b.useMemo(()=>u==="multipleSelect"||!!a&&u!=="file"&&u!=="boolean",[a,u]),f=b.useMemo(()=>{if(l)return {};switch(u){case "text":case "number":case "currency":case "select":return {boxShadow:`0 0 7px ${p}`,transition:"all 300ms",bg:"background.50"};default:return {}}},[u,p,l]),g=b.useMemo(()=>lu[u],[u]),h=b.useMemo(()=>l?0:r&&s?6:2,[l,r,s]);return b__default.default.createElement(react.VStack,{position:"relative",align:"flex-start",width:"100%",py:l?0:1,px:1,spacing:0,pb:h,transition:"all 500ms",pt:c&&!l?4:0},d&&!l?typeof d=="string"?b__default.default.createElement(react.Text,{color:"gray.800",fontSize:"sm",px:2},d):b__default.default.createElement(d,null):null,b__default.default.createElement(react.Flex,{width:"100%",borderRadius:4,py:.5,overflow:"hidden",...f},b__default.default.createElement(g,{ref:o,...e})),l?null:b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.Text,{opacity:r&&s?1:0,transition:`opacity 500ms ease ${r&&s?250:0}ms`,position:"absolute",bottom:"0px",fontSize:"sm",px:1,pointerEvents:"none",color:"red.600"},r),b__default.default.createElement(react.Text,{opacity:c?1:0,transition:`opacity 500ms ease ${c?250:0}ms`,position:"absolute",top:"-4px",pointerEvents:"none",fontSize:"sm",fontFamily:"fonts.heading",px:1,color:"blackAlpha.600",_dark:{color:"whiteAlpha.600"}},t.placeholder||"")),m&&!l?b__default.default.createElement(Sn,{field:t,value:a}):null)},To=b.forwardRef(au);var mu=({field:e,name:o},t)=>{let{control:r,getOnChange:n,meta:s,onFocus:i,onBlur:l}=react$1.useField(o,e);return b__default.default.createElement(reactHookForm.Controller,{control:r,name:o,render:({field:{name:a,ref:p,onBlur:u,...m}})=>b__default.default.createElement(To,{ref:t,field:e,input:{...m,onFocus:i,onBlur:()=>{l(),u();},onChange:n(m.onChange)},meta:s})})},Ln=b.forwardRef(mu);var ko=({uploads:e})=>{let o=b.useMemo(()=>Object.values(e),[e]);return b__default.default.createElement(reactTransitionGroup.TransitionGroup,{component:react.Flex,width:"100%",flexFlow:"column"},o.map(t=>b__default.default.createElement(Z,{key:t.label},b__default.default.createElement(react.Center,{px:2,height:"26px",position:"relative",w:"100%",flexDirection:"column"},b__default.default.createElement(react.Progress,{borderRadius:"full",value:t.percent*100,mx:2,my:1,size:"md",height:"100%",width:"100%"}),b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",textShadow:"1px 1px 3px #000000aa",color:"white",position:"absolute",fontSize:"sm",fontWeight:500},t.label.toUpperCase())))))};var Pu=({onBack:e,children:o})=>b__default.default.createElement(react.Button,{flex:1,transition:"all 500ms",onClick:e,variant:"outline",border:"1px solid #cdcdcd",color:"#777",ml:"auto"},o),Iu=({onSubmitClick:e,submitting:o,children:t,filter:r,opacity:n})=>b__default.default.createElement(react.Button,{isLoading:o,filter:r,flex:1,transition:"all 500ms",opacity:n,onClick:()=>{e();},ml:"auto",variant:"solid"},t),Tu=()=>{let{formError:e}=react$1.useChempoForm();return b__default.default.createElement(react.Collapse,{in:!!e},b__default.default.createElement(react.Text,{color:"red"},e??""))},On=({renderFooter:e,...o})=>{let{uploads:t,onBack:r,buttonText:n,onSubmit:s}=o,{isSubmitting:i,isValid:l}=reactHookForm.useFormState();return b__default.default.createElement(react.Flex,{w:"100%",flexFlow:"column"},b__default.default.createElement(react.Collapse,{endingHeight:5,style:{width:"100%"},in:i},b__default.default.createElement(react.Progress,{w:"100%",h:"5px",isIndeterminate:true})),b__default.default.createElement(ko,{uploads:t}),b__default.default.createElement(Tu,null),e?b__default.default.createElement(e,{...o}):b__default.default.createElement(react.HStack,{py:2,borderTop:"1px solid",borderColor:"background.200",px:3,w:"100%"},r?b__default.default.createElement(Pu,{onBack:r},"Cancel"):null,b__default.default.createElement(Iu,{size:"sm",filter:`grayscale(${l?0:100}%)`,opacity:l?1:.5,onSubmitClick:s,submitting:i},n)))};var En=({field:e,value:o,noLabel:t,style:r})=>{let{imageOptions:n,placeholder:s}=e,i=b.useMemo(()=>({height:150,...n}),[n]);return b__default.default.createElement(react.Flex,{flexFlow:o?"column":"row",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},s),o?b__default.default.createElement(Z,null,b__default.default.createElement(react.Box,{p:1},b__default.default.createElement(Io,{imageOptions:i,value:o}))):b__default.default.createElement(react.Text,{opacity:.7},"None"))};var Vn=({field:e,value:o,noLabel:t,style:r})=>{let{placeholder:n,renderOption:s}=e,{colorMode:i}=react.useColorMode();return b__default.default.createElement(react.Flex,{maxW:"100%",flexFlow:"row wrap",align:"center",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},n),o?o.map(l=>b__default.default.createElement(react.Box,{key:e.getOptionKey?e.getOptionKey(l):l,p:.5},b__default.default.createElement(s,{value:l,colorMode:i,isSelected:true}))):b__default.default.createElement(react.Text,{opacity:.6},"None"))};var zu=e=>typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?e.toString():JSON.stringify(e),Vu=e=>b__default.default.createElement(react.Text,null,zu(e)),_n=({field:e,value:o,noLabel:t,style:r})=>{let{placeholder:n,renderOption:s}=e,{colorMode:i}=react.useColorMode();return b__default.default.createElement(react.Flex,{align:"center",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},n),o?b__default.default.createElement(s??Vu,{value:o,colorMode:i,isSelected:true}):"None")};var Wu=({field:e,value:o,noLabel:t,style:r})=>{let{placeholder:n}=e,s=b.useMemo(()=>{let i=core.formatField[e._type];return i?i(e,o):o},[o,e]);return b__default.default.createElement(react.Flex,{align:"center",style:r},t?null:b__default.default.createElement(react.Text,{pr:2,opacity:.7,fontWeight:600},n),b__default.default.createElement(react.Text,{opacity:o!=null?1:.6},s??"None"))},Re=({field:e,value:o,noLabel:t,style:r})=>{switch(e._type){case "select":return b__default.default.createElement(_n,{style:r,field:e,value:o,noLabel:t});case "multipleSelect":return b__default.default.createElement(Vn,{style:r,field:e,value:o,noLabel:t});case "file":return b__default.default.createElement(En,{style:r,field:e,value:o,noLabel:t});default:return b__default.default.createElement(Wu,{style:r,field:e,value:o,noLabel:t})}};var Uu=({onChange:e,value:o,field:t,onBlur:r,inEditable:n,onFocus:s,style:i},l)=>{let{inputProps:a,meta:p}=react$1.useStandaloneInput(t,o,e,s,r);return b__default.default.createElement(To,{ref:l,field:t,inEditable:n,style:i,input:a,meta:p})},Wn=b.forwardRef(Uu);var Gn=({value:e,field:o,onSubmit:t,storagePath:r,style:n,onEditClose:s,onEditOpen:i})=>{let{formattedValue:l,inputRef:a,setValue:p,isLoading:u,uploads:m,editHovered:d,handleEditOpen:c,handleEditClose:f,isEditing:g,value:h,setEditHovered:y,submit:x,submitValue:F,parse:S}=react$1.useEditable({value:e,field:o,onSubmit:t,storagePath:r,onEditOpen:i,onEditClose:s}),C=b.useMemo(()=>o._type==="file"||o._type==="boolean",[o]);b.useEffect(()=>{g&&a.current?.focus();},[g,a]);let T=react$1.useColorModeValue("#00000055","#ffffff55");return b__default.default.createElement(react.Flex,{borderRadius:4,border:`1px dashed ${d&&!g?T:"transparent"}`,flexFlow:"column",w:"100%"},b__default.default.createElement(react.Flex,{align:"center",px:1,position:"relative",w:"100%"},b__default.default.createElement(react.Flex,{opacity:u?0:1,transition:"all 300ms",mr:1,border:`1px dashed ${g?T:"transparent"}`,flex:1,minW:"0"},g||C?b__default.default.createElement(Wn,{ref:a,value:l,inEditable:true,field:o,style:{padding:0,...n},onChange:C?E=>F(S(E)):E=>p(S(E))}):b__default.default.createElement(Re,{style:n,field:o,value:h})),C?null:b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.IconButton,{"aria-label":"Edit",size:"xs",icon:g?b__default.default.createElement(icons.CloseIcon,{width:3}):b__default.default.createElement(icons.EditIcon,null),onMouseEnter:()=>y(true),onMouseLeave:()=>y(false),onClick:()=>{g?(p(h),f()):c();}}),b__default.default.createElement(react.Flex,{transition:"all 300ms",justify:"flex-end",opacity:g?1:0,overflow:"hidden",w:g?"30px":"0px"},b__default.default.createElement(react.IconButton,{"aria-label":"Edit",size:"xs",bg:core.palette.cyan.light,_dark:{bg:core.palette.cyan.light,_hover:{bg:core.palette.cyan.lighter}},_hover:{bg:core.palette.cyan.medium},icon:b__default.default.createElement(icons.CheckIcon,{filter:"drop-shadow(1px 1px 3px #000000aa)"}),onClick:()=>{x();}}))),b__default.default.createElement(Be,{isLoading:u})),b__default.default.createElement(ko,{uploads:m}))};var bm=e=>o=>{o.destination&&e(o.source.index,o.destination.index);},ym=({field:e,name:o})=>{let t=b.useMemo(()=>core.isField(e.itemField)?"":core.isListField(e.itemField)?[]:{},[e]),r=react.useColorModeValue("#efefef","#2b2b2b"),n=W(),{control:s}=reactHookForm.useFormContext(),{fields:i,append:l,remove:a,move:p}=reactHookForm.useFieldArray({control:s,name:o}),u=b.useMemo(()=>bm(p),[p]);return b__default.default.createElement(react.Flex,{overflow:"hidden",gap:2,flexFlow:"column",w:"100%",px:2,py:1},b__default.default.createElement(react.Text,{lineHeight:1,opacity:.7,fontSize:"sm"},e.placeholder),b__default.default.createElement(dnd.DragDropContext,{onDragEnd:u},b__default.default.createElement(dnd.Droppable,{droppableId:"droppable"},(m,{draggingFromThisWith:d})=>b__default.default.createElement(react.Flex,{ref:m.innerRef,flexFlow:"column",w:"100%",py:1,borderRadius:4,minH:"30px",align:"flex",...m.droppableProps},i.length?i.map((c,f)=>b__default.default.createElement(dnd.Draggable,{key:c.id,draggableId:c.id,index:f},({dragHandleProps:g,draggableProps:h,innerRef:y},{isDragging:x})=>b__default.default.createElement(react.Flex,{transition:"all 300ms",boxShadow:`2px 2px 4px #000000${x?"55":"00"}`,borderRadius:4,pt:2,px:2,border:`1px solid ${n}`,bg:`${r}${x?"ff":"00"}`,ref:y,w:"100%",...h},b__default.default.createElement(Z,null,b__default.default.createElement(react.Flex,{opacity:d&&!x?.5:1,gap:1,align:"center",w:"100%"},b__default.default.createElement(react.IconButton,{"aria-label":"drag",size:"xs",opacity:.8,variant:"ghost",icon:b__default.default.createElement(icons.DragHandleIcon,null),...g}),b__default.default.createElement(react.Box,{minW:"0",flex:1},b__default.default.createElement(Mt,{name:c.id,field:e.itemField})),b__default.default.createElement(react.IconButton,{"aria-label":"delete",size:"xs",bg:"red.600",color:"white",icon:b__default.default.createElement(icons.DeleteIcon,{filter:"drop-shadow(1px 1px 3px #00000088)"}),onClick:F=>{F.stopPropagation(),a(f);}})))))):b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2},"No items"),m.placeholder))),b__default.default.createElement(react.Flex,null,b__default.default.createElement(react.Button,{mr:"auto",width:"auto",size:"xs",onClick:()=>l(t)},"+ NEW")))},Mt=({field:e,name:o})=>{let t=b.useMemo(()=>core.isField(e)||core.isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([r,n])=>({name:`${o?`${o}.`:""}${r}`,field:n})),[e,o]);return b__default.default.createElement(react.VStack,{spacing:1,w:"100%"},t.map(r=>{if(core.isListField(r.field)){let s=b__default.default.createElement(ym,{key:r.name,name:r.name,field:r.field});return r.field.condition?b__default.default.createElement(xo,{path:o,condition:r.field.condition,key:r.name},s):s}if(core.isField(r.field)){let s=b__default.default.createElement(Ln,{key:r.name,name:r.name,field:r.field});return r.field.condition?b__default.default.createElement(xo,{path:o,condition:r.field.condition,key:r.name},s):s}let n=b__default.default.createElement(Mt,{key:r.name,name:r.name,field:r.field});return r.field.condition?b__default.default.createElement(xo,{path:o,condition:r.field.condition,key:r.name},n):n}))},wm=({field:e,value:o,path:t})=>{let{placeholder:r}=e,n=W(),s=react$1.useGetItemField(e);return b__default.default.createElement(react.Box,{w:"100%",p:1},b__default.default.createElement(Ko,{border:`1px solid ${n}`,borderRadius:4,initExpanded:true,header:()=>b__default.default.createElement(react.Text,{py:1},r)},b__default.default.createElement(react.Flex,{flexFlow:"column",bg:"background.200",gap:2,px:2,py:1},o?.length?o.map((i,l)=>b__default.default.createElement(react.Box,{bg:"background.100",key:`${t}.${l}`,border:`1px solid ${n}`,borderRadius:3},b__default.default.createElement(jn,{path:`${t}.${l}`,field:s(l),value:i}))):b__default.default.createElement(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2},"No items"))))},jn=({field:e,value:o,path:t,storagePath:r})=>{let{updateField:n}=react$1.useDataView();return core.isField(e)?n?b__default.default.createElement(Gn,{storagePath:r,field:e,value:o,onSubmit:s=>n(t,s)}):b__default.default.createElement(Re,{field:e,value:o}):core.isListField(e)?b__default.default.createElement(wm,{path:t,field:e,value:o}):b__default.default.createElement(Cm,{storagePath:r?`${r}.${t}`:void 0,path:t,field:e})},Cm=({field:e,value:o,onClose:t,onDelete:r,onSubmit:n,itemName:s,storagePath:i,path:l=""})=>{let{name:a,children:p}=e,[u,m]=b.useState(false);return b__default.default.createElement(react$1.DataViewProvider,{value:o,onSubmit:n},b__default.default.createElement(Ko,{alwaysExpanded:true,header:()=>b__default.default.createElement(react.Flex,{align:"center",px:2,w:"100%"},b__default.default.createElement(react.Text,{py:2,fontSize:"lg",fontFamily:"fonts.heading"},a),b__default.default.createElement(react.Flex,{gap:2,align:"center",ml:"auto"},r?b__default.default.createElement(Br,{onDelete:r,itemName:s??"item"}):null,n?b__default.default.createElement(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,ml:"auto","aria-label":"edit",icon:b__default.default.createElement(icons.EditIcon,null),onClick:()=>m(true)}):null,t?b__default.default.createElement(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,variant:"ghost","aria-label":"close",icon:b__default.default.createElement(icons.CloseIcon,{opacity:.8,w:3,h:3}),onClick:t}):null))},u&&n?b__default.default.createElement(Lt,{storagePath:i,field:e,value:o,onSubmit:n,onBack:()=>m(false)}):b__default.default.createElement(react.Flex,{flexFlow:"column",px:4,py:2},Object.entries(p).map(([d,c])=>b__default.default.createElement(jn,{storagePath:i?`${i}/${d}`:void 0,path:l?`${l}.${d}`:d,key:d,field:c,value:o?.[d]})))))},Un=({onSubmit:e,onBack:o,field:t,value:r,buttonText:n="SUBMIT",renderFooter:s,storagePath:i})=>{let l=b.useMemo(()=>({field:t,value:r,submit:e,storagePath:i}),[t,r,e,i]),{onSubmit:a,uploads:p}=react$1.useFormSubmit(l);return b__default.default.createElement(react.Stack,{w:"100%",spacing:3},b__default.default.createElement("form",null,b__default.default.createElement(react.Box,{pt:1,px:2,w:"100%"},b__default.default.createElement(Mt,{name:"",field:t})),b__default.default.createElement(On,{uploads:p,onSubmit:a,renderFooter:s,onBack:o,buttonText:n})))},vm=({onSubmit:e,field:o,value:t,...r})=>{let n=b.useMemo(()=>({children:{value:o}}),[o]);return b__default.default.createElement(Un,{field:n,value:{value:t},onSubmit:s=>e(s?.value),...r})},Lt=({field:e,onSubmit:o,...t})=>{let r=core.isField(e)||core.isListField(e)?b__default.default.createElement(vm,{field:e,onSubmit:o,...t}):b__default.default.createElement(Un,{field:e,onSubmit:o,...t});return b__default.default.createElement(react$1.ChempoFormProvider,null,r)};var Xn=e=>{let o=react$1.useMounted();return b__default.default.createElement(lr,null,b__default.default.createElement(react.Flex,{overflow:"hidden",flexFlow:"column",h:"100%",w:"100%",opacity:o?1:0,transition:"opacity 300ms",...e}))};var _e=({data:e,rowIndex:o,columnIndex:t,style:r})=>{let{items:n,onSelect:s,refetch:i,grid:l,numCols:a,colorMode:p}=e||{},{ItemPreview:u}=l,m=o*a+t,d=n[m];return d?b__default.default.createElement(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{s(d);},style:r,px:1,py:.25,key:m},b__default.default.createElement(u,{index:m,item:d,refetch:i?()=>i(d._id):void 0,colorMode:p})):null};var xe=()=>{let{list:e,search:{debounced:o,search:t}}=react$1.useDataList(),{data:{isLoading:r}}=react$1.usePaginatedList(),n=b.useMemo(()=>r||o!==t,[r,o,t]),{itemName:s,pluralItemName:i,noItemsMessage:l,searchRequired:a}=e;return b__default.default.createElement(react.Flex,{justify:"center",align:"flex-start",w:"100%",h:"100%"},n?b__default.default.createElement(Fe,{text:`Loading ${i??core.toPlural(s)}`}):b__default.default.createElement(react.Text,{textAlign:"center",flex:1,p:3,fontStyle:"italic",opacity:.7},!o&&a?`Search ${i??core.toPlural(s)}`:l??`No ${i??core.toPlural(s)}`))};var ue=e=>typeof e=="function";var Am=(e,o)=>{if(e.key!==o.key||e.operator!==o.operator)return false;if(core.arrayOperators.includes(e.operator)){let t=Array.isArray(e.value)?e.value:[e.value];return !(Array.isArray(o.value)?o.value:[o.value]).every(n=>!t.includes(n))}return e.value===o.value},Kn=(e,{nativeFilter:o})=>(Array.isArray(o)?o:[o]).every(r=>Am(r,e));var Em=(e,o,t)=>{let{rowHeight:r,columnWidth:n}=o;if(typeof r!="number"&&typeof n!="number")throw new Error("Cannot have both variable row height and variable column width");if(typeof n=="function"){let l=Math.floor(t/n(e[0]));return {numRows:Math.ceil(e.length/l),numCols:l}}let s=Math.max(1,Math.floor(t/n));return {numRows:Math.ceil(e.length/s),numCols:s}},zm=(e,o,t)=>{let{rowHeight:r,columnWidth:n}=o,{numRows:s,numCols:i}=Em(e,o,t),l=typeof n=="number"?t/i:Array.from({length:i},(m,d)=>e.filter((f,g)=>g%i===d).reduce((f,g)=>{let h=n(g);return Math.max(f,h)},0)),a=typeof r=="number"?r:Array.from({length:s},(m,d)=>e.slice(d*i,(d+1)*i).reduce((f,g)=>{let h=r(g);return Math.max(f,h)},0)),p=Array.isArray(a)?m=>a[m]:a,u=Array.isArray(l)?m=>l[m]:l;return {rowHeight:p,colWidth:u,numCols:i,numRows:s}},Do=(e,o)=>{let{data:{data:t}}=react$1.usePaginatedList();return b.useMemo(()=>zm(t,e,o),[t,e,o])};var ei=({height:e,options:o})=>{let{totalCount:t,data:{data:r},refetchItem:n,isItemLoaded:s,goNext:i}=react$1.usePaginatedList(),{list:l,onSelectItem:a,mobileLayout:p,query:u}=react$1.useDataList(),{width:m}=react$1.useFullSize(),{numCols:d,numRows:c,rowHeight:f,colWidth:g}=Do(o,m),{previewHeight:h,mobile:y}=l,{colorMode:x}=react.useColorMode(),F=b.useMemo(()=>({list:l,items:r,mobileLayout:p,grid:o,colorMode:x,numCols:d,onSelect:L=>a(L._id),refetch:n}),[r,l,n,a,p,d,o,x]),S=b.useRef(null),C=b.useMemo(()=>p?y?.previewHeight??h:h,[y,h,p]);b.useEffect(()=>{let L=S.current;L&&(L.resetAfterColumnIndex(0),L.resetAfterRowIndex(0));},[u]);let T=b.useRef(null);b.useEffect(()=>{T.current&&T.current.resetloadMoreItemsCache(true);},[t]);let E=b.useMemo(()=>ue(C),[C]),z=b.useCallback(({columnIndex:L,rowIndex:N,data:D})=>{let U=N*d+L;return D.items[U]?._id||`${U}`},[d]),O=b.useCallback(({overscanColumnStartIndex:L,overscanColumnStopIndex:N,overscanRowStartIndex:D,overscanRowStopIndex:U,visibleColumnStartIndex:ce,visibleColumnStopIndex:ke,visibleRowStartIndex:Me,visibleRowStopIndex:we},I)=>{let V=Me*d+ce,k=we*d+ke,v=D*d+L,M=U*d+N;I({overscanStartIndex:v,overscanStopIndex:M,visibleStartIndex:V,visibleStopIndex:k});},[d]);return r.length?E?b__default.default.createElement(Rn__default.default,{isItemLoaded:s,ref:T,itemCount:t??0,loadMoreItems:i},({onItemsRendered:L,ref:N})=>b__default.default.createElement(reactWindow.VariableSizeGrid,{height:e,width:m,rowCount:c,columnCount:d,rowHeight:f,columnWidth:g,itemData:F,style:{overflowX:"hidden"},itemKey:z,onItemsRendered:D=>O(D,L),ref:D=>{N(D),S.current=D;}},_e)):b__default.default.createElement(Rn__default.default,{isItemLoaded:s,itemCount:t??0,ref:T,loadMoreItems:i},({onItemsRendered:L,ref:N})=>b__default.default.createElement(reactWindow.FixedSizeGrid,{height:e,width:m,rowCount:c,columnCount:d,rowHeight:f,columnWidth:g,itemData:F,onItemsRendered:D=>O(D,L),style:{overflowX:"hidden"},ref:D=>{N(D),S.current=null;}},_e)):b__default.default.createElement(xe,null)};var $e=({data:e,index:o,style:t})=>{let{list:r,items:n,onSelect:s,refetch:i,mobileLayout:l,colorMode:a}=e||{},{ItemPreview:p,mobile:u}=r,m=l?u?.ItemPreview??p:p,d=n[o];return d?b__default.default.createElement(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{s(n[o]);},style:t,key:o},b__default.default.createElement(m,{index:o,item:d,refetch:i?()=>i(d._id):void 0,colorMode:a})):null};var ii=({height:e})=>{let{totalCount:o,data:{data:t},refetchItem:r,isItemLoaded:n,goNext:s}=react$1.usePaginatedList(),{list:i,onSelectItem:l,mobileLayout:a,query:p}=react$1.useDataList(),{previewHeight:u,mobile:m}=i,{colorMode:d}=react.useColorMode(),{width:c}=react$1.useFullSize(),f=b.useMemo(()=>({list:i,items:t,mobileLayout:a,colorMode:d,onSelect:S=>l(S._id),refetch:r}),[t,i,r,l,a,d]),g=b.useRef(null),h=b.useMemo(()=>a?m?.previewHeight??u:u,[m,u,a]),y=b.useRef(null);b.useEffect(()=>{y.current&&y.current.resetloadMoreItemsCache(true);},[o]),b.useEffect(()=>{let S=g.current;S&&(S.resetAfterRowIndex(0),S.resetAfterColumnIndex(0));},[p]);let x=b.useCallback(S=>typeof h=="function"?h(t[S]):h,[t,h]),F=b.useMemo(()=>ue(h),[h]);return t.length?F?b__default.default.createElement(Rn__default.default,{ref:y,isItemLoaded:n,itemCount:o??0,loadMoreItems:s},({onItemsRendered:S,ref:C})=>b__default.default.createElement(reactWindow.VariableSizeList,{height:e,width:c,itemSize:x,itemCount:o??0,itemData:f,style:{overflowX:"hidden"},itemKey:T=>t[T]?._id||`${T}`,onItemsRendered:T=>{S(T);},ref:C},$e)):b__default.default.createElement(Rn__default.default,{ref:y,isItemLoaded:n,itemCount:o??0,loadMoreItems:s},({onItemsRendered:S,ref:C})=>b__default.default.createElement(reactWindow.FixedSizeList,{height:e,width:c,itemSize:h,itemCount:o??0,itemData:f,itemKey:T=>t[T]?._id||`${T}`,style:{overflowX:"hidden"},onItemsRendered:S,ref:C},$e)):b__default.default.createElement(xe,null)};var nc=({height:e,options:o})=>{let{list:t,onSelectItem:r,mobileLayout:n,query:s}=react$1.useDataList(),{data:{data:i},pageIndex:l}=react$1.usePaginatedList(),a=b.useRef(null),p=b.useRef(null),{width:u}=react$1.useFullSize(),{numCols:m,numRows:d,rowHeight:c,colWidth:f}=Do(o,u),{colorMode:g}=react.useColorMode(),h=b.useMemo(()=>({list:t,items:i,numCols:m,onSelect:x=>r(x._id),mobileLayout:n,colorMode:g,grid:o}),[i,t,r,n,m,o,g]);b.useEffect(()=>{let x=a.current;x&&(x.resetAfterColumnIndex(0),x.resetAfterRowIndex(0));},[s]),b.useEffect(()=>{let x=a.current,F=p.current;x&&x.scrollTo({scrollLeft:0,scrollTop:0}),F&&F.scrollTo({scrollLeft:0,scrollTop:0});},[l,s]);let y=b.useMemo(()=>ue(o.rowHeight)||ue(o.columnWidth),[o]);return i.length?y?b__default.default.createElement(reactWindow.VariableSizeGrid,{ref:a,height:e,width:u,rowCount:d,columnCount:m,rowHeight:c,columnWidth:f,itemData:h,style:{overflowX:"hidden"}},_e):b__default.default.createElement(reactWindow.FixedSizeGrid,{height:e,ref:p,width:u,rowCount:d,columnCount:m,rowHeight:c,columnWidth:f,itemData:h,style:{overflowX:"hidden"}},_e):b__default.default.createElement(xe,null)},di=b.memo(nc);var cc=({height:e})=>{let{list:o,onSelectItem:t,mobileLayout:r,query:n}=react$1.useDataList(),{data:{data:s},pageIndex:i}=react$1.usePaginatedList(),{width:l}=react$1.useFullSize(),{previewHeight:a,mobile:p}=o,u=b.useRef(null),m=b.useRef(null),{colorMode:d}=react.useColorMode(),c=b.useMemo(()=>({list:o,colorMode:d,items:s,onSelect:y=>t(y._id),mobileLayout:r}),[s,o,t,r,d]),f=b.useMemo(()=>r?p?.previewHeight??a:a,[p,a,r]);b.useEffect(()=>{let y=u.current;y&&y.resetAfterIndex(0);},[n]),b.useEffect(()=>{let y=u.current,x=m.current;y&&y.scrollTo(0),x&&x.scrollTo(0);},[n,i]);let g=b.useCallback(y=>typeof f=="function"?f(s[y]):f,[s,f]),h=b.useMemo(()=>ue(f),[f]);return s.length?h?b__default.default.createElement(reactWindow.FixedSizeList,{ref:m,height:e,width:l,itemSize:f,itemCount:s.length,itemData:c,style:{overflowX:"hidden"}},$e):b__default.default.createElement(reactWindow.VariableSizeList,{ref:u,height:e,width:l,itemSize:g,itemCount:s.length,itemData:c,style:{overflowX:"hidden"}},$e):b__default.default.createElement(xe,null)},mi=b.memo(cc);var ci=({height:e})=>{let{infiniteScroll:o,gridLayout:t,list:r}=react$1.useDataList(),{grid:n}=r;return t&&n?o?b__default.default.createElement(ei,{options:n,height:e}):b__default.default.createElement(di,{options:n,height:e}):o?b__default.default.createElement(ii,{height:e}):b__default.default.createElement(mi,{height:e})};var Vo=({children:e,isOpen:o,contentProps:t,...r})=>b__default.default.createElement(react.Modal,{scrollBehavior:"inside",isCentered:true,isOpen:o,...r},b__default.default.createElement(react.ModalOverlay,null),b__default.default.createElement(react.ModalContent,{position:"relative",overflowY:"auto",bg:"background.100",...t},b__default.default.createElement(react.Box,null,e)));var gi=e=>{let{overlayRef:o}=react$1.useMobileFrame();return b__default.default.createElement(react.Portal,{containerRef:o},b__default.default.createElement(react.Flex,{justify:"center",align:"center",transition:"opacity 300ms",position:"absolute",left:0,top:0,height:"100%",width:"100%",...e}))};var Pc=({onClick:e})=>b__default.default.createElement(react.Flex,{onClick:e,w:"100%",h:"100%",position:"absolute",bg:"blackAlpha.400",transition:"opacity 300ms"}),yi=({isOpen:e,onClose:o,children:t,contentProps:r,onContentMounted:n,closeOnOverlayClick:s})=>{let{height:i,width:l}=react$1.useMobileFrame(),a=react.useColorModeValue("gray.100","#454545"),[p,u]=b.useState(false),[m,d]=b.useState(false),c=b.useRef(null),f=b.useRef(null);return b.useEffect(()=>(c.current&&(clearTimeout(c.current),c.current=null),f.current&&(clearTimeout(f.current),f.current=null),e?(u(true),f.current=setTimeout(()=>{d(true),n&&n(true);},50)):(d(false),n&&n(false),c.current=setTimeout(()=>{u(false);},300)),()=>{c.current&&(clearTimeout(c.current),c.current=null),f.current&&(clearTimeout(f.current),f.current=null);}),[e,n]),p?b__default.default.createElement(gi,{opacity:m?1:0,pointerEvents:m?"auto":"none"},b__default.default.createElement(Pc,{onClick:s!==false?o:void 0}),b__default.default.createElement(react.Flex,{width:`${l-10}px`,maxH:`${i-10}px`,overflowY:"auto",overflowX:"hidden",minH:"100px",bg:a,borderRadius:6,position:"relative",...r},t)):null};var wi=e=>{let o=react$1.useScreen(n=>n.isMobile),t=cr(),r=b.useMemo(()=>o||t?yi:Vo,[o,t]);return b__default.default.createElement(r,{...e})};var Ci=({field:e})=>{let{list:{baseQuery:o,itemName:t},newItemOpen:r,setNewItemOpen:n}=react$1.useDataList(),{adapter:{db:s}}=react$1.useBackendBase(),{refetch:i}=react$1.usePaginatedList(),l=b.useCallback(async a=>{await s.createItem(o.collection,a),n(false),i&&i();},[n,i,s,o]);return b__default.default.createElement(Vo,{isOpen:r,onClose:()=>n(false)},b__default.default.createElement(react.Flex,{align:"center",pt:3,px:3,w:"100%"},b__default.default.createElement(react.Text,{pl:1,opacity:.7,fontWeight:600},"NEW ",t.toUpperCase()),b__default.default.createElement(react.IconButton,{size:"sm",borderRadius:"full",ml:"auto",h:7,w:7,minW:0,onClick:()=>n(false),"aria-label":"Close",icon:b__default.default.createElement(icons.CloseIcon,{opacity:.8,w:3,h:3})})),b__default.default.createElement(Lt,{field:e,onSubmit:l}))};var Si=({goNext:e,canGoNext:o,mobileLayout:t})=>b__default.default.createElement(react.Button,{opacity:o?1:.6,pointerEvents:o?"auto":"none",borderRadius:"full",onClick:e,"aria-label":"next",variant:"ghost",size:t?"xs":"sm",pl:3,pr:1,gap:1},b__default.default.createElement(react.Text,null,"Next"),b__default.default.createElement(icons.ChevronRightIcon,{w:5,h:5})),Pi=({goPrev:e,canGoPrev:o,mobileLayout:t})=>b__default.default.createElement(react.Button,{opacity:o?1:.5,pointerEvents:o?"auto":"none",onClick:e,borderRadius:"full","aria-label":"back",variant:"ghost",pr:3,pl:1,gap:1,size:t?"xs":"sm"},b__default.default.createElement(icons.ChevronLeftIcon,{w:5,h:5}),b__default.default.createElement(react.Text,null,"Back")),qc=({progressBg:e,borderColor:o})=>{let{data:{isLoading:t,error:r}}=react$1.usePaginatedList();return b__default.default.createElement(react.Box,{position:"absolute",bottom:"100%",w:"100%",left:0},b__default.default.createElement(react.Collapse,{style:{width:"100%"},in:!!r,animateOpacity:true},b__default.default.createElement(react.Box,{borderTopRadius:6,bg:"red.600",maxW:"100%",p:1},b__default.default.createElement(react.Tooltip,{placement:"top",hasArrow:true,label:r?.message??"","aria-label":"error"},b__default.default.createElement(react.Text,{textShadow:"1px 1px 3px #00000077",_dark:{textShadow:"none"},px:1,fontWeight:600,isTruncated:true,maxW:"100%",fontSize:"sm",color:"white"},r?.message)))),b__default.default.createElement(Z,{in:t,animateOpacity:true},b__default.default.createElement(react.Flex,{bg:e,borderTop:"1px solid",borderBottom:"1px solid",borderColor:o,w:"100%"},b__default.default.createElement(react.Progress,{borderRadius:0,w:"100%",height:"8px",isIndeterminate:t}))))},Jc=(e,o,t)=>Math.abs(e-o)<=1?2:e<3?o===0?2:0:e>t-4?o>t-3?2:4:e<o?1:3,$o=28,Wo=24,Ii=({index:e,isActive:o,onClick:t,borderColor:r,isLoading:n,mobileLayout:s})=>b__default.default.createElement(react.Button,{key:e,onClick:t,variant:"unstyled",display:"flex",border:"1px solid",borderColor:o?"transparent":r,justifyContent:"center",alignItems:"center",width:`${s?Wo:$o}px`,height:`${s?Wo:$o}px`,fontFamily:"fonts.heading",lineHeight:1,fontWeight:600,minW:"0",bg:o?"accent.400":"transparent",_hover:{bg:o?"accent.500":"whiteAlpha.500"},color:o?"white":r,textShadow:o?"1px 1px 3px #00000088":"none",size:"sm",disabled:n,"aria-label":`Go to page ${e+1}`},e+1),Zc=({group:{indicators:e,collapsed:o},mobileLayout:t})=>{let{data:{isLoading:r},goToPage:n}=react$1.usePaginatedList(),s=W();return o?b__default.default.createElement(react.Popover,{trigger:"hover",gutter:1,variant:"fixed"},({onClose:i})=>b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.IconButton,{variant:"unstyled",width:`${t?Wo:$o}px`,height:`${t?Wo:$o}px`,minW:"0",opacity:.7,_hover:{opacity:1},"aria-label":"more pages",icon:b__default.default.createElement(react.Text,{fontSize:"md",position:"relative",bottom:"2px"},"...")})),b__default.default.createElement(react.PopoverContent,{bg:"background.200",w:"auto",border:"1px solid",borderColor:s,boxShadow:"none"},b__default.default.createElement(react.PopoverBody,{w:"auto",maxW:"166px",p:.5},b__default.default.createElement(react.Flex,{align:"center",justify:"center",flexFlow:"row wrap"},e.map(({index:l,isActive:a})=>b__default.default.createElement(react.Box,{key:`ind-${l}`,m:.5},b__default.default.createElement(Ii,{mobileLayout:t,index:l,isActive:a,onClick:()=>{n(l),i();},borderColor:s,isLoading:r})))))))):b__default.default.createElement(b__default.default.Fragment,null,e.map(({index:i,isActive:l})=>b__default.default.createElement(Ii,{mobileLayout:t,key:i,index:i,isActive:l,onClick:()=>n(i),borderColor:s,isLoading:r})))},Rc=()=>{let{pageIndex:e,numPages:o}=react$1.usePaginatedList(),{mobileLayout:t}=react$1.useDataList(),r=b.useMemo(()=>{let n=o??0;if(n<=9)return [{indicators:Array.from({length:n},(i,l)=>({index:l,isActive:l===e})),collapsed:false}];let s=Array.from({length:5},(i,l)=>({indicators:[],collapsed:l%2===1}));for(let i=0;i<n;i+=1){let l=Jc(i,e,n);s[l]||(s[l]={indicators:[],collapsed:l!==2}),s[l].indicators.push({index:i,isActive:i===e});}return s.filter(i=>i.indicators.length).map(i=>({...i,collapsed:i.collapsed&&i.indicators.length>1}))},[o,e]);return b__default.default.createElement(react.Flex,{gap:1,align:"center"},r.map((n,s)=>b__default.default.createElement(Zc,{mobileLayout:t,key:`group-${s}`,group:n})))},Ht=120,ki=({onResize:e,flexProps:o,noFooter:t})=>{let r=react.useColorModeValue("#cdcdcd","#2d3748"),{list:n,mobileLayout:s,infiniteScroll:i,search:{search:l,debounced:a}}=react$1.useDataList(),{data:{data:p,isLoading:u},totalCount:m,pageIndex:d,limit:c,numFetched:f,goNext:g,goPrev:h,hasMoreData:y}=react$1.usePaginatedList(),{itemName:x,pluralItemName:F,searchRequired:S}=n,{itemsText:C,pageText:T}=b.useMemo(()=>u&&!i?{itemsText:s?"Loading...":"",pageText:""}:m===null?{itemsText:"Loading...",pageText:""}:m===0&&!u&&l===a?{itemsText:!l&&S?`Search ${F??core.toPlural(x)}`:`No ${F??core.toPlural(x)} found`,pageText:""}:{itemsText:`${i?1:(d||0)*c+1} - ${i?f:d*c+p.length} of ${m}`,pageText:`Page ${d+1} of ${c?Math.ceil((m??0)/c):0}`},[m,u,x,F,c,d,l,S,s,a,p,i,f]),E=b.useMemo(()=>!i&&h,[i,h]),z=b.useMemo(()=>!i&&g,[i,g]),O=react.useColorModeValue("#efefef","#212121"),L=b.useRef(null),N=b.useCallback(D=>{let U=D.borderBoxSize[0].blockSize,ce=D.borderBoxSize[0].inlineSize;e({height:U,width:ce});},[e]);return nr__default.default(L,N),b__default.default.createElement(react.Flex,{ref:L,py:t?0:2,px:t?0:3,borderTop:`1px solid ${r}`,position:"relative",flexFlow:s?"column":"row",gap:s?1:0,w:"100%",...o},t||s&&i?null:b__default.default.createElement(react.Flex,{align:"center",justify:s?"center":"space-between",position:"relative",w:"100%"},E&&!s?b__default.default.createElement(Pi,{goPrev:h,canGoPrev:!u&&!!d}):null,b__default.default.createElement(react.Flex,{gap:1,align:"center"},i?null:b__default.default.createElement(b__default.default.Fragment,null,s?null:b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",whiteSpace:"nowrap",textAlign:"center",w:`${Ht}px`,fontSize:"sm"},T),b__default.default.createElement(Rc,null)),s?null:b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:s||i?"auto":`${Ht}px`,whiteSpace:"nowrap",fontSize:"sm"},C)),z&&!s?b__default.default.createElement(Si,{goNext:g,canGoNext:!u&&y}):null),s&&!t?b__default.default.createElement(react.Flex,{gap:2,w:"100%",justify:"space-between",align:"center"},E?b__default.default.createElement(Pi,{mobileLayout:true,goPrev:h,canGoPrev:!!d}):null,b__default.default.createElement(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:s||i?"auto":`${Ht}px`,whiteSpace:"nowrap",fontSize:"sm"},C),z?b__default.default.createElement(Si,{mobileLayout:true,goNext:g,canGoNext:y}):null):null,b__default.default.createElement(qc,{progressBg:O,borderColor:r}))};var Bi=({filter:e,filters:o,GroupRender:t,toggleFilter:r})=>{let{label:n,Render:s}=e,i=b.useMemo(()=>o.some(m=>Kn(m,e)),[o,e]),{colorMode:l}=react.useColorMode(),a=W(),p=react.useColorModeValue("gray.700","gray.100"),u=s??t;return b__default.default.createElement(react.Box,{p:.5},b__default.default.createElement(react.Button,{onClick:()=>r(e),variant:"unstyled",color:i&&!u?"white":p,bg:i&&!u?"accent.400":"transparent",px:u?0:2,py:u?0:1,transition:"all 300ms",border:"none",boxShadow:`0px 0px 1px 1px ${i?"transparent":"#00000033"}`,w:"auto",_dark:{boxShadow:`0px 0px 1px 1px ${i?"transparent":"#ffffff66"}`},h:"auto",minW:"0",minH:"0",alignItems:"center",justifyContent:"center",borderColor:i?"transparent":a,size:"none"},u?b__default.default.createElement(u,{active:i,colorMode:l,preset:e}):b__default.default.createElement(react.Text,{textShadow:i?"0 0 3px rgba(0,0,0,0.8)":"none",fontSize:"xs"},n)))},xf=({group:e,filters:o,toggleFilter:t})=>{let{label:r,filters:n}=e;return b__default.default.createElement(react.Flex,{px:1,flexFlow:"column",w:"100%"},b__default.default.createElement(react.Text,{px:1,opacity:.8,fontSize:"sm",fontWeight:600},r),b__default.default.createElement(react.Flex,{w:"100%",flexFlow:"row wrap"},n.map(s=>b__default.default.createElement(Bi,{toggleFilter:t,GroupRender:e.RenderFilter,filters:o,key:s.label,filter:s}))))},Nt=()=>{let{query:e,list:o,toggleFilter:t}=react$1.useDataList(),r=react$1.useScreen(l=>l.isMobile),{filters:n=[]}=e||{},{filterPresets:s}=o,i=W();return s?.length?b__default.default.createElement(react.HStack,{spacing:1},b__default.default.createElement(react.Popover,{placement:"right-start",trigger:r?"click":"hover",strategy:"fixed"},b__default.default.createElement(react.PopoverTrigger,null,b__default.default.createElement(react.IconButton,{size:"sm",variant:"ghost","aria-label":"Filters",icon:b__default.default.createElement(react.Image,{width:"24px",filter:`grayscale(${n.length?0:100}%)`,src:"/icons/tune.svg"})})),b__default.default.createElement(react.Portal,null,b__default.default.createElement(react.PopoverContent,{borderRadius:6,w:"auto"},b__default.default.createElement(react.PopoverBody,{w:"240px",p:0},b__default.default.createElement(react.Flex,{flexFlow:"column",w:"100%"},b__default.default.createElement(react.HStack,{py:1.5,px:2,w:"100%",spacing:1,borderBottom:`1px solid ${i}`},b__default.default.createElement(react.Image,{width:"18px",filter:"grayscale(100%)",src:"/icons/tune.svg"}),b__default.default.createElement(react.Text,{opacity:.8,fontSize:"sm",fontWeight:600},"FILTERS")),b__default.default.createElement(react.Flex,{justify:"center",w:"100%",flexFlow:"row wrap",py:1,px:2},s.map(l=>core.isFilterGroup(l)?b__default.default.createElement(xf,{toggleFilter:t,filters:n,key:l.label,group:l}):b__default.default.createElement(Bi,{toggleFilter:t,filters:n,key:l.label,filter:l}))))),b__default.default.createElement(react.PopoverArrow,null),b__default.default.createElement(react.PopoverCloseButton,null))))):null};var Sf=({preset:e})=>{let{setSort:o,query:t}=react$1.useDataList(),{sort:r}=t,{label:n,key:s,Render:i}=e,l=b.useMemo(()=>r?.key===s?r.direction:null,[r,s]),{colorMode:a}=react.useColorMode(),p=b.useMemo(()=>l?"white":a==="light"?"gray.500":"gray.400",[l,a]),u=b.useMemo(()=>r?.direction==="asc"?b__default.default.createElement(icons.ArrowUpIcon,{w:4,h:4}):b__default.default.createElement(icons.ArrowDownIcon,{w:4,h:4}),[r]);return b__default.default.createElement(react.Button,{size:"xs",variant:"outline",bg:l?"accent.400":"transparent",transition:"all 300ms",textShadow:l?"0 0 2px rgba(0,0,0,0.7)":"none",boxShadow:`0px 0px 1px 1px ${l?"transparent":"#00000033"}`,border:"none",_dark:{boxShadow:`0px 0px 1px 1px ${l?"transparent":"#ffffff66"}`,color:p,textShadow:l?"0 0 2px rgba(0,0,0,0.7)":"none"},"aria-label":n,opacity:l?1:.8,height:6,pl:l?3:2,pr:2,_hover:{opacity:1},gap:0,color:p,onClick:()=>o({direction:l&&r?.direction==="asc"?"desc":"asc",key:s})},i?b__default.default.createElement(i,{active:l,colorMode:a,preset:e}):b__default.default.createElement(react.Text,{fontWeight:600,fontSize:"sm",color:p},n),b__default.default.createElement(Jt,{active:!!l,h:"16px",width:20},u))},jt=()=>{let{list:{sortPresets:e}}=react$1.useDataList();return e?b__default.default.createElement(react.HStack,{spacing:2},e.map(o=>b__default.default.createElement(Sf,{key:o.label,preset:o}))):null};var zi=()=>{let{list:e,search:{search:o,update:t}}=react$1.useDataList(),{searchIcon:r,itemName:n,pluralItemName:s}=e,i=react.useColorModeValue("invert(0)","invert(1)");return b__default.default.createElement(react.Flex,{p:1,flex:1,minW:"0"},b__default.default.createElement(react.InputGroup,null,b__default.default.createElement(react.InputLeftElement,{pointerEvents:"none"},r?b__default.default.createElement(react.Image,{filter:i,src:r,w:"24px"}):b__default.default.createElement(icons.SearchIcon,{w:"24px",opacity:.5})),b__default.default.createElement(react.Input,{bg:"whiteAlpha.700",pl:9,borderRadius:6,_focus:{boxShadow:"none",outline:"none"},border:"none",_dark:{bg:"blackAlpha.400",color:"#cdcdcd",_placeholder:{color:"#ababab"},border:"none"},value:o,placeholder:`Search for ${s??core.toPlural(n)}`,onChange:l=>t(l.target.value)})))},Vi=({refetch:e})=>{let{list:o,setNewItemOpen:t}=react$1.useDataList(),r=react$1.useAuth(),{itemName:n,field:s,access:i}=o,l=b.useMemo(()=>core.getHasAccess(r,i?.create,null),[i,r]);return b__default.default.createElement(react.Flex,{gap:2,ml:"auto",align:"center"},e?b__default.default.createElement(react.Tooltip,{placement:"left",hasArrow:true,label:"Refresh","aria-label":"Refresh"},b__default.default.createElement(react.IconButton,{size:"xs",icon:b__default.default.createElement(icons.RepeatIcon,null),"aria-label":"Refresh",onClick:e})):null,s&&l?b__default.default.createElement(react.Tooltip,{placement:"left",hasArrow:true,label:`Create new ${n}`,"aria-label":`Create new ${n}`},b__default.default.createElement(react.IconButton,{size:"xs",icon:b__default.default.createElement(icons.AddIcon,null),"aria-label":`Create new ${n}`,onClick:()=>t(true)})):null)},Hf=[{id:"grid",label:"Grid View",Render:e=>b__default.default.createElement(react.Image,{w:5,opacity:e?1:.7,src:"/icons/grid_view.svg"})},{id:"list",label:"List View",Render:e=>b__default.default.createElement(react.Image,{w:6,opacity:e?1:.7,src:"/icons/list.svg"})}],Hi=()=>{let{toggleGridLayout:e,gridLayout:o}=react$1.useDataList();return e?b__default.default.createElement(Ar,{onChange:e,options:Hf,value:o?"grid":"list"}):null},$i=({onResize:e,refetch:o,boxProps:t})=>{let{list:r,mobileLayout:n,toggleGridLayout:s}=react$1.useDataList(),{searchPath:i,sortPresets:l,filterPresets:a,Header:p}=r,u=W(),m=b.useRef(null),d=b.useCallback(f=>{e({height:f.contentRect.height,width:f.contentRect.width});},[e]),c=b.useMemo(()=>!!Object.keys(i??{}).length,[i]);return nr__default.default(m,d),b__default.default.createElement(react.Box,{ref:m,bg:"background.200",borderBottom:`1px solid ${u}`,w:"100%",...t},b__default.default.createElement(react.Flex,{px:2,align:"center",w:"100%"},l?.length||a?.length||c?b__default.default.createElement(react.Flex,{w:"100%",flexFlow:n?"column":"row"},n&&!p?null:b__default.default.createElement(react.Flex,{flex:1,px:2,py:n?0:1,gap:1,align:"center"},n?null:b__default.default.createElement(react.Flex,{flex:1,minW:"0",align:"center",gap:2},s?b__default.default.createElement(Hi,null):null,b__default.default.createElement(Nt,null),b__default.default.createElement(jt,null),c?b__default.default.createElement(zi,null):null),b__default.default.createElement(react.Flex,{align:"center",minW:"0",gap:3,ml:"auto"},p?b__default.default.createElement(react.Box,{minW:"0",flex:1},b__default.default.createElement(p,null)):null,n?null:b__default.default.createElement(Vi,{refetch:o}))),c&&n?b__default.default.createElement(zi,null):null,n&&(l?.length||a?.length)?b__default.default.createElement(react.Flex,{pl:1,py:1,gap:1.5,align:"center",w:"100%"},s?b__default.default.createElement(Hi,null):null,b__default.default.createElement(Nt,null),b__default.default.createElement(jt,null),b__default.default.createElement(Vi,{refetch:o})):null):null))};var Ni=()=>{let{selectedItemId:e,deselectItem:o,list:t}=react$1.useDataList(),{ItemView:r,itemName:n}=t||{},[s,i]=b.useState({x:0,y:0}),{data:{data:l}}=react$1.usePaginatedList(),a=b.useMemo(()=>l.find(c=>c._id===e)??null,[l,e]),{colorMode:p}=react.useColorMode(),u=react.useColorModeValue("red.600","red.300"),[m,d]=b.useState(null);return b.useEffect(()=>{a&&d(a);},[a]),b__default.default.createElement(wi,{contentProps:{p:0,transition:"all 300ms",transform:`translate(${s.x}px, ${s.y}px)`},scrollBehavior:"inside",onClose:o,isOpen:!!r&&!!e},r&&m?b__default.default.createElement(r,{item:m,colorMode:p,clearContentOffset:()=>i({x:0,y:0}),updateContentOffset:(c,f)=>i({x:c,y:f})}):b__default.default.createElement(react.Text,{color:u,p:4},"Error displaying ",n))};var Ui=({modals:e,noFooter:o,headerProps:t,footerProps:r})=>{let{data:{isLoading:n,data:s}}=react$1.usePaginatedList(),{list:i}=react$1.useDataList(),{height:l}=react$1.useFullSize(),[a,p]=b.useState(0),[u,m]=b.useState(0),d=b.useMemo(()=>l-a-u,[l,a,u]),c=b.useCallback(y=>{p(y.height);},[]),f=b.useCallback(y=>{m(y.height);},[]),{ItemView:g,field:h}=i;return b__default.default.createElement(b__default.default.Fragment,null,b__default.default.createElement($i,{boxProps:t,onResize:c}),b__default.default.createElement(react.Box,{h:`${d}px`,position:"relative",w:"100%"},b__default.default.createElement(ci,{height:d}),o?b__default.default.createElement(Be,{isLoading:!s.length&&n}):null),b__default.default.createElement(ki,{noFooter:o,flexProps:r,onResize:f}),e??null,g?b__default.default.createElement(Ni,null):null,h?b__default.default.createElement(Ci,{field:h}):null)};var L1=({list:e,flexProps:o,infiniteScroll:t,...r})=>{let{adapter:{db:n}}=react$1.useBackendBase(),{baseQuery:s}=e,i=react$1.useDataListData(e,t),l=react$1.usePaginatedQuery(n,s,!!t);return b__default.default.createElement(react$1.PaginatedListProvider,{state:i,data:l},b__default.default.createElement(Xn,{...o},b__default.default.createElement(Ui,{...r})))};var O1=({value:e,duration:o=30})=>{let t=b.useRef(null),r=b.useRef(e),n=b.useRef(null);return b.useEffect(()=>(n.current=setInterval(()=>{if(t.current){if(r.current===e&&n.current)return clearInterval(n.current);r.current<e?(r.current+=1,t.current.innerText=r.current.toString()):r.current>e&&(r.current-=1,t.current.innerText=r.current.toString());}return ()=>{}},o),()=>{n.current&&clearInterval(n.current);}),[e,o]),b__default.default.createElement("span",{ref:t},e)};var a0=()=>{let{colorMode:e,toggleColorMode:o}=react.useColorMode(),t=react.useColorModeValue("gray.200","whiteAlpha.200"),r=react.useColorModeValue("blackAlpha.700","whiteAlpha.800"),n=react.useColorModeValue("gray.300","whiteAlpha.300"),s=react.useColorModeValue("gray.800","whiteAlpha.800");return b__default.default.createElement(react.IconButton,{"aria-label":"Toggle dark mode",bg:t,color:r,borderRadius:"full",_hover:{bg:n,color:s},w:8,h:8,minW:0,icon:e==="light"?b__default.default.createElement(icons.SunIcon,{w:4,h:4}):b__default.default.createElement(icons.MoonIcon,{w:4,h:4,filter:"drop-shadow(1px 1px 2px #000000aa)"}),onClick:o,variant:"ghost"})},_1=e=>b__default.default.createElement(react.Flex,{position:"absolute",bottom:3,right:3,...e},b__default.default.createElement(a0,null));var {definePartsStyle:c0,defineMultiStyleConfig:f0}=react.createMultiStyleConfigHelpers(anatomy.switchAnatomy.keys),g0=c0({track:{_focusVisible:{boxShadow:"none"}}}),h0=f0({baseStyle:g0}),Yo=themeTools.cssVar("popper-arrow-bg"),Yi="Encode Sans",Xi="Noto Sans",U1=react.extendTheme({semanticTokens:{colors:{background:{50:{default:"white",_dark:core.palette.gray.darker},100:{default:"gray.100",_dark:core.palette.gray.dark},200:{default:"#efefef",_dark:core.palette.gray.medium}},accent:{50:{default:"blue.50",_dark:"blue.900"},100:{default:"blue.100",_dark:"blue.800"},200:{default:"blue.200",_dark:"blue.700"},300:{default:"blue.300",_dark:"blue.600"},400:{default:"blue.400",_dark:"blue.500"},500:{default:"blue.500",_dark:"blue.400"},600:{default:"blue.600",_dark:"blue.300"},700:{default:"blue.700",_dark:"blue.200"},800:{default:"blue.800",_dark:"blue.100"},900:{default:"blue.900",_dark:"blue.50"}},error:{default:"red.500",_dark:"red.300"}},fonts:{body:Xi,heading:Yi}},components:{Badge:{baseStyle:{bg:"#9a9a9a",textShadow:"none",color:"white",boxShadow:"1px 1px 3px #00000077",_dark:{bg:"#555555",textShadow:"1px 1px 2px #00000077",color:"#efefef"}}},Tooltip:{baseStyle:{bg:"#ababab",textShadow:"0 0 3px rgba(0,0,0,0.5)",color:"white",[Yo.variable]:"#ababab",_dark:{bg:"#777777",textShadow:"none",color:"#efefef",[Yo.variable]:"#777777"}}},Button:{baseStyle:{fontFamily:Yi,fontWeight:500,_focus:{boxShadow:"none"}},variants:{link:{color:"#444",_dark:{color:"rgba(230,230,255,0.9)"}},ghost:{_hover:{bg:"blackAlpha.500"}},solid:{textShadow:"1px 1px 3px #00000077",bg:"blackAlpha.400",color:"whiteAlpha.800",_hover:{bg:"blackAlpha.500"},_dark:{bg:"whiteAlpha.300",color:"whiteAlpha.800",_hover:{bg:"whiteAlpha.400"}}},outline:{border:"1px solid",borderColor:"#ababab",color:"#656565",_hover:{bg:"blackAlpha.100"},_dark:{border:"1px solid #999",color:"#999",_hover:{bg:"whiteAlpha.300"}}}}},Tabs:{baseStyle:{tab:{_focus:{boxShadow:"none"}}}},Text:{baseStyle:{fontFamily:Xi}},Popover:{baseStyle:{root:{_focus:{boxShadow:"none"}},content:{bg:"background.100",border:"none",boxShadow:"0 0 4px rgba(0,0,0,0.5)",[Yo.variable]:"background.100",_dark:{bg:"background.100",[Yo.variable]:"background.100"}}}},Checkbox:{baseStyle:{control:{_focus:{boxShadow:"none"},border:"2px solid #ababab",borderColor:"#ababab",_checked:{bg:"#666666",color:"#efefef",border:"none"},_hover:{bg:"#555",border:"none"},_dark:{_checked:{bg:"#efefef",color:"#444444",border:"none"},_hover:{bg:"#555",border:"none"}}},label:{color:"#888",_dark:{color:"#999999"},_checked:{color:"#444444",_dark:{color:"#cdcdcd"}}}},variants:{noBox:{control:{bg:"transparent",_hover:{bg:"none"}}}}},Modal:{baseStyle:{dialog:{bg:"background.100",boxShadow:"0 0 6px rgba(0,0,0,0.5)",_dark:{bg:"background.100"}}}},Input:{baseStyle:{field:{_focus:{boxShadow:"none",outline:"none",border:"1px solid #bcbcbc"}}},variants:{text:{field:{borderRadius:6,border:"1px solid #dedede",_focus:{boxShadow:"none",borderColor:"#bcbcbc"},_active:{boxShadow:"none"},_placeholder:{color:"#777"},_dark:{border:"1px solid #777",_focus:{borderColor:"#999",boxShadow:"none"},_placeholder:{color:"#777"}}}}},defaultProps:{variant:"text"}},Switch:h0,Menu:{baseStyle:{list:{bg:"background.100",border:"none",boxShadow:"0 0 6px rgba(0,0,0,0.5)",_dark:{bg:"background.100"}},item:{_hover:{bg:"rgba(0,0,0,0.3)"},_focus:{bg:"rgba(0,0,0,0.2)"}}}},Progress:{baseStyle:{track:{bg:"blackAlpha.300",borderRadius:"full",_dark:{bg:"whiteAlpha.300"}},filledTrack:{bg:"blackAlpha.400",_dark:{bg:"whiteAlpha.500"}}}}}});var Q1=()=>{if(typeof window<"u"){let e=()=>{let o=window.innerWidth,t=window.innerHeight;react$1.useScreen.setState({width:o,height:t,isMobile:o<769,isPortrait:o<t}),window.addEventListener("resize",e);};return e(),()=>{window.removeEventListener("resize",e);}}return ()=>{}};exports.AbsoluteDarkModeToggle=_1;exports.AbsoluteLogin=C0;exports.CircularProgress=mo;exports.CollapseHorizontal=Jt;exports.ContentBox=Le;exports.DarkModeToggle=a0;exports.DataList=L1;exports.DataView=Cm;exports.DefaultModal=wi;exports.DeleteButton=Br;exports.DeleteConfirmAlert=Il;exports.DesktopModal=Vo;exports.Editable=Gn;exports.ErrorView=gr;exports.ExpandOnMount=Z;exports.Expandable=Ko;exports.FieldForm=vm;exports.FieldMapForm=Un;exports.FieldView=Re;exports.FileView=Io;exports.Form=Lt;exports.FormElement=Mt;exports.FullSizeContainer=lg;exports.FullSizeProvider=lr;exports.ImageViewOverlay=Hr;exports.ListContainer=Xn;exports.ListContent=Ui;exports.ListFieldInput=ym;exports.Loading=Fe;exports.LoadingImage=Gr;exports.LoadingLogo=ve;exports.LoadingOverlay=Be;exports.LoadingSwitch=ex;exports.LottieLoadingLogo=wr;exports.MediaFeed=Gx;exports.MobileFrame=bh;exports.MobileModal=yi;exports.MobileOverlay=gi;exports.MobileOverlayBackground=Pc;exports.NAV_BAR_HEIGHT=Zo;exports.NavBar=fr;exports.NumberTicker=O1;exports.PlayButton=gn;exports.RedirectView=Fr;exports.SignIn=Ri;exports.StandaloneInput=Wn;exports.Toggle=Ar;exports.ViewButton=Zt;exports.ViewsContext=ar;exports.ViewsProvider=dr;exports.baseTheme=U1;exports.bodyFont=Xi;exports.headingFont=Yi;exports.initializeScreen=Q1;exports.switchTheme=h0;exports.useBorderColor=W;exports.useMediaFeed=zl;exports.useViews=po;//# sourceMappingURL=index.cjs.map
|
|
7
7
|
//# sourceMappingURL=index.cjs.map
|