@chem-po/react-web 0.0.5 → 0.0.6
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.js +2 -2
- package/package.json +22 -20
- package/src/components/auth/SignIn.tsx +43 -0
- package/src/components/auth/index.ts +1 -0
- package/src/components/box/CollapseHorizontal.tsx +18 -0
- package/src/components/box/ContentBox.tsx +17 -0
- package/src/components/box/ExpandOnMount.tsx +48 -0
- package/src/components/box/Expandable.tsx +96 -0
- package/src/components/box/FullSizeContainer.tsx +50 -0
- package/src/components/box/MobileFrame/index.tsx +145 -0
- package/src/components/box/MobileFrame/styles.css +35 -0
- package/src/components/box/index.ts +6 -0
- package/src/components/button/DeleteButton.tsx +178 -0
- package/src/components/button/Toggle.tsx +88 -0
- package/src/components/button/ViewButton.tsx +30 -0
- package/src/components/button/index.ts +3 -0
- package/src/components/feed/FeedContentPane.tsx +111 -0
- package/src/components/feed/MediaFeed.tsx +200 -0
- package/src/components/feed/MediaFeedBackground.tsx +127 -0
- package/src/components/feed/MediaFeedRefresh.tsx +78 -0
- package/src/components/feed/MediaFeedSwipeUp.tsx +34 -0
- package/src/components/feed/constants.ts +11 -0
- package/src/components/feed/context.tsx +19 -0
- package/src/components/feed/hooks.ts +290 -0
- package/src/components/feed/index.ts +2 -0
- package/src/components/feed/types.ts +50 -0
- package/src/components/form/Condition.tsx +26 -0
- package/src/components/form/Field.tsx +39 -0
- package/src/components/form/Form.tsx +425 -0
- package/src/components/form/FormFooter.tsx +82 -0
- package/src/components/form/UploadProgress/index.tsx +38 -0
- package/src/components/form/UploadProgress/styles.css +23 -0
- package/src/components/form/index.ts +4 -0
- package/src/components/form/input/Editable.tsx +129 -0
- package/src/components/form/input/InputSlider.tsx +75 -0
- package/src/components/form/input/OptionalTag.tsx +33 -0
- package/src/components/form/input/StandaloneInput.tsx +41 -0
- package/src/components/form/input/boolean/index.tsx +53 -0
- package/src/components/form/input/color/index.tsx +126 -0
- package/src/components/form/input/date/index.tsx +122 -0
- package/src/components/form/input/datetime/index.tsx +93 -0
- package/src/components/form/input/file.tsx +379 -0
- package/src/components/form/input/hooks/index.ts +2 -0
- package/src/components/form/input/hooks/useInputImperativeHandle.ts +16 -0
- package/src/components/form/input/hooks/useInputStyle.ts +39 -0
- package/src/components/form/input/index.ts +2 -0
- package/src/components/form/input/input.css +44 -0
- package/src/components/form/input/input.tsx +130 -0
- package/src/components/form/input/multipleSelect/index.tsx +55 -0
- package/src/components/form/input/number/index.tsx +83 -0
- package/src/components/form/input/number/styles.css +8 -0
- package/src/components/form/input/select/index.tsx +80 -0
- package/src/components/form/input/socialMedia/index.tsx +158 -0
- package/src/components/form/input/text/index.tsx +72 -0
- package/src/components/form/input/text/textarea.tsx +44 -0
- package/src/components/form/input/time/index.tsx +33 -0
- package/src/components/form/input/type.ts +0 -0
- package/src/components/form/input/types.ts +4 -0
- package/src/components/form/view/file.tsx +45 -0
- package/src/components/form/view/index.tsx +61 -0
- package/src/components/form/view/multipleSelect.tsx +38 -0
- package/src/components/form/view/select.tsx +33 -0
- package/src/components/index.ts +14 -0
- package/src/components/list/Body/InfiniteScrollGridBody.tsx +177 -0
- package/src/components/list/Body/InfiniteScrollListBody.tsx +114 -0
- package/src/components/list/Body/ListBody.tsx +23 -0
- package/src/components/list/Body/PagedGridBody.tsx +104 -0
- package/src/components/list/Body/PagedListBody.tsx +92 -0
- package/src/components/list/Body/hooks.ts +84 -0
- package/src/components/list/DataList.tsx +32 -0
- package/src/components/list/ListContainer.tsx +20 -0
- package/src/components/list/ListContent.tsx +54 -0
- package/src/components/list/ListCreate.tsx +57 -0
- package/src/components/list/ListFilters.tsx +182 -0
- package/src/components/list/ListFooter.tsx +458 -0
- package/src/components/list/ListHeader.tsx +180 -0
- package/src/components/list/ListItem/ListCell.tsx +48 -0
- package/src/components/list/ListItem/ListRow.tsx +38 -0
- package/src/components/list/ListItemView.tsx +53 -0
- package/src/components/list/ListSort.tsx +84 -0
- package/src/components/list/NoItems.tsx +33 -0
- package/src/components/list/constants.ts +1 -0
- package/src/components/list/index.ts +4 -0
- package/src/components/list/types.ts +29 -0
- package/src/components/list/utils.ts +62 -0
- package/src/components/loading/CircularProgress.tsx +11 -0
- package/src/components/loading/Loading.tsx +160 -0
- package/src/components/loading/LoadingImage.tsx +123 -0
- package/src/components/loading/LoadingSwitch.tsx +78 -0
- package/src/components/loading/index.ts +4 -0
- package/src/components/media/PlayButton.tsx +94 -0
- package/src/components/media/index.ts +1 -0
- package/src/components/modal/DefaultModal.tsx +18 -0
- package/src/components/modal/DesktopModal.tsx +11 -0
- package/src/components/modal/ForceMobile.tsx +7 -0
- package/src/components/modal/MobileModal.tsx +89 -0
- package/src/components/modal/index.ts +3 -0
- package/src/components/modal/type.ts +7 -0
- package/src/components/nav/NavBar.tsx +101 -0
- package/src/components/nav/index.ts +1 -0
- package/src/components/overlay/ImageViewOverlay.tsx +88 -0
- package/src/components/overlay/MobileOverlay.tsx +22 -0
- package/src/components/overlay/index.ts +2 -0
- package/src/components/text/GradientText/index.tsx +16 -0
- package/src/components/text/GradientText/styles.css +5 -0
- package/src/components/text/NumberTicker.tsx +28 -0
- package/src/components/text/index.ts +1 -0
- package/src/components/theme/colorMode/DarkModeToggle.tsx +40 -0
- package/src/components/theme/colorMode/index.ts +1 -0
- package/src/components/theme/index.ts +1 -0
- package/src/components/view/ErrorView.tsx +13 -0
- package/src/components/view/RedirectView.tsx +42 -0
- package/src/components/view/index.ts +2 -0
- package/src/contexts/index.ts +1 -0
- package/src/contexts/theme.ts +316 -0
- package/src/custom.d.ts +4 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/ui/index.ts +1 -0
- package/src/hooks/ui/useBorderColor.ts +4 -0
- package/src/store/index.ts +1 -0
- package/src/store/usePlayer.ts +75 -0
- package/src/store/useScreen.ts +22 -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'),jsxRuntime=require('react/jsx-runtime'),Wa=require('react'),icons=require('@chakra-ui/icons'),mr=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'),Dp=require('react-currency-input-field'),vd=require('react-textarea-autosize'),reactWindow=require('react-window'),fi=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 Wa__default=/*#__PURE__*/_interopDefault(Wa);var mr__default=/*#__PURE__*/_interopDefault(mr);var Dp__default=/*#__PURE__*/_interopDefault(Dp);var vd__default=/*#__PURE__*/_interopDefault(vd);var fi__default=/*#__PURE__*/_interopDefault(fi);var ga=({layout:e="row"})=>{let{adapter:{auth:t}}=react$1.useBackendBase(),o=react$1.useAuth(r=>r.user);return jsxRuntime.jsx(react.Flex,{gap:[1,1,2],align:"center",flexFlow:["column","column","row"],children:o?jsxRuntime.jsx(react.Button,{size:"sm",onClick:()=>{t.logout();},children:"SIGN OUT"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.Text,{whiteSpace:"nowrap",textAlign:"center",opacity:.8,fontWeight:600,fontSize:"sm",children:"SIGN IN"}),jsxRuntime.jsx(react.Flex,{flexFlow:e,gap:2,w:"100%"})]})})},sg=e=>jsxRuntime.jsx(react.Portal,{children:jsxRuntime.jsx(react.Flex,{position:"fixed",bottom:4,left:4,children:jsxRuntime.jsx(ga,{...e})})});var ir=({width:e,children:t,active:o,duration:r=400,...n})=>jsxRuntime.jsx(react.Center,{width:`${o?e:0}px`,opacity:o?1:0,transition:`all ${r}ms ease-in-out`,overflow:"hidden",...n,children:t});var Ca=(e,t)=>jsxRuntime.jsx(react.Flex,{ref:t,bg:"background.100",p:3,borderRadius:6,boxShadow:"1px 1px 4px #00000066",...e}),Se=Wa.forwardRef(Ca);var H=()=>react.useColorModeValue("#00000033","#ffffff33");var ar=({viewText:e="View",hideText:t="Hide",onClick:o,isOpen:r,color:n})=>jsxRuntime.jsx(react.IconButton,{icon:r?jsxRuntime.jsx(icons.ChevronUpIcon,{width:5,height:5}):jsxRuntime.jsx(icons.ChevronDownIcon,{width:5,height:5}),"aria-label":r?t:e,variant:"ghost",p:"2px",ml:"auto",size:"xs",fontSize:"xs",borderRadius:"full",_hover:{bg:"blackAlpha.200"},color:n??"#777",onClick:a=>{a.stopPropagation(),o(a);}});var Yt=({header:e,children:t,initExpanded:o=false,nested:r,alwaysExpanded:n,headerProps:a,iconColor:i,footer:l,isOpen:s,onClose:p,onOpen:d,...u})=>{let{isOpen:c,onClose:m,onOpen:f}=react.useDisclosure({defaultIsOpen:n??o,isOpen:s,onClose:p,onOpen:d}),g=Wa.useCallback(b=>{if(b.stopPropagation(),!n){if(c){m();return}f();}},[n,f,m,c]),h=H();return jsxRuntime.jsxs(react.VStack,{spacing:0,borderColor:h,w:"100%",...u,children:[jsxRuntime.jsxs(react.HStack,{borderBottom:c?`1px solid ${h}`:void 0,px:2,spacing:0,w:"100%",...a,children:[jsxRuntime.jsx(react.Flex,{onClick:g,cursor:"pointer","aria-label":"expand/hide",align:"center",flex:1,children:typeof e=="string"?jsxRuntime.jsx(react.Text,{fontWeight:600,color:"gray.500",flex:1,children:e}):e({isOpen:c,onClose:m})}),n?null:jsxRuntime.jsx(ar,{color:i,onClick:g,isOpen:c})]}),jsxRuntime.jsx(react.Box,{w:"100%",borderLeft:r?"4px solid #00000033":void 0,children:jsxRuntime.jsx(react.Collapse,{unmountOnExit:true,style:{width:"100%"},in:c,children:t})}),l?l({isOpen:c,onClose:m}):null]})};var j=({animateOpacity:e,duration:t=300,children:o,in:r=true,onExited:n,...a})=>{let i=react$1.useMounted(),[l,s]=Wa.useState(0),p=Wa.useRef(null),[d,u]=Wa.useState(false),c=Wa.useMemo(()=>i&&r,[r,i]),m=Wa.useMemo(()=>c?l:0,[l,c]),f=Wa.useCallback(b=>{s(b.target.scrollHeight);},[]);mr__default.default(p,f);let g=Wa.useRef(null);Wa.useEffect(()=>{g.current&&(clearTimeout(g.current),g.current=null),u(true),g.current=setTimeout(()=>{u(false),n&&!c&&n();},t);},[c,t,n]);let h=Wa.useMemo(()=>!d&&c?"height 0ms":e?`height ${t}ms, opacity ${t}ms ease ${c?t:0}ms`:`height ${t}ms`,[e,t,c,d]);return jsxRuntime.jsx(react.Box,{overflow:"hidden",w:"100%",transition:h,height:`${m}px`,...a,children:jsxRuntime.jsx(react.Box,{ref:p,w:"100%",...a,children:o})})};var Zg=({children:e,...t})=>{let[o,r]=Wa.useState(0),[n,a]=Wa.useState(0),i=Wa.useRef(null),l=Wa.useCallback(s=>{r(s.target.scrollWidth),a(s.target.scrollHeight);},[]);return mr__default.default(i,l),jsxRuntime.jsx(react.Box,{ref:i,...t,width:"100%",height:"100%",children:e({width:o,height:n})})},hr=({children:e,...t})=>{let[o,r]=Wa.useState(0),[n,a]=Wa.useState(0),i=Wa.useRef(null),l=Wa.useCallback(p=>{r(p.target.scrollWidth),a(p.target.scrollHeight);},[]);mr__default.default(i,l);let s=Wa.useMemo(()=>({width:o,height:n}),[o,n]);return jsxRuntime.jsx(react.Box,{ref:i,...t,width:"100%",height:"100%",children:jsxRuntime.jsx(react$1.FullSizeContext.Provider,{value:s,children:e})})};var xr=Wa__default.default.createContext(false),br=({children:e})=>jsxRuntime.jsx(xr.Provider,{value:true,children:e}),yr=()=>Wa.useContext(xr);var Kt=50,qa=({view:e,absolute:t})=>{let{path:o,name:r,icon:n,iconScale:a}=e,i=Array.isArray(o)?o[0]:o,l=react.useColorModeValue(1,1.8),s=Wa.useMemo(()=>t?2.4:l,[t,l]),{pathname:p}=reactRouterDom.useLocation(),d=react.useColorModeValue("#ffffff33","#00000033"),u=jsxRuntime.jsx(react.Button,{pointerEvents:p===i?"none":"auto",opacity:p===i?1:.7,width:"100%",height:"100%",borderRadius:0,flexFlow:"column",_hover:{bg:d},variant:"unstyled",display:"flex",alignItems:"center",justifyContent:"center",children:jsxRuntime.jsx(react.Image,{height:`${34*(a??1)}px`,filter:`brightness(${s})${t?" drop-shadow(1px 1px 3px #00000099 )":""}`,src:n,alt:r})});return p===i?jsxRuntime.jsx(react.Flex,{flex:1,h:"100%",justify:"center",children:u},i):jsxRuntime.jsx(reactRouterDom.Link,{style:{flex:1,display:"flex",height:"100%",justifyContent:"center"},to:i,children:u},i)},wr=({selectedView:e,children:t})=>{let o=react.useColorModeValue("#dedede",core.palette.gray.dark),r=react.useColorModeValue("#00000022","#ffffff33"),n=react$1.useViews(),a=Wa.useMemo(()=>n.filter(p=>!!p.view.icon),[n]),i=Wa.useMemo(()=>!!e?.navBar?.absolute,[e]),l=Wa.useMemo(()=>e?.navBar?.backgroundColor??o,[o,e]),s=Wa.useMemo(()=>e?.navBar?.borderColor?!!e?.navBar?.borderColor:i?"#ffffff33":r,[r,e,i]);return jsxRuntime.jsx(react.Flex,{position:"absolute",bottom:0,left:0,bg:l,w:"100%",transition:"all 500ms",h:`${Kt}px`,borderTop:`1px solid ${s}`,children:jsxRuntime.jsxs(react.Flex,{position:"relative",w:"100%",justify:"space-around",align:"center",children:[a.map(({view:p})=>jsxRuntime.jsx(qa,{absolute:i,view:p},p.name)),t]})})};var vr=({message:e})=>{let t=react.useColorModeValue("gray.600","gray.100");return jsxRuntime.jsx(react.Flex,{pt:4,children:jsxRuntime.jsx(Se,{children:jsxRuntime.jsx(react.Text,{color:t,children:e??"Sorry, something went wrong."})})})};var pt=e=>{let t=react.useColorModeValue("gray.400","gray.400"),o=react.useColorModeValue("gray.300","gray.600");return jsxRuntime.jsx(react.CircularProgress,{isIndeterminate:true,trackColor:o,color:t,...e})};var Ir=({size:e=30,isLoading:t,speed:o=2,inFeed:r,asset:n})=>{let a=react.useColorModeValue(n.default,n.dark??n.default),i=Wa.useMemo(()=>r?n.dark??n.default:a,[a,n,r]),l=Wa.useMemo(()=>({animationData:i,loop:true}),[i]),s=Wa.useMemo(()=>({width:e,height:e,opacity:t?.85:0,transition:"opacity 300ms ease-in-out"}),[e,t]),{View:p,pause:d,play:u,setSpeed:c}=lottieReact.useLottie(l,s);return Wa.useEffect(()=>{c(o);},[c,o]),Wa.useEffect(()=>{t?u():d();},[t,u,d]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:p})},Tr=({size:e=30,isLoading:t,asset:o,inFeed:r})=>{let n=react.useColorModeValue(o.default,o.dark??o.default),a=Wa.useMemo(()=>r?o.dark??o.default:n,[n,o,r]),i=Wa.useMemo(()=>({width:e,height:e,opacity:t?.85:0,transition:"opacity 300ms ease-in-out"}),[e,t]);return jsxRuntime.jsx("img",{src:a,style:i,alt:"loading"})},ll=({isLoading:e,size:t})=>{let{loading:o}=react$1.useAppAssets();return o.lottieJson?jsxRuntime.jsx(Ir,{isLoading:e,size:t,asset:o.lottieJson}):o.svg?jsxRuntime.jsx(Tr,{isLoading:e,size:t,asset:o.svg}):null},fe=({isLoading:e,size:t,inFeed:o})=>{let{loading:r}=react$1.useAppAssets();return r.lottieJson?jsxRuntime.jsx(Ir,{inFeed:o,isLoading:e,size:t,asset:r.lottieJson}):r.svg?jsxRuntime.jsx(Tr,{inFeed:o,isLoading:e,size:t,asset:r.svg}):jsxRuntime.jsx(react.Text,{color:"red",children:"ERROR: No loading animation found"})},ge=({text:e="Loading...",inBox:t,stackProps:o})=>{let r=jsxRuntime.jsxs(react.HStack,{p:2,...o,children:[jsxRuntime.jsx(ll,{isLoading:true}),jsxRuntime.jsx(react.Text,{opacity:.8,fontSize:"sm",children:e})]});return t?jsxRuntime.jsx(Se,{children:r}):r},Ie=({isLoading:e,text:t,inFeed:o,...r})=>{let n=react.useColorModeValue("#ffffffaa","#00000088");return jsxRuntime.jsx(react.Center,{pos:"absolute",top:0,left:0,right:0,bottom:0,bg:n,pointerEvents:e?"auto":"none",opacity:e?1:0,...r,children:t?jsxRuntime.jsx(ge,{text:t}):jsxRuntime.jsx(fe,{inFeed:o,size:100,isLoading:e})})};var Lr=({loading:e})=>{let t=Wa.useRef(),o=react$1.useAuth(n=>n.loading),r=reactRouterDom.useNavigate();return Wa.useEffect(()=>(!e&&!o&&(t.current=setTimeout(()=>{r("/");},1500)),()=>{t.current&&clearTimeout(t.current);}),[e,r,o]),!e&&!o?jsxRuntime.jsx(react.Center,{minH:"100%",w:"100%",children:jsxRuntime.jsx(Se,{maxW:"500px",children:jsxRuntime.jsxs(react.HStack,{spacing:3,children:[jsxRuntime.jsx(pt,{size:6}),jsxRuntime.jsxs(react.VStack,{spacing:0,align:"flex-start",children:[jsxRuntime.jsx(react.Text,{children:"404"}),jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.7,children:"Page not found - redirecting to Home..."})]})]})})}):jsxRuntime.jsx(ge,{})};var Dr=390,Er=844,Ar=Dr/Er,Bl=({children:e,navBarChildren:t})=>{let{isMobile:o,height:r,width:n}=react$1.useScreen(),{contentHeight:a,contentWidth:i}=Wa.useMemo(()=>{let x=o?r:Er,C=o?n:Dr;if(o)return {contentHeight:x,contentWidth:C};let F=Math.floor(r*.9),w=Math.floor(n*.9);return x>F?(C=Math.floor(F*Ar),x=F):C>w&&(x=Math.floor(w/Ar),C=w),{contentHeight:x,contentWidth:C}},[o,r,n]),l=react.useColorModeValue(core.cssGradients.accentGray,core.cssGradients.darkGray),s=reactRouterDom.useLocation(),p=reactRouterDom.useOutlet(),d=react$1.useViews(),u=Wa.useMemo(()=>d.find(x=>!!reactRouterDom.matchRoutes(x.routes,s)),[d,s]),c=Wa.useMemo(()=>u?typeof u.view.path=="string"?u.view.path:u.view.path[0]:"404",[u]),m=Wa.useRef(null),f=Wa.useRef(null),g=Wa.useMemo(()=>!!u?.view?.navBar?.absolute,[u]),h=Wa.useMemo(()=>a-(g?0:Kt),[a,g]),b=Wa.useMemo(()=>({overlayRef:m,height:a,width:i,absoluteNavBar:g,bodyHeight:h}),[m,a,i,g,h]);return jsxRuntime.jsx(br,{children:jsxRuntime.jsx(react$1.MobileFrameProvider,{value:b,children:jsxRuntime.jsx(react.Center,{position:"relative",bg:l,w:"100%",height:"100%",children:jsxRuntime.jsxs(react.Flex,{bg:"background.100",position:"relative",style:{height:`${a}px`,width:`${i}px`},boxShadow:o?"none":"1px 1px 4px rgba(0,0,0,0.4)",borderRadius:o?0:10,overflow:"hidden",direction:"column",maxH:a,children:[jsxRuntime.jsx(framerMotion.AnimatePresence,{children:jsxRuntime.jsx(reactTransitionGroup.SwitchTransition,{children:jsxRuntime.jsx(reactTransitionGroup.CSSTransition,{nodeRef:f,unmountOnExit:true,classNames:"page",timeout:300,children:()=>jsxRuntime.jsxs(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},children:[jsxRuntime.jsx(reactErrorBoundary.ErrorBoundary,{FallbackComponent:()=>jsxRuntime.jsx(vr,{}),children:u?p:jsxRuntime.jsx(Lr,{})}),e?jsxRuntime.jsx(react.Box,{height:"100%",w:"100%",position:"absolute",top:0,left:0,pointerEvents:"none",children:e}):null]})},c)})}),jsxRuntime.jsx(wr,{selectedView:u?.view,children:t}),jsxRuntime.jsx(react.Flex,{pos:"absolute",pointerEvents:"none",bottom:0,w:"100%",h:"100%",children:jsxRuntime.jsx(react.Flex,{ref:m,w:"100%",h:"100%",pos:"relative"})})]})})})})},sx=({children:e,navBarChildren:t,views:o})=>jsxRuntime.jsx(react$1.ViewsProvider,{views:o,children:jsxRuntime.jsx(Bl,{navBarChildren:t,children:e})});var Gl="Are you sure? You can't undo this action afterwards.",Ul=({confirmActive:e,onCancel:t,onConfirm:o,body:r=Gl,actionName:n="Delete",actionLoading:a,itemName:i})=>{let l=Wa.useRef(null);return jsxRuntime.jsx(react.AlertDialog,{isCentered:true,isOpen:e,leastDestructiveRef:l,onClose:()=>t(),children:jsxRuntime.jsx(react.AlertDialogOverlay,{children:jsxRuntime.jsx(react.AlertDialogContent,{gap:0,children:jsxRuntime.jsx(react.AlertDialogBody,{children:jsxRuntime.jsxs(react.VStack,{align:"flex-start",py:1,children:[jsxRuntime.jsxs(react.Text,{fontSize:"lg",fontWeight:500,children:[n," ",i,"?"]}),typeof r=="string"?jsxRuntime.jsx(react.Text,{fontSize:"md",children:r}):r,jsxRuntime.jsxs(react.HStack,{justify:"flex-end",w:"100%",children:[jsxRuntime.jsx(react.Button,{size:"sm",ref:l,onClick:t,children:"Cancel"}),jsxRuntime.jsx(react.Button,{size:"sm",isLoading:a,color:"white",textShadow:"1px 1px 3px #00000077",bg:"red.500",_dark:{bg:"red.500"},onClick:o,children:n})]})]})})})})})},Vr=({onDelete:e,itemName:t,noConfirm:o,alertBody:r,text:n,actionName:a="Delete",...i})=>{let[l,s]=Wa.useState(false),[p,d]=Wa.useState(false),u=Wa.useRef(),c=Wa.useRef(true);Wa.useEffect(()=>(c.current=true,()=>{c.current=false;}),[]);let m=react.useToast(),f=Wa.useCallback(async()=>{if(u.current&&clearTimeout(u.current),d(false),e){s(true);try{await e();}catch(g){console.error(g),m({title:"Error",description:g.message??"An error occurred",status:"error",duration:5e3,isClosable:true});}c.current&&s(false);}else console.error("No delete function");},[e,m]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[n?jsxRuntime.jsx(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(),o?f():d(true);},isLoading:l,...i,children:jsxRuntime.jsxs(react.Flex,{align:"center",gap:1,children:[jsxRuntime.jsx(icons.DeleteIcon,{}),jsxRuntime.jsx(react.Text,{children:n})]})}):jsxRuntime.jsx(react.IconButton,{variant:"ghost",size:i.size??"sm","aria-label":a,_hover:{color:"red.600",bg:"red.200"},color:"red.500",borderRadius:"full",icon:jsxRuntime.jsx(icons.DeleteIcon,{}),onClick:g=>{g.stopPropagation(),o?f():d(true);},isLoading:l,...i}),o?null:jsxRuntime.jsx(Ul,{confirmActive:p,onCancel:()=>d(false),actionLoading:l,onConfirm:()=>{f();},actionName:a,body:r,itemName:t})]})};var ql=({selected:e,option:{Render:t,label:o,disabledMessage:r},size:n,...a})=>{let i=jsxRuntime.jsx(react.Box,{children:jsxRuntime.jsx(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:t(e),pointerEvents:e?"none":"auto","aria-label":o,...a})});return jsxRuntime.jsx(react.Tooltip,{label:r??o,"aria-label":o,children:i})},_r=({value:e,onChange:t,size:o=28,options:r})=>{let n=H();return jsxRuntime.jsx(react.Flex,{bg:"whiteAlpha.300",_dark:{bg:"blackAlpha.300"},border:`1px solid ${n}`,borderRadius:3,children:r.map((a,i)=>jsxRuntime.jsx(ql,{onClick:()=>{t(a.id);},option:a,size:o,borderLeftRadius:i?0:3,borderRightRadius:i===r.length-1?3:0,selected:a.id===e,borderLeft:i?`1px solid ${n}`:"none"},a.id))})};var $r=Wa.createContext({}),Wr=({curr:e,children:t})=>{let o=Wa.useMemo(()=>({curr:e}),[e]);return jsxRuntime.jsx($r.Provider,{value:o,children:t})},ts=()=>Wa.useContext($r);var Yr=({src:e,onClose:t})=>{let[o,r]=Wa.useState(true),n=react$1.useScreen(c=>c.width),a=react$1.useScreen(c=>c.height),[i,l]=Wa.useState({width:n/2,height:a/2}),{height:s,width:p}=Wa.useMemo(()=>{if(o)return i;let c=i.width/i.height,m=Math.min(i.height,a*.9),f=m*c;return f>n*.9&&(f=Math.min(i.width,n*.9),m=f/c),{height:m,width:f}},[a,n,i,o]),d=Wa.useCallback(()=>r(true),[]),u=Wa.useCallback(c=>{let{naturalWidth:m,naturalHeight:f}=c.currentTarget;l({width:m,height:f}),r(false);},[]);return jsxRuntime.jsxs(react.Modal,{size:"full",isOpen:true,onClose:t,children:[jsxRuntime.jsx(react.ModalOverlay,{bg:"blackAlpha.700"}),jsxRuntime.jsxs(react.ModalContent,{style:{background:"transparent"},pointerEvents:"none",width:"100%",height:"100%",children:[jsxRuntime.jsxs(react.Center,{pointerEvents:"none",position:"fixed",p:[4,6,8],top:0,left:0,right:0,bottom:0,zIndex:4,children:[jsxRuntime.jsx(react.Center,{opacity:o?0:1,transition:"all 500ms",overflow:"hidden",w:`${p}px`,height:`${s}px`,children:jsxRuntime.jsx(react.Image,{onLoadStart:d,onLoad:u,transition:"opacity 300ms",height:"100%",objectFit:"contain",borderRadius:4,src:e})}),jsxRuntime.jsx(react.IconButton,{borderRadius:"full",position:"absolute",top:4,right:4,"aria-label":"close",icon:jsxRuntime.jsx(icons.CloseIcon,{}),onClick:t})]}),jsxRuntime.jsx(react.Center,{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",opacity:o?1:0,transition:"opacity 300ms",children:jsxRuntime.jsx(fe,{isLoading:o,size:70})})]})]})};var Kr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",qr=({src:e,loadingOverride:t,alt:o,onLoad:r,width:n,height:a,noFullView:i,buttonFullView:l,imageProps:s,...p})=>{let[d,u]=Wa.useState(!!e),c=Wa.useRef(null),[m,f]=Wa.useState(false),g=react$1.useMounted(100);Wa.useEffect(()=>{c.current?.complete&&u(true);},[c]);let h=Wa.useCallback(F=>{u(false),r&&r(F);},[r]),[b,x]=Wa.useState(e);Wa.useEffect(()=>{e&&x(e);},[e,b]);let C=d||!!t;return jsxRuntime.jsxs(react.Center,{opacity:g?1:0,transition:"opacity 333ms",w:n??"100%",h:a??"100%",overflow:"hidden",position:"relative",...p,children:[jsxRuntime.jsx(react.Image,{src:e??Kr,alt:o,onClick:i||l?void 0:()=>f(true),onLoad:h,onLoadStart:()=>u(true),top:0,left:0,cursor:i||l?"default":"pointer",draggable:false,opacity:e&&!C?1:0,transition:"opacity 300ms ease-in-out",w:"100%",h:"100%",objectFit:e?"cover":"contain",zIndex:0,...s}),l?jsxRuntime.jsx(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:jsxRuntime.jsx(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,jsxRuntime.jsx(react.Center,{pos:"absolute",top:0,left:0,zIndex:2,pointerEvents:"none",transition:"opacity 0.5s ease-in-out",opacity:C||!e?1:0,w:"100%",h:"100%",children:jsxRuntime.jsx(fe,{isLoading:C,size:"60%"})}),m?jsxRuntime.jsx(Yr,{src:e??Kr,onClose:()=>f(false)}):null]})};var pb=({value:e,label:t,onChange:o})=>{let r=react.useToast(),[n,a]=Wa.useState(false),i=Wa.useCallback(l=>{let s=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{a(false);},s);},[]);return jsxRuntime.jsxs(react.Flex,{py:1,pr:2,pl:3,bg:"gray.700",borderRadius:12,boxShadow:"0 0 4px black",pos:"relative",align:"center",children:[jsxRuntime.jsxs(react.Flex,{opacity:n?0:1,transition:`opacity 300ms ${n?"ease-out":"ease-in"}`,pointerEvents:n?"none":"auto",align:"center",gap:2,children:[jsxRuntime.jsx(react.Text,{style:{fontSize:"1.2rem",height:"24px"},children:t}),jsxRuntime.jsx(react.Switch,{size:"md",isChecked:e,onChange:l=>{a(true);let s=Date.now();o(l.target.checked).catch(p=>{console.error(p),r({title:"Error",description:p?.message??"Error occurred",status:"error",duration:5e3,isClosable:true});}),i(s);}})]}),jsxRuntime.jsx(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%",children:jsxRuntime.jsx(ge,{})})]})};var ao={damping:25,stiffness:200,bounce:.5},K=75,J=100;var tn=e=>e==="current"?1:0,Rs=(e,t)=>{let{width:o}=t;return e==="current"?0:e==="next"?o:e==="prev"?-o:0},lo=(e,t)=>{let{height:o}=t;return e==="current"?0:e==="next"?o*1.1:e==="prev"?-o*1.1:0},on=({id:e,collectionPath:t,onItemLoad:o,RenderItem:r,status:n,offsetY:a,enterStatus:i})=>{let l=react$1.useMobileFrame(),s=framerMotion.useSpring(0,ao),p=framerMotion.useMotionValue(lo(i??"next",l)),d=framerMotion.useTransform(()=>p.get()+a.get()),u=framerMotion.useSpring(d,ao),c=Wa.useMemo(()=>`${t}/${e}`,[t,e]),{data:m}=react$1.useDocument(c,o),f=Wa.useRef({contentSize:l,status:i??n,y:lo(i??n,l),scale:tn(i??n)});return Wa.useEffect(()=>{let g=tn(n),h=Rs(n,l);p.set(h),s.set(g);},[n,p,s,l]),jsxRuntime.jsx(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:u,scale:s,opacity:s,width:"100%"},exit:{opacity:0,scale:0,x:0,y:lo(i==="next"?"prev":"next",l)},children:m?r(m):null})};var Os=10,nn=(e,t,o=Os,r=false)=>{let[n,a]=Wa.useState([null,null,null]),[i,l]=Wa.useState(0),s=react$1.useAuth(P=>P.user),[p,d]=Wa.useState(false),[u,c]=Wa.useState(false),[m,f]=Wa.useState(null),[g,h]=Wa.useState(false),[b,x]=Wa.useState(null),C=react.useToast(),F=Wa.useRef(null),w=Wa.useRef({prev:null,curr:null,next:null}),I=Wa.useCallback(P=>{P&&(w.current.prev===P&&(w.current.prev=null),w.current.next===P&&(w.current.next=null)),w.current.curr=P,t({...w.current});},[t]),A=Wa.useCallback(P=>{P&&(w.current.prev===P&&(w.current.prev=null),w.current.curr===P&&(w.current.curr=null)),w.current.next=P,t({...w.current});},[t]),O=Wa.useCallback(P=>{P&&(w.current.curr===P&&(w.current.curr=null),w.current.next===P&&(w.current.next=null)),w.current.prev=P,t({...w.current});},[t]),M=Wa.useCallback(async(P,D,T)=>{if(!s&&r)return [];T||d(true);try{let v=await e({limit:o,startAfter:D,startBefore:P});if(T)D?a(R=>[R[0],R[1],v.ids]):P&&a(R=>[v.ids,R[1],R[2]]);else {let R=v.ids[0],Q=v.ids[1]||null;I(R),A(Q),O(D),a(D?G=>[G[1],v.ids,null]:P?G=>[null,v.ids,G[1]]:[null,v.ids,null]);let N=v.ids[v.ids.length-1];N&&M(null,N,!0);}return d(!1),v.ids||[]}catch(v){f(v.message),C({title:"Error fetching feed",description:v.message,status:"error",duration:9e3,isClosable:true});}return d(false),[]},[e,C,s,r,I,A,O,o]),L=Wa.useCallback(async(P,D)=>{let T=n[1]??[],v=n[2]??[],R=P+1;if(R<T.length)return {id:T[R],idx:R};if(v[0]){let G=v[v.length-1];return D||(a(nr=>[nr[1],nr[2],null]),M(null,G,true)),{id:v[0],idx:0}}let N=(await M(null,T[T.length-1],D))[0];return N?{id:N,idx:0}:null},[n,M]),_=Wa.useCallback(async(P,D)=>{let T=n[1]??[],v=n[0]??[],R=P-1;if(R>=0)return {id:T[R],idx:R};if(v[v.length-1]){let G=v[0];return D||(a([null,n[0],n[1]]),M(G,null,true)),{id:v[v.length-1],idx:v.length-1}}let Q=await M(T[0],null,D),N=Q[Q.length-1];return N?{id:N,idx:Q.length-1}:null},[n,M]),B=Wa.useCallback(async()=>{if(g)return;let P=w.current.curr;h(true);let D=await L(i,false);if(x("next"),D){let{id:T,idx:v}=D;F.current=T,l(v),I(T),A(null),O(P),L(v,true).then(R=>A(R?.id??null));}else C({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,L,I,A,O,C,g]),W=Wa.useCallback(async()=>{if(g)return;let P=w.current.curr;x("prev"),h(true);let D=await _(i,false);if(D){let{id:T,idx:v}=D;F.current=T,l(v),I(T),O(null),A(P),_(v,true).then(R=>O(R?.id??null));}else C({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,_,I,A,O,C,g]),ne=Wa.useCallback(async()=>{d(true),c(true),a([null,null,null]),I(null),A(null),O(null),x(null),l(0),await M(null,null,false),c(false);},[M,I,A,O]),[Ce]=Wa.useState(()=>M);Wa.useEffect(()=>{Ce(null,null,false);},[Ce]);let Fe=Wa.useMemo(()=>i>0&&!!n[1]?.length||!!n[0]?.length,[n,i]),ue=Wa.useMemo(()=>(n[1]&&i<n[1].length)??!!n[2]?.length,[n,i]);return Wa.useMemo(()=>({ids:n,goNext:B,goPrev:W,error:m,refresh:ne,refreshing:u,loading:p,canGoNext:ue,direction:b,canGoPrev:Fe,itemLoading:g}),[n,B,W,p,m,g,ue,Fe,ne,u,b])};var Es="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",ut=({background:e,...t})=>jsxRuntime.jsx(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??Es})`,backgroundSize:"cover",backgroundPosition:"center",...t,filter:t.filter??"blur(15px) brightness(70%)"}),zs=({getBackgroundValue:e,item:t,filter:o})=>{let r=Wa.useMemo(()=>t?e(t):null,[e,t]),{loading:n,url:a}=react$1.useObjectUrl(r),i=Wa.useRef(0),[l,s]=Wa.useState(0),[p,d]=Wa.useState(null),[u,c]=Wa.useState(null);return Wa.useEffect(()=>{i.current===0?(d(a),i.current=1,s(0)):(c(a),i.current=0,s(1));},[a]),jsxRuntime.jsxs(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsxRuntime.jsx(ut,{filter:o,opacity:l===0?1:0,background:p}),jsxRuntime.jsx(ut,{filter:o,opacity:l===1?1:0,background:u}),jsxRuntime.jsx(fe,{isLoading:n})]})},Hs=({getBackgroundUrl:e,item:t,filter:o})=>{let r=Wa.useMemo(()=>t?e(t):null,[e,t]),n=Wa.useRef(0),[a,i]=Wa.useState(0),[l,s]=Wa.useState(null),[p,d]=Wa.useState(null);return Wa.useEffect(()=>{r&&(n.current===0?(s(r),n.current=1,i(0)):(d(r),n.current=0,i(1)));},[r]),jsxRuntime.jsxs(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsxRuntime.jsx(ut,{filter:o,opacity:a===0?1:0,background:l}),jsxRuntime.jsx(ut,{filter:o,opacity:a===1?1:0,background:p})]})},cn=({getBackgroundValue:e,getBackgroundUrl:t,...o})=>e?jsxRuntime.jsx(zs,{getBackgroundValue:e,...o}):t?jsxRuntime.jsx(Hs,{getBackgroundUrl:t,...o}):null;var Ws=J-K,mn=({offsetY:e,refreshing:t,canRefresh:o})=>{let r=framerMotion.useTransform(e,p=>Math.max(0,p-K)/Ws),n=framerMotion.useSpring(0),a=framerMotion.useSpring(0);Wa.useEffect(()=>{t?n.set(50):n.set(0);},[t,n]),Wa.useEffect(()=>{o?a.set(1):a.set(0);},[a,o]);let i=framerMotion.useTransform(()=>a.get()*Math.min(20,Math.max(0,n.get()+r.get()**.5*20))),l=framerMotion.useTransform(i,p=>a.get()*Math.min(1,Math.max(0,p/30))),s=framerMotion.useTransform(()=>a.get()*r.get()*180);return jsxRuntime.jsx(framerMotion.motion.div,{style:{opacity:l,pointerEvents:"none",y:i,position:"absolute",top:0,left:0,right:0,height:"auto",scale:l,rotate:s},children:jsxRuntime.jsxs(react.Center,{w:"100%",children:[jsxRuntime.jsx(icons.RepeatIcon,{opacity:t?0:1,transition:`opacity 300ms ease ${t?0:300}ms`,w:8,h:8,color:"white",filter:"drop-shadow(1px 1px 3px #000000aa)"}),jsxRuntime.jsx(pt,{size:8,position:"absolute",isIndeterminate:true,opacity:t?1:0,transition:`opacity 300ms ease ${t?300:0}ms`})]})})};var Xs=e=>Wa.useCallback(t=>{let o=[];t.prev&&o.push({status:"prev",id:t.prev}),t.curr&&o.push({status:"current",id:t.curr}),t.next&&o.push({status:"next",id:t.next}),e(o);},[e]),cy=({fetch:e,collection:t,RenderItem:o,authRequired:r,getBackgroundUrl:n,getBackgroundValue:a,limit:i,defaultBackground:l,swipeDisabled:s,children:p})=>{let{width:d,height:u}=react$1.useMobileFrame(),c=Wa.useRef(null),m=Wa.useRef(null),[f,g]=Wa.useState(null),[h,b]=Wa.useState([]),x=framerMotion.useMotionValue(0),C=Xs(b),F=Wa.useRef(null),{goNext:w,goPrev:I,loading:A,canGoNext:O,canGoPrev:M,refresh:L,refreshing:_}=nn(e,C,i,r),B=Wa.useRef(false),W=Wa.useRef({x:0,y:0}),ne=Wa.useCallback(T=>{if(s)return;B.current=true,W.current={x:T.clientX,y:T.clientY};let v=R=>{let Q=M?K:J,N=O?-75:-100,G=Math.max(N,Math.min(Q,R.clientY-W.current.y));c.current&&c.current.style.setProperty("pointer-events","auto"),O&&G<-65?(g("next"),w()):M&&G>K-10?(g("prev"),I()):(G>J-10||G<-90)&&(L(),F.current&&F.current.onNewData(null)),x.set(0),B.current=false,window.removeEventListener("pointerup",v);};window.addEventListener("pointerup",v);},[x,w,I,O,M,L,s]),Ce=Wa.useCallback(T=>{requestAnimationFrame(()=>{if(B.current){let v=Math.max(-10,Math.min(10,T.clientX-W.current.x)),R=M?K:J,Q=O?-75:-100,N=Math.max(Q,Math.min(R,T.clientY-W.current.y));Math.sqrt(v**2+N**2)>10&&c.current&&c.current.style.setProperty("pointer-events","none"),x.set(N);}});},[x,O,M]),Fe=Wa.useMemo(()=>({height:`${u}px`,width:`${d}px`,overflow:"hidden",pointerEvents:s?"none":"auto"}),[d,u,s]),[ue,P]=Wa.useState(null),D=Wa.useCallback(T=>{h.find(R=>R.status==="current")?.id===T?._id&&P(T);},[h]);return jsxRuntime.jsx(Wr,{curr:ue,children:jsxRuntime.jsxs(react.Center,{background:l??"background.100",style:{touchAction:"none"},userSelect:"none",position:"relative",w:"100%",h:"100%",overflow:"hidden",onPointerDown:ne,onPointerMove:Ce,children:[jsxRuntime.jsx(cn,{item:ue,getBackgroundValue:a,getBackgroundUrl:n}),jsxRuntime.jsx("div",{ref:m,style:Fe,children:jsxRuntime.jsx(react.Center,{ref:c,h:"100%",w:"100%",children:h.map(T=>jsxRuntime.jsx(on,{id:T.id,collectionPath:t,RenderItem:o,onItemLoad:D,status:T.status,enterStatus:f,offsetY:x},T.id))})}),jsxRuntime.jsx(mn,{canRefresh:!M,refreshing:_,offsetY:x}),jsxRuntime.jsx(Ie,{inFeed:true,zIndex:2,bg:"transparent",pointerEvents:"none",isLoading:A}),p?jsxRuntime.jsx(react.Center,{position:"absolute",bottom:"0",left:"0",right:"0",zIndex:3,pointerEvents:"none",children:p}):null]})})};var gt=({path:e,condition:t,children:o})=>{let r=reactHookForm.useWatch({exact:true,name:e});return Wa.useMemo(()=>t(r),[r,t])?jsxRuntime.jsx(j,{py:"3px",animateOpacity:true,in:true,children:o}):null};var oc=({field:e,input:{onChange:t,value:o,...r}},n)=>{let{placeholder:a}=e;return Wa.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsx(react.Checkbox,{isChecked:o,onChange:i=>t(i.target.checked),...r,children:a})},rc=Wa.forwardRef(oc),nc=({field:e,input:{onChange:t,value:o,...r}},n)=>{let{placeholder:a}=e;return Wa.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(react.Flex,{gap:1,align:"center",children:[jsxRuntime.jsx(react.Switch,{isChecked:o,onChange:i=>t(i.target.checked),...r}),jsxRuntime.jsx(react.Text,{fontWeight:600,opacity:o?.9:.6,children:a})]})},ic=Wa.forwardRef(nc),ac=(e,t)=>e.field.type==="switch"?jsxRuntime.jsx(ic,{ref:t,...e}):jsxRuntime.jsx(rc,{ref:t,...e}),gn=Wa.forwardRef(ac);var ht=(e,t,o)=>{let r=Wa.useRef(null);return Wa.useImperativeHandle(e,()=>({focus:(()=>r.current?.focus()),blur:(()=>r.current?.blur())})),r};var go=({children:e,color:t,background:o,boxProps:r,...n})=>jsxRuntime.jsx(react.Box,{background:o,...r,children:jsxRuntime.jsx(react.Text,{cursor:"default",className:"gradient-text",background:t,...n,children:e})});var xt=({label:e,stackProps:t,gradient:o,value:r,min:n,max:a,...i})=>{let l=o?core.gradientToCssGradientProp(o):null;return jsxRuntime.jsx(react.HStack,{opacity:r!==void 0?1:.5,_hover:{opacity:1},transition:"all 500ms",spacing:2,width:"100%",align:"center",...t,children:jsxRuntime.jsxs(react.HStack,{w:"100%",align:"center",children:[n!==void 0&&l?jsxRuntime.jsx(go,{fontSize:"sm",color:l,children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,n!==void 0&&!l?jsxRuntime.jsx(react.Text,{children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,jsxRuntime.jsxs(react.Slider,{min:n,max:a,step:1,"aria-label":e,flex:1,...i,children:[jsxRuntime.jsx(react.SliderTrack,{bg:"gray.400",children:jsxRuntime.jsx(react.SliderFilledTrack,{bg:l??"blackAlpha.500"})}),jsxRuntime.jsx(react.Tooltip,{bg:"gray.100",color:"gray.500",placement:"top",hasArrow:true,label:typeof r=="number"?r.toFixed(0):"",children:jsxRuntime.jsx(react.SliderThumb,{width:2,height:4})})]}),a!==void 0&&l?jsxRuntime.jsx(go,{fontSize:"sm",color:l,children:typeof a=="number"?a.toFixed((i?.step??1)<1?2:0):""}):null,a!==void 0&&!l?jsxRuntime.jsx(react.Text,{children:typeof a=="number"?a.toFixed((i?.step??1)<1?2:0):""}):null]})})};var yt=({label:e,stackProps:t,gradient:o,value:r,...n})=>jsxRuntime.jsx(xt,{label:e,value:r,min:0,step:1,max:255,stackProps:{width:"100%",...t},gradient:o,...n}),Cn=Wa.forwardRef(({input:{onChange:e,value:t},field:o,meta:r},n)=>{let{withAlpha:a,defaultValue:i}=o,{active:l}=r||{};ht(n);let s=Wa.useCallback((u,c)=>{e(a?{r:0,g:0,b:0,a:1,...t,[u]:c}:{r:0,g:0,b:0,...t,[u]:c});},[t,e,a]),p=Wa.useMemo(()=>({...i,...t}),[i,t]),d=Wa.useMemo(()=>core.colorValueToHex(!!a,p),[p,a]);return jsxRuntime.jsxs(react.HStack,{w:"100%",children:[jsxRuntime.jsx(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",children:jsxRuntime.jsx(react.Center,{transition:"background 300ms",bg:d,width:"80px",h:"80px",borderRadius:"full",children:jsxRuntime.jsx(react.Text,{style:{fontSize:"1.3rem"},children:d})})}),jsxRuntime.jsxs(react.VStack,{spacing:1,flex:1,px:2,align:"flex-start",borderRadius:6,transition:"all 400ms",boxShadow:`0 0 5px ${l?"#ffffff":"transparent"}`,children:[jsxRuntime.jsx(yt,{label:"R",gradient:core.gradients.red,defaultValue:i.r,value:t?.r,onChange:u=>s("r",u)}),jsxRuntime.jsx(yt,{label:"G",defaultValue:i.g,gradient:core.gradients.green,value:t?.g,onChange:u=>s("g",u)}),jsxRuntime.jsx(yt,{label:"B",gradient:core.gradients.blue,defaultValue:i.b,value:t?.b,onChange:u=>s("b",u)}),a?jsxRuntime.jsx(yt,{label:"A",gradient:core.gradients.midnight,defaultValue:1,value:t?.a,onChange:u=>s("a",u)}):null]})]})});var ho=(e,t)=>{let o=`${e}`;for(let r=o.length;r<t;r+=1)o=`0${o}`;return o},bo=e=>e?`${ho(e.getFullYear(),4)}-${ho(e.getMonth()+1,2)}-${ho(e.getDate(),2)}`:void 0,Ue=Wa.forwardRef((e,t)=>{let{input:o,field:{placeholder:r,minDate:n,maxDate:a,optional:i},meta:{active:l}}=e,{onChange:s,value:p,onFocus:d,onBlur:u}=o,c=Wa.useMemo(()=>p?new Date(`${p}T00:00:00.000`):new Date,[p]),m=Wa.useMemo(()=>{let f=[];return n!==void 0&&f.push({to:n==="now"?new Date:new Date(n),from:new Date(0)}),a!==void 0&&f.push({from:a==="now"?new Date:new Date(a),to:new Date(1/0)}),f},[n,a]);return Wa.useImperativeHandle(t,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(react.Popover,{isOpen:l,onOpen:d,onClose:u,closeDelay:100,placement:"bottom",children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsxs(react.Button,{w:"100%",fontFamily:"Public Sans",fontWeight:"normal",alignItems:"center",_hover:{bg:"#efefef"},lineHeight:1,variant:"outline",children:[jsxRuntime.jsx(react.Text,{fontSize:"md",height:"16px",align:"left",flex:1,children:p?core.getDateString(p,"short"):r}),jsxRuntime.jsx(react.Image,{src:"/svg/calendar.svg",height:"20px"})]})}),jsxRuntime.jsx(react.Portal,{children:jsxRuntime.jsxs(react.PopoverContent,{zIndex:2,onFocus:d,children:[jsxRuntime.jsx(react.PopoverArrow,{}),jsxRuntime.jsx(reactDayPicker.DayPicker,{required:!i,disabled:m,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:c,onSelect:f=>s(bo(f))})]})})]})});Ue.displayName="DateInput";var Ye=Wa.forwardRef(({field:e,input:t},o)=>(Wa.useImperativeHandle(o,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsx(react.Input,{fontFamily:"Public Sans",css:`
|
|
1
|
+
'use strict';var react=require('@chakra-ui/react'),react$1=require('@chem-po/react'),jsxRuntime=require('react/jsx-runtime'),Wa=require('react'),icons=require('@chakra-ui/icons'),mr=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'),Dd=require('react-currency-input-field'),vp=require('react-textarea-autosize'),reactWindow=require('react-window'),fi=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 Wa__default=/*#__PURE__*/_interopDefault(Wa);var mr__default=/*#__PURE__*/_interopDefault(mr);var Dd__default=/*#__PURE__*/_interopDefault(Dd);var vp__default=/*#__PURE__*/_interopDefault(vp);var fi__default=/*#__PURE__*/_interopDefault(fi);var ga=({layout:e="row"})=>{let{adapter:{auth:t}}=react$1.useBackendBase(),o=react$1.useAuth(r=>r.user);return jsxRuntime.jsx(react.Flex,{gap:[1,1,2],align:"center",flexFlow:["column","column","row"],children:o?jsxRuntime.jsx(react.Button,{size:"sm",onClick:()=>{t.logout();},children:"SIGN OUT"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.Text,{whiteSpace:"nowrap",textAlign:"center",opacity:.8,fontWeight:600,fontSize:"sm",children:"SIGN IN"}),jsxRuntime.jsx(react.Flex,{flexFlow:e,gap:2,w:"100%"})]})})},sg=e=>jsxRuntime.jsx(react.Portal,{children:jsxRuntime.jsx(react.Flex,{position:"fixed",bottom:4,left:4,children:jsxRuntime.jsx(ga,{...e})})});var ir=({width:e,children:t,active:o,duration:r=400,...n})=>jsxRuntime.jsx(react.Center,{width:`${o?e:0}px`,opacity:o?1:0,transition:`all ${r}ms ease-in-out`,overflow:"hidden",...n,children:t});var Ca=(e,t)=>jsxRuntime.jsx(react.Flex,{ref:t,bg:"background.100",p:3,borderRadius:6,boxShadow:"1px 1px 4px #00000066",...e}),Se=Wa.forwardRef(Ca);var H=()=>react.useColorModeValue("#00000033","#ffffff33");var ar=({viewText:e="View",hideText:t="Hide",onClick:o,isOpen:r,color:n})=>jsxRuntime.jsx(react.IconButton,{icon:r?jsxRuntime.jsx(icons.ChevronUpIcon,{width:5,height:5}):jsxRuntime.jsx(icons.ChevronDownIcon,{width:5,height:5}),"aria-label":r?t:e,variant:"ghost",p:"2px",ml:"auto",size:"xs",fontSize:"xs",borderRadius:"full",_hover:{bg:"blackAlpha.200"},color:n??"#777",onClick:a=>{a.stopPropagation(),o(a);}});var Yt=({header:e,children:t,initExpanded:o=false,nested:r,alwaysExpanded:n,headerProps:a,iconColor:i,footer:l,isOpen:s,onClose:d,onOpen:p,...u})=>{let{isOpen:c,onClose:m,onOpen:f}=react.useDisclosure({defaultIsOpen:n??o,isOpen:s,onClose:d,onOpen:p}),g=Wa.useCallback(x=>{if(x.stopPropagation(),!n){if(c){m();return}f();}},[n,f,m,c]),h=H();return jsxRuntime.jsxs(react.VStack,{spacing:0,borderColor:h,w:"100%",...u,children:[jsxRuntime.jsxs(react.HStack,{borderBottom:c?`1px solid ${h}`:void 0,px:2,spacing:0,w:"100%",...a,children:[jsxRuntime.jsx(react.Flex,{onClick:g,cursor:"pointer","aria-label":"expand/hide",align:"center",flex:1,children:typeof e=="string"?jsxRuntime.jsx(react.Text,{fontWeight:600,color:"gray.500",flex:1,children:e}):e({isOpen:c,onClose:m})}),n?null:jsxRuntime.jsx(ar,{color:i,onClick:g,isOpen:c})]}),jsxRuntime.jsx(react.Box,{w:"100%",borderLeft:r?"4px solid #00000033":void 0,children:jsxRuntime.jsx(react.Collapse,{unmountOnExit:true,style:{width:"100%"},in:c,children:t})}),l?l({isOpen:c,onClose:m}):null]})};var j=({animateOpacity:e,duration:t=300,children:o,in:r=true,onExited:n,...a})=>{let i=react$1.useMounted(),[l,s]=Wa.useState(0),d=Wa.useRef(null),[p,u]=Wa.useState(false),c=Wa.useMemo(()=>i&&r,[r,i]),m=Wa.useMemo(()=>c?l:0,[l,c]),f=Wa.useCallback(x=>{s(x.target.scrollHeight);},[]);mr__default.default(d,f);let g=Wa.useRef(null);Wa.useEffect(()=>{g.current&&(clearTimeout(g.current),g.current=null),u(true),g.current=setTimeout(()=>{u(false),n&&!c&&n();},t);},[c,t,n]);let h=Wa.useMemo(()=>!p&&c?"height 0ms":e?`height ${t}ms, opacity ${t}ms ease ${c?t:0}ms`:`height ${t}ms`,[e,t,c,p]);return jsxRuntime.jsx(react.Box,{overflow:"hidden",w:"100%",transition:h,height:`${m}px`,...a,children:jsxRuntime.jsx(react.Box,{ref:d,w:"100%",...a,children:o})})};var qg=({children:e,...t})=>{let[o,r]=Wa.useState(0),[n,a]=Wa.useState(0),i=Wa.useRef(null),l=Wa.useCallback(s=>{r(s.target.scrollWidth),a(s.target.scrollHeight);},[]);return mr__default.default(i,l),jsxRuntime.jsx(react.Box,{ref:i,...t,width:"100%",height:"100%",children:e({width:o,height:n})})},hr=({children:e,...t})=>{let[o,r]=Wa.useState(0),[n,a]=Wa.useState(0),i=Wa.useRef(null),l=Wa.useCallback(d=>{r(d.target.scrollWidth),a(d.target.scrollHeight);},[]);mr__default.default(i,l);let s=Wa.useMemo(()=>({width:o,height:n}),[o,n]);return jsxRuntime.jsx(react.Box,{ref:i,...t,width:"100%",height:"100%",children:jsxRuntime.jsx(react$1.FullSizeContext.Provider,{value:s,children:e})})};var br=Wa__default.default.createContext(false),xr=({children:e})=>jsxRuntime.jsx(br.Provider,{value:true,children:e}),yr=()=>Wa.useContext(br);var Kt=50,qa=({view:e,absolute:t})=>{let{path:o,name:r,icon:n,iconScale:a}=e,i=Array.isArray(o)?o[0]:o,l=react.useColorModeValue(1,1.8),s=Wa.useMemo(()=>t?2.4:l,[t,l]),{pathname:d}=reactRouterDom.useLocation(),p=react.useColorModeValue("#ffffff33","#00000033"),u=jsxRuntime.jsx(react.Button,{pointerEvents:d===i?"none":"auto",opacity:d===i?1:.7,width:"100%",height:"100%",borderRadius:0,flexFlow:"column",_hover:{bg:p},variant:"unstyled",display:"flex",alignItems:"center",justifyContent:"center",children:jsxRuntime.jsx(react.Image,{height:`${34*(a??1)}px`,filter:`brightness(${s})${t?" drop-shadow(1px 1px 3px #00000099 )":""}`,src:n,alt:r})});return d===i?jsxRuntime.jsx(react.Flex,{flex:1,h:"100%",justify:"center",children:u},i):jsxRuntime.jsx(reactRouterDom.Link,{style:{flex:1,display:"flex",height:"100%",justifyContent:"center"},to:i,children:u},i)},wr=({selectedView:e,children:t})=>{let o=react.useColorModeValue("#dedede",core.palette.gray.dark),r=react.useColorModeValue("#00000022","#ffffff33"),n=react$1.useViews(),a=Wa.useMemo(()=>n.filter(d=>!!d.view.icon),[n]),i=Wa.useMemo(()=>!!e?.navBar?.absolute,[e]),l=Wa.useMemo(()=>e?.navBar?.backgroundColor??o,[o,e]),s=Wa.useMemo(()=>e?.navBar?.borderColor?!!e?.navBar?.borderColor:i?"#ffffff33":r,[r,e,i]);return jsxRuntime.jsx(react.Flex,{position:"absolute",bottom:0,left:0,bg:l,w:"100%",transition:"all 500ms",h:`${Kt}px`,borderTop:`1px solid ${s}`,children:jsxRuntime.jsxs(react.Flex,{position:"relative",w:"100%",justify:"space-around",align:"center",children:[a.map(({view:d})=>jsxRuntime.jsx(qa,{absolute:i,view:d},d.name)),t]})})};var vr=({message:e})=>{let t=react.useColorModeValue("gray.600","gray.100");return jsxRuntime.jsx(react.Flex,{pt:4,children:jsxRuntime.jsx(Se,{children:jsxRuntime.jsx(react.Text,{color:t,children:e??"Sorry, something went wrong."})})})};var dt=e=>{let t=react.useColorModeValue("gray.400","gray.400"),o=react.useColorModeValue("gray.300","gray.600");return jsxRuntime.jsx(react.CircularProgress,{isIndeterminate:true,trackColor:o,color:t,...e})};var Ir=({size:e=30,isLoading:t,speed:o=2,inFeed:r,asset:n})=>{let a=react.useColorModeValue(n.default,n.dark??n.default),i=Wa.useMemo(()=>r?n.dark??n.default:a,[a,n,r]),l=Wa.useMemo(()=>({animationData:i,loop:true}),[i]),s=Wa.useMemo(()=>({width:e,height:e,opacity:t?.85:0,transition:"opacity 300ms ease-in-out"}),[e,t]),{View:d,pause:p,play:u,setSpeed:c}=lottieReact.useLottie(l,s);return Wa.useEffect(()=>{c(o);},[c,o]),Wa.useEffect(()=>{t?u():p();},[t,u,p]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:d})},Tr=({size:e=30,isLoading:t,asset:o,inFeed:r})=>{let n=react.useColorModeValue(o.default,o.dark??o.default),a=Wa.useMemo(()=>r?o.dark??o.default:n,[n,o,r]),i=Wa.useMemo(()=>({width:e,height:e,opacity:t?.85:0,transition:"opacity 300ms ease-in-out"}),[e,t]);return jsxRuntime.jsx("img",{src:a,style:i,alt:"loading"})},ll=({isLoading:e,size:t})=>{let{loading:o}=react$1.useAppAssets();return o.lottieJson?jsxRuntime.jsx(Ir,{isLoading:e,size:t,asset:o.lottieJson}):o.svg?jsxRuntime.jsx(Tr,{isLoading:e,size:t,asset:o.svg}):null},fe=({isLoading:e,size:t,inFeed:o})=>{let{loading:r}=react$1.useAppAssets();return r.lottieJson?jsxRuntime.jsx(Ir,{inFeed:o,isLoading:e,size:t,asset:r.lottieJson}):r.svg?jsxRuntime.jsx(Tr,{inFeed:o,isLoading:e,size:t,asset:r.svg}):jsxRuntime.jsx(react.Text,{color:"red",children:"ERROR: No loading animation found"})},ge=({text:e="Loading...",inBox:t,stackProps:o})=>{let r=jsxRuntime.jsxs(react.HStack,{p:2,...o,children:[jsxRuntime.jsx(ll,{isLoading:true}),jsxRuntime.jsx(react.Text,{opacity:.8,fontSize:"sm",children:e})]});return t?jsxRuntime.jsx(Se,{children:r}):r},Ie=({isLoading:e,text:t,inFeed:o,...r})=>{let n=react.useColorModeValue("#ffffffaa","#00000088");return jsxRuntime.jsx(react.Center,{pos:"absolute",top:0,left:0,right:0,bottom:0,bg:n,pointerEvents:e?"auto":"none",opacity:e?1:0,...r,children:t?jsxRuntime.jsx(ge,{text:t}):jsxRuntime.jsx(fe,{inFeed:o,size:100,isLoading:e})})};var Lr=({loading:e})=>{let t=Wa.useRef(),o=react$1.useAuth(n=>n.loading),r=reactRouterDom.useNavigate();return Wa.useEffect(()=>(!e&&!o&&(t.current=setTimeout(()=>{r("/");},1500)),()=>{t.current&&clearTimeout(t.current);}),[e,r,o]),!e&&!o?jsxRuntime.jsx(react.Center,{minH:"100%",w:"100%",children:jsxRuntime.jsx(Se,{maxW:"500px",children:jsxRuntime.jsxs(react.HStack,{spacing:3,children:[jsxRuntime.jsx(dt,{size:6}),jsxRuntime.jsxs(react.VStack,{spacing:0,align:"flex-start",children:[jsxRuntime.jsx(react.Text,{children:"404"}),jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.7,children:"Page not found - redirecting to Home..."})]})]})})}):jsxRuntime.jsx(ge,{})};var Dr=390,Er=844,Ar=Dr/Er,Bl=({children:e,navBarChildren:t})=>{let{isMobile:o,height:r,width:n}=react$1.useScreen(),{contentHeight:a,contentWidth:i}=Wa.useMemo(()=>{let b=o?r:Er,C=o?n:Dr;if(o)return {contentHeight:b,contentWidth:C};let F=Math.floor(r*.9),w=Math.floor(n*.9);return b>F?(C=Math.floor(F*Ar),b=F):C>w&&(b=Math.floor(w/Ar),C=w),{contentHeight:b,contentWidth:C}},[o,r,n]),l=react.useColorModeValue(core.cssGradients.accentGray,core.cssGradients.darkGray),s=reactRouterDom.useLocation(),d=reactRouterDom.useOutlet(),p=react$1.useViews(),u=Wa.useMemo(()=>p.find(b=>!!reactRouterDom.matchRoutes(b.routes,s)),[p,s]),c=Wa.useMemo(()=>u?typeof u.view.path=="string"?u.view.path:u.view.path[0]:"404",[u]),m=Wa.useRef(null),f=Wa.useRef(null),g=Wa.useMemo(()=>!!u?.view?.navBar?.absolute,[u]),h=Wa.useMemo(()=>a-(g?0:Kt),[a,g]),x=Wa.useMemo(()=>({overlayRef:m,height:a,width:i,absoluteNavBar:g,bodyHeight:h}),[m,a,i,g,h]);return jsxRuntime.jsx(xr,{children:jsxRuntime.jsx(react$1.MobileFrameProvider,{value:x,children:jsxRuntime.jsx(react.Center,{position:"relative",bg:l,w:"100%",height:"100%",children:jsxRuntime.jsxs(react.Flex,{bg:"background.100",position:"relative",style:{height:`${a}px`,width:`${i}px`},boxShadow:o?"none":"1px 1px 4px rgba(0,0,0,0.4)",borderRadius:o?0:10,overflow:"hidden",direction:"column",maxH:a,children:[jsxRuntime.jsx(framerMotion.AnimatePresence,{children:jsxRuntime.jsx(reactTransitionGroup.SwitchTransition,{children:jsxRuntime.jsx(reactTransitionGroup.CSSTransition,{nodeRef:f,unmountOnExit:true,classNames:"page",timeout:300,children:()=>jsxRuntime.jsxs(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},children:[jsxRuntime.jsx(reactErrorBoundary.ErrorBoundary,{FallbackComponent:()=>jsxRuntime.jsx(vr,{}),children:u?d:jsxRuntime.jsx(Lr,{})}),e?jsxRuntime.jsx(react.Box,{height:"100%",w:"100%",position:"absolute",top:0,left:0,pointerEvents:"none",children:e}):null]})},c)})}),jsxRuntime.jsx(wr,{selectedView:u?.view,children:t}),jsxRuntime.jsx(react.Flex,{pos:"absolute",pointerEvents:"none",bottom:0,w:"100%",h:"100%",children:jsxRuntime.jsx(react.Flex,{ref:m,w:"100%",h:"100%",pos:"relative"})})]})})})})},ab=({children:e,navBarChildren:t,views:o})=>jsxRuntime.jsx(react$1.ViewsProvider,{views:o,children:jsxRuntime.jsx(Bl,{navBarChildren:t,children:e})});var Gl="Are you sure? You can't undo this action afterwards.",Ul=({confirmActive:e,onCancel:t,onConfirm:o,body:r=Gl,actionName:n="Delete",actionLoading:a,itemName:i})=>{let l=Wa.useRef(null);return jsxRuntime.jsx(react.AlertDialog,{isCentered:true,isOpen:e,leastDestructiveRef:l,onClose:()=>t(),children:jsxRuntime.jsx(react.AlertDialogOverlay,{children:jsxRuntime.jsx(react.AlertDialogContent,{gap:0,children:jsxRuntime.jsx(react.AlertDialogBody,{children:jsxRuntime.jsxs(react.VStack,{align:"flex-start",py:1,children:[jsxRuntime.jsxs(react.Text,{fontSize:"lg",fontWeight:500,children:[n," ",i,"?"]}),typeof r=="string"?jsxRuntime.jsx(react.Text,{fontSize:"md",children:r}):r,jsxRuntime.jsxs(react.HStack,{justify:"flex-end",w:"100%",children:[jsxRuntime.jsx(react.Button,{size:"sm",ref:l,onClick:t,children:"Cancel"}),jsxRuntime.jsx(react.Button,{size:"sm",isLoading:a,color:"white",textShadow:"1px 1px 3px #00000077",bg:"red.500",_dark:{bg:"red.500"},onClick:o,children:n})]})]})})})})})},Vr=({onDelete:e,itemName:t,noConfirm:o,alertBody:r,text:n,actionName:a="Delete",...i})=>{let[l,s]=Wa.useState(false),[d,p]=Wa.useState(false),u=Wa.useRef(),c=Wa.useRef(true);Wa.useEffect(()=>(c.current=true,()=>{c.current=false;}),[]);let m=react.useToast(),f=Wa.useCallback(async()=>{if(u.current&&clearTimeout(u.current),p(false),e){s(true);try{await e();}catch(g){console.error(g),m({title:"Error",description:g.message??"An error occurred",status:"error",duration:5e3,isClosable:true});}c.current&&s(false);}else console.error("No delete function");},[e,m]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[n?jsxRuntime.jsx(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(),o?f():p(true);},isLoading:l,...i,children:jsxRuntime.jsxs(react.Flex,{align:"center",gap:1,children:[jsxRuntime.jsx(icons.DeleteIcon,{}),jsxRuntime.jsx(react.Text,{children:n})]})}):jsxRuntime.jsx(react.IconButton,{variant:"ghost",size:i.size??"sm","aria-label":a,_hover:{color:"red.600",bg:"red.200"},color:"red.500",borderRadius:"full",icon:jsxRuntime.jsx(icons.DeleteIcon,{}),onClick:g=>{g.stopPropagation(),o?f():p(true);},isLoading:l,...i}),o?null:jsxRuntime.jsx(Ul,{confirmActive:d,onCancel:()=>p(false),actionLoading:l,onConfirm:()=>{f();},actionName:a,body:r,itemName:t})]})};var ql=({selected:e,option:{Render:t,label:o,disabledMessage:r},size:n,...a})=>{let i=jsxRuntime.jsx(react.Box,{children:jsxRuntime.jsx(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:t(e),pointerEvents:e?"none":"auto","aria-label":o,...a})});return jsxRuntime.jsx(react.Tooltip,{label:r??o,"aria-label":o,children:i})},_r=({value:e,onChange:t,size:o=28,options:r})=>{let n=H();return jsxRuntime.jsx(react.Flex,{bg:"whiteAlpha.300",_dark:{bg:"blackAlpha.300"},border:`1px solid ${n}`,borderRadius:3,children:r.map((a,i)=>jsxRuntime.jsx(ql,{onClick:()=>{t(a.id);},option:a,size:o,borderLeftRadius:i?0:3,borderRightRadius:i===r.length-1?3:0,selected:a.id===e,borderLeft:i?`1px solid ${n}`:"none"},a.id))})};var $r=Wa.createContext({}),Wr=({curr:e,children:t})=>{let o=Wa.useMemo(()=>({curr:e}),[e]);return jsxRuntime.jsx($r.Provider,{value:o,children:t})},ts=()=>Wa.useContext($r);var Yr=({src:e,onClose:t})=>{let[o,r]=Wa.useState(true),n=react$1.useScreen(c=>c.width),a=react$1.useScreen(c=>c.height),[i,l]=Wa.useState({width:n/2,height:a/2}),{height:s,width:d}=Wa.useMemo(()=>{if(o)return i;let c=i.width/i.height,m=Math.min(i.height,a*.9),f=m*c;return f>n*.9&&(f=Math.min(i.width,n*.9),m=f/c),{height:m,width:f}},[a,n,i,o]),p=Wa.useCallback(()=>r(true),[]),u=Wa.useCallback(c=>{let{naturalWidth:m,naturalHeight:f}=c.currentTarget;l({width:m,height:f}),r(false);},[]);return jsxRuntime.jsxs(react.Modal,{size:"full",isOpen:true,onClose:t,children:[jsxRuntime.jsx(react.ModalOverlay,{bg:"blackAlpha.700"}),jsxRuntime.jsxs(react.ModalContent,{style:{background:"transparent"},pointerEvents:"none",width:"100%",height:"100%",children:[jsxRuntime.jsxs(react.Center,{pointerEvents:"none",position:"fixed",p:[4,6,8],top:0,left:0,right:0,bottom:0,zIndex:4,children:[jsxRuntime.jsx(react.Center,{opacity:o?0:1,transition:"all 500ms",overflow:"hidden",w:`${d}px`,height:`${s}px`,children:jsxRuntime.jsx(react.Image,{onLoadStart:p,onLoad:u,transition:"opacity 300ms",height:"100%",objectFit:"contain",borderRadius:4,src:e})}),jsxRuntime.jsx(react.IconButton,{borderRadius:"full",position:"absolute",top:4,right:4,"aria-label":"close",icon:jsxRuntime.jsx(icons.CloseIcon,{}),onClick:t})]}),jsxRuntime.jsx(react.Center,{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",opacity:o?1:0,transition:"opacity 300ms",children:jsxRuntime.jsx(fe,{isLoading:o,size:70})})]})]})};var Kr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",qr=({src:e,loadingOverride:t,alt:o,onLoad:r,width:n,height:a,noFullView:i,buttonFullView:l,imageProps:s,...d})=>{let[p,u]=Wa.useState(!!e),c=Wa.useRef(null),[m,f]=Wa.useState(false),g=react$1.useMounted(100);Wa.useEffect(()=>{c.current?.complete&&u(true);},[c]);let h=Wa.useCallback(F=>{u(false),r&&r(F);},[r]),[x,b]=Wa.useState(e);Wa.useEffect(()=>{e&&b(e);},[e,x]);let C=p||!!t;return jsxRuntime.jsxs(react.Center,{opacity:g?1:0,transition:"opacity 333ms",w:n??"100%",h:a??"100%",overflow:"hidden",position:"relative",...d,children:[jsxRuntime.jsx(react.Image,{src:e??Kr,alt:o,onClick:i||l?void 0:()=>f(true),onLoad:h,onLoadStart:()=>u(true),top:0,left:0,cursor:i||l?"default":"pointer",draggable:false,opacity:e&&!C?1:0,transition:"opacity 300ms ease-in-out",w:"100%",h:"100%",objectFit:e?"cover":"contain",zIndex:0,...s}),l?jsxRuntime.jsx(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:jsxRuntime.jsx(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,jsxRuntime.jsx(react.Center,{pos:"absolute",top:0,left:0,zIndex:2,pointerEvents:"none",transition:"opacity 0.5s ease-in-out",opacity:C||!e?1:0,w:"100%",h:"100%",children:jsxRuntime.jsx(fe,{isLoading:C,size:"60%"})}),m?jsxRuntime.jsx(Yr,{src:e??Kr,onClose:()=>f(false)}):null]})};var Xb=({value:e,label:t,onChange:o})=>{let r=react.useToast(),[n,a]=Wa.useState(false),i=Wa.useCallback(l=>{let s=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{a(false);},s);},[]);return jsxRuntime.jsxs(react.Flex,{py:1,pr:2,pl:3,bg:"gray.700",borderRadius:12,boxShadow:"0 0 4px black",pos:"relative",align:"center",children:[jsxRuntime.jsxs(react.Flex,{opacity:n?0:1,transition:`opacity 300ms ${n?"ease-out":"ease-in"}`,pointerEvents:n?"none":"auto",align:"center",gap:2,children:[jsxRuntime.jsx(react.Text,{style:{fontSize:"1.2rem",height:"24px"},children:t}),jsxRuntime.jsx(react.Switch,{size:"md",isChecked:e,onChange:l=>{a(true);let s=Date.now();o(l.target.checked).catch(d=>{console.error(d),r({title:"Error",description:d?.message??"Error occurred",status:"error",duration:5e3,isClosable:true});}),i(s);}})]}),jsxRuntime.jsx(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%",children:jsxRuntime.jsx(ge,{})})]})};var ao={damping:25,stiffness:200,bounce:.5},K=75,J=100;var tn=e=>e==="current"?1:0,Rs=(e,t)=>{let{width:o}=t;return e==="current"?0:e==="next"?o:e==="prev"?-o:0},lo=(e,t)=>{let{height:o}=t;return e==="current"?0:e==="next"?o*1.1:e==="prev"?-o*1.1:0},on=({id:e,collectionPath:t,onItemLoad:o,RenderItem:r,status:n,offsetY:a,enterStatus:i})=>{let l=react$1.useMobileFrame(),s=framerMotion.useSpring(0,ao),d=framerMotion.useMotionValue(lo(i??"next",l)),p=framerMotion.useTransform(()=>d.get()+a.get()),u=framerMotion.useSpring(p,ao),c=Wa.useMemo(()=>`${t}/${e}`,[t,e]),{data:m}=react$1.useDocument(c,o),f=Wa.useRef({contentSize:l,status:i??n,y:lo(i??n,l),scale:tn(i??n)});return Wa.useEffect(()=>{let g=tn(n),h=Rs(n,l);d.set(h),s.set(g);},[n,d,s,l]),jsxRuntime.jsx(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:u,scale:s,opacity:s,width:"100%"},exit:{opacity:0,scale:0,x:0,y:lo(i==="next"?"prev":"next",l)},children:m?r(m):null})};var Os=10,nn=(e,t,o=Os,r=false)=>{let[n,a]=Wa.useState([null,null,null]),[i,l]=Wa.useState(0),s=react$1.useAuth(P=>P.user),[d,p]=Wa.useState(false),[u,c]=Wa.useState(false),[m,f]=Wa.useState(null),[g,h]=Wa.useState(false),[x,b]=Wa.useState(null),C=react.useToast(),F=Wa.useRef(null),w=Wa.useRef({prev:null,curr:null,next:null}),I=Wa.useCallback(P=>{P&&(w.current.prev===P&&(w.current.prev=null),w.current.next===P&&(w.current.next=null)),w.current.curr=P,t({...w.current});},[t]),A=Wa.useCallback(P=>{P&&(w.current.prev===P&&(w.current.prev=null),w.current.curr===P&&(w.current.curr=null)),w.current.next=P,t({...w.current});},[t]),O=Wa.useCallback(P=>{P&&(w.current.curr===P&&(w.current.curr=null),w.current.next===P&&(w.current.next=null)),w.current.prev=P,t({...w.current});},[t]),M=Wa.useCallback(async(P,D,T)=>{if(!s&&r)return [];T||p(true);try{let v=await e({limit:o,startAfter:D,startBefore:P});if(T)D?a(R=>[R[0],R[1],v.ids]):P&&a(R=>[v.ids,R[1],R[2]]);else {let R=v.ids[0],Q=v.ids[1]||null;I(R),A(Q),O(D),a(D?G=>[G[1],v.ids,null]:P?G=>[null,v.ids,G[1]]:[null,v.ids,null]);let N=v.ids[v.ids.length-1];N&&M(null,N,!0);}return p(!1),v.ids||[]}catch(v){f(v.message),C({title:"Error fetching feed",description:v.message,status:"error",duration:9e3,isClosable:true});}return p(false),[]},[e,C,s,r,I,A,O,o]),L=Wa.useCallback(async(P,D)=>{let T=n[1]??[],v=n[2]??[],R=P+1;if(R<T.length)return {id:T[R],idx:R};if(v[0]){let G=v[v.length-1];return D||(a(nr=>[nr[1],nr[2],null]),M(null,G,true)),{id:v[0],idx:0}}let N=(await M(null,T[T.length-1],D))[0];return N?{id:N,idx:0}:null},[n,M]),_=Wa.useCallback(async(P,D)=>{let T=n[1]??[],v=n[0]??[],R=P-1;if(R>=0)return {id:T[R],idx:R};if(v[v.length-1]){let G=v[0];return D||(a([null,n[0],n[1]]),M(G,null,true)),{id:v[v.length-1],idx:v.length-1}}let Q=await M(T[0],null,D),N=Q[Q.length-1];return N?{id:N,idx:Q.length-1}:null},[n,M]),B=Wa.useCallback(async()=>{if(g)return;let P=w.current.curr;h(true);let D=await L(i,false);if(b("next"),D){let{id:T,idx:v}=D;F.current=T,l(v),I(T),A(null),O(P),L(v,true).then(R=>A(R?.id??null));}else C({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,L,I,A,O,C,g]),W=Wa.useCallback(async()=>{if(g)return;let P=w.current.curr;b("prev"),h(true);let D=await _(i,false);if(D){let{id:T,idx:v}=D;F.current=T,l(v),I(T),O(null),A(P),_(v,true).then(R=>O(R?.id??null));}else C({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,_,I,A,O,C,g]),ne=Wa.useCallback(async()=>{p(true),c(true),a([null,null,null]),I(null),A(null),O(null),b(null),l(0),await M(null,null,false),c(false);},[M,I,A,O]),[Ce]=Wa.useState(()=>M);Wa.useEffect(()=>{Ce(null,null,false);},[Ce]);let Fe=Wa.useMemo(()=>i>0&&!!n[1]?.length||!!n[0]?.length,[n,i]),ue=Wa.useMemo(()=>(n[1]&&i<n[1].length)??!!n[2]?.length,[n,i]);return Wa.useMemo(()=>({ids:n,goNext:B,goPrev:W,error:m,refresh:ne,refreshing:u,loading:d,canGoNext:ue,direction:x,canGoPrev:Fe,itemLoading:g}),[n,B,W,d,m,g,ue,Fe,ne,u,x])};var Es="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",ut=({background:e,...t})=>jsxRuntime.jsx(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??Es})`,backgroundSize:"cover",backgroundPosition:"center",...t,filter:t.filter??"blur(15px) brightness(70%)"}),zs=({getBackgroundValue:e,item:t,filter:o})=>{let r=Wa.useMemo(()=>t?e(t):null,[e,t]),{loading:n,url:a}=react$1.useObjectUrl(r),i=Wa.useRef(0),[l,s]=Wa.useState(0),[d,p]=Wa.useState(null),[u,c]=Wa.useState(null);return Wa.useEffect(()=>{i.current===0?(p(a),i.current=1,s(0)):(c(a),i.current=0,s(1));},[a]),jsxRuntime.jsxs(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsxRuntime.jsx(ut,{filter:o,opacity:l===0?1:0,background:d}),jsxRuntime.jsx(ut,{filter:o,opacity:l===1?1:0,background:u}),jsxRuntime.jsx(fe,{isLoading:n})]})},Hs=({getBackgroundUrl:e,item:t,filter:o})=>{let r=Wa.useMemo(()=>t?e(t):null,[e,t]),n=Wa.useRef(0),[a,i]=Wa.useState(0),[l,s]=Wa.useState(null),[d,p]=Wa.useState(null);return Wa.useEffect(()=>{r&&(n.current===0?(s(r),n.current=1,i(0)):(p(r),n.current=0,i(1)));},[r]),jsxRuntime.jsxs(react.Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsxRuntime.jsx(ut,{filter:o,opacity:a===0?1:0,background:l}),jsxRuntime.jsx(ut,{filter:o,opacity:a===1?1:0,background:d})]})},cn=({getBackgroundValue:e,getBackgroundUrl:t,...o})=>e?jsxRuntime.jsx(zs,{getBackgroundValue:e,...o}):t?jsxRuntime.jsx(Hs,{getBackgroundUrl:t,...o}):null;var Ws=J-K,mn=({offsetY:e,refreshing:t,canRefresh:o})=>{let r=framerMotion.useTransform(e,d=>Math.max(0,d-K)/Ws),n=framerMotion.useSpring(0),a=framerMotion.useSpring(0);Wa.useEffect(()=>{t?n.set(50):n.set(0);},[t,n]),Wa.useEffect(()=>{o?a.set(1):a.set(0);},[a,o]);let i=framerMotion.useTransform(()=>a.get()*Math.min(20,Math.max(0,n.get()+r.get()**.5*20))),l=framerMotion.useTransform(i,d=>a.get()*Math.min(1,Math.max(0,d/30))),s=framerMotion.useTransform(()=>a.get()*r.get()*180);return jsxRuntime.jsx(framerMotion.motion.div,{style:{opacity:l,pointerEvents:"none",y:i,position:"absolute",top:0,left:0,right:0,height:"auto",scale:l,rotate:s},children:jsxRuntime.jsxs(react.Center,{w:"100%",children:[jsxRuntime.jsx(icons.RepeatIcon,{opacity:t?0:1,transition:`opacity 300ms ease ${t?0:300}ms`,w:8,h:8,color:"white",filter:"drop-shadow(1px 1px 3px #000000aa)"}),jsxRuntime.jsx(dt,{size:8,position:"absolute",isIndeterminate:true,opacity:t?1:0,transition:`opacity 300ms ease ${t?300:0}ms`})]})})};var Xs=e=>Wa.useCallback(t=>{let o=[];t.prev&&o.push({status:"prev",id:t.prev}),t.curr&&o.push({status:"current",id:t.curr}),t.next&&o.push({status:"next",id:t.next}),e(o);},[e]),$x=({fetch:e,collection:t,RenderItem:o,authRequired:r,getBackgroundUrl:n,getBackgroundValue:a,limit:i,defaultBackground:l,swipeDisabled:s,children:d})=>{let{width:p,height:u}=react$1.useMobileFrame(),c=Wa.useRef(null),m=Wa.useRef(null),[f,g]=Wa.useState(null),[h,x]=Wa.useState([]),b=framerMotion.useMotionValue(0),C=Xs(x),F=Wa.useRef(null),{goNext:w,goPrev:I,loading:A,canGoNext:O,canGoPrev:M,refresh:L,refreshing:_}=nn(e,C,i,r),B=Wa.useRef(false),W=Wa.useRef({x:0,y:0}),ne=Wa.useCallback(T=>{if(s)return;B.current=true,W.current={x:T.clientX,y:T.clientY};let v=R=>{let Q=M?K:J,N=O?-75:-100,G=Math.max(N,Math.min(Q,R.clientY-W.current.y));c.current&&c.current.style.setProperty("pointer-events","auto"),O&&G<-65?(g("next"),w()):M&&G>K-10?(g("prev"),I()):(G>J-10||G<-90)&&(L(),F.current&&F.current.onNewData(null)),b.set(0),B.current=false,window.removeEventListener("pointerup",v);};window.addEventListener("pointerup",v);},[b,w,I,O,M,L,s]),Ce=Wa.useCallback(T=>{requestAnimationFrame(()=>{if(B.current){let v=Math.max(-10,Math.min(10,T.clientX-W.current.x)),R=M?K:J,Q=O?-75:-100,N=Math.max(Q,Math.min(R,T.clientY-W.current.y));Math.sqrt(v**2+N**2)>10&&c.current&&c.current.style.setProperty("pointer-events","none"),b.set(N);}});},[b,O,M]),Fe=Wa.useMemo(()=>({height:`${u}px`,width:`${p}px`,overflow:"hidden",pointerEvents:s?"none":"auto"}),[p,u,s]),[ue,P]=Wa.useState(null),D=Wa.useCallback(T=>{h.find(R=>R.status==="current")?.id===T?._id&&P(T);},[h]);return jsxRuntime.jsx(Wr,{curr:ue,children:jsxRuntime.jsxs(react.Center,{background:l??"background.100",style:{touchAction:"none"},userSelect:"none",position:"relative",w:"100%",h:"100%",overflow:"hidden",onPointerDown:ne,onPointerMove:Ce,children:[jsxRuntime.jsx(cn,{item:ue,getBackgroundValue:a,getBackgroundUrl:n}),jsxRuntime.jsx("div",{ref:m,style:Fe,children:jsxRuntime.jsx(react.Center,{ref:c,h:"100%",w:"100%",children:h.map(T=>jsxRuntime.jsx(on,{id:T.id,collectionPath:t,RenderItem:o,onItemLoad:D,status:T.status,enterStatus:f,offsetY:b},T.id))})}),jsxRuntime.jsx(mn,{canRefresh:!M,refreshing:_,offsetY:b}),jsxRuntime.jsx(Ie,{inFeed:true,zIndex:2,bg:"transparent",pointerEvents:"none",isLoading:A}),d?jsxRuntime.jsx(react.Center,{position:"absolute",bottom:"0",left:"0",right:"0",zIndex:3,pointerEvents:"none",children:d}):null]})})};var gt=({path:e,condition:t,children:o})=>{let r=reactHookForm.useWatch({exact:true,name:e});return Wa.useMemo(()=>t(r),[r,t])?jsxRuntime.jsx(j,{py:"3px",animateOpacity:true,in:true,children:o}):null};var oc=({field:e,input:{onChange:t,value:o,...r}},n)=>{let{placeholder:a}=e;return Wa.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsx(react.Checkbox,{isChecked:o,onChange:i=>t(i.target.checked),...r,children:a})},rc=Wa.forwardRef(oc),nc=({field:e,input:{onChange:t,value:o,...r}},n)=>{let{placeholder:a}=e;return Wa.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(react.Flex,{gap:1,align:"center",children:[jsxRuntime.jsx(react.Switch,{isChecked:o,onChange:i=>t(i.target.checked),...r}),jsxRuntime.jsx(react.Text,{fontWeight:600,opacity:o?.9:.6,children:a})]})},ic=Wa.forwardRef(nc),ac=(e,t)=>e.field.type==="switch"?jsxRuntime.jsx(ic,{ref:t,...e}):jsxRuntime.jsx(rc,{ref:t,...e}),gn=Wa.forwardRef(ac);var ht=(e,t,o)=>{let r=Wa.useRef(null);return Wa.useImperativeHandle(e,()=>({focus:(()=>r.current?.focus()),blur:(()=>r.current?.blur())})),r};var go=({children:e,color:t,background:o,boxProps:r,...n})=>jsxRuntime.jsx(react.Box,{background:o,...r,children:jsxRuntime.jsx(react.Text,{cursor:"default",className:"gradient-text",background:t,...n,children:e})});var bt=({label:e,stackProps:t,gradient:o,value:r,min:n,max:a,...i})=>{let l=o?core.gradientToCssGradientProp(o):null;return jsxRuntime.jsx(react.HStack,{opacity:r!==void 0?1:.5,_hover:{opacity:1},transition:"all 500ms",spacing:2,width:"100%",align:"center",...t,children:jsxRuntime.jsxs(react.HStack,{w:"100%",align:"center",children:[n!==void 0&&l?jsxRuntime.jsx(go,{fontSize:"sm",color:l,children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,n!==void 0&&!l?jsxRuntime.jsx(react.Text,{children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,jsxRuntime.jsxs(react.Slider,{min:n,max:a,step:1,"aria-label":e,flex:1,...i,children:[jsxRuntime.jsx(react.SliderTrack,{bg:"gray.400",children:jsxRuntime.jsx(react.SliderFilledTrack,{bg:l??"blackAlpha.500"})}),jsxRuntime.jsx(react.Tooltip,{bg:"gray.100",color:"gray.500",placement:"top",hasArrow:true,label:typeof r=="number"?r.toFixed(0):"",children:jsxRuntime.jsx(react.SliderThumb,{width:2,height:4})})]}),a!==void 0&&l?jsxRuntime.jsx(go,{fontSize:"sm",color:l,children:typeof a=="number"?a.toFixed((i?.step??1)<1?2:0):""}):null,a!==void 0&&!l?jsxRuntime.jsx(react.Text,{children:typeof a=="number"?a.toFixed((i?.step??1)<1?2:0):""}):null]})})};var yt=({label:e,stackProps:t,gradient:o,value:r,...n})=>jsxRuntime.jsx(bt,{label:e,value:r,min:0,step:1,max:255,stackProps:{width:"100%",...t},gradient:o,...n}),Cn=Wa.forwardRef(({input:{onChange:e,value:t},field:o,meta:r},n)=>{let{withAlpha:a,defaultValue:i}=o,{active:l}=r||{};ht(n);let s=Wa.useCallback((u,c)=>{e(a?{r:0,g:0,b:0,a:1,...t,[u]:c}:{r:0,g:0,b:0,...t,[u]:c});},[t,e,a]),d=Wa.useMemo(()=>({...i,...t}),[i,t]),p=Wa.useMemo(()=>core.colorValueToHex(!!a,d),[d,a]);return jsxRuntime.jsxs(react.HStack,{w:"100%",children:[jsxRuntime.jsx(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",children:jsxRuntime.jsx(react.Center,{transition:"background 300ms",bg:p,width:"80px",h:"80px",borderRadius:"full",children:jsxRuntime.jsx(react.Text,{style:{fontSize:"1.3rem"},children:p})})}),jsxRuntime.jsxs(react.VStack,{spacing:1,flex:1,px:2,align:"flex-start",borderRadius:6,transition:"all 400ms",boxShadow:`0 0 5px ${l?"#ffffff":"transparent"}`,children:[jsxRuntime.jsx(yt,{label:"R",gradient:core.gradients.red,defaultValue:i.r,value:t?.r,onChange:u=>s("r",u)}),jsxRuntime.jsx(yt,{label:"G",defaultValue:i.g,gradient:core.gradients.green,value:t?.g,onChange:u=>s("g",u)}),jsxRuntime.jsx(yt,{label:"B",gradient:core.gradients.blue,defaultValue:i.b,value:t?.b,onChange:u=>s("b",u)}),a?jsxRuntime.jsx(yt,{label:"A",gradient:core.gradients.midnight,defaultValue:1,value:t?.a,onChange:u=>s("a",u)}):null]})]})});var ho=(e,t)=>{let o=`${e}`;for(let r=o.length;r<t;r+=1)o=`0${o}`;return o},xo=e=>e?`${ho(e.getFullYear(),4)}-${ho(e.getMonth()+1,2)}-${ho(e.getDate(),2)}`:void 0,Ue=Wa.forwardRef((e,t)=>{let{input:o,field:{placeholder:r,minDate:n,maxDate:a,optional:i},meta:{active:l}}=e,{onChange:s,value:d,onFocus:p,onBlur:u}=o,c=Wa.useMemo(()=>d?new Date(`${d}T00:00:00.000`):new Date,[d]),m=Wa.useMemo(()=>{let f=[];return n!==void 0&&f.push({to:n==="now"?new Date:new Date(n),from:new Date(0)}),a!==void 0&&f.push({from:a==="now"?new Date:new Date(a),to:new Date(1/0)}),f},[n,a]);return Wa.useImperativeHandle(t,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(react.Popover,{isOpen:l,onOpen:p,onClose:u,closeDelay:100,placement:"bottom",children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsxs(react.Button,{w:"100%",fontFamily:"Public Sans",fontWeight:"normal",alignItems:"center",_hover:{bg:"#efefef"},lineHeight:1,variant:"outline",children:[jsxRuntime.jsx(react.Text,{fontSize:"md",height:"16px",align:"left",flex:1,children:d?core.getDateString(d,"short"):r}),jsxRuntime.jsx(react.Image,{src:"/svg/calendar.svg",height:"20px"})]})}),jsxRuntime.jsx(react.Portal,{children:jsxRuntime.jsxs(react.PopoverContent,{zIndex:2,onFocus:p,children:[jsxRuntime.jsx(react.PopoverArrow,{}),jsxRuntime.jsx(reactDayPicker.DayPicker,{required:!i,disabled:m,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:c,onSelect:f=>s(xo(f))})]})})]})});Ue.displayName="DateInput";var Ye=Wa.forwardRef(({field:e,input:t},o)=>(Wa.useImperativeHandle(o,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsx(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,...t,value:t.value??""})));Ye.displayName="TimeInput";var Xc=e=>{if(!e)return {date:void 0,time:void 0};let t=new Date(e);return {date:bo(t),time:t.toTimeString().substring(0,5)}},yo=Wa.forwardRef(({input:{value:e,onBlur:t,onChange:o,onFocus:r}},n)=>{let[{date:a,time:i},l]=Wa.useState(Xc(e)),[s,p]=Wa.useState(null),d=Wa.useCallback((c,m)=>{c==="date"?(l({date:m,time:i}),m&&i&&o(new Date(`${m}T${i}`).getTime())):(l({time:m,date:a}),m&&a&&o(new Date(`${a}T${m}:00.000`).getTime()));},[a,i,o]);Wa.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}}));let u=Wa.useMemo(()=>({active:s==="date",error:void 0,touched:false}),[s]);return jsxRuntime.jsxs(react.HStack,{w:"100%",children:[jsxRuntime.jsx(Ue,{field:{_type:"date",placeholder:"Date"},input:{value:a,onChange:c=>{d("date",c);},onBlur:()=>{p(null),t();},onFocus:()=>{p("date"),r();}},meta:u}),jsxRuntime.jsx(Ye,{field:{_type:"time",placeholder:"Time"},input:{value:i,onChange:c=>d("time",c.target.value),onBlur:()=>{p(null),t();},onFocus:()=>{p("time"),r();}},meta:u})]})});yo.displayName="DateTimeInput";var Xe=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:()=>{}}})),In=()=>{let{media:e,playlist:t}=Xe();return Wa.useMemo(()=>t?t.currentId!==null?t.items.find(o=>o.id===t.currentId)??null:null:e,[t,e])};var kn=({media:e,size:t=50,opacity:o=.8,buttonProps:r})=>{let{id:n}=e??{},{playlist:a}=react$1.usePlaylist(),i=Xe(c=>c.api),l=Xe(c=>c.isPlaying),s=Xe(c=>c.isLoading),p=In(),d=l&&p?.id===n,u=s&&p?.id===n;return jsxRuntime.jsx(react.IconButton,{boxShadow:"md",p:1,height:`${t}px`,width:`${t}px`,minW:"0",minH:"0",borderRadius:"full",isLoading:u,"aria-label":"play/pause",onClick:c=>{c.stopPropagation(),e&&(p?.id===n?l?i.pause():i.play():a?i.setMedia({playlist:{...a,currentId:n??null}}):i.setMedia({media:e}));},style:{background:"#eee"},...r,icon:jsxRuntime.jsxs(react.Center,{borderRadius:"full",height:`${t}px`,width:`${t}px`,children:[jsxRuntime.jsx(react.Image,{opacity:d?o: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(${d?.8:1})`}),jsxRuntime.jsx(react.Image,{position:"absolute",width:"100%",opacity:d?0:o,transition:"all 0.2s ease-in-out",filter:"invert(100%) drop-shadow(0 0 3px black)",src:"/svg/play.svg",transform:`scale(${d?1:.8})`})]})})};var up=e=>{if(!e.accept)return;let t=[];return e.accept.includes("image")&&t.push("image/jpg","image/jpeg","image/png","image/svg","image/gif"),e.accept.includes("pdf")&&t.push("application/pdf"),e.accept.includes("audio")&&t.push("audio/mp3","audio/wav","audio/x-wav","audio/webm","audio/ogg"),t.join(",")},mp=({hasUpload:e,value:t,noLabel:o})=>{let r=Wa.useMemo(()=>({id:core.generateId(),title:t.filename||"Uploaded file",artistName:"",artistId:"",storageDir:"",producerId:"",songwriterId:""}),[t]);return jsxRuntime.jsxs(react.VStack,{children:[jsxRuntime.jsxs(react.HStack,{spacing:4,children:[jsxRuntime.jsx(kn,{withThumbnail:true,media:r}),e?jsxRuntime.jsx(react.IconButton,{w:"40px",h:"40px",p:2,borderRadius:"full",boxShadow:"0 0 4px black","aria-label":"upload",icon:jsxRuntime.jsx(react.Image,{filter:"invert(100%)",src:"/svg/upload.svg",opacity:.8})}):null]}),!o&&t.filename?jsxRuntime.jsx(react.Text,{fontSize:"md",children:t.filename||"Uploaded file"}):null]})},fp=({value:e,options:t,hasUpload:o,loading:r})=>{let[n,a]=Wa.useState(false),{url:i,loading:l}=react$1.useObjectUrl(e),[s,p]=Wa.useState({width:0,height:0}),{shape:d,placeholder:u,objectFit:c,noFullView:m,background:f}=t??{},{src:g,opacity:h,scale:b}=u??{},x=react$1.useImageSize(t,s),{width:C,height:F}=x??{},w=Wa.useMemo(()=>n?i?1:h??.8:0,[n,i,h]),I=Wa.useMemo(()=>i?{objectFit:c??(n&&d?"cover":"contain"),onLoad:L=>{a(true),p({width:L.currentTarget.naturalWidth,height:L.currentTarget.naturalHeight});}}:{width:x?`${x.width*(b??.9)}px`:"auto",height:x?`${x.height*(b??.9)}px`:"80px"},[i,x,b,n,d,c]),A=!!r||l,O=typeof C=="number"?`${C}px`:"auto",M=typeof F=="number"?`${F}px`:"100px";return jsxRuntime.jsx(qr,{width:O,height:M,noFullView:o??m,overflow:"hidden",borderRadius:d==="circle"?"full":4,boxShadow:d?"1px 1px 3px #00000066":"none",opacity:w,background:f,transition:"opacity 333ms ease",loadingOverride:A,imageProps:I,src:i??g})},gp={txt:"/icons/description.svg",pdf:"/icons/pdf.svg",zip:"/icons/zip.svg","7z":"/icons/zip.svg",rar:"/icons/zip.svg"},hp=({value:e})=>{let t=Wa.useMemo(()=>{if(!e)return "";let n=e.filename.split(".");return n[n.length-1]},[e]),o=gp[t],r=react.useColorModeValue("invert(0)","invert(1)");return o?jsxRuntime.jsx(react.Image,{filter:t!=="pdf"?r:"none",h:"24px",src:o}):null},xp=({value:e,noLabel:t,imageOptions:o,loading:r,hasUpload:n})=>{switch(Wa.useMemo(()=>e.type?.split("/")?.[0],[e])){case "image":return jsxRuntime.jsx(fp,{hasUpload:n,loading:r,options:o,value:e});case "audio":return jsxRuntime.jsx(mp,{noLabel:t,value:e,hasUpload:n});case "pdf":return jsxRuntime.jsx(react.Image,{src:"/icons/pdf.svg"});default:return jsxRuntime.jsxs(react.Flex,{gap:2,children:[jsxRuntime.jsx(hp,{value:e}),jsxRuntime.jsx(react.Text,{children:e.filename})]})}},bp=({hasUpload:e,imageOptions:t})=>{let o=react$1.useImageSize(t),{shape:r,placeholder:n}=t??{},{src:a,scale:i,opacity:l}=n??{},{width:s,height:p}=o??{},d=react.useColorModeValue("invert(0)","invert(1)"),u=react.useColorModeValue("whiteAlpha.500","whiteAlpha.100"),c=H(),m=t?jsxRuntime.jsx(react.Center,{height:r?`${p}px`:"auto",width:r?`${s}px`:"auto",bg:r?u:"transparent",borderRadius:r==="circle"?"full":4,overflow:"hidden",boxShadow:r?"1px 1px 4px #00000055":"none",children:jsxRuntime.jsx(react.Image,{filter:d,opacity:l,height:typeof p=="number"?`${p*(i??.6)}px`:"50px",src:a??"/icons/image.svg"})}):jsxRuntime.jsx(react.Text,{border:"1px dashed",borderColor:c,p:3,fontSize:"sm",textAlign:"center",w:"100%",opacity:.8,children:e?"Click to upload or drop file here":"No file uploaded"});return jsxRuntime.jsx(react.Center,{width:typeof s=="number"?`${s}px`:"auto",height:typeof p=="number"?`${p}px`:"auto",children:m})},Ft=({value:e,hasUpload:t,noLabel:o,loading:r,imageOptions:n})=>{let{storagePath:a,dataUrl:i}=e??{},l=Wa.useMemo(()=>!i&&!a,[i,a]);return !e||l?jsxRuntime.jsx(bp,{hasUpload:t,imageOptions:n}):jsxRuntime.jsx(xp,{loading:r,imageOptions:n,noLabel:o,hasUpload:t,value:e})},Co=Wa.forwardRef(({input:{value:e,onChange:t},field:o},r)=>{let{imageOptions:n}=o||{},a=Wa.useRef(null),i=Wa.useCallback(p=>{let d=p.target.files?.[0];d&&(e?.dataUrl&&URL.revokeObjectURL(e.dataUrl),t({...e,dataUrl:URL.createObjectURL(d),type:d.type,filename:d.name}));},[t,e]);Wa.useImperativeHandle(r,()=>({focus:()=>{a.current?.click();},blur:()=>{a.current?.blur();}}));let l=Wa.useMemo(()=>o.accept&&o.accept.length===1&&o.accept[0]==="image",[o]),s=Wa.useMemo(()=>l||e?.type?.startsWith("image/")||e?.type?.startsWith("video/")?{height:120,...n,objectFit:"contain"}:void 0,[n,l,e]);return jsxRuntime.jsxs(react.Center,{flexFlow:"column",position:"relative",cursor:"pointer",onClick:()=>a.current?.click(),width:"100%",children:[jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.8,mb:1,children:o.placeholder}),jsxRuntime.jsxs(react.Center,{width:"100%",position:"relative",p:2,overflow:"hidden",children:[jsxRuntime.jsx(Ft,{hasUpload:true,imageOptions:s,value:e}),jsxRuntime.jsx("input",{onChange:i,ref:a,accept:up(o),type:"file",style:{position:"absolute",pointerEvents:"none",height:.1,width:.1,opacity:0}})]})]})});Co.displayName="FileComponent";var Bn=Wa.forwardRef(({field:e,input:t,inEditable:o},r)=>{let{options:n,renderOption:a,getOptionKey:i}=e,{onChange:l,value:s,onFocus:p,onBlur:d}=t,{colorMode:u}=react.useColorMode();Wa.useImperativeHandle(r,()=>({focus:()=>{p();},blur:()=>{d();}}));let c=jsxRuntime.jsx(react.Flex,{w:"100%",flexFlow:"row wrap",children:n.map(m=>jsxRuntime.jsx(react.Box,{p:.5,children:jsxRuntime.jsx(react.Button,{w:"100%",minH:0,size:"xs",p:0,opacity:s?.includes(m)?1:.7,variant:"unstyled",onClick:f=>{f.stopPropagation(),l(s?.includes(m)?s.filter(g=>g!==m):[...s??[],m]);},_hover:{opacity:.8},children:a(m,u,!!s?.includes(m))})},i?i(m):m))});return o?jsxRuntime.jsxs(react.Flex,{py:.5,flexFlow:"column",w:"100%",children:[jsxRuntime.jsx(react.Text,{lineHeight:1,px:2,opacity:.8,fontSize:"sm",fontWeight:600,children:e.placeholder}),c]}):c});var Tp={xs:.25,sm:.35,md:.5,lg:.5,xl:.5},kp={xs:.5,sm:.75,md:.75,lg:.75,xl:.75},Rp=e=>{let t=Tp[e],o=kp[e];return `${t}rem ${o}rem`},Lp={xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},An=e=>Wa.useMemo(()=>({padding:Rp(e??"md"),fontSize:Lp[e??"md"]}),[e]);var So=Wa.forwardRef(({input:{onChange:e,value:t,...o},field:r,size:n,prefix:a,inEditable:i,...l},s)=>{let{type:p,defaultValue:d,placeholder:u}=r,c=react.useColorModeValue("number-input","number-input-dark"),m=An(n),f=ht(s),[g,h]=Wa.useState(""),b=typeof t=="number"&&!Number.isNaN(t)?`${t}${g}`:"";return p==="slider"?jsxRuntime.jsx(xt,{label:u,onChange:e,value:t,defaultValue:d}):jsxRuntime.jsx(Dp__default.default,{className:c,placeholder:r.placeholder,decimalsLimit:r.precision,allowDecimals:!!r.precision,prefix:a,ref:f,onValueChange:(x,C,F)=>{x?.endsWith(".")?h("."):x?.includes(".")&&x?.endsWith("0")?h("0"):h(""),e(F?.float);},value:b,...l,style:{background:"none",resize:"none",fontFamily:"Encode Sans",boxSizing:"border-box",width:"100%",borderRadius:"4px",border:"none",outline:"none",...m,...l.style},...o})}),Ep=({field:e,...t},o)=>{let r=Wa.useRef(null);return Wa.useImperativeHandle(o,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}})),jsxRuntime.jsx(So,{prefix:"$",field:{...e,_type:"number"},...t})},Dn=Wa.forwardRef(Ep);var zn=({value:e,field:t})=>{let o=Wa.useMemo(()=>{if(e===""||e===void 0||e===null)return 1;switch(t._type){case "text":case "number":case "select":case "date":case "time":case "datetime":return -1;default:return 1}},[e,t]);return jsxRuntime.jsx(react.Flex,{transition:"top 300ms",top:o,position:"absolute",right:3,children:jsxRuntime.jsx(react.Text,{fontSize:"xs",opacity:.6,children:"OPTIONAL"})})};var qp=e=>jsxRuntime.jsx(react.Text,{children:typeof e=="string"?e:JSON.stringify(e)}),_n=Wa.forwardRef(({field:e,input:t,meta:o},r)=>{let{placeholder:n,options:a,renderOption:i,getOptionKey:l}=e,{onChange:s,value:p,onFocus:d,onBlur:u}=t,{active:c}=o,m=Wa.useMemo(()=>p&&a.find(h=>h===p),[p,a]),{colorMode:f}=react.useColorMode();Wa.useImperativeHandle(r,()=>({focus:()=>{d();},blur:()=>{u();}}));let g=i??qp;return jsxRuntime.jsxs(react.Popover,{strategy:"fixed",placement:"bottom",matchWidth:true,isOpen:c,onClose:u,children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.Button,{fontWeight:500,w:"100%",opacity:p?1:.7,onClick:h=>{h.stopPropagation(),d();},variant:"unstyled",position:"relative",children:jsxRuntime.jsx(react.Box,{children:m?g(m,f,true):n})})}),jsxRuntime.jsxs(react.PopoverContent,{w:"100%",overflowY:"auto",maxH:"300px",children:[jsxRuntime.jsx(react.PopoverBody,{p:0,children:a.map(h=>jsxRuntime.jsx(react.Button,{w:"100%",variant:"unstyled",onClick:b=>{b.stopPropagation(),s(h),u();},_hover:{bg:"blackAlpha.100"},_dark:{_hover:{bg:"whiteAlpha.100"}},children:g(h,f,h===m)},l?l(h):h))}),jsxRuntime.jsx(react.PopoverArrow,{})]})]})});var dd="/icons/facebook.svg",ud="/icons/instagram.svg",md="/icons/soundcloud.svg",fd="/icons/twitter.svg",gd="/icons/youtube.svg",hd={facebook:dd,instagram:ud,twitter:fd,youtube:gd,soundcloud:md},je=({site:e,value:t,onChange:o})=>{let{handle:r,error:n}=Wa.useMemo(()=>{try{return {handle:core.getHandle(e,t)}}catch(i){return {error:i?.message??"Error parsing handle"}}},[t,e]),a=Wa.useMemo(()=>r?`${e.toUpperCase()}: ${r}`:e.toUpperCase(),[e,r]);return jsxRuntime.jsxs(react.Popover,{trigger:"hover",children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.Center,{opacity:r?1:.6,borderRadius:"full",width:"34px",height:"34px",children:jsxRuntime.jsx(react.Image,{cursor:"pointer",filter:`grayscale(${r?0:100}%)`,height:"24px",width:"24px",objectFit:"contain",src:hd[e]})})}),jsxRuntime.jsx(react.PopoverContent,{w:"auto",children:jsxRuntime.jsx(react.PopoverBody,{overflow:"hidden",borderRadius:4,p:0,w:"auto",children:jsxRuntime.jsxs(react.VStack,{spacing:0,p:2,w:"300px",align:"flex-start",children:[jsxRuntime.jsx(react.Text,{fontSize:"md",children:a}),jsxRuntime.jsx(react.Collapse,{in:!!n,style:{width:"100%"},children:jsxRuntime.jsx(react.Text,{px:1,bg:"red.500",fontSize:"sm",color:"white",children:n})}),jsxRuntime.jsx(react.Input,{onChange:i=>o(i.target.value),placeholder:"Handle or URL",width:"100%",value:t,size:"md"})]})})})]})},To=Wa.forwardRef((e,t)=>{let{input:{value:o,onChange:r},field:{sites:n}}=e,a=Wa.useCallback((i,l)=>{let{[i]:s,...p}=o??{};!l&&Object.keys(p).length===0&&r({target:{value:void 0}}),l||r(p),r({...p,[i]:l});},[r,o]);return Wa.useImperativeHandle(t,()=>({blur:()=>{},focus:()=>{}})),jsxRuntime.jsx(react.VStack,{w:"100%",p:1,children:jsxRuntime.jsxs(react.VStack,{borderRadius:4,p:2,spacing:0,w:"100%",children:[jsxRuntime.jsx(react.Text,{fontSize:"md",children:"Links"}),jsxRuntime.jsxs(react.HStack,{children:[!n||n.facebook?jsxRuntime.jsx(je,{onChange:i=>a("facebook",i),site:"facebook",value:o?.facebook}):null,!n||n.instagram?jsxRuntime.jsx(je,{onChange:i=>a("instagram",i),site:"instagram",value:o?.instagram}):null,!n||n.twitter?jsxRuntime.jsx(je,{onChange:i=>a("twitter",i),site:"twitter",value:o?.twitter}):null,!n||n.youtube?jsxRuntime.jsx(je,{onChange:i=>a("youtube",i),site:"youtube",value:o?.youtube}):null,!n||n.soundcloud?jsxRuntime.jsx(je,{onChange:i=>a("soundcloud",i),site:"soundcloud",value:o?.soundcloud}):null]})]})})});To.displayName="SocialMediaComponent";var ko=Wa.forwardRef(({input:e,field:t,inEditable:o},r)=>{let n=react$1.useTextColor(),a=Wa.useRef(null);return Wa.useImperativeHandle(r,()=>({focus:()=>{a.current?.focus();},blur:()=>{a.current?.blur();}})),jsxRuntime.jsx(vd__default.default,{placeholder:t.placeholder,minRows:2,maxRows:5,ref:a,style:{resize:"none",width:"100%",color:n,background:"none",fontFamily:"fonts.body",boxSizing:"border-box",borderRadius:"4px",padding:o?0:"0.6rem 1rem",border:"none",outline:"none"},...e})});ko.displayName="TextAreaComponent";var Ro=Wa.forwardRef(({input:e,inEditable:t,meta:o,field:r},n)=>{let{placeholder:a,type:i}=r,[l,s]=Wa.useState(i==="password"),{value:p}=e,d=Wa.useRef(null);Wa.useImperativeHandle(n,()=>({focus:()=>{d.current?.focus();},blur:()=>{d.current?.blur();}}));let u=i==="textarea"?jsxRuntime.jsx(ko,{inEditable:t,field:r,input:e,meta:o}):jsxRuntime.jsx(react.Input,{ref:d,border:"none",_dark:{border:"none"},borderRadius:0,px:t?0:3,background:"transparent",_focus:{border:"none"},py:t?0:.5,type:l?"password":"text",height:t?"auto":10,placeholder:a,...e,onChange:c=>{e.onChange({target:{value:c.target.value}});},value:p??""});return i==="password"?jsxRuntime.jsxs(react.Flex,{width:"100%",position:"relative",align:"center",children:[u,jsxRuntime.jsx(react.IconButton,{position:"absolute",right:2,onClick:()=>s(!l),variant:"ghost",icon:l?jsxRuntime.jsx(icons.ViewIcon,{}):jsxRuntime.jsx(icons.ViewOffIcon,{}),"aria-label":l?"show":"hide",title:l?"Show":"Hide",size:"xs"})]}):u});Ro.displayName="TextComponent";var Ed={text:Ro,file:Co,boolean:gn,select:_n,multipleSelect:Bn,currency:Dn,number:So,date:Ue,datetime:yo,time:Ye,socialMedia:To,color:Cn},zd=(e,t)=>{let{field:o,meta:{error:r,active:n,touched:a},input:i,inEditable:l}=e,{value:s}=i,p=Wa.useMemo(()=>r&&a?"#ff7777":n?"rgba(0,0,0,0.7)":"rgba(0,0,0,0.3)",[r,n,a]),{_type:d,optional:u,label:c}=o,m=Wa.useMemo(()=>d==="multipleSelect"||!!s&&d!=="file"&&d!=="boolean",[s,d]),f=Wa.useMemo(()=>{if(l)return {};switch(d){case "text":case "number":case "currency":case "select":return {boxShadow:`0 0 7px ${p}`,transition:"all 300ms",bg:"background.50"};default:return {}}},[d,p,l]),g=Wa.useMemo(()=>Ed[d],[d]),h=Wa.useMemo(()=>l?0:r&&a?6:2,[l,r,a]);return jsxRuntime.jsxs(react.VStack,{position:"relative",align:"flex-start",width:"100%",py:l?0:1,px:1,spacing:0,pb:h,transition:"all 500ms",pt:m&&!l?4:0,children:[c&&!l?jsxRuntime.jsx(react.Text,{color:"gray.800",fontSize:"sm",px:2,children:c}):null,jsxRuntime.jsx(react.Flex,{width:"100%",borderRadius:4,py:.5,overflow:"hidden",...f,children:jsxRuntime.jsx(g,{ref:t,...e})}),l?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.Text,{opacity:r&&a?1:0,transition:`opacity 500ms ease ${r&&a?250:0}ms`,position:"absolute",bottom:"0px",fontSize:"sm",px:1,pointerEvents:"none",color:"red.600",children:r}),jsxRuntime.jsx(react.Text,{opacity:m?1:0,transition:`opacity 500ms ease ${m?250:0}ms`,position:"absolute",top:"-4px",pointerEvents:"none",fontSize:"sm",fontFamily:"fonts.heading",px:1,color:"blackAlpha.600",_dark:{color:"whiteAlpha.600"},children:o.placeholder||""})]}),u&&!l?jsxRuntime.jsx(zn,{field:o,value:s}):null]})},It=Wa.forwardRef(zd);var Wd=({field:e,name:t},o)=>{let{control:r,getOnChange:n,meta:a,onFocus:i,onBlur:l}=react$1.useField(t,e);return jsxRuntime.jsx(reactHookForm.Controller,{control:r,name:t,render:({field:{name:s,ref:p,onBlur:d,...u}})=>jsxRuntime.jsx(It,{ref:o,field:e,input:{...u,onFocus:i,onBlur:()=>{l(),d();},onChange:n(u.onChange)},meta:a})})},Gn=Wa.forwardRef(Wd);var kt=({uploads:e})=>{let t=Wa.useMemo(()=>Object.values(e),[e]);return jsxRuntime.jsx(reactTransitionGroup.TransitionGroup,{component:react.Flex,width:"100%",flexFlow:"column",children:t.map(o=>jsxRuntime.jsx(j,{children:jsxRuntime.jsxs(react.Center,{px:2,height:"26px",position:"relative",w:"100%",flexDirection:"column",children:[jsxRuntime.jsx(react.Progress,{borderRadius:"full",value:o.percent*100,mx:2,my:1,size:"md",height:"100%",width:"100%"}),jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",textShadow:"1px 1px 3px #000000aa",color:"white",position:"absolute",fontSize:"sm",fontWeight:500,children:o.label.toUpperCase()})]})},o.label))})};var ou=({onBack:e,children:t})=>jsxRuntime.jsx(react.Button,{flex:1,transition:"all 500ms",onClick:e,variant:"outline",border:"1px solid #cdcdcd",color:"#777",ml:"auto",children:t}),ru=({onSubmitClick:e,submitting:t,children:o,filter:r,opacity:n})=>jsxRuntime.jsx(react.Button,{isLoading:t,filter:r,flex:1,transition:"all 500ms",opacity:n,onClick:()=>{e();},ml:"auto",variant:"solid",children:o}),nu=()=>{let{formError:e}=react$1.useChempoForm();return jsxRuntime.jsx(react.Collapse,{in:!!e,children:jsxRuntime.jsx(react.Text,{color:"red",children:e??""})})},Qn=({renderFooter:e,...t})=>{let{uploads:o,onBack:r,buttonText:n,onSubmit:a}=t,{isSubmitting:i,isValid:l}=reactHookForm.useFormState();return jsxRuntime.jsxs(react.Flex,{w:"100%",flexFlow:"column",children:[jsxRuntime.jsx(react.Collapse,{endingHeight:5,style:{width:"100%"},in:i,children:jsxRuntime.jsx(react.Progress,{w:"100%",h:"5px",isIndeterminate:true})}),jsxRuntime.jsx(kt,{uploads:o}),jsxRuntime.jsx(nu,{}),e?e(t):jsxRuntime.jsxs(react.HStack,{py:2,borderTop:"1px solid",borderColor:"background.200",px:3,w:"100%",children:[r?jsxRuntime.jsx(ou,{onBack:r,children:"Cancel"}):null,jsxRuntime.jsx(ru,{size:"sm",filter:`grayscale(${l?0:100}%)`,opacity:l?1:.5,onSubmitClick:a,submitting:i,children:n})]})]})};var Kn=({field:e,value:t,noLabel:o,style:r})=>{let{imageOptions:n,placeholder:a}=e,i=Wa.useMemo(()=>({height:150,...n}),[n]);return jsxRuntime.jsxs(react.Flex,{flexFlow:t?"column":"row",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:a}),t?jsxRuntime.jsx(j,{children:jsxRuntime.jsx(react.Box,{p:1,children:jsxRuntime.jsx(Ft,{imageOptions:i,value:t})})}):jsxRuntime.jsx(react.Text,{opacity:.7,children:"None"})]})};var Jn=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n,renderOption:a}=e,{colorMode:i}=react.useColorMode();return jsxRuntime.jsxs(react.Flex,{maxW:"100%",flexFlow:"row wrap",align:"center",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:n}),t?t.map(l=>jsxRuntime.jsx(react.Box,{p:.5,children:a(l,i,true)},e.getOptionKey?e.getOptionKey(l):l)):jsxRuntime.jsx(react.Text,{opacity:.6,children:"None"})]})};var gu=e=>jsxRuntime.jsx(react.Text,{children:typeof e=="string"?e:JSON.stringify(e)}),ei=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n,renderOption:a}=e,{colorMode:i}=react.useColorMode();return jsxRuntime.jsxs(react.Flex,{align:"center",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:n}),t?(a??gu)(t,i,true):"None"]})};var wu=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n}=e,a=Wa.useMemo(()=>{let i=core.formatField[e._type];return i?i(e,t):t},[t,e]);return jsxRuntime.jsxs(react.Flex,{align:"center",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:n}),jsxRuntime.jsx(react.Text,{opacity:t!=null?1:.6,children:a??"None"})]})},Ze=({field:e,value:t,noLabel:o,style:r})=>{switch(e._type){case "select":return jsxRuntime.jsx(ei,{style:r,field:e,value:t,noLabel:o});case "multipleSelect":return jsxRuntime.jsx(Jn,{style:r,field:e,value:t,noLabel:o});case "file":return jsxRuntime.jsx(Kn,{style:r,field:e,value:t,noLabel:o});default:return jsxRuntime.jsx(wu,{style:r,field:e,value:t,noLabel:o})}};var Su=({onChange:e,value:t,field:o,onBlur:r,inEditable:n,onFocus:a,style:i},l)=>{let{inputProps:s,meta:p}=react$1.useStandaloneInput(o,t,e,a,r);return jsxRuntime.jsx(It,{ref:l,field:o,inEditable:n,style:i,input:s,meta:p})},ri=Wa.forwardRef(Su);var ii=({value:e,field:t,onSubmit:o,storagePath:r,style:n,onEditClose:a,onEditOpen:i})=>{let{formattedValue:l,inputRef:s,setValue:p,isLoading:d,uploads:u,editHovered:c,handleEditOpen:m,handleEditClose:f,isEditing:g,value:h,setEditHovered:b,submit:x,submitValue:C,parse:F}=react$1.useEditable({value:e,field:t,onSubmit:o,storagePath:r,onEditOpen:i,onEditClose:a}),w=Wa.useMemo(()=>t._type==="file"||t._type==="boolean",[t]);Wa.useEffect(()=>{g&&s.current?.focus();},[g,s]);let I=react$1.useColorModeValue("#00000055","#ffffff55");return jsxRuntime.jsx(react$1.ChempoFormProvider,{children:jsxRuntime.jsxs(react.Flex,{borderRadius:4,border:`1px dashed ${c&&!g?I:"transparent"}`,flexFlow:"column",w:"100%",children:[jsxRuntime.jsxs(react.Flex,{align:"center",px:1,position:"relative",w:"100%",children:[jsxRuntime.jsx(react.Flex,{opacity:d?0:1,transition:"all 300ms",mr:1,border:`1px dashed ${g?I:"transparent"}`,flex:1,minW:"0",children:g||w?jsxRuntime.jsx(ri,{ref:s,value:l,inEditable:true,field:t,style:{padding:0,...n},onChange:w?A=>C(F(A)):A=>p(F(A))}):jsxRuntime.jsx(Ze,{style:n,field:t,value:h})}),w?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.IconButton,{"aria-label":"Edit",size:"xs",icon:g?jsxRuntime.jsx(icons.CloseIcon,{width:3}):jsxRuntime.jsx(icons.EditIcon,{}),onMouseEnter:()=>b(true),onMouseLeave:()=>b(false),onClick:()=>{g?(p(h),f()):m();}}),jsxRuntime.jsx(react.Flex,{transition:"all 300ms",justify:"flex-end",opacity:g?1:0,overflow:"hidden",w:g?"30px":"0px",children:jsxRuntime.jsx(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:jsxRuntime.jsx(icons.CheckIcon,{filter:"drop-shadow(1px 1px 3px #000000aa)"}),onClick:()=>{x();}})})]}),jsxRuntime.jsx(Ie,{isLoading:d})]}),jsxRuntime.jsx(kt,{uploads:u})]})})};var Zu=e=>t=>{t.destination&&e(t.source.index,t.destination.index);},em=({field:e,name:t})=>{let o=Wa.useMemo(()=>core.isField(e.itemField)?"":core.isListField(e.itemField)?[]:{},[e]),r=react.useColorModeValue("#efefef","#2b2b2b"),n=H(),{control:a}=reactHookForm.useFormContext(),{fields:i,append:l,remove:s,move:p}=reactHookForm.useFieldArray({control:a,name:t}),d=Wa.useMemo(()=>Zu(p),[p]);return jsxRuntime.jsxs(react.Flex,{overflow:"hidden",gap:2,flexFlow:"column",w:"100%",px:2,py:1,children:[jsxRuntime.jsx(react.Text,{lineHeight:1,opacity:.7,fontSize:"sm",children:e.placeholder}),jsxRuntime.jsx(dnd.DragDropContext,{onDragEnd:d,children:jsxRuntime.jsx(dnd.Droppable,{droppableId:"droppable",children:(u,{draggingFromThisWith:c})=>jsxRuntime.jsxs(react.Flex,{ref:u.innerRef,flexFlow:"column",w:"100%",py:1,borderRadius:4,minH:"30px",align:"flex",...u.droppableProps,children:[i.length?i.map((m,f)=>jsxRuntime.jsx(dnd.Draggable,{draggableId:m.id,index:f,children:({dragHandleProps:g,draggableProps:h,innerRef:b},{isDragging:x})=>jsxRuntime.jsx(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:b,w:"100%",...h,children:jsxRuntime.jsx(j,{children:jsxRuntime.jsxs(react.Flex,{opacity:c&&!x?.5:1,gap:1,align:"center",w:"100%",children:[jsxRuntime.jsx(react.IconButton,{"aria-label":"drag",size:"xs",opacity:.8,variant:"ghost",icon:jsxRuntime.jsx(icons.DragHandleIcon,{}),...g}),jsxRuntime.jsx(react.Box,{minW:"0",flex:1,children:jsxRuntime.jsx(Ao,{name:m.id,field:e.itemField})}),jsxRuntime.jsx(react.IconButton,{"aria-label":"delete",size:"xs",bg:"red.600",color:"white",icon:jsxRuntime.jsx(icons.DeleteIcon,{filter:"drop-shadow(1px 1px 3px #00000088)"}),onClick:C=>{C.stopPropagation(),s(f);}})]})})})},m.id)):jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"}),u.placeholder]})})}),jsxRuntime.jsx(react.Flex,{children:jsxRuntime.jsx(react.Button,{mr:"auto",width:"auto",size:"xs",onClick:()=>l(o),children:"+ NEW"})})]})},Ao=({field:e,name:t})=>{let o=Wa.useMemo(()=>core.isField(e)||core.isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([r,n])=>({name:`${t?`${t}.`:""}${r}`,field:n})),[e,t]);return jsxRuntime.jsx(react.VStack,{spacing:1,w:"100%",children:o.map(r=>{if(core.isListField(r.field)){let a=jsxRuntime.jsx(em,{name:r.name,field:r.field},r.name);return r.field.condition?jsxRuntime.jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}if(core.isField(r.field)){let a=jsxRuntime.jsx(Gn,{name:r.name,field:r.field},r.name);return r.field.condition?jsxRuntime.jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}let n=jsxRuntime.jsx(Ao,{name:r.name,field:r.field},r.name);return r.field.condition?jsxRuntime.jsx(gt,{path:t,condition:r.field.condition,children:n},r.name):n})})},tm=({field:e,value:t,path:o})=>{let{itemField:r,placeholder:n}=e,a=H();return jsxRuntime.jsx(react.Box,{w:"100%",p:1,children:jsxRuntime.jsx(Yt,{border:`1px solid ${a}`,borderRadius:4,initExpanded:true,header:()=>jsxRuntime.jsx(react.Text,{py:1,children:n}),children:jsxRuntime.jsx(react.Flex,{flexFlow:"column",bg:"background.200",gap:2,px:2,py:1,children:t?.length?t.map((i,l)=>jsxRuntime.jsx(react.Box,{bg:"background.100",border:`1px solid ${a}`,borderRadius:3,children:jsxRuntime.jsx(ai,{path:`${o}.${l}`,field:{...r,placeholder:`${n} ${l+1}`},value:i})},`${o}.${l}`)):jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"})})})})},ai=({field:e,value:t,path:o,storagePath:r})=>{let{updateField:n}=react$1.useDataView();return core.isField(e)?n?jsxRuntime.jsx(ii,{storagePath:r,field:e,value:t,onSubmit:a=>n(o,a)}):jsxRuntime.jsx(Ze,{field:e,value:t}):core.isListField(e)?jsxRuntime.jsx(tm,{path:o,field:e,value:t}):jsxRuntime.jsx(om,{storagePath:r?`${r}.${o}`:void 0,path:o,field:e})},om=({field:e,value:t,onClose:o,onDelete:r,onSubmit:n,itemName:a,storagePath:i,path:l=""})=>{let{name:s,children:p}=e,[d,u]=Wa.useState(false);return jsxRuntime.jsx(react$1.DataViewProvider,{value:t,onSubmit:n,children:jsxRuntime.jsx(Yt,{alwaysExpanded:true,header:()=>jsxRuntime.jsxs(react.Flex,{align:"center",px:2,w:"100%",children:[jsxRuntime.jsx(react.Text,{py:2,fontSize:"lg",fontFamily:"fonts.heading",children:s}),jsxRuntime.jsxs(react.Flex,{gap:2,align:"center",ml:"auto",children:[r?jsxRuntime.jsx(Vr,{onDelete:r,itemName:a??"item"}):null,n?jsxRuntime.jsx(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,ml:"auto","aria-label":"edit",icon:jsxRuntime.jsx(icons.EditIcon,{}),onClick:()=>u(true)}):null,o?jsxRuntime.jsx(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,variant:"ghost","aria-label":"close",icon:jsxRuntime.jsx(icons.CloseIcon,{opacity:.8,w:3,h:3}),onClick:o}):null]})]}),children:d&&n?jsxRuntime.jsx(Oo,{storagePath:i,field:e,value:t,onSubmit:n,onBack:()=>u(false)}):jsxRuntime.jsx(react.Flex,{flexFlow:"column",px:4,py:2,children:Object.entries(p).map(([c,m])=>jsxRuntime.jsx(ai,{storagePath:i?`${i}/${c}`:void 0,path:l?`${l}.${c}`:c,field:m,value:t?.[c]},c))})})})},li=({onSubmit:e,onBack:t,field:o,value:r,buttonText:n="SUBMIT",renderFooter:a,storagePath:i})=>{let l=Wa.useMemo(()=>({field:o,value:r,submit:e,storagePath:i}),[o,r,e,i]),{onSubmit:s,uploads:p}=react$1.useFormSubmit(l);return jsxRuntime.jsx(react.Stack,{w:"100%",spacing:3,children:jsxRuntime.jsxs("form",{children:[jsxRuntime.jsx(react.Box,{pt:1,px:2,w:"100%",children:jsxRuntime.jsx(Ao,{name:"",field:o})}),jsxRuntime.jsx(Qn,{uploads:p,onSubmit:s,renderFooter:a,onBack:t,buttonText:n})]})})},rm=({onSubmit:e,field:t,value:o,...r})=>{let n=Wa.useMemo(()=>({children:{value:t}}),[t]);return jsxRuntime.jsx(li,{field:n,value:{value:o},onSubmit:a=>e(a?.value),...r})},Oo=({field:e,...t})=>{let o=core.isField(e)||core.isListField(e)?jsxRuntime.jsx(rm,{field:e,...t}):jsxRuntime.jsx(li,{field:e,...t});return jsxRuntime.jsx(react$1.ChempoFormProvider,{children:o})};var ci=e=>{let t=react$1.useMounted();return jsxRuntime.jsx(hr,{children:jsxRuntime.jsx(react.Flex,{overflow:"hidden",flexFlow:"column",h:"100%",w:"100%",opacity:t?1:0,transition:"opacity 300ms",...e})})};var De=({data:e,rowIndex:t,columnIndex:o,style:r})=>{let{items:n,onSelect:a,refetch:i,grid:l,numCols:s,colorMode:p}=e||{},{ItemPreview:d}=l,u=t*s+o,c=n[u];return c?jsxRuntime.jsx(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{a(c);},style:r,px:1,py:.25,children:d({index:u,item:c,refetch:i?()=>i(c._id):void 0,colorMode:p})},u):null};var pe=()=>{let{list:e,search:{debounced:t,search:o}}=react$1.useDataList(),{data:{isLoading:r}}=react$1.usePaginatedList(),n=Wa.useMemo(()=>r||t!==o,[r,t,o]),{itemName:a,pluralItemName:i,noItemsMessage:l,searchRequired:s}=e;return jsxRuntime.jsx(react.Flex,{justify:"center",align:"flex-start",w:"100%",h:"100%",children:n?jsxRuntime.jsx(ge,{text:`Loading ${i??core.toPlural(a)}`}):jsxRuntime.jsx(react.Text,{textAlign:"center",flex:1,p:3,fontStyle:"italic",opacity:.7,children:!t&&s?`Search ${i??core.toPlural(a)}`:l??`No ${i??core.toPlural(a)}`})})};var oe=e=>typeof e=="function";var fm=(e,t)=>{if(e.key!==t.key||e.operator!==t.operator)return false;if(core.arrayOperators.includes(e.operator)){let o=Array.isArray(e.value)?e.value:[e.value];return !(Array.isArray(t.value)?t.value:[t.value]).every(n=>!o.includes(n))}return e.value===t.value},pi=(e,{nativeFilter:t})=>(Array.isArray(t)?t:[t]).every(r=>fm(r,e));var xm=(e,t,o)=>{let{rowHeight:r,columnWidth:n}=t;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(o/n(e[0]));return {numRows:Math.ceil(e.length/l),numCols:l}}let a=Math.max(1,Math.floor(o/n));return {numRows:Math.ceil(e.length/a),numCols:a}},bm=(e,t,o)=>{let{rowHeight:r,columnWidth:n}=t,{numRows:a,numCols:i}=xm(e,t,o),l=typeof n=="number"?o/i:Array.from({length:i},(u,c)=>e.filter((f,g)=>g%i===c).reduce((f,g)=>{let h=n(g);return Math.max(f,h)},0)),s=typeof r=="number"?r:Array.from({length:a},(u,c)=>e.slice(c*i,(c+1)*i).reduce((f,g)=>{let h=r(g);return Math.max(f,h)},0)),p=Array.isArray(s)?u=>s[u]:s,d=Array.isArray(l)?u=>l[u]:l;return {rowHeight:p,colWidth:d,numCols:i,numRows:a}},At=(e,t)=>{let{data:{data:o}}=react$1.usePaginatedList();return Wa.useMemo(()=>bm(o,e,t),[o,e,t])};var gi=({height:e,options:t})=>{let{totalCount:o,data:{data:r},refetchItem:n,isItemLoaded:a,goNext:i}=react$1.usePaginatedList(),{list:l,onSelectItem:s,mobileLayout:p,query:d}=react$1.useDataList(),{width:u}=react$1.useFullSize(),{numCols:c,numRows:m,rowHeight:f,colWidth:g}=At(t,u),{previewHeight:h,mobile:b}=l,{colorMode:x}=react.useColorMode(),C=Wa.useMemo(()=>({list:l,items:r,mobileLayout:p,grid:t,colorMode:x,numCols:c,onSelect:L=>s(L._id),refetch:n}),[r,l,n,s,p,c,t,x]),F=Wa.useRef(null),w=Wa.useMemo(()=>p?b?.previewHeight??h:h,[b,h,p]);Wa.useEffect(()=>{let L=F.current;L&&(L.resetAfterColumnIndex(0),L.resetAfterRowIndex(0));},[d]);let I=Wa.useRef(null);Wa.useEffect(()=>{I.current&&I.current.resetloadMoreItemsCache(true);},[o]);let A=Wa.useMemo(()=>oe(w),[w]),O=Wa.useCallback(({columnIndex:L,rowIndex:_,data:B})=>{let W=_*c+L;return B.items[W]?._id||`${W}`},[c]),M=Wa.useCallback(({overscanColumnStartIndex:L,overscanColumnStopIndex:_,overscanRowStartIndex:B,overscanRowStopIndex:W,visibleColumnStartIndex:ne,visibleColumnStopIndex:Ce,visibleRowStartIndex:Fe,visibleRowStopIndex:ue},P)=>{let D=Fe*c+ne,T=ue*c+Ce,v=B*c+L,R=W*c+_;P({overscanStartIndex:v,overscanStopIndex:R,visibleStartIndex:D,visibleStopIndex:T});},[c]);return r.length?A?jsxRuntime.jsx(fi__default.default,{isItemLoaded:a,ref:I,itemCount:o??0,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsxRuntime.jsx(reactWindow.VariableSizeGrid,{height:e,width:u,rowCount:m,columnCount:c,rowHeight:f,columnWidth:g,itemData:C,style:{overflowX:"hidden"},itemKey:O,onItemsRendered:B=>M(B,L),ref:B=>{_(B),F.current=B;},children:De})}):jsxRuntime.jsx(fi__default.default,{isItemLoaded:a,itemCount:o??0,ref:I,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsxRuntime.jsx(reactWindow.FixedSizeGrid,{height:e,width:u,rowCount:m,columnCount:c,rowHeight:f,columnWidth:g,itemData:C,onItemsRendered:B=>M(B,L),style:{overflowX:"hidden"},ref:B=>{_(B),F.current=null;},children:De})}):jsxRuntime.jsx(pe,{})};var Ee=({data:e,index:t,style:o})=>{let{list:r,items:n,onSelect:a,refetch:i,mobileLayout:l,colorMode:s}=e||{},{ItemPreview:p,mobile:d}=r,u=l?d?.ItemPreview??p:p,c=n[t];return c?jsxRuntime.jsx(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{a(n[t]);},style:o,children:u({index:t,item:c,refetch:i?()=>i(c._id):void 0,colorMode:s})},t):null};var yi=({height:e})=>{let{totalCount:t,data:{data:o},refetchItem:r,isItemLoaded:n,goNext:a}=react$1.usePaginatedList(),{list:i,onSelectItem:l,mobileLayout:s,query:p}=react$1.useDataList(),{previewHeight:d,mobile:u}=i,{colorMode:c}=react.useColorMode(),{width:m}=react$1.useFullSize(),f=Wa.useMemo(()=>({list:i,items:o,mobileLayout:s,colorMode:c,onSelect:F=>l(F._id),refetch:r}),[o,i,r,l,s,c]),g=Wa.useRef(null),h=Wa.useMemo(()=>s?u?.previewHeight??d:d,[u,d,s]),b=Wa.useRef(null);Wa.useEffect(()=>{b.current&&b.current.resetloadMoreItemsCache(true);},[t]),Wa.useEffect(()=>{let F=g.current;F&&(F.resetAfterRowIndex(0),F.resetAfterColumnIndex(0));},[p]);let x=Wa.useCallback(F=>typeof h=="function"?h(o[F]):h,[o,h]),C=Wa.useMemo(()=>oe(h),[h]);return o.length?C?jsxRuntime.jsx(fi__default.default,{ref:b,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:F,ref:w})=>jsxRuntime.jsx(reactWindow.VariableSizeList,{height:e,width:m,itemSize:x,itemCount:t??0,itemData:f,style:{overflowX:"hidden"},itemKey:I=>o[I]?._id||`${I}`,onItemsRendered:I=>{F(I);},ref:w,children:Ee})}):jsxRuntime.jsx(fi__default.default,{ref:b,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:F,ref:w})=>jsxRuntime.jsx(reactWindow.FixedSizeList,{height:e,width:m,itemSize:h,itemCount:t??0,itemData:f,itemKey:I=>o[I]?._id||`${I}`,style:{overflowX:"hidden"},onItemsRendered:F,ref:w,children:Ee})}):jsxRuntime.jsx(pe,{})};var $m=({height:e,options:t})=>{let{list:o,onSelectItem:r,mobileLayout:n,query:a}=react$1.useDataList(),{data:{data:i},pageIndex:l}=react$1.usePaginatedList(),s=Wa.useRef(null),p=Wa.useRef(null),{width:d}=react$1.useFullSize(),{numCols:u,numRows:c,rowHeight:m,colWidth:f}=At(t,d),{colorMode:g}=react.useColorMode(),h=Wa.useMemo(()=>({list:o,items:i,numCols:u,onSelect:x=>r(x._id),mobileLayout:n,colorMode:g,grid:t}),[i,o,r,n,u,t,g]);Wa.useEffect(()=>{let x=s.current;x&&(x.resetAfterColumnIndex(0),x.resetAfterRowIndex(0));},[a]),Wa.useEffect(()=>{let x=s.current,C=p.current;x&&x.scrollTo({scrollLeft:0,scrollTop:0}),C&&C.scrollTo({scrollLeft:0,scrollTop:0});},[l,a]);let b=Wa.useMemo(()=>oe(t.rowHeight)||oe(t.columnWidth),[t]);return i.length?b?jsxRuntime.jsx(reactWindow.VariableSizeGrid,{ref:s,height:e,width:d,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsxRuntime.jsx(reactWindow.FixedSizeGrid,{height:e,ref:p,width:d,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsxRuntime.jsx(pe,{})},Fi=Wa.memo($m);var Km=({height:e})=>{let{list:t,onSelectItem:o,mobileLayout:r,query:n}=react$1.useDataList(),{data:{data:a},pageIndex:i}=react$1.usePaginatedList(),{width:l}=react$1.useFullSize(),{previewHeight:s,mobile:p}=t,d=Wa.useRef(null),u=Wa.useRef(null),{colorMode:c}=react.useColorMode(),m=Wa.useMemo(()=>({list:t,colorMode:c,items:a,onSelect:b=>o(b._id),mobileLayout:r}),[a,t,o,r,c]),f=Wa.useMemo(()=>r?p?.previewHeight??s:s,[p,s,r]);Wa.useEffect(()=>{let b=d.current;b&&b.resetAfterIndex(0);},[n]),Wa.useEffect(()=>{let b=d.current,x=u.current;b&&b.scrollTo(0),x&&x.scrollTo(0);},[n,i]);let g=Wa.useCallback(b=>typeof f=="function"?f(a[b]):f,[a,f]),h=Wa.useMemo(()=>oe(f),[f]);return a.length?h?jsxRuntime.jsx(reactWindow.FixedSizeList,{ref:u,height:e,width:l,itemSize:f,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsxRuntime.jsx(reactWindow.VariableSizeList,{ref:d,height:e,width:l,itemSize:g,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsxRuntime.jsx(pe,{})},Ii=Wa.memo(Km);var Ti=({height:e})=>{let{infiniteScroll:t,gridLayout:o,list:r}=react$1.useDataList(),{grid:n}=r;return o&&n?t?jsxRuntime.jsx(gi,{options:n,height:e}):jsxRuntime.jsx(Fi,{options:n,height:e}):t?jsxRuntime.jsx(yi,{height:e}):jsxRuntime.jsx(Ii,{height:e})};var Dt=({children:e,isOpen:t,contentProps:o,...r})=>jsxRuntime.jsxs(react.Modal,{scrollBehavior:"inside",isCentered:true,isOpen:t,...r,children:[jsxRuntime.jsx(react.ModalOverlay,{}),jsxRuntime.jsx(react.ModalContent,{position:"relative",overflowY:"auto",bg:"background.100",...o,children:jsxRuntime.jsx(react.Box,{children:e})})]});var Ri=e=>{let{overlayRef:t}=react$1.useMobileFrame();return jsxRuntime.jsx(react.Portal,{containerRef:t,children:jsxRuntime.jsx(react.Flex,{justify:"center",align:"center",transition:"opacity 300ms",position:"absolute",left:0,top:0,height:"100%",width:"100%",...e})})};var pf=({onClick:e})=>jsxRuntime.jsx(react.Flex,{onClick:e,w:"100%",h:"100%",position:"absolute",bg:"blackAlpha.400",transition:"opacity 300ms"}),Ai=({isOpen:e,onClose:t,children:o,contentProps:r,onContentMounted:n,closeOnOverlayClick:a})=>{let{height:i,width:l}=react$1.useMobileFrame(),s=react.useColorModeValue("gray.100","#454545"),[p,d]=Wa.useState(false),[u,c]=Wa.useState(false),m=Wa.useRef(null),f=Wa.useRef(null);return Wa.useEffect(()=>(m.current&&(clearTimeout(m.current),m.current=null),f.current&&(clearTimeout(f.current),f.current=null),e?(d(true),f.current=setTimeout(()=>{c(true),n&&n(true);},50)):(c(false),n&&n(false),m.current=setTimeout(()=>{d(false);},300)),()=>{m.current&&(clearTimeout(m.current),m.current=null),f.current&&(clearTimeout(f.current),f.current=null);}),[e,n]),p?jsxRuntime.jsxs(Ri,{opacity:u?1:0,pointerEvents:u?"auto":"none",children:[jsxRuntime.jsx(pf,{onClick:a!==false?t:void 0}),jsxRuntime.jsx(react.Flex,{width:`${l-10}px`,maxH:`${i-10}px`,overflowY:"auto",overflowX:"hidden",minH:"100px",bg:s,borderRadius:6,position:"relative",...r,children:o})]}):null};var Oi=e=>{let t=react$1.useScreen(n=>n.isMobile),o=yr(),r=Wa.useMemo(()=>t||o?Ai:Dt,[t,o]);return jsxRuntime.jsx(r,{...e})};var Di=({field:e})=>{let{list:{baseQuery:t,itemName:o},newItemOpen:r,setNewItemOpen:n}=react$1.useDataList(),{adapter:{db:a}}=react$1.useBackendBase(),{refetch:i}=react$1.usePaginatedList(),l=Wa.useCallback(async s=>{await a.createItem(t.collection,s),n(false),i&&i();},[n,i,a,t]);return jsxRuntime.jsxs(Dt,{isOpen:r,onClose:()=>n(false),children:[jsxRuntime.jsxs(react.Flex,{align:"center",pt:3,px:3,w:"100%",children:[jsxRuntime.jsxs(react.Text,{pl:1,opacity:.7,fontWeight:600,children:["NEW ",o.toUpperCase()]}),jsxRuntime.jsx(react.IconButton,{size:"sm",borderRadius:"full",ml:"auto",h:7,w:7,minW:0,onClick:()=>n(false),"aria-label":"Close",icon:jsxRuntime.jsx(icons.CloseIcon,{opacity:.8,w:3,h:3})})]}),jsxRuntime.jsx(Oo,{field:e,onSubmit:l})]})};var Hi=({goNext:e,canGoNext:t,mobileLayout:o})=>jsxRuntime.jsxs(react.Button,{opacity:t?1:.6,pointerEvents:t?"auto":"none",borderRadius:"full",onClick:e,"aria-label":"next",variant:"ghost",size:o?"xs":"sm",pl:3,pr:1,gap:1,children:[jsxRuntime.jsx(react.Text,{children:"Next"}),jsxRuntime.jsx(icons.ChevronRightIcon,{w:5,h:5})]}),Vi=({goPrev:e,canGoPrev:t,mobileLayout:o})=>jsxRuntime.jsxs(react.Button,{opacity:t?1:.5,pointerEvents:t?"auto":"none",onClick:e,borderRadius:"full","aria-label":"back",variant:"ghost",pr:3,pl:1,gap:1,size:o?"xs":"sm",children:[jsxRuntime.jsx(icons.ChevronLeftIcon,{w:5,h:5}),jsxRuntime.jsx(react.Text,{children:"Back"})]}),Ef=({progressBg:e,borderColor:t})=>{let{data:{isLoading:o,error:r}}=react$1.usePaginatedList();return jsxRuntime.jsxs(react.Box,{position:"absolute",bottom:"100%",w:"100%",left:0,children:[jsxRuntime.jsx(react.Collapse,{style:{width:"100%"},in:!!r,animateOpacity:true,children:jsxRuntime.jsx(react.Box,{borderTopRadius:6,bg:"red.600",maxW:"100%",p:1,children:jsxRuntime.jsx(react.Tooltip,{placement:"top",hasArrow:true,label:r?.message??"","aria-label":"error",children:jsxRuntime.jsx(react.Text,{textShadow:"1px 1px 3px #00000077",_dark:{textShadow:"none"},px:1,fontWeight:600,isTruncated:true,maxW:"100%",fontSize:"sm",color:"white",children:r?.message})})})}),jsxRuntime.jsx(j,{in:o,animateOpacity:true,children:jsxRuntime.jsx(react.Flex,{bg:e,borderTop:"1px solid",borderBottom:"1px solid",borderColor:t,w:"100%",children:jsxRuntime.jsx(react.Progress,{borderRadius:0,w:"100%",height:"8px",isIndeterminate:o})})})]})},zf=(e,t,o)=>Math.abs(e-t)<=1?2:e<3?t===0?2:0:e>o-4?t>o-3?2:4:e<t?1:3,zt=28,Ht=24,_i=({index:e,isActive:t,onClick:o,borderColor:r,isLoading:n,mobileLayout:a})=>jsxRuntime.jsx(react.Button,{onClick:o,variant:"unstyled",display:"flex",border:"1px solid",borderColor:t?"transparent":r,justifyContent:"center",alignItems:"center",width:`${a?Ht:zt}px`,height:`${a?Ht:zt}px`,fontFamily:"fonts.heading",lineHeight:1,fontWeight:600,minW:"0",bg:t?"accent.400":"transparent",_hover:{bg:t?"accent.500":"whiteAlpha.500"},color:t?"white":r,textShadow:t?"1px 1px 3px #00000088":"none",size:"sm",disabled:n,"aria-label":`Go to page ${e+1}`,children:e+1},e),Hf=({group:{indicators:e,collapsed:t},mobileLayout:o})=>{let{data:{isLoading:r},goToPage:n}=react$1.usePaginatedList(),a=H();return t?jsxRuntime.jsx(react.Popover,{trigger:"hover",gutter:1,variant:"fixed",children:({onClose:i})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.IconButton,{variant:"unstyled",width:`${o?Ht:zt}px`,height:`${o?Ht:zt}px`,minW:"0",opacity:.7,_hover:{opacity:1},"aria-label":"more pages",icon:jsxRuntime.jsx(react.Text,{fontSize:"md",position:"relative",bottom:"2px",children:"..."})})}),jsxRuntime.jsx(react.PopoverContent,{bg:"background.200",w:"auto",border:"1px solid",borderColor:a,boxShadow:"none",children:jsxRuntime.jsx(react.PopoverBody,{w:"auto",maxW:"166px",p:.5,children:jsxRuntime.jsx(react.Flex,{align:"center",justify:"center",flexFlow:"row wrap",children:e.map(({index:l,isActive:s})=>jsxRuntime.jsx(react.Box,{m:.5,children:jsxRuntime.jsx(_i,{mobileLayout:o,index:l,isActive:s,onClick:()=>{n(l),i();},borderColor:a,isLoading:r})},`ind-${l}`))})})})]})}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.map(({index:i,isActive:l})=>jsxRuntime.jsx(_i,{mobileLayout:o,index:i,isActive:l,onClick:()=>n(i),borderColor:a,isLoading:r},i))})},Vf=()=>{let{pageIndex:e,numPages:t}=react$1.usePaginatedList(),{mobileLayout:o}=react$1.useDataList(),r=Wa.useMemo(()=>{let n=t??0;if(n<=9)return [{indicators:Array.from({length:n},(i,l)=>({index:l,isActive:l===e})),collapsed:false}];let a=Array.from({length:5},(i,l)=>({indicators:[],collapsed:l%2===1}));for(let i=0;i<n;i+=1){let l=zf(i,e,n);a[l]||(a[l]={indicators:[],collapsed:l!==2}),a[l].indicators.push({index:i,isActive:i===e});}return a.filter(i=>i.indicators.length).map(i=>({...i,collapsed:i.collapsed&&i.indicators.length>1}))},[t,e]);return jsxRuntime.jsx(react.Flex,{gap:1,align:"center",children:r.map((n,a)=>jsxRuntime.jsx(Hf,{mobileLayout:o,group:n},`group-${a}`))})},Yo=120,Wi=({onResize:e,flexProps:t,noFooter:o})=>{let r=react.useColorModeValue("#cdcdcd","#2d3748"),{list:n,mobileLayout:a,infiniteScroll:i,search:{search:l,debounced:s}}=react$1.useDataList(),{data:{data:p,isLoading:d},totalCount:u,pageIndex:c,limit:m,numFetched:f,goNext:g,goPrev:h,hasMoreData:b}=react$1.usePaginatedList(),{itemName:x,pluralItemName:C,searchRequired:F}=n,{itemsText:w,pageText:I}=Wa.useMemo(()=>d&&!i?{itemsText:a?"Loading...":"",pageText:""}:u===null?{itemsText:"Loading...",pageText:""}:u===0&&!d&&l===s?{itemsText:!l&&F?`Search ${C??core.toPlural(x)}`:`No ${C??core.toPlural(x)} found`,pageText:""}:{itemsText:`${i?1:(c||0)*m+1} - ${i?f:c*m+p.length} of ${u}`,pageText:`Page ${c+1} of ${m?Math.ceil((u??0)/m):0}`},[u,d,x,C,m,c,l,F,a,s,p,i,f]),A=Wa.useMemo(()=>!i&&h,[i,h]),O=Wa.useMemo(()=>!i&&g,[i,g]),M=react.useColorModeValue("#efefef","#212121"),L=Wa.useRef(null),_=Wa.useCallback(B=>{let W=B.borderBoxSize[0].blockSize,ne=B.borderBoxSize[0].inlineSize;e({height:W,width:ne});},[e]);return mr__default.default(L,_),jsxRuntime.jsxs(react.Flex,{ref:L,py:o?0:2,px:o?0:3,borderTop:`1px solid ${r}`,position:"relative",flexFlow:a?"column":"row",gap:a?1:0,w:"100%",...t,children:[o||a&&i?null:jsxRuntime.jsxs(react.Flex,{align:"center",justify:a?"center":"space-between",position:"relative",w:"100%",children:[A&&!a?jsxRuntime.jsx(Vi,{goPrev:h,canGoPrev:!d&&!!c}):null,jsxRuntime.jsxs(react.Flex,{gap:1,align:"center",children:[i?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a?null:jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",whiteSpace:"nowrap",textAlign:"center",w:`${Yo}px`,fontSize:"sm",children:I}),jsxRuntime.jsx(Vf,{})]}),a?null:jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Yo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w})]}),O&&!a?jsxRuntime.jsx(Hi,{goNext:g,canGoNext:!d&&b}):null]}),a&&!o?jsxRuntime.jsxs(react.Flex,{gap:2,w:"100%",justify:"space-between",align:"center",children:[A?jsxRuntime.jsx(Vi,{mobileLayout:true,goPrev:h,canGoPrev:!!c}):null,jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Yo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w}),O?jsxRuntime.jsx(Hi,{mobileLayout:true,goNext:g,canGoNext:b}):null]}):null,jsxRuntime.jsx(Ef,{progressBg:M,borderColor:r})]})};var Ui=({filter:e,filters:t,GroupRender:o,toggleFilter:r})=>{let{label:n,Render:a}=e,i=Wa.useMemo(()=>t.some(u=>pi(u,e)),[t,e]),{colorMode:l}=react.useColorMode(),s=H(),p=react.useColorModeValue("gray.700","gray.100"),d=a??o;return jsxRuntime.jsx(react.Box,{p:.5,children:jsxRuntime.jsx(react.Button,{onClick:()=>r(e),variant:"unstyled",color:i&&!d?"white":p,bg:i&&!d?"accent.400":"transparent",px:d?0:2,py:d?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":s,size:"none",children:d?jsxRuntime.jsx(d,{active:i,colorMode:l,preset:e}):jsxRuntime.jsx(react.Text,{textShadow:i?"0 0 3px rgba(0,0,0,0.8)":"none",fontSize:"xs",children:n})})})},o0=({group:e,filters:t,toggleFilter:o})=>{let{label:r,filters:n}=e;return jsxRuntime.jsxs(react.Flex,{px:1,flexFlow:"column",w:"100%",children:[jsxRuntime.jsx(react.Text,{px:1,opacity:.8,fontSize:"sm",fontWeight:600,children:r}),jsxRuntime.jsx(react.Flex,{w:"100%",flexFlow:"row wrap",children:n.map(a=>jsxRuntime.jsx(Ui,{toggleFilter:o,GroupRender:e.RenderFilter,filters:t,filter:a},a.label))})]})},qo=()=>{let{query:e,list:t,toggleFilter:o}=react$1.useDataList(),r=react$1.useScreen(l=>l.isMobile),{filters:n=[]}=e||{},{filterPresets:a}=t,i=H();return a?.length?jsxRuntime.jsx(react.HStack,{spacing:1,children:jsxRuntime.jsxs(react.Popover,{placement:"right-start",trigger:r?"click":"hover",strategy:"fixed",children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.IconButton,{size:"sm",variant:"ghost","aria-label":"Filters",icon:jsxRuntime.jsx(react.Image,{width:"24px",filter:`grayscale(${n.length?0:100}%)`,src:"/icons/tune.svg"})})}),jsxRuntime.jsx(react.Portal,{children:jsxRuntime.jsxs(react.PopoverContent,{borderRadius:6,w:"auto",children:[jsxRuntime.jsx(react.PopoverBody,{w:"240px",p:0,children:jsxRuntime.jsxs(react.Flex,{flexFlow:"column",w:"100%",children:[jsxRuntime.jsxs(react.HStack,{py:1.5,px:2,w:"100%",spacing:1,borderBottom:`1px solid ${i}`,children:[jsxRuntime.jsx(react.Image,{width:"18px",filter:"grayscale(100%)",src:"/icons/tune.svg"}),jsxRuntime.jsx(react.Text,{opacity:.8,fontSize:"sm",fontWeight:600,children:"FILTERS"})]}),jsxRuntime.jsx(react.Flex,{justify:"center",w:"100%",flexFlow:"row wrap",py:1,px:2,children:a.map(l=>core.isFilterGroup(l)?jsxRuntime.jsx(o0,{toggleFilter:o,filters:n,group:l},l.label):jsxRuntime.jsx(Ui,{toggleFilter:o,filters:n,filter:l},l.label))})]})}),jsxRuntime.jsx(react.PopoverArrow,{}),jsxRuntime.jsx(react.PopoverCloseButton,{})]})})]})}):null};var c0=({preset:e})=>{let{setSort:t,query:o}=react$1.useDataList(),{sort:r}=o,{label:n,key:a,Render:i}=e,l=Wa.useMemo(()=>r?.key===a?r.direction:null,[r,a]),{colorMode:s}=react.useColorMode(),p=Wa.useMemo(()=>l?"white":s==="light"?"gray.500":"gray.400",[l,s]),d=Wa.useMemo(()=>r?.direction==="asc"?jsxRuntime.jsx(icons.ArrowUpIcon,{w:4,h:4}):jsxRuntime.jsx(icons.ArrowDownIcon,{w:4,h:4}),[r]);return jsxRuntime.jsxs(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:()=>t({direction:l&&r?.direction==="asc"?"desc":"asc",key:a}),children:[i?jsxRuntime.jsx(i,{active:l,colorMode:s,preset:e}):jsxRuntime.jsx(react.Text,{fontWeight:600,fontSize:"sm",color:p,children:n}),jsxRuntime.jsx(ir,{active:!!l,h:"16px",width:20,children:d})]})},Zo=()=>{let{list:{sortPresets:e}}=react$1.useDataList();return e?jsxRuntime.jsx(react.HStack,{spacing:2,children:e.map(t=>jsxRuntime.jsx(c0,{preset:t},t.label))}):null};var Ki=()=>{let{list:e,search:{search:t,update:o}}=react$1.useDataList(),{searchIcon:r,itemName:n,pluralItemName:a}=e,i=react.useColorModeValue("invert(0)","invert(1)");return jsxRuntime.jsx(react.Flex,{p:1,flex:1,minW:"0",children:jsxRuntime.jsxs(react.InputGroup,{children:[jsxRuntime.jsx(react.InputLeftElement,{pointerEvents:"none",children:r?jsxRuntime.jsx(react.Image,{filter:i,src:r,w:"24px"}):jsxRuntime.jsx(icons.SearchIcon,{w:"24px",opacity:.5})}),jsxRuntime.jsx(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:t,placeholder:`Search for ${a??core.toPlural(n)}`,onChange:l=>o(l.target.value)})]})})},qi=({refetch:e})=>{let{list:t,setNewItemOpen:o}=react$1.useDataList(),r=react$1.useAuth(),{itemName:n,field:a,access:i}=t,l=Wa.useMemo(()=>core.getHasAccess(r,i?.create,null),[i,r]);return jsxRuntime.jsxs(react.Flex,{gap:2,ml:"auto",align:"center",children:[e?jsxRuntime.jsx(react.Tooltip,{placement:"left",hasArrow:true,label:"Refresh","aria-label":"Refresh",children:jsxRuntime.jsx(react.IconButton,{size:"xs",icon:jsxRuntime.jsx(icons.RepeatIcon,{}),"aria-label":"Refresh",onClick:e})}):null,a&&l?jsxRuntime.jsx(react.Tooltip,{placement:"left",hasArrow:true,label:`Create new ${n}`,"aria-label":`Create new ${n}`,children:jsxRuntime.jsx(react.IconButton,{size:"xs",icon:jsxRuntime.jsx(icons.AddIcon,{}),"aria-label":`Create new ${n}`,onClick:()=>o(true)})}):null]})},S0=[{id:"grid",label:"Grid View",Render:e=>jsxRuntime.jsx(react.Image,{w:5,opacity:e?1:.7,src:"/icons/grid_view.svg"})},{id:"list",label:"List View",Render:e=>jsxRuntime.jsx(react.Image,{w:6,opacity:e?1:.7,src:"/icons/list.svg"})}],Ji=()=>{let{toggleGridLayout:e,gridLayout:t}=react$1.useDataList();return e?jsxRuntime.jsx(_r,{onChange:e,options:S0,value:t?"grid":"list"}):null},ea=({onResize:e,refetch:t,boxProps:o})=>{let{list:r,mobileLayout:n,toggleGridLayout:a}=react$1.useDataList(),{searchPath:i,sortPresets:l,filterPresets:s,Header:p}=r,d=H(),u=Wa.useRef(null),c=Wa.useCallback(f=>{e({height:f.contentRect.height,width:f.contentRect.width});},[e]),m=Wa.useMemo(()=>!!Object.keys(i??{}).length,[i]);return mr__default.default(u,c),jsxRuntime.jsx(react.Box,{ref:u,bg:"background.200",borderBottom:`1px solid ${d}`,w:"100%",...o,children:jsxRuntime.jsx(react.Flex,{px:2,align:"center",w:"100%",children:l?.length||s?.length||m?jsxRuntime.jsxs(react.Flex,{w:"100%",flexFlow:n?"column":"row",children:[n&&!p?null:jsxRuntime.jsxs(react.Flex,{flex:1,px:2,py:n?0:1,gap:1,align:"center",children:[n?null:jsxRuntime.jsxs(react.Flex,{flex:1,minW:"0",align:"center",gap:2,children:[a?jsxRuntime.jsx(Ji,{}):null,jsxRuntime.jsx(qo,{}),jsxRuntime.jsx(Zo,{}),m?jsxRuntime.jsx(Ki,{}):null]}),jsxRuntime.jsxs(react.Flex,{align:"center",minW:"0",gap:3,ml:"auto",children:[p?jsxRuntime.jsx(react.Box,{minW:"0",flex:1,children:jsxRuntime.jsx(p,{})}):null,n?null:jsxRuntime.jsx(qi,{refetch:t})]})]}),m&&n?jsxRuntime.jsx(Ki,{}):null,n&&(l?.length||s?.length)?jsxRuntime.jsxs(react.Flex,{pl:1,py:1,gap:1.5,align:"center",w:"100%",children:[a?jsxRuntime.jsx(Ji,{}):null,jsxRuntime.jsx(qo,{}),jsxRuntime.jsx(Zo,{}),jsxRuntime.jsx(qi,{refetch:t})]}):null]}):null})})};var ra=()=>{let{selectedItemId:e,deselectItem:t,list:o}=react$1.useDataList(),{ItemView:r,itemName:n}=o||{},[a,i]=Wa.useState({x:0,y:0}),{data:{data:l}}=react$1.usePaginatedList(),s=Wa.useMemo(()=>l.find(m=>m._id===e)??null,[l,e]),{colorMode:p}=react.useColorMode(),d=react.useColorModeValue("red.600","red.300"),[u,c]=Wa.useState(null);return Wa.useEffect(()=>{s&&c(s);},[s]),jsxRuntime.jsx(Oi,{contentProps:{p:0,transition:"all 300ms",transform:`translate(${a.x}px, ${a.y}px)`},scrollBehavior:"inside",onClose:t,isOpen:!!r&&!!e,children:r&&u?jsxRuntime.jsx(r,{item:u,colorMode:p,clearContentOffset:()=>i({x:0,y:0}),updateContentOffset:(m,f)=>i({x:m,y:f})}):jsxRuntime.jsxs(react.Text,{color:d,p:4,children:["Error displaying ",n]})})};var la=({modals:e,noFooter:t,headerProps:o,footerProps:r})=>{let{data:{isLoading:n,data:a}}=react$1.usePaginatedList(),{list:i}=react$1.useDataList(),{height:l}=react$1.useFullSize(),[s,p]=Wa.useState(0),[d,u]=Wa.useState(0),c=Wa.useMemo(()=>l-s-d,[l,s,d]),m=Wa.useCallback(b=>{p(b.height);},[]),f=Wa.useCallback(b=>{u(b.height);},[]),{ItemView:g,field:h}=i;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ea,{boxProps:o,onResize:m}),jsxRuntime.jsxs(react.Box,{h:`${c}px`,position:"relative",w:"100%",children:[jsxRuntime.jsx(Ti,{height:c}),t?jsxRuntime.jsx(Ie,{isLoading:!a.length&&n}):null]}),jsxRuntime.jsx(Wi,{noFooter:t,flexProps:r,onResize:f}),e??null,g?jsxRuntime.jsx(ra,{}):null,h?jsxRuntime.jsx(Di,{field:h}):null]})};var EI=({list:e,basePath:t,flexProps:o,infiniteScroll:r,...n})=>{let{adapter:{db:a}}=react$1.useBackendBase(),{baseQuery:i}=e,l=react$1.useDataListData(e,r,t),s=react$1.usePaginatedQuery(a,i,!!r);return jsxRuntime.jsx(react$1.PaginatedListProvider,{state:l,data:s,children:jsxRuntime.jsx(ci,{...o,children:jsxRuntime.jsx(la,{...n})})})};var JI=({value:e,duration:t=30})=>{let o=Wa.useRef(null),r=Wa.useRef(e),n=Wa.useRef(null);return Wa.useEffect(()=>(n.current=setInterval(()=>{if(o.current){if(r.current===e&&n.current)return clearInterval(n.current);r.current<e?(r.current+=1,o.current.innerText=r.current.toString()):r.current>e&&(r.current-=1,o.current.innerText=r.current.toString());}return ()=>{}},t),()=>{n.current&&clearInterval(n.current);}),[e,t]),jsxRuntime.jsx("span",{ref:o,children:e})};var K0=()=>{let{colorMode:e,toggleColorMode:t}=react.useColorMode(),o=react.useColorModeValue("gray.200","whiteAlpha.200"),r=react.useColorModeValue("blackAlpha.700","whiteAlpha.800"),n=react.useColorModeValue("gray.300","whiteAlpha.300"),a=react.useColorModeValue("gray.800","whiteAlpha.800");return jsxRuntime.jsx(react.IconButton,{"aria-label":"Toggle dark mode",bg:o,color:r,borderRadius:"full",_hover:{bg:n,color:a},w:8,h:8,minW:0,icon:e==="light"?jsxRuntime.jsx(icons.SunIcon,{w:4,h:4}):jsxRuntime.jsx(icons.MoonIcon,{w:4,h:4,filter:"drop-shadow(1px 1px 2px #000000aa)"}),onClick:t,variant:"ghost"})},aT=e=>jsxRuntime.jsx(react.Flex,{position:"absolute",bottom:3,right:3,...e,children:jsxRuntime.jsx(K0,{})});var {definePartsStyle:tg,defineMultiStyleConfig:og}=react.createMultiStyleConfigHelpers(anatomy.switchAnatomy.keys),rg=tg({track:{_focusVisible:{boxShadow:"none"}}}),ng=og({baseStyle:rg}),Nt=themeTools.cssVar("popper-arrow-bg"),sa="Encode Sans",ca="Noto Sans",DT=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:ca,heading:sa}},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",[Nt.variable]:"#ababab",_dark:{bg:"#777777",textShadow:"none",color:"#efefef",[Nt.variable]:"#777777"}}},Button:{baseStyle:{fontFamily:sa,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:ca}},Popover:{baseStyle:{root:{_focus:{boxShadow:"none"}},content:{bg:"background.100",border:"none",boxShadow:"0 0 4px rgba(0,0,0,0.5)",[Nt.variable]:"background.100",_dark:{bg:"background.100",[Nt.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:ng,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 _T=()=>{if(typeof window<"u"){let e=()=>{let t=window.innerWidth,o=window.innerHeight;react$1.useScreen.setState({width:t,height:o,isMobile:t<769,isPortrait:t<o}),window.addEventListener("resize",e);};return e(),()=>{window.removeEventListener("resize",e);}}return ()=>{}};exports.AbsoluteDarkModeToggle=aT;exports.AbsoluteLogin=sg;exports.CircularProgress=pt;exports.CollapseHorizontal=ir;exports.ContentBox=Se;exports.DarkModeToggle=K0;exports.DataList=EI;exports.DataView=om;exports.DefaultModal=Oi;exports.DeleteButton=Vr;exports.DeleteConfirmAlert=Ul;exports.DesktopModal=Dt;exports.Editable=ii;exports.ErrorView=vr;exports.ExpandOnMount=j;exports.Expandable=Yt;exports.FieldForm=rm;exports.FieldMapForm=li;exports.FieldView=Ze;exports.FileView=Ft;exports.Form=Oo;exports.FormElement=Ao;exports.FullSizeContainer=Zg;exports.FullSizeProvider=hr;exports.ImageViewOverlay=Yr;exports.ListContainer=ci;exports.ListContent=la;exports.ListFieldInput=em;exports.Loading=ge;exports.LoadingImage=qr;exports.LoadingLogo=fe;exports.LoadingOverlay=Ie;exports.LoadingSwitch=pb;exports.LottieLoadingLogo=Ir;exports.MediaFeed=cy;exports.MobileFrame=sx;exports.MobileModal=Ai;exports.MobileOverlay=Ri;exports.MobileOverlayBackground=pf;exports.NAV_BAR_HEIGHT=Kt;exports.NavBar=wr;exports.NumberTicker=JI;exports.PlayButton=kn;exports.RedirectView=Lr;exports.SignIn=ga;exports.StandaloneInput=ri;exports.Toggle=_r;exports.ViewButton=ar;exports.baseTheme=DT;exports.bodyFont=ca;exports.headingFont=sa;exports.initializeScreen=_T;exports.switchTheme=ng;exports.useBorderColor=H;exports.useMediaFeed=ts;//# sourceMappingURL=index.cjs.map
|
|
6
|
+
`,fontSize:"md",type:"time",placeholder:e.placeholder,...t,value:t.value??""})));Ye.displayName="TimeInput";var Xc=e=>{if(!e)return {date:void 0,time:void 0};let t=new Date(e);return {date:xo(t),time:t.toTimeString().substring(0,5)}},yo=Wa.forwardRef(({input:{value:e,onBlur:t,onChange:o,onFocus:r}},n)=>{let[{date:a,time:i},l]=Wa.useState(Xc(e)),[s,d]=Wa.useState(null),p=Wa.useCallback((c,m)=>{c==="date"?(l({date:m,time:i}),m&&i&&o(new Date(`${m}T${i}`).getTime())):(l({time:m,date:a}),m&&a&&o(new Date(`${a}T${m}:00.000`).getTime()));},[a,i,o]);Wa.useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}}));let u=Wa.useMemo(()=>({active:s==="date",error:void 0,touched:false}),[s]);return jsxRuntime.jsxs(react.HStack,{w:"100%",children:[jsxRuntime.jsx(Ue,{field:{_type:"date",placeholder:"Date"},input:{value:a,onChange:c=>{p("date",c);},onBlur:()=>{d(null),t();},onFocus:()=>{d("date"),r();}},meta:u}),jsxRuntime.jsx(Ye,{field:{_type:"time",placeholder:"Time"},input:{value:i,onChange:c=>p("time",c.target.value),onBlur:()=>{d(null),t();},onFocus:()=>{d("time"),r();}},meta:u})]})});yo.displayName="DateTimeInput";var Xe=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:()=>{}}})),In=()=>{let{media:e,playlist:t}=Xe();return Wa.useMemo(()=>t?t.currentId!==null?t.items.find(o=>o.id===t.currentId)??null:null:e,[t,e])};var kn=({media:e,size:t=50,opacity:o=.8,buttonProps:r})=>{let{id:n}=e??{},{playlist:a}=react$1.usePlaylist(),i=Xe(c=>c.api),l=Xe(c=>c.isPlaying),s=Xe(c=>c.isLoading),d=In(),p=l&&d?.id===n,u=s&&d?.id===n;return jsxRuntime.jsx(react.IconButton,{boxShadow:"md",p:1,height:`${t}px`,width:`${t}px`,minW:"0",minH:"0",borderRadius:"full",isLoading:u,"aria-label":"play/pause",onClick:c=>{c.stopPropagation(),e&&(d?.id===n?l?i.pause():i.play():a?i.setMedia({playlist:{...a,currentId:n??null}}):i.setMedia({media:e}));},style:{background:"#eee"},...r,icon:jsxRuntime.jsxs(react.Center,{borderRadius:"full",height:`${t}px`,width:`${t}px`,children:[jsxRuntime.jsx(react.Image,{opacity:p?o: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(${p?.8:1})`}),jsxRuntime.jsx(react.Image,{position:"absolute",width:"100%",opacity:p?0:o,transition:"all 0.2s ease-in-out",filter:"invert(100%) drop-shadow(0 0 3px black)",src:"/svg/play.svg",transform:`scale(${p?1:.8})`})]})})};var ud=e=>{if(!e.accept)return;let t=[];return e.accept.includes("image")&&t.push("image/jpg","image/jpeg","image/png","image/svg","image/gif"),e.accept.includes("pdf")&&t.push("application/pdf"),e.accept.includes("audio")&&t.push("audio/mp3","audio/wav","audio/x-wav","audio/webm","audio/ogg"),t.join(",")},md=({hasUpload:e,value:t,noLabel:o})=>{let r=Wa.useMemo(()=>({id:core.generateId(),title:t.filename||"Uploaded file",artistName:"",artistId:"",storageDir:"",producerId:"",songwriterId:""}),[t]);return jsxRuntime.jsxs(react.VStack,{children:[jsxRuntime.jsxs(react.HStack,{spacing:4,children:[jsxRuntime.jsx(kn,{withThumbnail:true,media:r}),e?jsxRuntime.jsx(react.IconButton,{w:"40px",h:"40px",p:2,borderRadius:"full",boxShadow:"0 0 4px black","aria-label":"upload",icon:jsxRuntime.jsx(react.Image,{filter:"invert(100%)",src:"/svg/upload.svg",opacity:.8})}):null]}),!o&&t.filename?jsxRuntime.jsx(react.Text,{fontSize:"md",children:t.filename||"Uploaded file"}):null]})},fd=({value:e,options:t,hasUpload:o,loading:r})=>{let[n,a]=Wa.useState(false),{url:i,loading:l}=react$1.useObjectUrl(e),[s,d]=Wa.useState({width:0,height:0}),{shape:p,placeholder:u,objectFit:c,noFullView:m,background:f}=t??{},{src:g,opacity:h,scale:x}=u??{},b=react$1.useImageSize(t,s),{width:C,height:F}=b??{},w=Wa.useMemo(()=>n?i?1:h??.8:0,[n,i,h]),I=Wa.useMemo(()=>i?{objectFit:c??(n&&p?"cover":"contain"),onLoad:L=>{a(true),d({width:L.currentTarget.naturalWidth,height:L.currentTarget.naturalHeight});}}:{width:b?`${b.width*(x??.9)}px`:"auto",height:b?`${b.height*(x??.9)}px`:"80px"},[i,b,x,n,p,c]),A=!!r||l,O=typeof C=="number"?`${C}px`:"auto",M=typeof F=="number"?`${F}px`:"100px";return jsxRuntime.jsx(qr,{width:O,height:M,noFullView:o??m,overflow:"hidden",borderRadius:p==="circle"?"full":4,boxShadow:p?"1px 1px 3px #00000066":"none",opacity:w,background:f,transition:"opacity 333ms ease",loadingOverride:A,imageProps:I,src:i??g})},gd={txt:"/icons/description.svg",pdf:"/icons/pdf.svg",zip:"/icons/zip.svg","7z":"/icons/zip.svg",rar:"/icons/zip.svg"},hd=({value:e})=>{let t=Wa.useMemo(()=>{if(!e)return "";let n=e.filename.split(".");return n[n.length-1]},[e]),o=gd[t],r=react.useColorModeValue("invert(0)","invert(1)");return o?jsxRuntime.jsx(react.Image,{filter:t!=="pdf"?r:"none",h:"24px",src:o}):null},bd=({value:e,noLabel:t,imageOptions:o,loading:r,hasUpload:n})=>{switch(Wa.useMemo(()=>e.type?.split("/")?.[0],[e])){case "image":return jsxRuntime.jsx(fd,{hasUpload:n,loading:r,options:o,value:e});case "audio":return jsxRuntime.jsx(md,{noLabel:t,value:e,hasUpload:n});case "pdf":return jsxRuntime.jsx(react.Image,{src:"/icons/pdf.svg"});default:return jsxRuntime.jsxs(react.Flex,{gap:2,children:[jsxRuntime.jsx(hd,{value:e}),jsxRuntime.jsx(react.Text,{children:e.filename})]})}},xd=({hasUpload:e,imageOptions:t})=>{let o=react$1.useImageSize(t),{shape:r,placeholder:n}=t??{},{src:a,scale:i,opacity:l}=n??{},{width:s,height:d}=o??{},p=react.useColorModeValue("invert(0)","invert(1)"),u=react.useColorModeValue("whiteAlpha.500","whiteAlpha.100"),c=H(),m=t?jsxRuntime.jsx(react.Center,{height:r?`${d}px`:"auto",width:r?`${s}px`:"auto",bg:r?u:"transparent",borderRadius:r==="circle"?"full":4,overflow:"hidden",boxShadow:r?"1px 1px 4px #00000055":"none",children:jsxRuntime.jsx(react.Image,{filter:p,opacity:l,height:typeof d=="number"?`${d*(i??.6)}px`:"50px",src:a??"/icons/image.svg"})}):jsxRuntime.jsx(react.Text,{border:"1px dashed",borderColor:c,p:3,fontSize:"sm",textAlign:"center",w:"100%",opacity:.8,children:e?"Click to upload or drop file here":"No file uploaded"});return jsxRuntime.jsx(react.Center,{width:typeof s=="number"?`${s}px`:"auto",height:typeof d=="number"?`${d}px`:"auto",children:m})},Ft=({value:e,hasUpload:t,noLabel:o,loading:r,imageOptions:n})=>{let{storagePath:a,dataUrl:i}=e??{},l=Wa.useMemo(()=>!i&&!a,[i,a]);return !e||l?jsxRuntime.jsx(xd,{hasUpload:t,imageOptions:n}):jsxRuntime.jsx(bd,{loading:r,imageOptions:n,noLabel:o,hasUpload:t,value:e})},Co=Wa.forwardRef(({input:{value:e,onChange:t},field:o},r)=>{let{imageOptions:n}=o||{},a=Wa.useRef(null),i=Wa.useCallback(d=>{let p=d.target.files?.[0];p&&(e?.dataUrl&&URL.revokeObjectURL(e.dataUrl),t({...e,dataUrl:URL.createObjectURL(p),type:p.type,filename:p.name}));},[t,e]);Wa.useImperativeHandle(r,()=>({focus:()=>{a.current?.click();},blur:()=>{a.current?.blur();}}));let l=Wa.useMemo(()=>o.accept&&o.accept.length===1&&o.accept[0]==="image",[o]),s=Wa.useMemo(()=>l||e?.type?.startsWith("image/")||e?.type?.startsWith("video/")?{height:120,...n,objectFit:"contain"}:void 0,[n,l,e]);return jsxRuntime.jsxs(react.Center,{flexFlow:"column",position:"relative",cursor:"pointer",onClick:()=>a.current?.click(),width:"100%",children:[jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.8,mb:1,children:o.placeholder}),jsxRuntime.jsxs(react.Center,{width:"100%",position:"relative",p:2,overflow:"hidden",children:[jsxRuntime.jsx(Ft,{hasUpload:true,imageOptions:s,value:e}),jsxRuntime.jsx("input",{onChange:i,ref:a,accept:ud(o),type:"file",style:{position:"absolute",pointerEvents:"none",height:.1,width:.1,opacity:0}})]})]})});Co.displayName="FileComponent";var Bn=Wa.forwardRef(({field:e,input:t,inEditable:o},r)=>{let{options:n,renderOption:a,getOptionKey:i}=e,{onChange:l,value:s,onFocus:d,onBlur:p}=t,{colorMode:u}=react.useColorMode();Wa.useImperativeHandle(r,()=>({focus:()=>{d();},blur:()=>{p();}}));let c=jsxRuntime.jsx(react.Flex,{w:"100%",flexFlow:"row wrap",children:n.map(m=>jsxRuntime.jsx(react.Box,{p:.5,children:jsxRuntime.jsx(react.Button,{w:"100%",minH:0,size:"xs",p:0,opacity:s?.includes(m)?1:.7,variant:"unstyled",onClick:f=>{f.stopPropagation(),l(s?.includes(m)?s.filter(g=>g!==m):[...s??[],m]);},_hover:{opacity:.8},children:a(m,u,!!s?.includes(m))})},i?i(m):m))});return o?jsxRuntime.jsxs(react.Flex,{py:.5,flexFlow:"column",w:"100%",children:[jsxRuntime.jsx(react.Text,{lineHeight:1,px:2,opacity:.8,fontSize:"sm",fontWeight:600,children:e.placeholder}),c]}):c});var Td={xs:.25,sm:.35,md:.5,lg:.5,xl:.5},kd={xs:.5,sm:.75,md:.75,lg:.75,xl:.75},Rd=e=>{let t=Td[e],o=kd[e];return `${t}rem ${o}rem`},Ld={xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},An=e=>Wa.useMemo(()=>({padding:Rd(e??"md"),fontSize:Ld[e??"md"]}),[e]);var So=Wa.forwardRef(({input:{onChange:e,value:t,...o},field:r,size:n,prefix:a,inEditable:i,...l},s)=>{let{type:d,defaultValue:p,placeholder:u}=r,c=react.useColorModeValue("number-input","number-input-dark"),m=An(n),f=ht(s),[g,h]=Wa.useState(""),x=typeof t=="number"&&!Number.isNaN(t)?`${t}${g}`:"";return d==="slider"?jsxRuntime.jsx(bt,{label:u,onChange:e,value:t,defaultValue:p}):jsxRuntime.jsx(Dd__default.default,{className:c,placeholder:r.placeholder,decimalsLimit:r.precision,allowDecimals:!!r.precision,prefix:a,ref:f,onValueChange:(b,C,F)=>{b?.endsWith(".")?h("."):b?.includes(".")&&b?.endsWith("0")?h("0"):h(""),e(F?.float);},value:x,...l,style:{background:"none",resize:"none",fontFamily:"Encode Sans",boxSizing:"border-box",width:"100%",borderRadius:"4px",border:"none",outline:"none",...m,...l.style},...o})}),Ed=({field:e,...t},o)=>{let r=Wa.useRef(null);return Wa.useImperativeHandle(o,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}})),jsxRuntime.jsx(So,{prefix:"$",field:{...e,_type:"number"},...t})},Dn=Wa.forwardRef(Ed);var zn=({value:e,field:t})=>{let o=Wa.useMemo(()=>{if(e===""||e===void 0||e===null)return 1;switch(t._type){case "text":case "number":case "select":case "date":case "time":case "datetime":return -1;default:return 1}},[e,t]);return jsxRuntime.jsx(react.Flex,{transition:"top 300ms",top:o,position:"absolute",right:3,children:jsxRuntime.jsx(react.Text,{fontSize:"xs",opacity:.6,children:"OPTIONAL"})})};var qd=e=>jsxRuntime.jsx(react.Text,{children:typeof e=="string"?e:JSON.stringify(e)}),_n=Wa.forwardRef(({field:e,input:t,meta:o},r)=>{let{placeholder:n,options:a,renderOption:i,getOptionKey:l}=e,{onChange:s,value:d,onFocus:p,onBlur:u}=t,{active:c}=o,m=Wa.useMemo(()=>d&&a.find(h=>h===d),[d,a]),{colorMode:f}=react.useColorMode();Wa.useImperativeHandle(r,()=>({focus:()=>{p();},blur:()=>{u();}}));let g=i??qd;return jsxRuntime.jsxs(react.Popover,{strategy:"fixed",placement:"bottom",matchWidth:true,isOpen:c,onClose:u,children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.Button,{fontWeight:500,w:"100%",opacity:d?1:.7,onClick:h=>{h.stopPropagation(),p();},variant:"unstyled",position:"relative",children:jsxRuntime.jsx(react.Box,{children:m?g(m,f,true):n})})}),jsxRuntime.jsxs(react.PopoverContent,{w:"100%",overflowY:"auto",maxH:"300px",children:[jsxRuntime.jsx(react.PopoverBody,{p:0,children:a.map(h=>jsxRuntime.jsx(react.Button,{w:"100%",variant:"unstyled",onClick:x=>{x.stopPropagation(),s(h),u();},_hover:{bg:"blackAlpha.100"},_dark:{_hover:{bg:"whiteAlpha.100"}},children:g(h,f,h===m)},l?l(h):h))}),jsxRuntime.jsx(react.PopoverArrow,{})]})]})});var pp="/icons/facebook.svg",up="/icons/instagram.svg",mp="/icons/soundcloud.svg",fp="/icons/twitter.svg",gp="/icons/youtube.svg",hp={facebook:pp,instagram:up,twitter:fp,youtube:gp,soundcloud:mp},je=({site:e,value:t,onChange:o})=>{let{handle:r,error:n}=Wa.useMemo(()=>{try{return {handle:core.getHandle(e,t)}}catch(i){return {error:i?.message??"Error parsing handle"}}},[t,e]),a=Wa.useMemo(()=>r?`${e.toUpperCase()}: ${r}`:e.toUpperCase(),[e,r]);return jsxRuntime.jsxs(react.Popover,{trigger:"hover",children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.Center,{opacity:r?1:.6,borderRadius:"full",width:"34px",height:"34px",children:jsxRuntime.jsx(react.Image,{cursor:"pointer",filter:`grayscale(${r?0:100}%)`,height:"24px",width:"24px",objectFit:"contain",src:hp[e]})})}),jsxRuntime.jsx(react.PopoverContent,{w:"auto",children:jsxRuntime.jsx(react.PopoverBody,{overflow:"hidden",borderRadius:4,p:0,w:"auto",children:jsxRuntime.jsxs(react.VStack,{spacing:0,p:2,w:"300px",align:"flex-start",children:[jsxRuntime.jsx(react.Text,{fontSize:"md",children:a}),jsxRuntime.jsx(react.Collapse,{in:!!n,style:{width:"100%"},children:jsxRuntime.jsx(react.Text,{px:1,bg:"red.500",fontSize:"sm",color:"white",children:n})}),jsxRuntime.jsx(react.Input,{onChange:i=>o(i.target.value),placeholder:"Handle or URL",width:"100%",value:t,size:"md"})]})})})]})},To=Wa.forwardRef((e,t)=>{let{input:{value:o,onChange:r},field:{sites:n}}=e,a=Wa.useCallback((i,l)=>{let{[i]:s,...d}=o??{};!l&&Object.keys(d).length===0&&r({target:{value:void 0}}),l||r(d),r({...d,[i]:l});},[r,o]);return Wa.useImperativeHandle(t,()=>({blur:()=>{},focus:()=>{}})),jsxRuntime.jsx(react.VStack,{w:"100%",p:1,children:jsxRuntime.jsxs(react.VStack,{borderRadius:4,p:2,spacing:0,w:"100%",children:[jsxRuntime.jsx(react.Text,{fontSize:"md",children:"Links"}),jsxRuntime.jsxs(react.HStack,{children:[!n||n.facebook?jsxRuntime.jsx(je,{onChange:i=>a("facebook",i),site:"facebook",value:o?.facebook}):null,!n||n.instagram?jsxRuntime.jsx(je,{onChange:i=>a("instagram",i),site:"instagram",value:o?.instagram}):null,!n||n.twitter?jsxRuntime.jsx(je,{onChange:i=>a("twitter",i),site:"twitter",value:o?.twitter}):null,!n||n.youtube?jsxRuntime.jsx(je,{onChange:i=>a("youtube",i),site:"youtube",value:o?.youtube}):null,!n||n.soundcloud?jsxRuntime.jsx(je,{onChange:i=>a("soundcloud",i),site:"soundcloud",value:o?.soundcloud}):null]})]})})});To.displayName="SocialMediaComponent";var ko=Wa.forwardRef(({input:e,field:t,inEditable:o},r)=>{let n=react$1.useTextColor(),a=Wa.useRef(null);return Wa.useImperativeHandle(r,()=>({focus:()=>{a.current?.focus();},blur:()=>{a.current?.blur();}})),jsxRuntime.jsx(vp__default.default,{placeholder:t.placeholder,minRows:2,maxRows:5,ref:a,style:{resize:"none",width:"100%",color:n,background:"none",fontFamily:"fonts.body",boxSizing:"border-box",borderRadius:"4px",padding:o?0:"0.6rem 1rem",border:"none",outline:"none"},...e})});ko.displayName="TextAreaComponent";var Ro=Wa.forwardRef(({input:e,inEditable:t,meta:o,field:r},n)=>{let{placeholder:a,type:i}=r,[l,s]=Wa.useState(i==="password"),{value:d}=e,p=Wa.useRef(null);Wa.useImperativeHandle(n,()=>({focus:()=>{p.current?.focus();},blur:()=>{p.current?.blur();}}));let u=i==="textarea"?jsxRuntime.jsx(ko,{inEditable:t,field:r,input:e,meta:o}):jsxRuntime.jsx(react.Input,{ref:p,border:"none",_dark:{border:"none"},borderRadius:0,px:t?0:3,background:"transparent",_focus:{border:"none"},py:t?0:.5,type:l?"password":"text",height:t?"auto":10,placeholder:a,...e,onChange:c=>{e.onChange({target:{value:c.target.value}});},value:d??""});return i==="password"?jsxRuntime.jsxs(react.Flex,{width:"100%",position:"relative",align:"center",children:[u,jsxRuntime.jsx(react.IconButton,{position:"absolute",right:2,onClick:()=>s(!l),variant:"ghost",icon:l?jsxRuntime.jsx(icons.ViewIcon,{}):jsxRuntime.jsx(icons.ViewOffIcon,{}),"aria-label":l?"show":"hide",title:l?"Show":"Hide",size:"xs"})]}):u});Ro.displayName="TextComponent";var Ep={text:Ro,file:Co,boolean:gn,select:_n,multipleSelect:Bn,currency:Dn,number:So,date:Ue,datetime:yo,time:Ye,socialMedia:To,color:Cn},zp=(e,t)=>{let{field:o,meta:{error:r,active:n,touched:a},input:i,inEditable:l}=e,{value:s}=i,d=Wa.useMemo(()=>r&&a?"#ff7777":n?"rgba(0,0,0,0.7)":"rgba(0,0,0,0.3)",[r,n,a]),{_type:p,optional:u,label:c}=o,m=Wa.useMemo(()=>p==="multipleSelect"||!!s&&p!=="file"&&p!=="boolean",[s,p]),f=Wa.useMemo(()=>{if(l)return {};switch(p){case "text":case "number":case "currency":case "select":return {boxShadow:`0 0 7px ${d}`,transition:"all 300ms",bg:"background.50"};default:return {}}},[p,d,l]),g=Wa.useMemo(()=>Ep[p],[p]),h=Wa.useMemo(()=>l?0:r&&a?6:2,[l,r,a]);return jsxRuntime.jsxs(react.VStack,{position:"relative",align:"flex-start",width:"100%",py:l?0:1,px:1,spacing:0,pb:h,transition:"all 500ms",pt:m&&!l?4:0,children:[c&&!l?jsxRuntime.jsx(react.Text,{color:"gray.800",fontSize:"sm",px:2,children:c}):null,jsxRuntime.jsx(react.Flex,{width:"100%",borderRadius:4,py:.5,overflow:"hidden",...f,children:jsxRuntime.jsx(g,{ref:t,...e})}),l?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.Text,{opacity:r&&a?1:0,transition:`opacity 500ms ease ${r&&a?250:0}ms`,position:"absolute",bottom:"0px",fontSize:"sm",px:1,pointerEvents:"none",color:"red.600",children:r}),jsxRuntime.jsx(react.Text,{opacity:m?1:0,transition:`opacity 500ms ease ${m?250:0}ms`,position:"absolute",top:"-4px",pointerEvents:"none",fontSize:"sm",fontFamily:"fonts.heading",px:1,color:"blackAlpha.600",_dark:{color:"whiteAlpha.600"},children:o.placeholder||""})]}),u&&!l?jsxRuntime.jsx(zn,{field:o,value:s}):null]})},It=Wa.forwardRef(zp);var Wp=({field:e,name:t},o)=>{let{control:r,getOnChange:n,meta:a,onFocus:i,onBlur:l}=react$1.useField(t,e);return jsxRuntime.jsx(reactHookForm.Controller,{control:r,name:t,render:({field:{name:s,ref:d,onBlur:p,...u}})=>jsxRuntime.jsx(It,{ref:o,field:e,input:{...u,onFocus:i,onBlur:()=>{l(),p();},onChange:n(u.onChange)},meta:a})})},Gn=Wa.forwardRef(Wp);var kt=({uploads:e})=>{let t=Wa.useMemo(()=>Object.values(e),[e]);return jsxRuntime.jsx(reactTransitionGroup.TransitionGroup,{component:react.Flex,width:"100%",flexFlow:"column",children:t.map(o=>jsxRuntime.jsx(j,{children:jsxRuntime.jsxs(react.Center,{px:2,height:"26px",position:"relative",w:"100%",flexDirection:"column",children:[jsxRuntime.jsx(react.Progress,{borderRadius:"full",value:o.percent*100,mx:2,my:1,size:"md",height:"100%",width:"100%"}),jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",textShadow:"1px 1px 3px #000000aa",color:"white",position:"absolute",fontSize:"sm",fontWeight:500,children:o.label.toUpperCase()})]})},o.label))})};var ou=({onBack:e,children:t})=>jsxRuntime.jsx(react.Button,{flex:1,transition:"all 500ms",onClick:e,variant:"outline",border:"1px solid #cdcdcd",color:"#777",ml:"auto",children:t}),ru=({onSubmitClick:e,submitting:t,children:o,filter:r,opacity:n})=>jsxRuntime.jsx(react.Button,{isLoading:t,filter:r,flex:1,transition:"all 500ms",opacity:n,onClick:()=>{e();},ml:"auto",variant:"solid",children:o}),nu=()=>{let{formError:e}=react$1.useChempoForm();return jsxRuntime.jsx(react.Collapse,{in:!!e,children:jsxRuntime.jsx(react.Text,{color:"red",children:e??""})})},Qn=({renderFooter:e,...t})=>{let{uploads:o,onBack:r,buttonText:n,onSubmit:a}=t,{isSubmitting:i,isValid:l}=reactHookForm.useFormState();return jsxRuntime.jsxs(react.Flex,{w:"100%",flexFlow:"column",children:[jsxRuntime.jsx(react.Collapse,{endingHeight:5,style:{width:"100%"},in:i,children:jsxRuntime.jsx(react.Progress,{w:"100%",h:"5px",isIndeterminate:true})}),jsxRuntime.jsx(kt,{uploads:o}),jsxRuntime.jsx(nu,{}),e?e(t):jsxRuntime.jsxs(react.HStack,{py:2,borderTop:"1px solid",borderColor:"background.200",px:3,w:"100%",children:[r?jsxRuntime.jsx(ou,{onBack:r,children:"Cancel"}):null,jsxRuntime.jsx(ru,{size:"sm",filter:`grayscale(${l?0:100}%)`,opacity:l?1:.5,onSubmitClick:a,submitting:i,children:n})]})]})};var Kn=({field:e,value:t,noLabel:o,style:r})=>{let{imageOptions:n,placeholder:a}=e,i=Wa.useMemo(()=>({height:150,...n}),[n]);return jsxRuntime.jsxs(react.Flex,{flexFlow:t?"column":"row",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:a}),t?jsxRuntime.jsx(j,{children:jsxRuntime.jsx(react.Box,{p:1,children:jsxRuntime.jsx(Ft,{imageOptions:i,value:t})})}):jsxRuntime.jsx(react.Text,{opacity:.7,children:"None"})]})};var Jn=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n,renderOption:a}=e,{colorMode:i}=react.useColorMode();return jsxRuntime.jsxs(react.Flex,{maxW:"100%",flexFlow:"row wrap",align:"center",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:n}),t?t.map(l=>jsxRuntime.jsx(react.Box,{p:.5,children:a(l,i,true)},e.getOptionKey?e.getOptionKey(l):l)):jsxRuntime.jsx(react.Text,{opacity:.6,children:"None"})]})};var gu=e=>jsxRuntime.jsx(react.Text,{children:typeof e=="string"?e:JSON.stringify(e)}),ei=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n,renderOption:a}=e,{colorMode:i}=react.useColorMode();return jsxRuntime.jsxs(react.Flex,{align:"center",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:n}),t?(a??gu)(t,i,true):"None"]})};var wu=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n}=e,a=Wa.useMemo(()=>{let i=core.formatField[e._type];return i?i(e,t):t},[t,e]);return jsxRuntime.jsxs(react.Flex,{align:"center",style:r,children:[o?null:jsxRuntime.jsx(react.Text,{pr:2,opacity:.7,fontWeight:600,children:n}),jsxRuntime.jsx(react.Text,{opacity:t!=null?1:.6,children:a??"None"})]})},Ze=({field:e,value:t,noLabel:o,style:r})=>{switch(e._type){case "select":return jsxRuntime.jsx(ei,{style:r,field:e,value:t,noLabel:o});case "multipleSelect":return jsxRuntime.jsx(Jn,{style:r,field:e,value:t,noLabel:o});case "file":return jsxRuntime.jsx(Kn,{style:r,field:e,value:t,noLabel:o});default:return jsxRuntime.jsx(wu,{style:r,field:e,value:t,noLabel:o})}};var Su=({onChange:e,value:t,field:o,onBlur:r,inEditable:n,onFocus:a,style:i},l)=>{let{inputProps:s,meta:d}=react$1.useStandaloneInput(o,t,e,a,r);return jsxRuntime.jsx(It,{ref:l,field:o,inEditable:n,style:i,input:s,meta:d})},ri=Wa.forwardRef(Su);var ii=({value:e,field:t,onSubmit:o,storagePath:r,style:n,onEditClose:a,onEditOpen:i})=>{let{formattedValue:l,inputRef:s,setValue:d,isLoading:p,uploads:u,editHovered:c,handleEditOpen:m,handleEditClose:f,isEditing:g,value:h,setEditHovered:x,submit:b,submitValue:C,parse:F}=react$1.useEditable({value:e,field:t,onSubmit:o,storagePath:r,onEditOpen:i,onEditClose:a}),w=Wa.useMemo(()=>t._type==="file"||t._type==="boolean",[t]);Wa.useEffect(()=>{g&&s.current?.focus();},[g,s]);let I=react$1.useColorModeValue("#00000055","#ffffff55");return jsxRuntime.jsx(react$1.ChempoFormProvider,{children:jsxRuntime.jsxs(react.Flex,{borderRadius:4,border:`1px dashed ${c&&!g?I:"transparent"}`,flexFlow:"column",w:"100%",children:[jsxRuntime.jsxs(react.Flex,{align:"center",px:1,position:"relative",w:"100%",children:[jsxRuntime.jsx(react.Flex,{opacity:p?0:1,transition:"all 300ms",mr:1,border:`1px dashed ${g?I:"transparent"}`,flex:1,minW:"0",children:g||w?jsxRuntime.jsx(ri,{ref:s,value:l,inEditable:true,field:t,style:{padding:0,...n},onChange:w?A=>C(F(A)):A=>d(F(A))}):jsxRuntime.jsx(Ze,{style:n,field:t,value:h})}),w?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.IconButton,{"aria-label":"Edit",size:"xs",icon:g?jsxRuntime.jsx(icons.CloseIcon,{width:3}):jsxRuntime.jsx(icons.EditIcon,{}),onMouseEnter:()=>x(true),onMouseLeave:()=>x(false),onClick:()=>{g?(d(h),f()):m();}}),jsxRuntime.jsx(react.Flex,{transition:"all 300ms",justify:"flex-end",opacity:g?1:0,overflow:"hidden",w:g?"30px":"0px",children:jsxRuntime.jsx(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:jsxRuntime.jsx(icons.CheckIcon,{filter:"drop-shadow(1px 1px 3px #000000aa)"}),onClick:()=>{b();}})})]}),jsxRuntime.jsx(Ie,{isLoading:p})]}),jsxRuntime.jsx(kt,{uploads:u})]})})};var Zu=e=>t=>{t.destination&&e(t.source.index,t.destination.index);},em=({field:e,name:t})=>{let o=Wa.useMemo(()=>core.isField(e.itemField)?"":core.isListField(e.itemField)?[]:{},[e]),r=react.useColorModeValue("#efefef","#2b2b2b"),n=H(),{control:a}=reactHookForm.useFormContext(),{fields:i,append:l,remove:s,move:d}=reactHookForm.useFieldArray({control:a,name:t}),p=Wa.useMemo(()=>Zu(d),[d]);return jsxRuntime.jsxs(react.Flex,{overflow:"hidden",gap:2,flexFlow:"column",w:"100%",px:2,py:1,children:[jsxRuntime.jsx(react.Text,{lineHeight:1,opacity:.7,fontSize:"sm",children:e.placeholder}),jsxRuntime.jsx(dnd.DragDropContext,{onDragEnd:p,children:jsxRuntime.jsx(dnd.Droppable,{droppableId:"droppable",children:(u,{draggingFromThisWith:c})=>jsxRuntime.jsxs(react.Flex,{ref:u.innerRef,flexFlow:"column",w:"100%",py:1,borderRadius:4,minH:"30px",align:"flex",...u.droppableProps,children:[i.length?i.map((m,f)=>jsxRuntime.jsx(dnd.Draggable,{draggableId:m.id,index:f,children:({dragHandleProps:g,draggableProps:h,innerRef:x},{isDragging:b})=>jsxRuntime.jsx(react.Flex,{transition:"all 300ms",boxShadow:`2px 2px 4px #000000${b?"55":"00"}`,borderRadius:4,pt:2,px:2,border:`1px solid ${n}`,bg:`${r}${b?"ff":"00"}`,ref:x,w:"100%",...h,children:jsxRuntime.jsx(j,{children:jsxRuntime.jsxs(react.Flex,{opacity:c&&!b?.5:1,gap:1,align:"center",w:"100%",children:[jsxRuntime.jsx(react.IconButton,{"aria-label":"drag",size:"xs",opacity:.8,variant:"ghost",icon:jsxRuntime.jsx(icons.DragHandleIcon,{}),...g}),jsxRuntime.jsx(react.Box,{minW:"0",flex:1,children:jsxRuntime.jsx(Ao,{name:m.id,field:e.itemField})}),jsxRuntime.jsx(react.IconButton,{"aria-label":"delete",size:"xs",bg:"red.600",color:"white",icon:jsxRuntime.jsx(icons.DeleteIcon,{filter:"drop-shadow(1px 1px 3px #00000088)"}),onClick:C=>{C.stopPropagation(),s(f);}})]})})})},m.id)):jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"}),u.placeholder]})})}),jsxRuntime.jsx(react.Flex,{children:jsxRuntime.jsx(react.Button,{mr:"auto",width:"auto",size:"xs",onClick:()=>l(o),children:"+ NEW"})})]})},Ao=({field:e,name:t})=>{let o=Wa.useMemo(()=>core.isField(e)||core.isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([r,n])=>({name:`${t?`${t}.`:""}${r}`,field:n})),[e,t]);return jsxRuntime.jsx(react.VStack,{spacing:1,w:"100%",children:o.map(r=>{if(core.isListField(r.field)){let a=jsxRuntime.jsx(em,{name:r.name,field:r.field},r.name);return r.field.condition?jsxRuntime.jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}if(core.isField(r.field)){let a=jsxRuntime.jsx(Gn,{name:r.name,field:r.field},r.name);return r.field.condition?jsxRuntime.jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}let n=jsxRuntime.jsx(Ao,{name:r.name,field:r.field},r.name);return r.field.condition?jsxRuntime.jsx(gt,{path:t,condition:r.field.condition,children:n},r.name):n})})},tm=({field:e,value:t,path:o})=>{let{itemField:r,placeholder:n}=e,a=H();return jsxRuntime.jsx(react.Box,{w:"100%",p:1,children:jsxRuntime.jsx(Yt,{border:`1px solid ${a}`,borderRadius:4,initExpanded:true,header:()=>jsxRuntime.jsx(react.Text,{py:1,children:n}),children:jsxRuntime.jsx(react.Flex,{flexFlow:"column",bg:"background.200",gap:2,px:2,py:1,children:t?.length?t.map((i,l)=>jsxRuntime.jsx(react.Box,{bg:"background.100",border:`1px solid ${a}`,borderRadius:3,children:jsxRuntime.jsx(ai,{path:`${o}.${l}`,field:{...r,placeholder:`${n} ${l+1}`},value:i})},`${o}.${l}`)):jsxRuntime.jsx(react.Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"})})})})},ai=({field:e,value:t,path:o,storagePath:r})=>{let{updateField:n}=react$1.useDataView();return core.isField(e)?n?jsxRuntime.jsx(ii,{storagePath:r,field:e,value:t,onSubmit:a=>n(o,a)}):jsxRuntime.jsx(Ze,{field:e,value:t}):core.isListField(e)?jsxRuntime.jsx(tm,{path:o,field:e,value:t}):jsxRuntime.jsx(om,{storagePath:r?`${r}.${o}`:void 0,path:o,field:e})},om=({field:e,value:t,onClose:o,onDelete:r,onSubmit:n,itemName:a,storagePath:i,path:l=""})=>{let{name:s,children:d}=e,[p,u]=Wa.useState(false);return jsxRuntime.jsx(react$1.DataViewProvider,{value:t,onSubmit:n,children:jsxRuntime.jsx(Yt,{alwaysExpanded:true,header:()=>jsxRuntime.jsxs(react.Flex,{align:"center",px:2,w:"100%",children:[jsxRuntime.jsx(react.Text,{py:2,fontSize:"lg",fontFamily:"fonts.heading",children:s}),jsxRuntime.jsxs(react.Flex,{gap:2,align:"center",ml:"auto",children:[r?jsxRuntime.jsx(Vr,{onDelete:r,itemName:a??"item"}):null,n?jsxRuntime.jsx(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,ml:"auto","aria-label":"edit",icon:jsxRuntime.jsx(icons.EditIcon,{}),onClick:()=>u(true)}):null,o?jsxRuntime.jsx(react.IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,variant:"ghost","aria-label":"close",icon:jsxRuntime.jsx(icons.CloseIcon,{opacity:.8,w:3,h:3}),onClick:o}):null]})]}),children:p&&n?jsxRuntime.jsx(Oo,{storagePath:i,field:e,value:t,onSubmit:n,onBack:()=>u(false)}):jsxRuntime.jsx(react.Flex,{flexFlow:"column",px:4,py:2,children:Object.entries(d).map(([c,m])=>jsxRuntime.jsx(ai,{storagePath:i?`${i}/${c}`:void 0,path:l?`${l}.${c}`:c,field:m,value:t?.[c]},c))})})})},li=({onSubmit:e,onBack:t,field:o,value:r,buttonText:n="SUBMIT",renderFooter:a,storagePath:i})=>{let l=Wa.useMemo(()=>({field:o,value:r,submit:e,storagePath:i}),[o,r,e,i]),{onSubmit:s,uploads:d}=react$1.useFormSubmit(l);return jsxRuntime.jsx(react.Stack,{w:"100%",spacing:3,children:jsxRuntime.jsxs("form",{children:[jsxRuntime.jsx(react.Box,{pt:1,px:2,w:"100%",children:jsxRuntime.jsx(Ao,{name:"",field:o})}),jsxRuntime.jsx(Qn,{uploads:d,onSubmit:s,renderFooter:a,onBack:t,buttonText:n})]})})},rm=({onSubmit:e,field:t,value:o,...r})=>{let n=Wa.useMemo(()=>({children:{value:t}}),[t]);return jsxRuntime.jsx(li,{field:n,value:{value:o},onSubmit:a=>e(a?.value),...r})},Oo=({field:e,...t})=>{let o=core.isField(e)||core.isListField(e)?jsxRuntime.jsx(rm,{field:e,...t}):jsxRuntime.jsx(li,{field:e,...t});return jsxRuntime.jsx(react$1.ChempoFormProvider,{children:o})};var ci=e=>{let t=react$1.useMounted();return jsxRuntime.jsx(hr,{children:jsxRuntime.jsx(react.Flex,{overflow:"hidden",flexFlow:"column",h:"100%",w:"100%",opacity:t?1:0,transition:"opacity 300ms",...e})})};var De=({data:e,rowIndex:t,columnIndex:o,style:r})=>{let{items:n,onSelect:a,refetch:i,grid:l,numCols:s,colorMode:d}=e||{},{ItemPreview:p}=l,u=t*s+o,c=n[u];return c?jsxRuntime.jsx(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{a(c);},style:r,px:1,py:.25,children:p({index:u,item:c,refetch:i?()=>i(c._id):void 0,colorMode:d})},u):null};var de=()=>{let{list:e,search:{debounced:t,search:o}}=react$1.useDataList(),{data:{isLoading:r}}=react$1.usePaginatedList(),n=Wa.useMemo(()=>r||t!==o,[r,t,o]),{itemName:a,pluralItemName:i,noItemsMessage:l,searchRequired:s}=e;return jsxRuntime.jsx(react.Flex,{justify:"center",align:"flex-start",w:"100%",h:"100%",children:n?jsxRuntime.jsx(ge,{text:`Loading ${i??core.toPlural(a)}`}):jsxRuntime.jsx(react.Text,{textAlign:"center",flex:1,p:3,fontStyle:"italic",opacity:.7,children:!t&&s?`Search ${i??core.toPlural(a)}`:l??`No ${i??core.toPlural(a)}`})})};var oe=e=>typeof e=="function";var fm=(e,t)=>{if(e.key!==t.key||e.operator!==t.operator)return false;if(core.arrayOperators.includes(e.operator)){let o=Array.isArray(e.value)?e.value:[e.value];return !(Array.isArray(t.value)?t.value:[t.value]).every(n=>!o.includes(n))}return e.value===t.value},di=(e,{nativeFilter:t})=>(Array.isArray(t)?t:[t]).every(r=>fm(r,e));var bm=(e,t,o)=>{let{rowHeight:r,columnWidth:n}=t;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(o/n(e[0]));return {numRows:Math.ceil(e.length/l),numCols:l}}let a=Math.max(1,Math.floor(o/n));return {numRows:Math.ceil(e.length/a),numCols:a}},xm=(e,t,o)=>{let{rowHeight:r,columnWidth:n}=t,{numRows:a,numCols:i}=bm(e,t,o),l=typeof n=="number"?o/i:Array.from({length:i},(u,c)=>e.filter((f,g)=>g%i===c).reduce((f,g)=>{let h=n(g);return Math.max(f,h)},0)),s=typeof r=="number"?r:Array.from({length:a},(u,c)=>e.slice(c*i,(c+1)*i).reduce((f,g)=>{let h=r(g);return Math.max(f,h)},0)),d=Array.isArray(s)?u=>s[u]:s,p=Array.isArray(l)?u=>l[u]:l;return {rowHeight:d,colWidth:p,numCols:i,numRows:a}},At=(e,t)=>{let{data:{data:o}}=react$1.usePaginatedList();return Wa.useMemo(()=>xm(o,e,t),[o,e,t])};var gi=({height:e,options:t})=>{let{totalCount:o,data:{data:r},refetchItem:n,isItemLoaded:a,goNext:i}=react$1.usePaginatedList(),{list:l,onSelectItem:s,mobileLayout:d,query:p}=react$1.useDataList(),{width:u}=react$1.useFullSize(),{numCols:c,numRows:m,rowHeight:f,colWidth:g}=At(t,u),{previewHeight:h,mobile:x}=l,{colorMode:b}=react.useColorMode(),C=Wa.useMemo(()=>({list:l,items:r,mobileLayout:d,grid:t,colorMode:b,numCols:c,onSelect:L=>s(L._id),refetch:n}),[r,l,n,s,d,c,t,b]),F=Wa.useRef(null),w=Wa.useMemo(()=>d?x?.previewHeight??h:h,[x,h,d]);Wa.useEffect(()=>{let L=F.current;L&&(L.resetAfterColumnIndex(0),L.resetAfterRowIndex(0));},[p]);let I=Wa.useRef(null);Wa.useEffect(()=>{I.current&&I.current.resetloadMoreItemsCache(true);},[o]);let A=Wa.useMemo(()=>oe(w),[w]),O=Wa.useCallback(({columnIndex:L,rowIndex:_,data:B})=>{let W=_*c+L;return B.items[W]?._id||`${W}`},[c]),M=Wa.useCallback(({overscanColumnStartIndex:L,overscanColumnStopIndex:_,overscanRowStartIndex:B,overscanRowStopIndex:W,visibleColumnStartIndex:ne,visibleColumnStopIndex:Ce,visibleRowStartIndex:Fe,visibleRowStopIndex:ue},P)=>{let D=Fe*c+ne,T=ue*c+Ce,v=B*c+L,R=W*c+_;P({overscanStartIndex:v,overscanStopIndex:R,visibleStartIndex:D,visibleStopIndex:T});},[c]);return r.length?A?jsxRuntime.jsx(fi__default.default,{isItemLoaded:a,ref:I,itemCount:o??0,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsxRuntime.jsx(reactWindow.VariableSizeGrid,{height:e,width:u,rowCount:m,columnCount:c,rowHeight:f,columnWidth:g,itemData:C,style:{overflowX:"hidden"},itemKey:O,onItemsRendered:B=>M(B,L),ref:B=>{_(B),F.current=B;},children:De})}):jsxRuntime.jsx(fi__default.default,{isItemLoaded:a,itemCount:o??0,ref:I,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsxRuntime.jsx(reactWindow.FixedSizeGrid,{height:e,width:u,rowCount:m,columnCount:c,rowHeight:f,columnWidth:g,itemData:C,onItemsRendered:B=>M(B,L),style:{overflowX:"hidden"},ref:B=>{_(B),F.current=null;},children:De})}):jsxRuntime.jsx(de,{})};var Ee=({data:e,index:t,style:o})=>{let{list:r,items:n,onSelect:a,refetch:i,mobileLayout:l,colorMode:s}=e||{},{ItemPreview:d,mobile:p}=r,u=l?p?.ItemPreview??d:d,c=n[t];return c?jsxRuntime.jsx(react.Flex,{display:"flex",cursor:"pointer","aria-label":"list-item",onClick:()=>{a(n[t]);},style:o,children:u({index:t,item:c,refetch:i?()=>i(c._id):void 0,colorMode:s})},t):null};var yi=({height:e})=>{let{totalCount:t,data:{data:o},refetchItem:r,isItemLoaded:n,goNext:a}=react$1.usePaginatedList(),{list:i,onSelectItem:l,mobileLayout:s,query:d}=react$1.useDataList(),{previewHeight:p,mobile:u}=i,{colorMode:c}=react.useColorMode(),{width:m}=react$1.useFullSize(),f=Wa.useMemo(()=>({list:i,items:o,mobileLayout:s,colorMode:c,onSelect:F=>l(F._id),refetch:r}),[o,i,r,l,s,c]),g=Wa.useRef(null),h=Wa.useMemo(()=>s?u?.previewHeight??p:p,[u,p,s]),x=Wa.useRef(null);Wa.useEffect(()=>{x.current&&x.current.resetloadMoreItemsCache(true);},[t]),Wa.useEffect(()=>{let F=g.current;F&&(F.resetAfterRowIndex(0),F.resetAfterColumnIndex(0));},[d]);let b=Wa.useCallback(F=>typeof h=="function"?h(o[F]):h,[o,h]),C=Wa.useMemo(()=>oe(h),[h]);return o.length?C?jsxRuntime.jsx(fi__default.default,{ref:x,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:F,ref:w})=>jsxRuntime.jsx(reactWindow.VariableSizeList,{height:e,width:m,itemSize:b,itemCount:t??0,itemData:f,style:{overflowX:"hidden"},itemKey:I=>o[I]?._id||`${I}`,onItemsRendered:I=>{F(I);},ref:w,children:Ee})}):jsxRuntime.jsx(fi__default.default,{ref:x,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:F,ref:w})=>jsxRuntime.jsx(reactWindow.FixedSizeList,{height:e,width:m,itemSize:h,itemCount:t??0,itemData:f,itemKey:I=>o[I]?._id||`${I}`,style:{overflowX:"hidden"},onItemsRendered:F,ref:w,children:Ee})}):jsxRuntime.jsx(de,{})};var $m=({height:e,options:t})=>{let{list:o,onSelectItem:r,mobileLayout:n,query:a}=react$1.useDataList(),{data:{data:i},pageIndex:l}=react$1.usePaginatedList(),s=Wa.useRef(null),d=Wa.useRef(null),{width:p}=react$1.useFullSize(),{numCols:u,numRows:c,rowHeight:m,colWidth:f}=At(t,p),{colorMode:g}=react.useColorMode(),h=Wa.useMemo(()=>({list:o,items:i,numCols:u,onSelect:b=>r(b._id),mobileLayout:n,colorMode:g,grid:t}),[i,o,r,n,u,t,g]);Wa.useEffect(()=>{let b=s.current;b&&(b.resetAfterColumnIndex(0),b.resetAfterRowIndex(0));},[a]),Wa.useEffect(()=>{let b=s.current,C=d.current;b&&b.scrollTo({scrollLeft:0,scrollTop:0}),C&&C.scrollTo({scrollLeft:0,scrollTop:0});},[l,a]);let x=Wa.useMemo(()=>oe(t.rowHeight)||oe(t.columnWidth),[t]);return i.length?x?jsxRuntime.jsx(reactWindow.VariableSizeGrid,{ref:s,height:e,width:p,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsxRuntime.jsx(reactWindow.FixedSizeGrid,{height:e,ref:d,width:p,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsxRuntime.jsx(de,{})},Fi=Wa.memo($m);var Km=({height:e})=>{let{list:t,onSelectItem:o,mobileLayout:r,query:n}=react$1.useDataList(),{data:{data:a},pageIndex:i}=react$1.usePaginatedList(),{width:l}=react$1.useFullSize(),{previewHeight:s,mobile:d}=t,p=Wa.useRef(null),u=Wa.useRef(null),{colorMode:c}=react.useColorMode(),m=Wa.useMemo(()=>({list:t,colorMode:c,items:a,onSelect:x=>o(x._id),mobileLayout:r}),[a,t,o,r,c]),f=Wa.useMemo(()=>r?d?.previewHeight??s:s,[d,s,r]);Wa.useEffect(()=>{let x=p.current;x&&x.resetAfterIndex(0);},[n]),Wa.useEffect(()=>{let x=p.current,b=u.current;x&&x.scrollTo(0),b&&b.scrollTo(0);},[n,i]);let g=Wa.useCallback(x=>typeof f=="function"?f(a[x]):f,[a,f]),h=Wa.useMemo(()=>oe(f),[f]);return a.length?h?jsxRuntime.jsx(reactWindow.FixedSizeList,{ref:u,height:e,width:l,itemSize:f,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsxRuntime.jsx(reactWindow.VariableSizeList,{ref:p,height:e,width:l,itemSize:g,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsxRuntime.jsx(de,{})},Ii=Wa.memo(Km);var Ti=({height:e})=>{let{infiniteScroll:t,gridLayout:o,list:r}=react$1.useDataList(),{grid:n}=r;return o&&n?t?jsxRuntime.jsx(gi,{options:n,height:e}):jsxRuntime.jsx(Fi,{options:n,height:e}):t?jsxRuntime.jsx(yi,{height:e}):jsxRuntime.jsx(Ii,{height:e})};var Dt=({children:e,isOpen:t,contentProps:o,...r})=>jsxRuntime.jsxs(react.Modal,{scrollBehavior:"inside",isCentered:true,isOpen:t,...r,children:[jsxRuntime.jsx(react.ModalOverlay,{}),jsxRuntime.jsx(react.ModalContent,{position:"relative",overflowY:"auto",bg:"background.100",...o,children:jsxRuntime.jsx(react.Box,{children:e})})]});var Ri=e=>{let{overlayRef:t}=react$1.useMobileFrame();return jsxRuntime.jsx(react.Portal,{containerRef:t,children:jsxRuntime.jsx(react.Flex,{justify:"center",align:"center",transition:"opacity 300ms",position:"absolute",left:0,top:0,height:"100%",width:"100%",...e})})};var df=({onClick:e})=>jsxRuntime.jsx(react.Flex,{onClick:e,w:"100%",h:"100%",position:"absolute",bg:"blackAlpha.400",transition:"opacity 300ms"}),Ai=({isOpen:e,onClose:t,children:o,contentProps:r,onContentMounted:n,closeOnOverlayClick:a})=>{let{height:i,width:l}=react$1.useMobileFrame(),s=react.useColorModeValue("gray.100","#454545"),[d,p]=Wa.useState(false),[u,c]=Wa.useState(false),m=Wa.useRef(null),f=Wa.useRef(null);return Wa.useEffect(()=>(m.current&&(clearTimeout(m.current),m.current=null),f.current&&(clearTimeout(f.current),f.current=null),e?(p(true),f.current=setTimeout(()=>{c(true),n&&n(true);},50)):(c(false),n&&n(false),m.current=setTimeout(()=>{p(false);},300)),()=>{m.current&&(clearTimeout(m.current),m.current=null),f.current&&(clearTimeout(f.current),f.current=null);}),[e,n]),d?jsxRuntime.jsxs(Ri,{opacity:u?1:0,pointerEvents:u?"auto":"none",children:[jsxRuntime.jsx(df,{onClick:a!==false?t:void 0}),jsxRuntime.jsx(react.Flex,{width:`${l-10}px`,maxH:`${i-10}px`,overflowY:"auto",overflowX:"hidden",minH:"100px",bg:s,borderRadius:6,position:"relative",...r,children:o})]}):null};var Oi=e=>{let t=react$1.useScreen(n=>n.isMobile),o=yr(),r=Wa.useMemo(()=>t||o?Ai:Dt,[t,o]);return jsxRuntime.jsx(r,{...e})};var Di=({field:e})=>{let{list:{baseQuery:t,itemName:o},newItemOpen:r,setNewItemOpen:n}=react$1.useDataList(),{adapter:{db:a}}=react$1.useBackendBase(),{refetch:i}=react$1.usePaginatedList(),l=Wa.useCallback(async s=>{await a.createItem(t.collection,s),n(false),i&&i();},[n,i,a,t]);return jsxRuntime.jsxs(Dt,{isOpen:r,onClose:()=>n(false),children:[jsxRuntime.jsxs(react.Flex,{align:"center",pt:3,px:3,w:"100%",children:[jsxRuntime.jsxs(react.Text,{pl:1,opacity:.7,fontWeight:600,children:["NEW ",o.toUpperCase()]}),jsxRuntime.jsx(react.IconButton,{size:"sm",borderRadius:"full",ml:"auto",h:7,w:7,minW:0,onClick:()=>n(false),"aria-label":"Close",icon:jsxRuntime.jsx(icons.CloseIcon,{opacity:.8,w:3,h:3})})]}),jsxRuntime.jsx(Oo,{field:e,onSubmit:l})]})};var Hi=({goNext:e,canGoNext:t,mobileLayout:o})=>jsxRuntime.jsxs(react.Button,{opacity:t?1:.6,pointerEvents:t?"auto":"none",borderRadius:"full",onClick:e,"aria-label":"next",variant:"ghost",size:o?"xs":"sm",pl:3,pr:1,gap:1,children:[jsxRuntime.jsx(react.Text,{children:"Next"}),jsxRuntime.jsx(icons.ChevronRightIcon,{w:5,h:5})]}),Vi=({goPrev:e,canGoPrev:t,mobileLayout:o})=>jsxRuntime.jsxs(react.Button,{opacity:t?1:.5,pointerEvents:t?"auto":"none",onClick:e,borderRadius:"full","aria-label":"back",variant:"ghost",pr:3,pl:1,gap:1,size:o?"xs":"sm",children:[jsxRuntime.jsx(icons.ChevronLeftIcon,{w:5,h:5}),jsxRuntime.jsx(react.Text,{children:"Back"})]}),Ef=({progressBg:e,borderColor:t})=>{let{data:{isLoading:o,error:r}}=react$1.usePaginatedList();return jsxRuntime.jsxs(react.Box,{position:"absolute",bottom:"100%",w:"100%",left:0,children:[jsxRuntime.jsx(react.Collapse,{style:{width:"100%"},in:!!r,animateOpacity:true,children:jsxRuntime.jsx(react.Box,{borderTopRadius:6,bg:"red.600",maxW:"100%",p:1,children:jsxRuntime.jsx(react.Tooltip,{placement:"top",hasArrow:true,label:r?.message??"","aria-label":"error",children:jsxRuntime.jsx(react.Text,{textShadow:"1px 1px 3px #00000077",_dark:{textShadow:"none"},px:1,fontWeight:600,isTruncated:true,maxW:"100%",fontSize:"sm",color:"white",children:r?.message})})})}),jsxRuntime.jsx(j,{in:o,animateOpacity:true,children:jsxRuntime.jsx(react.Flex,{bg:e,borderTop:"1px solid",borderBottom:"1px solid",borderColor:t,w:"100%",children:jsxRuntime.jsx(react.Progress,{borderRadius:0,w:"100%",height:"8px",isIndeterminate:o})})})]})},zf=(e,t,o)=>Math.abs(e-t)<=1?2:e<3?t===0?2:0:e>o-4?t>o-3?2:4:e<t?1:3,zt=28,Ht=24,_i=({index:e,isActive:t,onClick:o,borderColor:r,isLoading:n,mobileLayout:a})=>jsxRuntime.jsx(react.Button,{onClick:o,variant:"unstyled",display:"flex",border:"1px solid",borderColor:t?"transparent":r,justifyContent:"center",alignItems:"center",width:`${a?Ht:zt}px`,height:`${a?Ht:zt}px`,fontFamily:"fonts.heading",lineHeight:1,fontWeight:600,minW:"0",bg:t?"accent.400":"transparent",_hover:{bg:t?"accent.500":"whiteAlpha.500"},color:t?"white":r,textShadow:t?"1px 1px 3px #00000088":"none",size:"sm",disabled:n,"aria-label":`Go to page ${e+1}`,children:e+1},e),Hf=({group:{indicators:e,collapsed:t},mobileLayout:o})=>{let{data:{isLoading:r},goToPage:n}=react$1.usePaginatedList(),a=H();return t?jsxRuntime.jsx(react.Popover,{trigger:"hover",gutter:1,variant:"fixed",children:({onClose:i})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.IconButton,{variant:"unstyled",width:`${o?Ht:zt}px`,height:`${o?Ht:zt}px`,minW:"0",opacity:.7,_hover:{opacity:1},"aria-label":"more pages",icon:jsxRuntime.jsx(react.Text,{fontSize:"md",position:"relative",bottom:"2px",children:"..."})})}),jsxRuntime.jsx(react.PopoverContent,{bg:"background.200",w:"auto",border:"1px solid",borderColor:a,boxShadow:"none",children:jsxRuntime.jsx(react.PopoverBody,{w:"auto",maxW:"166px",p:.5,children:jsxRuntime.jsx(react.Flex,{align:"center",justify:"center",flexFlow:"row wrap",children:e.map(({index:l,isActive:s})=>jsxRuntime.jsx(react.Box,{m:.5,children:jsxRuntime.jsx(_i,{mobileLayout:o,index:l,isActive:s,onClick:()=>{n(l),i();},borderColor:a,isLoading:r})},`ind-${l}`))})})})]})}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.map(({index:i,isActive:l})=>jsxRuntime.jsx(_i,{mobileLayout:o,index:i,isActive:l,onClick:()=>n(i),borderColor:a,isLoading:r},i))})},Vf=()=>{let{pageIndex:e,numPages:t}=react$1.usePaginatedList(),{mobileLayout:o}=react$1.useDataList(),r=Wa.useMemo(()=>{let n=t??0;if(n<=9)return [{indicators:Array.from({length:n},(i,l)=>({index:l,isActive:l===e})),collapsed:false}];let a=Array.from({length:5},(i,l)=>({indicators:[],collapsed:l%2===1}));for(let i=0;i<n;i+=1){let l=zf(i,e,n);a[l]||(a[l]={indicators:[],collapsed:l!==2}),a[l].indicators.push({index:i,isActive:i===e});}return a.filter(i=>i.indicators.length).map(i=>({...i,collapsed:i.collapsed&&i.indicators.length>1}))},[t,e]);return jsxRuntime.jsx(react.Flex,{gap:1,align:"center",children:r.map((n,a)=>jsxRuntime.jsx(Hf,{mobileLayout:o,group:n},`group-${a}`))})},Yo=120,Wi=({onResize:e,flexProps:t,noFooter:o})=>{let r=react.useColorModeValue("#cdcdcd","#2d3748"),{list:n,mobileLayout:a,infiniteScroll:i,search:{search:l,debounced:s}}=react$1.useDataList(),{data:{data:d,isLoading:p},totalCount:u,pageIndex:c,limit:m,numFetched:f,goNext:g,goPrev:h,hasMoreData:x}=react$1.usePaginatedList(),{itemName:b,pluralItemName:C,searchRequired:F}=n,{itemsText:w,pageText:I}=Wa.useMemo(()=>p&&!i?{itemsText:a?"Loading...":"",pageText:""}:u===null?{itemsText:"Loading...",pageText:""}:u===0&&!p&&l===s?{itemsText:!l&&F?`Search ${C??core.toPlural(b)}`:`No ${C??core.toPlural(b)} found`,pageText:""}:{itemsText:`${i?1:(c||0)*m+1} - ${i?f:c*m+d.length} of ${u}`,pageText:`Page ${c+1} of ${m?Math.ceil((u??0)/m):0}`},[u,p,b,C,m,c,l,F,a,s,d,i,f]),A=Wa.useMemo(()=>!i&&h,[i,h]),O=Wa.useMemo(()=>!i&&g,[i,g]),M=react.useColorModeValue("#efefef","#212121"),L=Wa.useRef(null),_=Wa.useCallback(B=>{let W=B.borderBoxSize[0].blockSize,ne=B.borderBoxSize[0].inlineSize;e({height:W,width:ne});},[e]);return mr__default.default(L,_),jsxRuntime.jsxs(react.Flex,{ref:L,py:o?0:2,px:o?0:3,borderTop:`1px solid ${r}`,position:"relative",flexFlow:a?"column":"row",gap:a?1:0,w:"100%",...t,children:[o||a&&i?null:jsxRuntime.jsxs(react.Flex,{align:"center",justify:a?"center":"space-between",position:"relative",w:"100%",children:[A&&!a?jsxRuntime.jsx(Vi,{goPrev:h,canGoPrev:!p&&!!c}):null,jsxRuntime.jsxs(react.Flex,{gap:1,align:"center",children:[i?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a?null:jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",whiteSpace:"nowrap",textAlign:"center",w:`${Yo}px`,fontSize:"sm",children:I}),jsxRuntime.jsx(Vf,{})]}),a?null:jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Yo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w})]}),O&&!a?jsxRuntime.jsx(Hi,{goNext:g,canGoNext:!p&&x}):null]}),a&&!o?jsxRuntime.jsxs(react.Flex,{gap:2,w:"100%",justify:"space-between",align:"center",children:[A?jsxRuntime.jsx(Vi,{mobileLayout:true,goPrev:h,canGoPrev:!!c}):null,jsxRuntime.jsx(react.Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Yo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w}),O?jsxRuntime.jsx(Hi,{mobileLayout:true,goNext:g,canGoNext:x}):null]}):null,jsxRuntime.jsx(Ef,{progressBg:M,borderColor:r})]})};var Ui=({filter:e,filters:t,GroupRender:o,toggleFilter:r})=>{let{label:n,Render:a}=e,i=Wa.useMemo(()=>t.some(u=>di(u,e)),[t,e]),{colorMode:l}=react.useColorMode(),s=H(),d=react.useColorModeValue("gray.700","gray.100"),p=a??o;return jsxRuntime.jsx(react.Box,{p:.5,children:jsxRuntime.jsx(react.Button,{onClick:()=>r(e),variant:"unstyled",color:i&&!p?"white":d,bg:i&&!p?"accent.400":"transparent",px:p?0:2,py:p?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":s,size:"none",children:p?jsxRuntime.jsx(p,{active:i,colorMode:l,preset:e}):jsxRuntime.jsx(react.Text,{textShadow:i?"0 0 3px rgba(0,0,0,0.8)":"none",fontSize:"xs",children:n})})})},o0=({group:e,filters:t,toggleFilter:o})=>{let{label:r,filters:n}=e;return jsxRuntime.jsxs(react.Flex,{px:1,flexFlow:"column",w:"100%",children:[jsxRuntime.jsx(react.Text,{px:1,opacity:.8,fontSize:"sm",fontWeight:600,children:r}),jsxRuntime.jsx(react.Flex,{w:"100%",flexFlow:"row wrap",children:n.map(a=>jsxRuntime.jsx(Ui,{toggleFilter:o,GroupRender:e.RenderFilter,filters:t,filter:a},a.label))})]})},qo=()=>{let{query:e,list:t,toggleFilter:o}=react$1.useDataList(),r=react$1.useScreen(l=>l.isMobile),{filters:n=[]}=e||{},{filterPresets:a}=t,i=H();return a?.length?jsxRuntime.jsx(react.HStack,{spacing:1,children:jsxRuntime.jsxs(react.Popover,{placement:"right-start",trigger:r?"click":"hover",strategy:"fixed",children:[jsxRuntime.jsx(react.PopoverTrigger,{children:jsxRuntime.jsx(react.IconButton,{size:"sm",variant:"ghost","aria-label":"Filters",icon:jsxRuntime.jsx(react.Image,{width:"24px",filter:`grayscale(${n.length?0:100}%)`,src:"/icons/tune.svg"})})}),jsxRuntime.jsx(react.Portal,{children:jsxRuntime.jsxs(react.PopoverContent,{borderRadius:6,w:"auto",children:[jsxRuntime.jsx(react.PopoverBody,{w:"240px",p:0,children:jsxRuntime.jsxs(react.Flex,{flexFlow:"column",w:"100%",children:[jsxRuntime.jsxs(react.HStack,{py:1.5,px:2,w:"100%",spacing:1,borderBottom:`1px solid ${i}`,children:[jsxRuntime.jsx(react.Image,{width:"18px",filter:"grayscale(100%)",src:"/icons/tune.svg"}),jsxRuntime.jsx(react.Text,{opacity:.8,fontSize:"sm",fontWeight:600,children:"FILTERS"})]}),jsxRuntime.jsx(react.Flex,{justify:"center",w:"100%",flexFlow:"row wrap",py:1,px:2,children:a.map(l=>core.isFilterGroup(l)?jsxRuntime.jsx(o0,{toggleFilter:o,filters:n,group:l},l.label):jsxRuntime.jsx(Ui,{toggleFilter:o,filters:n,filter:l},l.label))})]})}),jsxRuntime.jsx(react.PopoverArrow,{}),jsxRuntime.jsx(react.PopoverCloseButton,{})]})})]})}):null};var c0=({preset:e})=>{let{setSort:t,query:o}=react$1.useDataList(),{sort:r}=o,{label:n,key:a,Render:i}=e,l=Wa.useMemo(()=>r?.key===a?r.direction:null,[r,a]),{colorMode:s}=react.useColorMode(),d=Wa.useMemo(()=>l?"white":s==="light"?"gray.500":"gray.400",[l,s]),p=Wa.useMemo(()=>r?.direction==="asc"?jsxRuntime.jsx(icons.ArrowUpIcon,{w:4,h:4}):jsxRuntime.jsx(icons.ArrowDownIcon,{w:4,h:4}),[r]);return jsxRuntime.jsxs(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:d,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:d,onClick:()=>t({direction:l&&r?.direction==="asc"?"desc":"asc",key:a}),children:[i?jsxRuntime.jsx(i,{active:l,colorMode:s,preset:e}):jsxRuntime.jsx(react.Text,{fontWeight:600,fontSize:"sm",color:d,children:n}),jsxRuntime.jsx(ir,{active:!!l,h:"16px",width:20,children:p})]})},Zo=()=>{let{list:{sortPresets:e}}=react$1.useDataList();return e?jsxRuntime.jsx(react.HStack,{spacing:2,children:e.map(t=>jsxRuntime.jsx(c0,{preset:t},t.label))}):null};var Ki=()=>{let{list:e,search:{search:t,update:o}}=react$1.useDataList(),{searchIcon:r,itemName:n,pluralItemName:a}=e,i=react.useColorModeValue("invert(0)","invert(1)");return jsxRuntime.jsx(react.Flex,{p:1,flex:1,minW:"0",children:jsxRuntime.jsxs(react.InputGroup,{children:[jsxRuntime.jsx(react.InputLeftElement,{pointerEvents:"none",children:r?jsxRuntime.jsx(react.Image,{filter:i,src:r,w:"24px"}):jsxRuntime.jsx(icons.SearchIcon,{w:"24px",opacity:.5})}),jsxRuntime.jsx(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:t,placeholder:`Search for ${a??core.toPlural(n)}`,onChange:l=>o(l.target.value)})]})})},qi=({refetch:e})=>{let{list:t,setNewItemOpen:o}=react$1.useDataList(),r=react$1.useAuth(),{itemName:n,field:a,access:i}=t,l=Wa.useMemo(()=>core.getHasAccess(r,i?.create,null),[i,r]);return jsxRuntime.jsxs(react.Flex,{gap:2,ml:"auto",align:"center",children:[e?jsxRuntime.jsx(react.Tooltip,{placement:"left",hasArrow:true,label:"Refresh","aria-label":"Refresh",children:jsxRuntime.jsx(react.IconButton,{size:"xs",icon:jsxRuntime.jsx(icons.RepeatIcon,{}),"aria-label":"Refresh",onClick:e})}):null,a&&l?jsxRuntime.jsx(react.Tooltip,{placement:"left",hasArrow:true,label:`Create new ${n}`,"aria-label":`Create new ${n}`,children:jsxRuntime.jsx(react.IconButton,{size:"xs",icon:jsxRuntime.jsx(icons.AddIcon,{}),"aria-label":`Create new ${n}`,onClick:()=>o(true)})}):null]})},S0=[{id:"grid",label:"Grid View",Render:e=>jsxRuntime.jsx(react.Image,{w:5,opacity:e?1:.7,src:"/icons/grid_view.svg"})},{id:"list",label:"List View",Render:e=>jsxRuntime.jsx(react.Image,{w:6,opacity:e?1:.7,src:"/icons/list.svg"})}],Ji=()=>{let{toggleGridLayout:e,gridLayout:t}=react$1.useDataList();return e?jsxRuntime.jsx(_r,{onChange:e,options:S0,value:t?"grid":"list"}):null},ea=({onResize:e,refetch:t,boxProps:o})=>{let{list:r,mobileLayout:n,toggleGridLayout:a}=react$1.useDataList(),{searchPath:i,sortPresets:l,filterPresets:s,Header:d}=r,p=H(),u=Wa.useRef(null),c=Wa.useCallback(f=>{e({height:f.contentRect.height,width:f.contentRect.width});},[e]),m=Wa.useMemo(()=>!!Object.keys(i??{}).length,[i]);return mr__default.default(u,c),jsxRuntime.jsx(react.Box,{ref:u,bg:"background.200",borderBottom:`1px solid ${p}`,w:"100%",...o,children:jsxRuntime.jsx(react.Flex,{px:2,align:"center",w:"100%",children:l?.length||s?.length||m?jsxRuntime.jsxs(react.Flex,{w:"100%",flexFlow:n?"column":"row",children:[n&&!d?null:jsxRuntime.jsxs(react.Flex,{flex:1,px:2,py:n?0:1,gap:1,align:"center",children:[n?null:jsxRuntime.jsxs(react.Flex,{flex:1,minW:"0",align:"center",gap:2,children:[a?jsxRuntime.jsx(Ji,{}):null,jsxRuntime.jsx(qo,{}),jsxRuntime.jsx(Zo,{}),m?jsxRuntime.jsx(Ki,{}):null]}),jsxRuntime.jsxs(react.Flex,{align:"center",minW:"0",gap:3,ml:"auto",children:[d?jsxRuntime.jsx(react.Box,{minW:"0",flex:1,children:jsxRuntime.jsx(d,{})}):null,n?null:jsxRuntime.jsx(qi,{refetch:t})]})]}),m&&n?jsxRuntime.jsx(Ki,{}):null,n&&(l?.length||s?.length)?jsxRuntime.jsxs(react.Flex,{pl:1,py:1,gap:1.5,align:"center",w:"100%",children:[a?jsxRuntime.jsx(Ji,{}):null,jsxRuntime.jsx(qo,{}),jsxRuntime.jsx(Zo,{}),jsxRuntime.jsx(qi,{refetch:t})]}):null]}):null})})};var ra=()=>{let{selectedItemId:e,deselectItem:t,list:o}=react$1.useDataList(),{ItemView:r,itemName:n}=o||{},[a,i]=Wa.useState({x:0,y:0}),{data:{data:l}}=react$1.usePaginatedList(),s=Wa.useMemo(()=>l.find(m=>m._id===e)??null,[l,e]),{colorMode:d}=react.useColorMode(),p=react.useColorModeValue("red.600","red.300"),[u,c]=Wa.useState(null);return Wa.useEffect(()=>{s&&c(s);},[s]),jsxRuntime.jsx(Oi,{contentProps:{p:0,transition:"all 300ms",transform:`translate(${a.x}px, ${a.y}px)`},scrollBehavior:"inside",onClose:t,isOpen:!!r&&!!e,children:r&&u?jsxRuntime.jsx(r,{item:u,colorMode:d,clearContentOffset:()=>i({x:0,y:0}),updateContentOffset:(m,f)=>i({x:m,y:f})}):jsxRuntime.jsxs(react.Text,{color:p,p:4,children:["Error displaying ",n]})})};var la=({modals:e,noFooter:t,headerProps:o,footerProps:r})=>{let{data:{isLoading:n,data:a}}=react$1.usePaginatedList(),{list:i}=react$1.useDataList(),{height:l}=react$1.useFullSize(),[s,d]=Wa.useState(0),[p,u]=Wa.useState(0),c=Wa.useMemo(()=>l-s-p,[l,s,p]),m=Wa.useCallback(x=>{d(x.height);},[]),f=Wa.useCallback(x=>{u(x.height);},[]),{ItemView:g,field:h}=i;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ea,{boxProps:o,onResize:m}),jsxRuntime.jsxs(react.Box,{h:`${c}px`,position:"relative",w:"100%",children:[jsxRuntime.jsx(Ti,{height:c}),t?jsxRuntime.jsx(Ie,{isLoading:!a.length&&n}):null]}),jsxRuntime.jsx(Wi,{noFooter:t,flexProps:r,onResize:f}),e??null,g?jsxRuntime.jsx(ra,{}):null,h?jsxRuntime.jsx(Di,{field:h}):null]})};var lI=({list:e,basePath:t,flexProps:o,infiniteScroll:r,...n})=>{let{adapter:{db:a}}=react$1.useBackendBase(),{baseQuery:i}=e,l=react$1.useDataListData(e,r,t),s=react$1.usePaginatedQuery(a,i,!!r);return jsxRuntime.jsx(react$1.PaginatedListProvider,{state:l,data:s,children:jsxRuntime.jsx(ci,{...o,children:jsxRuntime.jsx(la,{...n})})})};var pI=({value:e,duration:t=30})=>{let o=Wa.useRef(null),r=Wa.useRef(e),n=Wa.useRef(null);return Wa.useEffect(()=>(n.current=setInterval(()=>{if(o.current){if(r.current===e&&n.current)return clearInterval(n.current);r.current<e?(r.current+=1,o.current.innerText=r.current.toString()):r.current>e&&(r.current-=1,o.current.innerText=r.current.toString());}return ()=>{}},t),()=>{n.current&&clearInterval(n.current);}),[e,t]),jsxRuntime.jsx("span",{ref:o,children:e})};var K0=()=>{let{colorMode:e,toggleColorMode:t}=react.useColorMode(),o=react.useColorModeValue("gray.200","whiteAlpha.200"),r=react.useColorModeValue("blackAlpha.700","whiteAlpha.800"),n=react.useColorModeValue("gray.300","whiteAlpha.300"),a=react.useColorModeValue("gray.800","whiteAlpha.800");return jsxRuntime.jsx(react.IconButton,{"aria-label":"Toggle dark mode",bg:o,color:r,borderRadius:"full",_hover:{bg:n,color:a},w:8,h:8,minW:0,icon:e==="light"?jsxRuntime.jsx(icons.SunIcon,{w:4,h:4}):jsxRuntime.jsx(icons.MoonIcon,{w:4,h:4,filter:"drop-shadow(1px 1px 2px #000000aa)"}),onClick:t,variant:"ghost"})},bI=e=>jsxRuntime.jsx(react.Flex,{position:"absolute",bottom:3,right:3,...e,children:jsxRuntime.jsx(K0,{})});var {definePartsStyle:tg,defineMultiStyleConfig:og}=react.createMultiStyleConfigHelpers(anatomy.switchAnatomy.keys),rg=tg({track:{_focusVisible:{boxShadow:"none"}}}),ng=og({baseStyle:rg}),Nt=themeTools.cssVar("popper-arrow-bg"),sa="Encode Sans",ca="Noto Sans",SI=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:ca,heading:sa}},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",[Nt.variable]:"#ababab",_dark:{bg:"#777777",textShadow:"none",color:"#efefef",[Nt.variable]:"#777777"}}},Button:{baseStyle:{fontFamily:sa,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:ca}},Popover:{baseStyle:{root:{_focus:{boxShadow:"none"}},content:{bg:"background.100",border:"none",boxShadow:"0 0 4px rgba(0,0,0,0.5)",[Nt.variable]:"background.100",_dark:{bg:"background.100",[Nt.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:ng,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 TI=()=>{if(typeof window<"u"){let e=()=>{let t=window.innerWidth,o=window.innerHeight;react$1.useScreen.setState({width:t,height:o,isMobile:t<769,isPortrait:t<o}),window.addEventListener("resize",e);};return e(),()=>{window.removeEventListener("resize",e);}}return ()=>{}};exports.AbsoluteDarkModeToggle=bI;exports.AbsoluteLogin=sg;exports.CircularProgress=dt;exports.CollapseHorizontal=ir;exports.ContentBox=Se;exports.DarkModeToggle=K0;exports.DataList=lI;exports.DataView=om;exports.DefaultModal=Oi;exports.DeleteButton=Vr;exports.DeleteConfirmAlert=Ul;exports.DesktopModal=Dt;exports.Editable=ii;exports.ErrorView=vr;exports.ExpandOnMount=j;exports.Expandable=Yt;exports.FieldForm=rm;exports.FieldMapForm=li;exports.FieldView=Ze;exports.FileView=Ft;exports.Form=Oo;exports.FormElement=Ao;exports.FullSizeContainer=qg;exports.FullSizeProvider=hr;exports.ImageViewOverlay=Yr;exports.ListContainer=ci;exports.ListContent=la;exports.ListFieldInput=em;exports.Loading=ge;exports.LoadingImage=qr;exports.LoadingLogo=fe;exports.LoadingOverlay=Ie;exports.LoadingSwitch=Xb;exports.LottieLoadingLogo=Ir;exports.MediaFeed=$x;exports.MobileFrame=ab;exports.MobileModal=Ai;exports.MobileOverlay=Ri;exports.MobileOverlayBackground=df;exports.NAV_BAR_HEIGHT=Kt;exports.NavBar=wr;exports.NumberTicker=pI;exports.PlayButton=kn;exports.RedirectView=Lr;exports.SignIn=ga;exports.StandaloneInput=ri;exports.Toggle=_r;exports.ViewButton=ar;exports.baseTheme=SI;exports.bodyFont=ca;exports.headingFont=sa;exports.initializeScreen=TI;exports.switchTheme=ng;exports.useBorderColor=H;exports.useMediaFeed=ts;//# sourceMappingURL=index.cjs.map
|
|
7
7
|
//# sourceMappingURL=index.cjs.map
|