@chem-po/react-web 0.0.3 → 0.0.5

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.d.cts CHANGED
@@ -3,7 +3,7 @@ import * as _chakra_ui_react from '@chakra-ui/react';
3
3
  import { CenterProps, FlexProps, StackProps, BoxProps, IconButtonProps, CircularProgressProps, ImageProps, ButtonProps, ModalProps, ModalContentProps } from '@chakra-ui/react';
4
4
  import * as react from 'react';
5
5
  import react__default, { PropsWithChildren, FC, ReactNode, JSX, MouseEvent, CSSProperties } from 'react';
6
- import { View, ListField, FormProps, DataViewProps, FieldMapFormProps, FieldFormProps, Field, EditableProps, ListProviderProps, ThemedAsset } from '@chem-po/react';
6
+ import { View, ListField, IFormElement, DataViewProps, FieldMap, FieldMapFormProps, Field, FieldFormProps, FormProps, EditableProps, ListProviderProps, ThemedAsset } from '@chem-po/react';
7
7
  import { AnyObject, WithId, FetchFeedFunction, FileValue, InputRef, ImageViewOptions, SpotifyTrack } from '@chem-po/core';
8
8
 
9
9
  interface SignInProps {
@@ -125,15 +125,15 @@ declare const ListFieldInput: FC<{
125
125
  name: string;
126
126
  }>;
127
127
  declare const FormElement: ({ field, name, }: {
128
- field: FormProps["field"];
128
+ field: IFormElement;
129
129
  name: string;
130
130
  }) => react_jsx_runtime.JSX.Element;
131
131
  declare const DataView: ({ field, value, onClose, onDelete, onSubmit, itemName, storagePath, path, }: DataViewProps & {
132
132
  path?: string;
133
133
  }) => react_jsx_runtime.JSX.Element;
134
- declare const FieldMapForm: FC<FieldMapFormProps>;
135
- declare const FieldForm: FC<FieldFormProps>;
136
- declare const Form: FC<FormProps>;
134
+ declare const FieldMapForm: <F extends FieldMap>({ onSubmit: submit, onBack, field, value, buttonText, renderFooter, storagePath, }: FieldMapFormProps<F>) => react_jsx_runtime.JSX.Element;
135
+ declare const FieldForm: <F extends Field | ListField>({ onSubmit, field, value, ...props }: FieldFormProps<F>) => react_jsx_runtime.JSX.Element;
136
+ declare const Form: <F extends IFormElement>({ field, ...props }: FormProps<F>) => react_jsx_runtime.JSX.Element;
137
137
 
138
138
  declare const Editable: <T extends Field>({ value: initValue, field, onSubmit, storagePath, style, onEditClose, onEditOpen, }: EditableProps<CSSProperties, T>) => react_jsx_runtime.JSX.Element;
139
139
 
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import * as _chakra_ui_react from '@chakra-ui/react';
3
3
  import { CenterProps, FlexProps, StackProps, BoxProps, IconButtonProps, CircularProgressProps, ImageProps, ButtonProps, ModalProps, ModalContentProps } from '@chakra-ui/react';
4
4
  import * as react from 'react';
5
5
  import react__default, { PropsWithChildren, FC, ReactNode, JSX, MouseEvent, CSSProperties } from 'react';
6
- import { View, ListField, FormProps, DataViewProps, FieldMapFormProps, FieldFormProps, Field, EditableProps, ListProviderProps, ThemedAsset } from '@chem-po/react';
6
+ import { View, ListField, IFormElement, DataViewProps, FieldMap, FieldMapFormProps, Field, FieldFormProps, FormProps, EditableProps, ListProviderProps, ThemedAsset } from '@chem-po/react';
7
7
  import { AnyObject, WithId, FetchFeedFunction, FileValue, InputRef, ImageViewOptions, SpotifyTrack } from '@chem-po/core';
8
8
 
9
9
  interface SignInProps {
@@ -125,15 +125,15 @@ declare const ListFieldInput: FC<{
125
125
  name: string;
126
126
  }>;
127
127
  declare const FormElement: ({ field, name, }: {
128
- field: FormProps["field"];
128
+ field: IFormElement;
129
129
  name: string;
130
130
  }) => react_jsx_runtime.JSX.Element;
131
131
  declare const DataView: ({ field, value, onClose, onDelete, onSubmit, itemName, storagePath, path, }: DataViewProps & {
132
132
  path?: string;
133
133
  }) => react_jsx_runtime.JSX.Element;
134
- declare const FieldMapForm: FC<FieldMapFormProps>;
135
- declare const FieldForm: FC<FieldFormProps>;
136
- declare const Form: FC<FormProps>;
134
+ declare const FieldMapForm: <F extends FieldMap>({ onSubmit: submit, onBack, field, value, buttonText, renderFooter, storagePath, }: FieldMapFormProps<F>) => react_jsx_runtime.JSX.Element;
135
+ declare const FieldForm: <F extends Field | ListField>({ onSubmit, field, value, ...props }: FieldFormProps<F>) => react_jsx_runtime.JSX.Element;
136
+ declare const Form: <F extends IFormElement>({ field, ...props }: FormProps<F>) => react_jsx_runtime.JSX.Element;
137
137
 
138
138
  declare const Editable: <T extends Field>({ value: initValue, field, onSubmit, storagePath, style, onEditClose, onEditOpen, }: EditableProps<CSSProperties, T>) => react_jsx_runtime.JSX.Element;
139
139
 
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import {HStack,Box,Center,Text,VStack,Popover,PopoverTrigger,Button,Image,Portal,PopoverContent,PopoverArrow,Input,useColorMode,Flex,useColorModeValue,PopoverBody,createMultiStyleConfigHelpers,extendTheme,IconButton,Checkbox,Switch,Slider,SliderTrack,SliderFilledTrack,Tooltip,SliderThumb,Collapse,Modal,ModalOverlay,ModalContent,useDisclosure,CircularProgress,AlertDialog,AlertDialogOverlay,AlertDialogContent,AlertDialogBody,useToast,Stack,Progress,PopoverCloseButton,InputGroup,InputLeftElement}from'@chakra-ui/react';import {useField,useStandaloneInput,useDataList,usePaginatedList,useFullSize,useImageSize,useObjectUrl,usePlaylist,useMounted,useAppAssets,useScreen,useBackendBase,useAuth,FullSizeContext,useViews,ViewsProvider,useMobileFrame,useEditable,useColorModeValue as useColorModeValue$1,ChempoFormProvider,DataViewProvider,useSubmitData,useFormSubmit,useDataListData,usePaginatedQuery,PaginatedListProvider,MobileFrameProvider,useDocument,useDataView,useChempoForm}from'@chem-po/react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import Wa,{forwardRef,createContext,useCallback,useMemo,useImperativeHandle,useState,useRef,memo,useEffect,useContext}from'react';import {ViewIcon,ViewOffIcon,CloseIcon,ChevronUpIcon,ChevronDownIcon,DeleteIcon,EditIcon,CheckIcon,DragHandleIcon,SunIcon,MoonIcon,RepeatIcon,SearchIcon,AddIcon,ChevronLeftIcon,ChevronRightIcon,ArrowUpIcon,ArrowDownIcon}from'@chakra-ui/icons';import fr from'@react-hook/resize-observer';import {colorValueToHex,gradients,getDateString,palette,gradientToCssGradientProp,getHandle,toPlural,generateId,isField,isListField,cssGradients,formatField,isFilterGroup,getHasAccess,arrayOperators}from'@chem-po/core';import {MotionValue,useMotionValue,AnimatePresence,motion,useSpring,useTransform}from'framer-motion';import {ErrorBoundary}from'react-error-boundary';import {useNavigate,useLocation,Link,useOutlet,matchRoutes}from'react-router-dom';import {SwitchTransition,CSSTransition,TransitionGroup}from'react-transition-group';import {useLottie}from'lottie-react';import {DragDropContext,Droppable,Draggable}from'@hello-pangea/dnd';import {Controller,useFormContext,useFieldArray,useWatch,useFormState}from'react-hook-form';import {DayPicker}from'react-day-picker';import {create}from'zustand';import Dp from'react-currency-input-field';import kd from'react-textarea-autosize';import {switchAnatomy}from'@chakra-ui/anatomy';import {cssVar}from'@chakra-ui/theme-tools';import {VariableSizeGrid,FixedSizeGrid,FixedSizeList,VariableSizeList}from'react-window';import hi from'react-window-infinite-loader';import'firebase/firestore';var ga=({layout:e="row"})=>{let{adapter:{auth:t}}=useBackendBase(),o=useAuth(r=>r.user);return jsx(Flex,{gap:[1,1,2],align:"center",flexFlow:["column","column","row"],children:o?jsx(Button,{size:"sm",onClick:()=>{t.logout();},children:"SIGN OUT"}):jsxs(Fragment,{children:[jsx(Text,{whiteSpace:"nowrap",textAlign:"center",opacity:.8,fontWeight:600,fontSize:"sm",children:"SIGN IN"}),jsx(Flex,{flexFlow:e,gap:2,w:"100%"})]})})},sg=e=>jsx(Portal,{children:jsx(Flex,{position:"fixed",bottom:4,left:4,children:jsx(ga,{...e})})});var ar=({width:e,children:t,active:o,duration:r=400,...n})=>jsx(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)=>jsx(Flex,{ref:t,bg:"background.100",p:3,borderRadius:6,boxShadow:"1px 1px 4px #00000066",...e}),Se=forwardRef(Ca);var H=()=>useColorModeValue("#00000033","#ffffff33");var lr=({viewText:e="View",hideText:t="Hide",onClick:o,isOpen:r,color:n})=>jsx(IconButton,{icon:r?jsx(ChevronUpIcon,{width:5,height:5}):jsx(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 Xt=({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}=useDisclosure({defaultIsOpen:n??o,isOpen:s,onClose:p,onOpen:d}),g=useCallback(b=>{if(b.stopPropagation(),!n){if(c){m();return}f();}},[n,f,m,c]),h=H();return jsxs(VStack,{spacing:0,borderColor:h,w:"100%",...u,children:[jsxs(HStack,{borderBottom:c?`1px solid ${h}`:void 0,px:2,spacing:0,w:"100%",...a,children:[jsx(Flex,{onClick:g,cursor:"pointer","aria-label":"expand/hide",align:"center",flex:1,children:typeof e=="string"?jsx(Text,{fontWeight:600,color:"gray.500",flex:1,children:e}):e({isOpen:c,onClose:m})}),n?null:jsx(lr,{color:i,onClick:g,isOpen:c})]}),jsx(Box,{w:"100%",borderLeft:r?"4px solid #00000033":void 0,children:jsx(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=useMounted(),[l,s]=useState(0),p=useRef(null),[d,u]=useState(false),c=useMemo(()=>i&&r,[r,i]),m=useMemo(()=>c?l:0,[l,c]),f=useCallback(b=>{s(b.target.scrollHeight);},[]);fr(p,f);let g=useRef(null);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=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 jsx(Box,{overflow:"hidden",w:"100%",transition:h,height:`${m}px`,...a,children:jsx(Box,{ref:p,w:"100%",...a,children:o})})};var Zg=({children:e,...t})=>{let[o,r]=useState(0),[n,a]=useState(0),i=useRef(null),l=useCallback(s=>{r(s.target.scrollWidth),a(s.target.scrollHeight);},[]);return fr(i,l),jsx(Box,{ref:i,...t,width:"100%",height:"100%",children:e({width:o,height:n})})},xr=({children:e,...t})=>{let[o,r]=useState(0),[n,a]=useState(0),i=useRef(null),l=useCallback(p=>{r(p.target.scrollWidth),a(p.target.scrollHeight);},[]);fr(i,l);let s=useMemo(()=>({width:o,height:n}),[o,n]);return jsx(Box,{ref:i,...t,width:"100%",height:"100%",children:jsx(FullSizeContext.Provider,{value:s,children:e})})};var br=Wa.createContext(false),yr=({children:e})=>jsx(br.Provider,{value:true,children:e}),wr=()=>useContext(br);var qt=50,qa=({view:e,absolute:t})=>{let{path:o,name:r,icon:n,iconScale:a}=e,i=Array.isArray(o)?o[0]:o,l=useColorModeValue(1,1.8),s=useMemo(()=>t?2.4:l,[t,l]),{pathname:p}=useLocation(),d=useColorModeValue("#ffffff33","#00000033"),u=jsx(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:jsx(Image,{height:`${34*(a??1)}px`,filter:`brightness(${s})${t?" drop-shadow(1px 1px 3px #00000099 )":""}`,src:n,alt:r})});return p===i?jsx(Flex,{flex:1,h:"100%",justify:"center",children:u},i):jsx(Link,{style:{flex:1,display:"flex",height:"100%",justifyContent:"center"},to:i,children:u},i)},vr=({selectedView:e,children:t})=>{let o=useColorModeValue("#dedede",palette.gray.dark),r=useColorModeValue("#00000022","#ffffff33"),n=useViews(),a=useMemo(()=>n.filter(p=>!!p.view.icon),[n]),i=useMemo(()=>!!e?.navBar?.absolute,[e]),l=useMemo(()=>e?.navBar?.backgroundColor??o,[o,e]),s=useMemo(()=>e?.navBar?.borderColor?!!e?.navBar?.borderColor:i?"#ffffff33":r,[r,e,i]);return jsx(Flex,{position:"absolute",bottom:0,left:0,bg:l,w:"100%",transition:"all 500ms",h:`${qt}px`,borderTop:`1px solid ${s}`,children:jsxs(Flex,{position:"relative",w:"100%",justify:"space-around",align:"center",children:[a.map(({view:p})=>jsx(qa,{absolute:i,view:p},p.name)),t]})})};var Cr=({message:e})=>{let t=useColorModeValue("gray.600","gray.100");return jsx(Flex,{pt:4,children:jsx(Se,{children:jsx(Text,{color:t,children:e??"Sorry, something went wrong."})})})};var pt=e=>{let t=useColorModeValue("gray.400","gray.400"),o=useColorModeValue("gray.300","gray.600");return jsx(CircularProgress,{isIndeterminate:true,trackColor:o,color:t,...e})};var Tr=({size:e=30,isLoading:t,speed:o=2,inFeed:r,asset:n})=>{let a=useColorModeValue(n.default,n.dark??n.default),i=useMemo(()=>r?n.dark??n.default:a,[a,n,r]),l=useMemo(()=>({animationData:i,loop:true}),[i]),s=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}=useLottie(l,s);return useEffect(()=>{c(o);},[c,o]),useEffect(()=>{t?u():d();},[t,u,d]),jsx(Fragment,{children:p})},kr=({size:e=30,isLoading:t,asset:o,inFeed:r})=>{let n=useColorModeValue(o.default,o.dark??o.default),a=useMemo(()=>r?o.dark??o.default:n,[n,o,r]),i=useMemo(()=>({width:e,height:e,opacity:t?.85:0,transition:"opacity 300ms ease-in-out"}),[e,t]);return jsx("img",{src:a,style:i,alt:"loading"})},ll=({isLoading:e,size:t})=>{let{loading:o}=useAppAssets();return o.lottieJson?jsx(Tr,{isLoading:e,size:t,asset:o.lottieJson}):o.svg?jsx(kr,{isLoading:e,size:t,asset:o.svg}):null},fe=({isLoading:e,size:t,inFeed:o})=>{let{loading:r}=useAppAssets();return r.lottieJson?jsx(Tr,{inFeed:o,isLoading:e,size:t,asset:r.lottieJson}):r.svg?jsx(kr,{inFeed:o,isLoading:e,size:t,asset:r.svg}):jsx(Text,{color:"red",children:"ERROR: No loading animation found"})},ge=({text:e="Loading...",inBox:t,stackProps:o})=>{let r=jsxs(HStack,{p:2,...o,children:[jsx(ll,{isLoading:true}),jsx(Text,{opacity:.8,fontSize:"sm",children:e})]});return t?jsx(Se,{children:r}):r},Ie=({isLoading:e,text:t,inFeed:o,...r})=>{let n=useColorModeValue("#ffffffaa","#00000088");return jsx(Center,{pos:"absolute",top:0,left:0,right:0,bottom:0,bg:n,pointerEvents:e?"auto":"none",opacity:e?1:0,...r,children:t?jsx(ge,{text:t}):jsx(fe,{inFeed:o,size:100,isLoading:e})})};var Mr=({loading:e})=>{let t=useRef(),o=useAuth(n=>n.loading),r=useNavigate();return useEffect(()=>(!e&&!o&&(t.current=setTimeout(()=>{r("/");},1500)),()=>{t.current&&clearTimeout(t.current);}),[e,r,o]),!e&&!o?jsx(Center,{minH:"100%",w:"100%",children:jsx(Se,{maxW:"500px",children:jsxs(HStack,{spacing:3,children:[jsx(pt,{size:6}),jsxs(VStack,{spacing:0,align:"flex-start",children:[jsx(Text,{children:"404"}),jsx(Text,{fontSize:"sm",opacity:.7,children:"Page not found - redirecting to Home..."})]})]})})}):jsx(ge,{})};var Er=390,zr=844,Or=Er/zr,Bl=({children:e,navBarChildren:t})=>{let{isMobile:o,height:r,width:n}=useScreen(),{contentHeight:a,contentWidth:i}=useMemo(()=>{let x=o?r:zr,v=o?n:Er;if(o)return {contentHeight:x,contentWidth:v};let C=Math.floor(r*.9),w=Math.floor(n*.9);return x>C?(v=Math.floor(C*Or),x=C):v>w&&(x=Math.floor(w/Or),v=w),{contentHeight:x,contentWidth:v}},[o,r,n]),l=useColorModeValue(cssGradients.accentGray,cssGradients.darkGray),s=useLocation(),p=useOutlet(),d=useViews(),u=useMemo(()=>d.find(x=>!!matchRoutes(x.routes,s)),[d,s]),c=useMemo(()=>u?typeof u.view.path=="string"?u.view.path:u.view.path[0]:"404",[u]),m=useRef(null),f=useRef(null),g=useMemo(()=>!!u?.view?.navBar?.absolute,[u]),h=useMemo(()=>a-(g?0:qt),[a,g]),b=useMemo(()=>({overlayRef:m,height:a,width:i,absoluteNavBar:g,bodyHeight:h}),[m,a,i,g,h]);return jsx(yr,{children:jsx(MobileFrameProvider,{value:b,children:jsx(Center,{position:"relative",bg:l,w:"100%",height:"100%",children:jsxs(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:[jsx(AnimatePresence,{children:jsx(SwitchTransition,{children:jsx(CSSTransition,{nodeRef:f,unmountOnExit:true,classNames:"page",timeout:300,children:()=>jsxs(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:[jsx(ErrorBoundary,{FallbackComponent:()=>jsx(Cr,{}),children:u?p:jsx(Mr,{})}),e?jsx(Box,{height:"100%",w:"100%",position:"absolute",top:0,left:0,pointerEvents:"none",children:e}):null]})},c)})}),jsx(vr,{selectedView:u?.view,children:t}),jsx(Flex,{pos:"absolute",pointerEvents:"none",bottom:0,w:"100%",h:"100%",children:jsx(Flex,{ref:m,w:"100%",h:"100%",pos:"relative"})})]})})})})},sx=({children:e,navBarChildren:t,views:o})=>jsx(ViewsProvider,{views:o,children: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=useRef(null);return jsx(AlertDialog,{isCentered:true,isOpen:e,leastDestructiveRef:l,onClose:()=>t(),children:jsx(AlertDialogOverlay,{children:jsx(AlertDialogContent,{gap:0,children:jsx(AlertDialogBody,{children:jsxs(VStack,{align:"flex-start",py:1,children:[jsxs(Text,{fontSize:"lg",fontWeight:500,children:[n," ",i,"?"]}),typeof r=="string"?jsx(Text,{fontSize:"md",children:r}):r,jsxs(HStack,{justify:"flex-end",w:"100%",children:[jsx(Button,{size:"sm",ref:l,onClick:t,children:"Cancel"}),jsx(Button,{size:"sm",isLoading:a,color:"white",textShadow:"1px 1px 3px #00000077",bg:"red.500",_dark:{bg:"red.500"},onClick:o,children:n})]})]})})})})})},_r=({onDelete:e,itemName:t,noConfirm:o,alertBody:r,text:n,actionName:a="Delete",...i})=>{let[l,s]=useState(false),[p,d]=useState(false),u=useRef(),c=useRef(true);useEffect(()=>(c.current=true,()=>{c.current=false;}),[]);let m=useToast(),f=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 jsxs(Fragment,{children:[n?jsx(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:jsxs(Flex,{align:"center",gap:1,children:[jsx(DeleteIcon,{}),jsx(Text,{children:n})]})}):jsx(IconButton,{variant:"ghost",size:i.size??"sm","aria-label":a,_hover:{color:"red.600",bg:"red.200"},color:"red.500",borderRadius:"full",icon:jsx(DeleteIcon,{}),onClick:g=>{g.stopPropagation(),o?f():d(true);},isLoading:l,...i}),o?null: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=jsx(Box,{children:jsx(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 jsx(Tooltip,{label:r??o,"aria-label":o,children:i})},$r=({value:e,onChange:t,size:o=28,options:r})=>{let n=H();return jsx(Flex,{bg:"whiteAlpha.300",_dark:{bg:"blackAlpha.300"},border:`1px solid ${n}`,borderRadius:3,children:r.map((a,i)=>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 Wr=createContext({}),Nr=({curr:e,children:t})=>{let o=useMemo(()=>({curr:e}),[e]);return jsx(Wr.Provider,{value:o,children:t})},ts=()=>useContext(Wr);var Xr=({src:e,onClose:t})=>{let[o,r]=useState(true),n=useScreen(c=>c.width),a=useScreen(c=>c.height),[i,l]=useState({width:n/2,height:a/2}),{height:s,width:p}=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=useCallback(()=>r(true),[]),u=useCallback(c=>{let{naturalWidth:m,naturalHeight:f}=c.currentTarget;l({width:m,height:f}),r(false);},[]);return jsxs(Modal,{size:"full",isOpen:true,onClose:t,children:[jsx(ModalOverlay,{bg:"blackAlpha.700"}),jsxs(ModalContent,{style:{background:"transparent"},pointerEvents:"none",width:"100%",height:"100%",children:[jsxs(Center,{pointerEvents:"none",position:"fixed",p:[4,6,8],top:0,left:0,right:0,bottom:0,zIndex:4,children:[jsx(Center,{opacity:o?0:1,transition:"all 500ms",overflow:"hidden",w:`${p}px`,height:`${s}px`,children:jsx(Image,{onLoadStart:d,onLoad:u,transition:"opacity 300ms",height:"100%",objectFit:"contain",borderRadius:4,src:e})}),jsx(IconButton,{borderRadius:"full",position:"absolute",top:4,right:4,"aria-label":"close",icon:jsx(CloseIcon,{}),onClick:t})]}),jsx(Center,{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",opacity:o?1:0,transition:"opacity 300ms",children:jsx(fe,{isLoading:o,size:70})})]})]})};var qr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",Jr=({src:e,loadingOverride:t,alt:o,onLoad:r,width:n,height:a,noFullView:i,buttonFullView:l,imageProps:s,...p})=>{let[d,u]=useState(!!e),c=useRef(null),[m,f]=useState(false),g=useMounted(100);useEffect(()=>{c.current?.complete&&u(true);},[c]);let h=useCallback(C=>{u(false),r&&r(C);},[r]),[b,x]=useState(e);useEffect(()=>{e&&x(e);},[e,b]);let v=d||!!t;return jsxs(Center,{opacity:g?1:0,transition:"opacity 333ms",w:n??"100%",h:a??"100%",overflow:"hidden",position:"relative",...p,children:[jsx(Image,{src:e??qr,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&&!v?1:0,transition:"opacity 300ms ease-in-out",w:"100%",h:"100%",objectFit:e?"cover":"contain",zIndex:0,...s}),l?jsx(IconButton,{pos:"absolute",top:2,right:2,zIndex:1,w:7,minW:0,borderRadius:10,h:7,size:"sm","aria-label":"View Image",icon:jsx(Image,{height:"20px",src:"/icons/open_in_full.svg",opacity:.8,filter:"brightness(300%) drop-shadow(1px 1px 3px #00000066)"}),onClick:()=>f(true)}):null,jsx(Center,{pos:"absolute",top:0,left:0,zIndex:2,pointerEvents:"none",transition:"opacity 0.5s ease-in-out",opacity:v||!e?1:0,w:"100%",h:"100%",children:jsx(fe,{isLoading:v,size:"60%"})}),m?jsx(Xr,{src:e??qr,onClose:()=>f(false)}):null]})};var pb=({value:e,label:t,onChange:o})=>{let r=useToast(),[n,a]=useState(false),i=useCallback(l=>{let s=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{a(false);},s);},[]);return jsxs(Flex,{py:1,pr:2,pl:3,bg:"gray.700",borderRadius:12,boxShadow:"0 0 4px black",pos:"relative",align:"center",children:[jsxs(Flex,{opacity:n?0:1,transition:`opacity 300ms ${n?"ease-out":"ease-in"}`,pointerEvents:n?"none":"auto",align:"center",gap:2,children:[jsx(Text,{style:{fontSize:"1.2rem",height:"24px"},children:t}),jsx(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);}})]}),jsx(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:jsx(ge,{})})]})};var lo={damping:25,stiffness:200,bounce:.5},K=75,J=100;var on=e=>e==="current"?1:0,Rs=(e,t)=>{let{width:o}=t;return e==="current"?0:e==="next"?o:e==="prev"?-o:0},so=(e,t)=>{let{height:o}=t;return e==="current"?0:e==="next"?o*1.1:e==="prev"?-o*1.1:0},rn=({id:e,collectionPath:t,onItemLoad:o,RenderItem:r,status:n,offsetY:a,enterStatus:i})=>{let l=useMobileFrame(),s=useSpring(0,lo),p=useMotionValue(so(i??"next",l)),d=useTransform(()=>p.get()+a.get()),u=useSpring(d,lo),c=useMemo(()=>`${t}/${e}`,[t,e]),{data:m}=useDocument(c,o),f=useRef({contentSize:l,status:i??n,y:so(i??n,l),scale:on(i??n)});return useEffect(()=>{let g=on(n),h=Rs(n,l);p.set(h),s.set(g);},[n,p,s,l]),jsx(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:so(i==="next"?"prev":"next",l)},children:m?r(m):null})};var Os=10,an=(e,t,o=Os,r=false)=>{let[n,a]=useState([null,null,null]),[i,l]=useState(0),s=useAuth(I=>I.user),[p,d]=useState(false),[u,c]=useState(false),[m,f]=useState(null),[g,h]=useState(false),[b,x]=useState(null),v=useToast(),C=useRef(null),w=useRef({prev:null,curr:null,next:null}),P=useCallback(I=>{I&&(w.current.prev===I&&(w.current.prev=null),w.current.next===I&&(w.current.next=null)),w.current.curr=I,t({...w.current});},[t]),z=useCallback(I=>{I&&(w.current.prev===I&&(w.current.prev=null),w.current.curr===I&&(w.current.curr=null)),w.current.next=I,t({...w.current});},[t]),A=useCallback(I=>{I&&(w.current.curr===I&&(w.current.curr=null),w.current.next===I&&(w.current.next=null)),w.current.prev=I,t({...w.current});},[t]),M=useCallback(async(I,O,T)=>{if(!s&&r)return [];T||d(true);try{let F=await e({limit:o,startAfter:O,startBefore:I});if(T)O?a(R=>[R[0],R[1],F.ids]):I&&a(R=>[F.ids,R[1],R[2]]);else {let R=F.ids[0],Q=F.ids[1]||null;P(R),z(Q),A(O),a(O?G=>[G[1],F.ids,null]:I?G=>[null,F.ids,G[1]]:[null,F.ids,null]);let N=F.ids[F.ids.length-1];N&&M(null,N,!0);}return d(!1),F.ids||[]}catch(F){f(F.message),v({title:"Error fetching feed",description:F.message,status:"error",duration:9e3,isClosable:true});}return d(false),[]},[e,v,s,r,P,z,A,o]),L=useCallback(async(I,O)=>{let T=n[1]??[],F=n[2]??[],R=I+1;if(R<T.length)return {id:T[R],idx:R};if(F[0]){let G=F[F.length-1];return O||(a(ir=>[ir[1],ir[2],null]),M(null,G,true)),{id:F[0],idx:0}}let N=(await M(null,T[T.length-1],O))[0];return N?{id:N,idx:0}:null},[n,M]),_=useCallback(async(I,O)=>{let T=n[1]??[],F=n[0]??[],R=I-1;if(R>=0)return {id:T[R],idx:R};if(F[F.length-1]){let G=F[0];return O||(a([null,n[0],n[1]]),M(G,null,true)),{id:F[F.length-1],idx:F.length-1}}let Q=await M(T[0],null,O),N=Q[Q.length-1];return N?{id:N,idx:Q.length-1}:null},[n,M]),B=useCallback(async()=>{if(g)return;let I=w.current.curr;h(true);let O=await L(i,false);if(x("next"),O){let{id:T,idx:F}=O;C.current=T,l(F),P(T),z(null),A(I),L(F,true).then(R=>z(R?.id??null));}else v({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,L,P,z,A,v,g]),W=useCallback(async()=>{if(g)return;let I=w.current.curr;x("prev"),h(true);let O=await _(i,false);if(O){let{id:T,idx:F}=O;C.current=T,l(F),P(T),A(null),z(I),_(F,true).then(R=>A(R?.id??null));}else v({title:"No more items",status:"info",duration:3e3,isClosable:true});h(false);},[i,_,P,z,A,v,g]),ne=useCallback(async()=>{d(true),c(true),a([null,null,null]),P(null),z(null),A(null),x(null),l(0),await M(null,null,false),c(false);},[M,P,z,A]),[Ce]=useState(()=>M);useEffect(()=>{Ce(null,null,false);},[Ce]);let Fe=useMemo(()=>i>0&&!!n[1]?.length||!!n[0]?.length,[n,i]),ue=useMemo(()=>(n[1]&&i<n[1].length)??!!n[2]?.length,[n,i]);return 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})=>jsx(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=useMemo(()=>t?e(t):null,[e,t]),{loading:n,url:a}=useObjectUrl(r),i=useRef(0),[l,s]=useState(0),[p,d]=useState(null),[u,c]=useState(null);return useEffect(()=>{i.current===0?(d(a),i.current=1,s(0)):(c(a),i.current=0,s(1));},[a]),jsxs(Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsx(ut,{filter:o,opacity:l===0?1:0,background:p}),jsx(ut,{filter:o,opacity:l===1?1:0,background:u}),jsx(fe,{isLoading:n})]})},Hs=({getBackgroundUrl:e,item:t,filter:o})=>{let r=useMemo(()=>t?e(t):null,[e,t]),n=useRef(0),[a,i]=useState(0),[l,s]=useState(null),[p,d]=useState(null);return useEffect(()=>{r&&(n.current===0?(s(r),n.current=1,i(0)):(d(r),n.current=0,i(1)));},[r]),jsxs(Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsx(ut,{filter:o,opacity:a===0?1:0,background:l}),jsx(ut,{filter:o,opacity:a===1?1:0,background:p})]})},pn=({getBackgroundValue:e,getBackgroundUrl:t,...o})=>e?jsx(zs,{getBackgroundValue:e,...o}):t?jsx(Hs,{getBackgroundUrl:t,...o}):null;var Ws=J-K,fn=({offsetY:e,refreshing:t,canRefresh:o})=>{let r=useTransform(e,p=>Math.max(0,p-K)/Ws),n=useSpring(0),a=useSpring(0);useEffect(()=>{t?n.set(50):n.set(0);},[t,n]),useEffect(()=>{o?a.set(1):a.set(0);},[a,o]);let i=useTransform(()=>a.get()*Math.min(20,Math.max(0,n.get()+r.get()**.5*20))),l=useTransform(i,p=>a.get()*Math.min(1,Math.max(0,p/30))),s=useTransform(()=>a.get()*r.get()*180);return jsx(motion.div,{style:{opacity:l,pointerEvents:"none",y:i,position:"absolute",top:0,left:0,right:0,height:"auto",scale:l,rotate:s},children:jsxs(Center,{w:"100%",children:[jsx(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)"}),jsx(pt,{size:8,position:"absolute",isIndeterminate:true,opacity:t?1:0,transition:`opacity 300ms ease ${t?300:0}ms`})]})})};var Xs=e=>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}=useMobileFrame(),c=useRef(null),m=useRef(null),[f,g]=useState(null),[h,b]=useState([]),x=useMotionValue(0),v=Xs(b),C=useRef(null),{goNext:w,goPrev:P,loading:z,canGoNext:A,canGoPrev:M,refresh:L,refreshing:_}=an(e,v,i,r),B=useRef(false),W=useRef({x:0,y:0}),ne=useCallback(T=>{if(s)return;B.current=true,W.current={x:T.clientX,y:T.clientY};let F=R=>{let Q=M?K:J,N=A?-75:-100,G=Math.max(N,Math.min(Q,R.clientY-W.current.y));c.current&&c.current.style.setProperty("pointer-events","auto"),A&&G<-65?(g("next"),w()):M&&G>K-10?(g("prev"),P()):(G>J-10||G<-90)&&(L(),C.current&&C.current.onNewData(null)),x.set(0),B.current=false,window.removeEventListener("pointerup",F);};window.addEventListener("pointerup",F);},[x,w,P,A,M,L,s]),Ce=useCallback(T=>{requestAnimationFrame(()=>{if(B.current){let F=Math.max(-10,Math.min(10,T.clientX-W.current.x)),R=M?K:J,Q=A?-75:-100,N=Math.max(Q,Math.min(R,T.clientY-W.current.y));Math.sqrt(F**2+N**2)>10&&c.current&&c.current.style.setProperty("pointer-events","none"),x.set(N);}});},[x,A,M]),Fe=useMemo(()=>({height:`${u}px`,width:`${d}px`,overflow:"hidden",pointerEvents:s?"none":"auto"}),[d,u,s]),[ue,I]=useState(null),O=useCallback(T=>{h.find(R=>R.status==="current")?.id===T?._id&&I(T);},[h]);return jsx(Nr,{curr:ue,children:jsxs(Center,{background:l??"background.100",style:{touchAction:"none"},userSelect:"none",position:"relative",w:"100%",h:"100%",overflow:"hidden",onPointerDown:ne,onPointerMove:Ce,children:[jsx(pn,{item:ue,getBackgroundValue:a,getBackgroundUrl:n}),jsx("div",{ref:m,style:Fe,children:jsx(Center,{ref:c,h:"100%",w:"100%",children:h.map(T=>jsx(rn,{id:T.id,collectionPath:t,RenderItem:o,onItemLoad:O,status:T.status,enterStatus:f,offsetY:x},T.id))})}),jsx(fn,{canRefresh:!M,refreshing:_,offsetY:x}),jsx(Ie,{inFeed:true,zIndex:2,bg:"transparent",pointerEvents:"none",isLoading:z}),p?jsx(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=useWatch({exact:true,name:e});return useMemo(()=>t(r),[r,t])?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 useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsx(Checkbox,{isChecked:o,onChange:i=>t(i.target.checked),...r,children:a})},rc=forwardRef(oc),nc=({field:e,input:{onChange:t,value:o,...r}},n)=>{let{placeholder:a}=e;return useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsxs(Flex,{gap:1,align:"center",children:[jsx(Switch,{isChecked:o,onChange:i=>t(i.target.checked),...r}),jsx(Text,{fontWeight:600,opacity:o?.9:.6,children:a})]})},ic=forwardRef(nc),ac=(e,t)=>e.field.type==="switch"?jsx(ic,{ref:t,...e}):jsx(rc,{ref:t,...e}),hn=forwardRef(ac);var ht=(e,t,o)=>{let r=useRef(null);return useImperativeHandle(e,()=>({focus:(()=>r.current?.focus()),blur:(()=>r.current?.blur())})),r};var ho=({children:e,color:t,background:o,boxProps:r,...n})=>jsx(Box,{background:o,...r,children:jsx(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?gradientToCssGradientProp(o):null;return jsx(HStack,{opacity:r!==void 0?1:.5,_hover:{opacity:1},transition:"all 500ms",spacing:2,width:"100%",align:"center",...t,children:jsxs(HStack,{w:"100%",align:"center",children:[n!==void 0&&l?jsx(ho,{fontSize:"sm",color:l,children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,n!==void 0&&!l?jsx(Text,{children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,jsxs(Slider,{min:n,max:a,step:1,"aria-label":e,flex:1,...i,children:[jsx(SliderTrack,{bg:"gray.400",children:jsx(SliderFilledTrack,{bg:l??"blackAlpha.500"})}),jsx(Tooltip,{bg:"gray.100",color:"gray.500",placement:"top",hasArrow:true,label:typeof r=="number"?r.toFixed(0):"",children:jsx(SliderThumb,{width:2,height:4})})]}),a!==void 0&&l?jsx(ho,{fontSize:"sm",color:l,children:typeof a=="number"?a.toFixed((i?.step??1)<1?2:0):""}):null,a!==void 0&&!l?jsx(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})=>jsx(xt,{label:e,value:r,min:0,step:1,max:255,stackProps:{width:"100%",...t},gradient:o,...n}),Fn=forwardRef(({input:{onChange:e,value:t},field:o,meta:r},n)=>{let{withAlpha:a,defaultValue:i}=o,{active:l}=r||{};ht(n);let s=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=useMemo(()=>({...i,...t}),[i,t]),d=useMemo(()=>colorValueToHex(!!a,p),[p,a]);return jsxs(HStack,{w:"100%",children:[jsx(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:jsx(Center,{transition:"background 300ms",bg:d,width:"80px",h:"80px",borderRadius:"full",children:jsx(Text,{style:{fontSize:"1.3rem"},children:d})})}),jsxs(VStack,{spacing:1,flex:1,px:2,align:"flex-start",borderRadius:6,transition:"all 400ms",boxShadow:`0 0 5px ${l?"#ffffff":"transparent"}`,children:[jsx(yt,{label:"R",gradient:gradients.red,defaultValue:i.r,value:t?.r,onChange:u=>s("r",u)}),jsx(yt,{label:"G",defaultValue:i.g,gradient:gradients.green,value:t?.g,onChange:u=>s("g",u)}),jsx(yt,{label:"B",gradient:gradients.blue,defaultValue:i.b,value:t?.b,onChange:u=>s("b",u)}),a?jsx(yt,{label:"A",gradient:gradients.midnight,defaultValue:1,value:t?.a,onChange:u=>s("a",u)}):null]})]})});var xo=(e,t)=>{let o=`${e}`;for(let r=o.length;r<t;r+=1)o=`0${o}`;return o},yo=e=>e?`${xo(e.getFullYear(),4)}-${xo(e.getMonth()+1,2)}-${xo(e.getDate(),2)}`:void 0,Ue=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=useMemo(()=>p?new Date(`${p}T00:00:00.000`):new Date,[p]),m=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 useImperativeHandle(t,()=>({focus:()=>{},blur:()=>{}})),jsxs(Popover,{isOpen:l,onOpen:d,onClose:u,closeDelay:100,placement:"bottom",children:[jsx(PopoverTrigger,{children:jsxs(Button,{w:"100%",fontFamily:"Public Sans",fontWeight:"normal",alignItems:"center",_hover:{bg:"#efefef"},lineHeight:1,variant:"outline",children:[jsx(Text,{fontSize:"md",height:"16px",align:"left",flex:1,children:p?getDateString(p,"short"):r}),jsx(Image,{src:"/svg/calendar.svg",height:"20px"})]})}),jsx(Portal,{children:jsxs(PopoverContent,{zIndex:2,onFocus:d,children:[jsx(PopoverArrow,{}),jsx(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(yo(f))})]})})]})});Ue.displayName="DateInput";var Ye=forwardRef(({field:e,input:t},o)=>(useImperativeHandle(o,()=>({focus:()=>{},blur:()=>{}})),jsx(Input,{fontFamily:"Public Sans",css:`
1
+ import {HStack,Box,Center,Text,VStack,Popover,PopoverTrigger,Button,Image,Portal,PopoverContent,PopoverArrow,Input,useColorMode,Flex,useColorModeValue,PopoverBody,IconButton,createMultiStyleConfigHelpers,extendTheme,Checkbox,Switch,Slider,SliderTrack,SliderFilledTrack,Tooltip,SliderThumb,Collapse,Modal,ModalOverlay,ModalContent,useDisclosure,CircularProgress,AlertDialog,AlertDialogOverlay,AlertDialogContent,AlertDialogBody,useToast,Stack,Progress,PopoverCloseButton,InputGroup,InputLeftElement}from'@chakra-ui/react';import {useTextColor,useField,useStandaloneInput,useDataList,usePaginatedList,useFullSize,useImageSize,useObjectUrl,usePlaylist,useMounted,useAppAssets,useScreen,useBackendBase,useAuth,FullSizeContext,useViews,ViewsProvider,useMobileFrame,useEditable,useColorModeValue as useColorModeValue$1,ChempoFormProvider,DataViewProvider,useFormSubmit,useDataListData,usePaginatedQuery,PaginatedListProvider,MobileFrameProvider,useDocument,useDataView,useChempoForm}from'@chem-po/react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import Wa,{forwardRef,createContext,useCallback,useMemo,useImperativeHandle,useState,useRef,memo,useEffect,useContext}from'react';import {ViewIcon,ViewOffIcon,CloseIcon,ChevronUpIcon,ChevronDownIcon,DeleteIcon,EditIcon,CheckIcon,DragHandleIcon,SunIcon,MoonIcon,RepeatIcon,SearchIcon,AddIcon,ChevronLeftIcon,ChevronRightIcon,ArrowUpIcon,ArrowDownIcon}from'@chakra-ui/icons';import mr from'@react-hook/resize-observer';import {colorValueToHex,gradients,getDateString,palette,gradientToCssGradientProp,getHandle,toPlural,generateId,isField,isListField,cssGradients,formatField,isFilterGroup,getHasAccess,arrayOperators}from'@chem-po/core';import {MotionValue,useMotionValue,AnimatePresence,motion,useSpring,useTransform}from'framer-motion';import {ErrorBoundary}from'react-error-boundary';import {useNavigate,useLocation,Link,useOutlet,matchRoutes}from'react-router-dom';import {SwitchTransition,CSSTransition,TransitionGroup}from'react-transition-group';import {useLottie}from'lottie-react';import {DragDropContext,Droppable,Draggable}from'@hello-pangea/dnd';import {Controller,useFormContext,useFieldArray,useWatch,useFormState}from'react-hook-form';import {DayPicker}from'react-day-picker';import {create}from'zustand';import Dp from'react-currency-input-field';import vd from'react-textarea-autosize';import {VariableSizeGrid,FixedSizeGrid,FixedSizeList,VariableSizeList}from'react-window';import fi from'react-window-infinite-loader';import'firebase/firestore';import {switchAnatomy}from'@chakra-ui/anatomy';import {cssVar}from'@chakra-ui/theme-tools';var ga=({layout:e="row"})=>{let{adapter:{auth:t}}=useBackendBase(),o=useAuth(r=>r.user);return jsx(Flex,{gap:[1,1,2],align:"center",flexFlow:["column","column","row"],children:o?jsx(Button,{size:"sm",onClick:()=>{t.logout();},children:"SIGN OUT"}):jsxs(Fragment,{children:[jsx(Text,{whiteSpace:"nowrap",textAlign:"center",opacity:.8,fontWeight:600,fontSize:"sm",children:"SIGN IN"}),jsx(Flex,{flexFlow:e,gap:2,w:"100%"})]})})},sg=e=>jsx(Portal,{children:jsx(Flex,{position:"fixed",bottom:4,left:4,children:jsx(ga,{...e})})});var ir=({width:e,children:t,active:o,duration:r=400,...n})=>jsx(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)=>jsx(Flex,{ref:t,bg:"background.100",p:3,borderRadius:6,boxShadow:"1px 1px 4px #00000066",...e}),Se=forwardRef(Ca);var H=()=>useColorModeValue("#00000033","#ffffff33");var ar=({viewText:e="View",hideText:t="Hide",onClick:o,isOpen:r,color:n})=>jsx(IconButton,{icon:r?jsx(ChevronUpIcon,{width:5,height:5}):jsx(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}=useDisclosure({defaultIsOpen:n??o,isOpen:s,onClose:p,onOpen:d}),g=useCallback(b=>{if(b.stopPropagation(),!n){if(c){m();return}f();}},[n,f,m,c]),h=H();return jsxs(VStack,{spacing:0,borderColor:h,w:"100%",...u,children:[jsxs(HStack,{borderBottom:c?`1px solid ${h}`:void 0,px:2,spacing:0,w:"100%",...a,children:[jsx(Flex,{onClick:g,cursor:"pointer","aria-label":"expand/hide",align:"center",flex:1,children:typeof e=="string"?jsx(Text,{fontWeight:600,color:"gray.500",flex:1,children:e}):e({isOpen:c,onClose:m})}),n?null:jsx(ar,{color:i,onClick:g,isOpen:c})]}),jsx(Box,{w:"100%",borderLeft:r?"4px solid #00000033":void 0,children:jsx(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=useMounted(),[l,s]=useState(0),p=useRef(null),[d,u]=useState(false),c=useMemo(()=>i&&r,[r,i]),m=useMemo(()=>c?l:0,[l,c]),f=useCallback(b=>{s(b.target.scrollHeight);},[]);mr(p,f);let g=useRef(null);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=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 jsx(Box,{overflow:"hidden",w:"100%",transition:h,height:`${m}px`,...a,children:jsx(Box,{ref:p,w:"100%",...a,children:o})})};var Zg=({children:e,...t})=>{let[o,r]=useState(0),[n,a]=useState(0),i=useRef(null),l=useCallback(s=>{r(s.target.scrollWidth),a(s.target.scrollHeight);},[]);return mr(i,l),jsx(Box,{ref:i,...t,width:"100%",height:"100%",children:e({width:o,height:n})})},hr=({children:e,...t})=>{let[o,r]=useState(0),[n,a]=useState(0),i=useRef(null),l=useCallback(p=>{r(p.target.scrollWidth),a(p.target.scrollHeight);},[]);mr(i,l);let s=useMemo(()=>({width:o,height:n}),[o,n]);return jsx(Box,{ref:i,...t,width:"100%",height:"100%",children:jsx(FullSizeContext.Provider,{value:s,children:e})})};var xr=Wa.createContext(false),br=({children:e})=>jsx(xr.Provider,{value:true,children:e}),yr=()=>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=useColorModeValue(1,1.8),s=useMemo(()=>t?2.4:l,[t,l]),{pathname:p}=useLocation(),d=useColorModeValue("#ffffff33","#00000033"),u=jsx(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:jsx(Image,{height:`${34*(a??1)}px`,filter:`brightness(${s})${t?" drop-shadow(1px 1px 3px #00000099 )":""}`,src:n,alt:r})});return p===i?jsx(Flex,{flex:1,h:"100%",justify:"center",children:u},i):jsx(Link,{style:{flex:1,display:"flex",height:"100%",justifyContent:"center"},to:i,children:u},i)},wr=({selectedView:e,children:t})=>{let o=useColorModeValue("#dedede",palette.gray.dark),r=useColorModeValue("#00000022","#ffffff33"),n=useViews(),a=useMemo(()=>n.filter(p=>!!p.view.icon),[n]),i=useMemo(()=>!!e?.navBar?.absolute,[e]),l=useMemo(()=>e?.navBar?.backgroundColor??o,[o,e]),s=useMemo(()=>e?.navBar?.borderColor?!!e?.navBar?.borderColor:i?"#ffffff33":r,[r,e,i]);return jsx(Flex,{position:"absolute",bottom:0,left:0,bg:l,w:"100%",transition:"all 500ms",h:`${Kt}px`,borderTop:`1px solid ${s}`,children:jsxs(Flex,{position:"relative",w:"100%",justify:"space-around",align:"center",children:[a.map(({view:p})=>jsx(qa,{absolute:i,view:p},p.name)),t]})})};var vr=({message:e})=>{let t=useColorModeValue("gray.600","gray.100");return jsx(Flex,{pt:4,children:jsx(Se,{children:jsx(Text,{color:t,children:e??"Sorry, something went wrong."})})})};var pt=e=>{let t=useColorModeValue("gray.400","gray.400"),o=useColorModeValue("gray.300","gray.600");return jsx(CircularProgress,{isIndeterminate:true,trackColor:o,color:t,...e})};var Ir=({size:e=30,isLoading:t,speed:o=2,inFeed:r,asset:n})=>{let a=useColorModeValue(n.default,n.dark??n.default),i=useMemo(()=>r?n.dark??n.default:a,[a,n,r]),l=useMemo(()=>({animationData:i,loop:true}),[i]),s=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}=useLottie(l,s);return useEffect(()=>{c(o);},[c,o]),useEffect(()=>{t?u():d();},[t,u,d]),jsx(Fragment,{children:p})},Tr=({size:e=30,isLoading:t,asset:o,inFeed:r})=>{let n=useColorModeValue(o.default,o.dark??o.default),a=useMemo(()=>r?o.dark??o.default:n,[n,o,r]),i=useMemo(()=>({width:e,height:e,opacity:t?.85:0,transition:"opacity 300ms ease-in-out"}),[e,t]);return jsx("img",{src:a,style:i,alt:"loading"})},ll=({isLoading:e,size:t})=>{let{loading:o}=useAppAssets();return o.lottieJson?jsx(Ir,{isLoading:e,size:t,asset:o.lottieJson}):o.svg?jsx(Tr,{isLoading:e,size:t,asset:o.svg}):null},fe=({isLoading:e,size:t,inFeed:o})=>{let{loading:r}=useAppAssets();return r.lottieJson?jsx(Ir,{inFeed:o,isLoading:e,size:t,asset:r.lottieJson}):r.svg?jsx(Tr,{inFeed:o,isLoading:e,size:t,asset:r.svg}):jsx(Text,{color:"red",children:"ERROR: No loading animation found"})},ge=({text:e="Loading...",inBox:t,stackProps:o})=>{let r=jsxs(HStack,{p:2,...o,children:[jsx(ll,{isLoading:true}),jsx(Text,{opacity:.8,fontSize:"sm",children:e})]});return t?jsx(Se,{children:r}):r},Ie=({isLoading:e,text:t,inFeed:o,...r})=>{let n=useColorModeValue("#ffffffaa","#00000088");return jsx(Center,{pos:"absolute",top:0,left:0,right:0,bottom:0,bg:n,pointerEvents:e?"auto":"none",opacity:e?1:0,...r,children:t?jsx(ge,{text:t}):jsx(fe,{inFeed:o,size:100,isLoading:e})})};var Lr=({loading:e})=>{let t=useRef(),o=useAuth(n=>n.loading),r=useNavigate();return useEffect(()=>(!e&&!o&&(t.current=setTimeout(()=>{r("/");},1500)),()=>{t.current&&clearTimeout(t.current);}),[e,r,o]),!e&&!o?jsx(Center,{minH:"100%",w:"100%",children:jsx(Se,{maxW:"500px",children:jsxs(HStack,{spacing:3,children:[jsx(pt,{size:6}),jsxs(VStack,{spacing:0,align:"flex-start",children:[jsx(Text,{children:"404"}),jsx(Text,{fontSize:"sm",opacity:.7,children:"Page not found - redirecting to Home..."})]})]})})}):jsx(ge,{})};var Dr=390,Er=844,Ar=Dr/Er,Bl=({children:e,navBarChildren:t})=>{let{isMobile:o,height:r,width:n}=useScreen(),{contentHeight:a,contentWidth:i}=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=useColorModeValue(cssGradients.accentGray,cssGradients.darkGray),s=useLocation(),p=useOutlet(),d=useViews(),u=useMemo(()=>d.find(x=>!!matchRoutes(x.routes,s)),[d,s]),c=useMemo(()=>u?typeof u.view.path=="string"?u.view.path:u.view.path[0]:"404",[u]),m=useRef(null),f=useRef(null),g=useMemo(()=>!!u?.view?.navBar?.absolute,[u]),h=useMemo(()=>a-(g?0:Kt),[a,g]),b=useMemo(()=>({overlayRef:m,height:a,width:i,absoluteNavBar:g,bodyHeight:h}),[m,a,i,g,h]);return jsx(br,{children:jsx(MobileFrameProvider,{value:b,children:jsx(Center,{position:"relative",bg:l,w:"100%",height:"100%",children:jsxs(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:[jsx(AnimatePresence,{children:jsx(SwitchTransition,{children:jsx(CSSTransition,{nodeRef:f,unmountOnExit:true,classNames:"page",timeout:300,children:()=>jsxs(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:[jsx(ErrorBoundary,{FallbackComponent:()=>jsx(vr,{}),children:u?p:jsx(Lr,{})}),e?jsx(Box,{height:"100%",w:"100%",position:"absolute",top:0,left:0,pointerEvents:"none",children:e}):null]})},c)})}),jsx(wr,{selectedView:u?.view,children:t}),jsx(Flex,{pos:"absolute",pointerEvents:"none",bottom:0,w:"100%",h:"100%",children:jsx(Flex,{ref:m,w:"100%",h:"100%",pos:"relative"})})]})})})})},sx=({children:e,navBarChildren:t,views:o})=>jsx(ViewsProvider,{views:o,children: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=useRef(null);return jsx(AlertDialog,{isCentered:true,isOpen:e,leastDestructiveRef:l,onClose:()=>t(),children:jsx(AlertDialogOverlay,{children:jsx(AlertDialogContent,{gap:0,children:jsx(AlertDialogBody,{children:jsxs(VStack,{align:"flex-start",py:1,children:[jsxs(Text,{fontSize:"lg",fontWeight:500,children:[n," ",i,"?"]}),typeof r=="string"?jsx(Text,{fontSize:"md",children:r}):r,jsxs(HStack,{justify:"flex-end",w:"100%",children:[jsx(Button,{size:"sm",ref:l,onClick:t,children:"Cancel"}),jsx(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]=useState(false),[p,d]=useState(false),u=useRef(),c=useRef(true);useEffect(()=>(c.current=true,()=>{c.current=false;}),[]);let m=useToast(),f=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 jsxs(Fragment,{children:[n?jsx(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:jsxs(Flex,{align:"center",gap:1,children:[jsx(DeleteIcon,{}),jsx(Text,{children:n})]})}):jsx(IconButton,{variant:"ghost",size:i.size??"sm","aria-label":a,_hover:{color:"red.600",bg:"red.200"},color:"red.500",borderRadius:"full",icon:jsx(DeleteIcon,{}),onClick:g=>{g.stopPropagation(),o?f():d(true);},isLoading:l,...i}),o?null: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=jsx(Box,{children:jsx(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 jsx(Tooltip,{label:r??o,"aria-label":o,children:i})},_r=({value:e,onChange:t,size:o=28,options:r})=>{let n=H();return jsx(Flex,{bg:"whiteAlpha.300",_dark:{bg:"blackAlpha.300"},border:`1px solid ${n}`,borderRadius:3,children:r.map((a,i)=>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=createContext({}),Wr=({curr:e,children:t})=>{let o=useMemo(()=>({curr:e}),[e]);return jsx($r.Provider,{value:o,children:t})},ts=()=>useContext($r);var Yr=({src:e,onClose:t})=>{let[o,r]=useState(true),n=useScreen(c=>c.width),a=useScreen(c=>c.height),[i,l]=useState({width:n/2,height:a/2}),{height:s,width:p}=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=useCallback(()=>r(true),[]),u=useCallback(c=>{let{naturalWidth:m,naturalHeight:f}=c.currentTarget;l({width:m,height:f}),r(false);},[]);return jsxs(Modal,{size:"full",isOpen:true,onClose:t,children:[jsx(ModalOverlay,{bg:"blackAlpha.700"}),jsxs(ModalContent,{style:{background:"transparent"},pointerEvents:"none",width:"100%",height:"100%",children:[jsxs(Center,{pointerEvents:"none",position:"fixed",p:[4,6,8],top:0,left:0,right:0,bottom:0,zIndex:4,children:[jsx(Center,{opacity:o?0:1,transition:"all 500ms",overflow:"hidden",w:`${p}px`,height:`${s}px`,children:jsx(Image,{onLoadStart:d,onLoad:u,transition:"opacity 300ms",height:"100%",objectFit:"contain",borderRadius:4,src:e})}),jsx(IconButton,{borderRadius:"full",position:"absolute",top:4,right:4,"aria-label":"close",icon:jsx(CloseIcon,{}),onClick:t})]}),jsx(Center,{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",opacity:o?1:0,transition:"opacity 300ms",children: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]=useState(!!e),c=useRef(null),[m,f]=useState(false),g=useMounted(100);useEffect(()=>{c.current?.complete&&u(true);},[c]);let h=useCallback(F=>{u(false),r&&r(F);},[r]),[b,x]=useState(e);useEffect(()=>{e&&x(e);},[e,b]);let C=d||!!t;return jsxs(Center,{opacity:g?1:0,transition:"opacity 333ms",w:n??"100%",h:a??"100%",overflow:"hidden",position:"relative",...p,children:[jsx(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?jsx(IconButton,{pos:"absolute",top:2,right:2,zIndex:1,w:7,minW:0,borderRadius:10,h:7,size:"sm","aria-label":"View Image",icon:jsx(Image,{height:"20px",src:"/icons/open_in_full.svg",opacity:.8,filter:"brightness(300%) drop-shadow(1px 1px 3px #00000066)"}),onClick:()=>f(true)}):null,jsx(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:jsx(fe,{isLoading:C,size:"60%"})}),m?jsx(Yr,{src:e??Kr,onClose:()=>f(false)}):null]})};var pb=({value:e,label:t,onChange:o})=>{let r=useToast(),[n,a]=useState(false),i=useCallback(l=>{let s=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{a(false);},s);},[]);return jsxs(Flex,{py:1,pr:2,pl:3,bg:"gray.700",borderRadius:12,boxShadow:"0 0 4px black",pos:"relative",align:"center",children:[jsxs(Flex,{opacity:n?0:1,transition:`opacity 300ms ${n?"ease-out":"ease-in"}`,pointerEvents:n?"none":"auto",align:"center",gap:2,children:[jsx(Text,{style:{fontSize:"1.2rem",height:"24px"},children:t}),jsx(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);}})]}),jsx(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: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=useMobileFrame(),s=useSpring(0,ao),p=useMotionValue(lo(i??"next",l)),d=useTransform(()=>p.get()+a.get()),u=useSpring(d,ao),c=useMemo(()=>`${t}/${e}`,[t,e]),{data:m}=useDocument(c,o),f=useRef({contentSize:l,status:i??n,y:lo(i??n,l),scale:tn(i??n)});return useEffect(()=>{let g=tn(n),h=Rs(n,l);p.set(h),s.set(g);},[n,p,s,l]),jsx(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]=useState([null,null,null]),[i,l]=useState(0),s=useAuth(P=>P.user),[p,d]=useState(false),[u,c]=useState(false),[m,f]=useState(null),[g,h]=useState(false),[b,x]=useState(null),C=useToast(),F=useRef(null),w=useRef({prev:null,curr:null,next:null}),I=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=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=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=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=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]),_=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=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=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=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]=useState(()=>M);useEffect(()=>{Ce(null,null,false);},[Ce]);let Fe=useMemo(()=>i>0&&!!n[1]?.length||!!n[0]?.length,[n,i]),ue=useMemo(()=>(n[1]&&i<n[1].length)??!!n[2]?.length,[n,i]);return 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})=>jsx(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=useMemo(()=>t?e(t):null,[e,t]),{loading:n,url:a}=useObjectUrl(r),i=useRef(0),[l,s]=useState(0),[p,d]=useState(null),[u,c]=useState(null);return useEffect(()=>{i.current===0?(d(a),i.current=1,s(0)):(c(a),i.current=0,s(1));},[a]),jsxs(Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsx(ut,{filter:o,opacity:l===0?1:0,background:p}),jsx(ut,{filter:o,opacity:l===1?1:0,background:u}),jsx(fe,{isLoading:n})]})},Hs=({getBackgroundUrl:e,item:t,filter:o})=>{let r=useMemo(()=>t?e(t):null,[e,t]),n=useRef(0),[a,i]=useState(0),[l,s]=useState(null),[p,d]=useState(null);return useEffect(()=>{r&&(n.current===0?(s(r),n.current=1,i(0)):(d(r),n.current=0,i(1)));},[r]),jsxs(Center,{position:"absolute",top:"0",left:"0",right:"0",bottom:"0",zIndex:0,children:[jsx(ut,{filter:o,opacity:a===0?1:0,background:l}),jsx(ut,{filter:o,opacity:a===1?1:0,background:p})]})},cn=({getBackgroundValue:e,getBackgroundUrl:t,...o})=>e?jsx(zs,{getBackgroundValue:e,...o}):t?jsx(Hs,{getBackgroundUrl:t,...o}):null;var Ws=J-K,mn=({offsetY:e,refreshing:t,canRefresh:o})=>{let r=useTransform(e,p=>Math.max(0,p-K)/Ws),n=useSpring(0),a=useSpring(0);useEffect(()=>{t?n.set(50):n.set(0);},[t,n]),useEffect(()=>{o?a.set(1):a.set(0);},[a,o]);let i=useTransform(()=>a.get()*Math.min(20,Math.max(0,n.get()+r.get()**.5*20))),l=useTransform(i,p=>a.get()*Math.min(1,Math.max(0,p/30))),s=useTransform(()=>a.get()*r.get()*180);return jsx(motion.div,{style:{opacity:l,pointerEvents:"none",y:i,position:"absolute",top:0,left:0,right:0,height:"auto",scale:l,rotate:s},children:jsxs(Center,{w:"100%",children:[jsx(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)"}),jsx(pt,{size:8,position:"absolute",isIndeterminate:true,opacity:t?1:0,transition:`opacity 300ms ease ${t?300:0}ms`})]})})};var Xs=e=>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}=useMobileFrame(),c=useRef(null),m=useRef(null),[f,g]=useState(null),[h,b]=useState([]),x=useMotionValue(0),C=Xs(b),F=useRef(null),{goNext:w,goPrev:I,loading:A,canGoNext:O,canGoPrev:M,refresh:L,refreshing:_}=nn(e,C,i,r),B=useRef(false),W=useRef({x:0,y:0}),ne=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=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=useMemo(()=>({height:`${u}px`,width:`${d}px`,overflow:"hidden",pointerEvents:s?"none":"auto"}),[d,u,s]),[ue,P]=useState(null),D=useCallback(T=>{h.find(R=>R.status==="current")?.id===T?._id&&P(T);},[h]);return jsx(Wr,{curr:ue,children:jsxs(Center,{background:l??"background.100",style:{touchAction:"none"},userSelect:"none",position:"relative",w:"100%",h:"100%",overflow:"hidden",onPointerDown:ne,onPointerMove:Ce,children:[jsx(cn,{item:ue,getBackgroundValue:a,getBackgroundUrl:n}),jsx("div",{ref:m,style:Fe,children:jsx(Center,{ref:c,h:"100%",w:"100%",children:h.map(T=>jsx(on,{id:T.id,collectionPath:t,RenderItem:o,onItemLoad:D,status:T.status,enterStatus:f,offsetY:x},T.id))})}),jsx(mn,{canRefresh:!M,refreshing:_,offsetY:x}),jsx(Ie,{inFeed:true,zIndex:2,bg:"transparent",pointerEvents:"none",isLoading:A}),p?jsx(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=useWatch({exact:true,name:e});return useMemo(()=>t(r),[r,t])?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 useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsx(Checkbox,{isChecked:o,onChange:i=>t(i.target.checked),...r,children:a})},rc=forwardRef(oc),nc=({field:e,input:{onChange:t,value:o,...r}},n)=>{let{placeholder:a}=e;return useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}})),jsxs(Flex,{gap:1,align:"center",children:[jsx(Switch,{isChecked:o,onChange:i=>t(i.target.checked),...r}),jsx(Text,{fontWeight:600,opacity:o?.9:.6,children:a})]})},ic=forwardRef(nc),ac=(e,t)=>e.field.type==="switch"?jsx(ic,{ref:t,...e}):jsx(rc,{ref:t,...e}),gn=forwardRef(ac);var ht=(e,t,o)=>{let r=useRef(null);return useImperativeHandle(e,()=>({focus:(()=>r.current?.focus()),blur:(()=>r.current?.blur())})),r};var go=({children:e,color:t,background:o,boxProps:r,...n})=>jsx(Box,{background:o,...r,children:jsx(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?gradientToCssGradientProp(o):null;return jsx(HStack,{opacity:r!==void 0?1:.5,_hover:{opacity:1},transition:"all 500ms",spacing:2,width:"100%",align:"center",...t,children:jsxs(HStack,{w:"100%",align:"center",children:[n!==void 0&&l?jsx(go,{fontSize:"sm",color:l,children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,n!==void 0&&!l?jsx(Text,{children:typeof n=="number"?n.toFixed((i?.step??1)<1?2:0):""}):null,jsxs(Slider,{min:n,max:a,step:1,"aria-label":e,flex:1,...i,children:[jsx(SliderTrack,{bg:"gray.400",children:jsx(SliderFilledTrack,{bg:l??"blackAlpha.500"})}),jsx(Tooltip,{bg:"gray.100",color:"gray.500",placement:"top",hasArrow:true,label:typeof r=="number"?r.toFixed(0):"",children:jsx(SliderThumb,{width:2,height:4})})]}),a!==void 0&&l?jsx(go,{fontSize:"sm",color:l,children:typeof a=="number"?a.toFixed((i?.step??1)<1?2:0):""}):null,a!==void 0&&!l?jsx(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})=>jsx(xt,{label:e,value:r,min:0,step:1,max:255,stackProps:{width:"100%",...t},gradient:o,...n}),Cn=forwardRef(({input:{onChange:e,value:t},field:o,meta:r},n)=>{let{withAlpha:a,defaultValue:i}=o,{active:l}=r||{};ht(n);let s=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=useMemo(()=>({...i,...t}),[i,t]),d=useMemo(()=>colorValueToHex(!!a,p),[p,a]);return jsxs(HStack,{w:"100%",children:[jsx(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:jsx(Center,{transition:"background 300ms",bg:d,width:"80px",h:"80px",borderRadius:"full",children:jsx(Text,{style:{fontSize:"1.3rem"},children:d})})}),jsxs(VStack,{spacing:1,flex:1,px:2,align:"flex-start",borderRadius:6,transition:"all 400ms",boxShadow:`0 0 5px ${l?"#ffffff":"transparent"}`,children:[jsx(yt,{label:"R",gradient:gradients.red,defaultValue:i.r,value:t?.r,onChange:u=>s("r",u)}),jsx(yt,{label:"G",defaultValue:i.g,gradient:gradients.green,value:t?.g,onChange:u=>s("g",u)}),jsx(yt,{label:"B",gradient:gradients.blue,defaultValue:i.b,value:t?.b,onChange:u=>s("b",u)}),a?jsx(yt,{label:"A",gradient: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=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=useMemo(()=>p?new Date(`${p}T00:00:00.000`):new Date,[p]),m=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 useImperativeHandle(t,()=>({focus:()=>{},blur:()=>{}})),jsxs(Popover,{isOpen:l,onOpen:d,onClose:u,closeDelay:100,placement:"bottom",children:[jsx(PopoverTrigger,{children:jsxs(Button,{w:"100%",fontFamily:"Public Sans",fontWeight:"normal",alignItems:"center",_hover:{bg:"#efefef"},lineHeight:1,variant:"outline",children:[jsx(Text,{fontSize:"md",height:"16px",align:"left",flex:1,children:p?getDateString(p,"short"):r}),jsx(Image,{src:"/svg/calendar.svg",height:"20px"})]})}),jsx(Portal,{children:jsxs(PopoverContent,{zIndex:2,onFocus:d,children:[jsx(PopoverArrow,{}),jsx(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=forwardRef(({field:e,input:t},o)=>(useImperativeHandle(o,()=>({focus:()=>{},blur:()=>{}})),jsx(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:yo(t),time:t.toTimeString().substring(0,5)}},wo=forwardRef(({input:{value:e,onBlur:t,onChange:o,onFocus:r}},n)=>{let[{date:a,time:i},l]=useState(Xc(e)),[s,p]=useState(null),d=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]);useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}}));let u=useMemo(()=>({active:s==="date",error:void 0,touched:false}),[s]);return jsxs(HStack,{w:"100%",children:[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}),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})]})});wo.displayName="DateTimeInput";var Xe=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 MotionValue(0),setMedia:()=>{},stop:()=>{},loop:()=>{}}})),Tn=()=>{let{media:e,playlist:t}=Xe();return useMemo(()=>t?t.currentId!==null?t.items.find(o=>o.id===t.currentId)??null:null:e,[t,e])};var Rn=({media:e,size:t=50,opacity:o=.8,buttonProps:r})=>{let{id:n}=e??{},{playlist:a}=usePlaylist(),i=Xe(c=>c.api),l=Xe(c=>c.isPlaying),s=Xe(c=>c.isLoading),p=Tn(),d=l&&p?.id===n,u=s&&p?.id===n;return jsx(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:jsxs(Center,{borderRadius:"full",height:`${t}px`,width:`${t}px`,children:[jsx(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})`}),jsx(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=useMemo(()=>({id:generateId(),title:t.filename||"Uploaded file",artistName:"",artistId:"",storageDir:"",producerId:"",songwriterId:""}),[t]);return jsxs(VStack,{children:[jsxs(HStack,{spacing:4,children:[jsx(Rn,{withThumbnail:true,media:r}),e?jsx(IconButton,{w:"40px",h:"40px",p:2,borderRadius:"full",boxShadow:"0 0 4px black","aria-label":"upload",icon:jsx(Image,{filter:"invert(100%)",src:"/svg/upload.svg",opacity:.8})}):null]}),!o&&t.filename?jsx(Text,{fontSize:"md",children:t.filename||"Uploaded file"}):null]})},fp=({value:e,options:t,hasUpload:o,loading:r})=>{let[n,a]=useState(false),{url:i,loading:l}=useObjectUrl(e),[s,p]=useState({width:0,height:0}),{shape:d,placeholder:u,objectFit:c,noFullView:m,background:f}=t??{},{src:g,opacity:h,scale:b}=u??{},x=useImageSize(t,s),{width:v,height:C}=x??{},w=useMemo(()=>n?i?1:h??.8:0,[n,i,h]),P=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]),z=!!r||l,A=typeof v=="number"?`${v}px`:"auto",M=typeof C=="number"?`${C}px`:"100px";return jsx(Jr,{width:A,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:z,imageProps:P,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=useMemo(()=>{if(!e)return "";let n=e.filename.split(".");return n[n.length-1]},[e]),o=gp[t],r=useColorModeValue("invert(0)","invert(1)");return o?jsx(Image,{filter:t!=="pdf"?r:"none",h:"24px",src:o}):null},xp=({value:e,noLabel:t,imageOptions:o,loading:r,hasUpload:n})=>{switch(useMemo(()=>e.type?.split("/")?.[0],[e])){case "image":return jsx(fp,{hasUpload:n,loading:r,options:o,value:e});case "audio":return jsx(mp,{noLabel:t,value:e,hasUpload:n});case "pdf":return jsx(Image,{src:"/icons/pdf.svg"});default:return jsxs(Flex,{gap:2,children:[jsx(hp,{value:e}),jsx(Text,{children:e.filename})]})}},bp=({hasUpload:e,imageOptions:t})=>{let o=useImageSize(t),{shape:r,placeholder:n}=t??{},{src:a,scale:i,opacity:l}=n??{},{width:s,height:p}=o??{},d=useColorModeValue("invert(0)","invert(1)"),u=useColorModeValue("whiteAlpha.500","whiteAlpha.100"),c=H(),m=t?jsx(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:jsx(Image,{filter:d,opacity:l,height:typeof p=="number"?`${p*(i??.6)}px`:"50px",src:a??"/icons/image.svg"})}):jsx(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 jsx(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=useMemo(()=>!i&&!a,[i,a]);return !e||l?jsx(bp,{hasUpload:t,imageOptions:n}):jsx(xp,{loading:r,imageOptions:n,noLabel:o,hasUpload:t,value:e})},Fo=forwardRef(({input:{value:e,onChange:t},field:o},r)=>{let{imageOptions:n}=o||{},a=useRef(null),i=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]);useImperativeHandle(r,()=>({focus:()=>{a.current?.click();},blur:()=>{a.current?.blur();}}));let l=useMemo(()=>o.accept&&o.accept.length===1&&o.accept[0]==="image",[o]),s=useMemo(()=>l||e?.type?.startsWith("image/")||e?.type?.startsWith("video/")?{height:120,...n,objectFit:"contain"}:void 0,[n,l,e]);return jsxs(Center,{flexFlow:"column",position:"relative",cursor:"pointer",onClick:()=>a.current?.click(),width:"100%",children:[jsx(Text,{fontSize:"sm",opacity:.8,mb:1,children:o.placeholder}),jsxs(Center,{width:"100%",position:"relative",p:2,overflow:"hidden",children:[jsx(Ft,{hasUpload:true,imageOptions:s,value:e}),jsx("input",{onChange:i,ref:a,accept:up(o),type:"file",style:{position:"absolute",pointerEvents:"none",height:.1,width:.1,opacity:0}})]})]})});Fo.displayName="FileComponent";var An=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}=useColorMode();useImperativeHandle(r,()=>({focus:()=>{p();},blur:()=>{d();}}));let c=jsx(Flex,{w:"100%",flexFlow:"row wrap",children:n.map(m=>jsx(Box,{p:.5,children:jsx(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?jsxs(Flex,{py:.5,flexFlow:"column",w:"100%",children:[jsx(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"},On=e=>useMemo(()=>({padding:Rp(e??"md"),fontSize:Lp[e??"md"]}),[e]);var Po=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=useColorModeValue("number-input","number-input-dark"),m=On(n),f=ht(s),[g,h]=useState(""),b=typeof t=="number"&&!Number.isNaN(t)?`${t}${g}`:"";return p==="slider"?jsx(xt,{label:u,onChange:e,value:t,defaultValue:d}):jsx(Dp,{className:c,placeholder:r.placeholder,decimalsLimit:r.precision,allowDecimals:!!r.precision,prefix:a,ref:f,onValueChange:(x,v,C)=>{x?.endsWith(".")?h("."):x?.includes(".")&&x?.endsWith("0")?h("0"):h(""),e(C?.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=useRef(null);return useImperativeHandle(o,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}})),jsx(Po,{prefix:"$",field:{...e,_type:"number"},...t})},En=forwardRef(Ep);var Hn=({value:e,field:t})=>{let o=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 jsx(Flex,{transition:"top 300ms",top:o,position:"absolute",right:3,children:jsx(Text,{fontSize:"xs",opacity:.6,children:"OPTIONAL"})})};var qp=e=>jsx(Text,{children:typeof e=="string"?e:JSON.stringify(e)}),$n=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=useMemo(()=>p&&a.find(h=>h===p),[p,a]),{colorMode:f}=useColorMode();useImperativeHandle(r,()=>({focus:()=>{d();},blur:()=>{u();}}));let g=i??qp;return jsxs(Popover,{strategy:"fixed",placement:"bottom",matchWidth:true,isOpen:c,onClose:u,children:[jsx(PopoverTrigger,{children:jsx(Button,{fontWeight:500,w:"100%",opacity:p?1:.7,onClick:h=>{h.stopPropagation(),d();},variant:"unstyled",position:"relative",children:jsx(Box,{children:m?g(m,f,true):n})})}),jsxs(PopoverContent,{w:"100%",overflowY:"auto",maxH:"300px",children:[jsx(PopoverBody,{p:0,children:a.map(h=>jsx(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))}),jsx(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}=useMemo(()=>{try{return {handle:getHandle(e,t)}}catch(i){return {error:i?.message??"Error parsing handle"}}},[t,e]),a=useMemo(()=>r?`${e.toUpperCase()}: ${r}`:e.toUpperCase(),[e,r]);return jsxs(Popover,{trigger:"hover",children:[jsx(PopoverTrigger,{children:jsx(Center,{opacity:r?1:.6,borderRadius:"full",width:"34px",height:"34px",children:jsx(Image,{cursor:"pointer",filter:`grayscale(${r?0:100}%)`,height:"24px",width:"24px",objectFit:"contain",src:hd[e]})})}),jsx(PopoverContent,{w:"auto",children:jsx(PopoverBody,{overflow:"hidden",borderRadius:4,p:0,w:"auto",children:jsxs(VStack,{spacing:0,p:2,w:"300px",align:"flex-start",children:[jsx(Text,{fontSize:"md",children:a}),jsx(Collapse,{in:!!n,style:{width:"100%"},children:jsx(Text,{px:1,bg:"red.500",fontSize:"sm",color:"white",children:n})}),jsx(Input,{onChange:i=>o(i.target.value),placeholder:"Handle or URL",width:"100%",value:t,size:"md"})]})})})]})},ko=forwardRef((e,t)=>{let{input:{value:o,onChange:r},field:{sites:n}}=e,a=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 useImperativeHandle(t,()=>({blur:()=>{},focus:()=>{}})),jsx(VStack,{w:"100%",p:1,children:jsxs(VStack,{borderRadius:4,p:2,spacing:0,w:"100%",children:[jsx(Text,{fontSize:"md",children:"Links"}),jsxs(HStack,{children:[!n||n.facebook?jsx(je,{onChange:i=>a("facebook",i),site:"facebook",value:o?.facebook}):null,!n||n.instagram?jsx(je,{onChange:i=>a("instagram",i),site:"instagram",value:o?.instagram}):null,!n||n.twitter?jsx(je,{onChange:i=>a("twitter",i),site:"twitter",value:o?.twitter}):null,!n||n.youtube?jsx(je,{onChange:i=>a("youtube",i),site:"youtube",value:o?.youtube}):null,!n||n.soundcloud?jsx(je,{onChange:i=>a("soundcloud",i),site:"soundcloud",value:o?.soundcloud}):null]})]})})});ko.displayName="SocialMediaComponent";var {definePartsStyle:vd,defineMultiStyleConfig:Cd}=createMultiStyleConfigHelpers(switchAnatomy.keys),Fd=vd({track:{_focusVisible:{boxShadow:"none"}}}),Sd=Cd({baseStyle:Fd}),It=cssVar("popper-arrow-bg"),Nn="Encode Sans",Tt="Noto Sans",Ov=extendTheme({semanticTokens:{colors:{background:{50:{default:"white",_dark:palette.gray.darker},100:{default:"gray.100",_dark:palette.gray.dark},200:{default:"#efefef",_dark: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:Tt,heading:Nn}},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",[It.variable]:"#ababab",_dark:{bg:"#777777",textShadow:"none",color:"#efefef",[It.variable]:"#777777"}}},Button:{baseStyle:{fontFamily:Nn,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:Tt}},Popover:{baseStyle:{root:{_focus:{boxShadow:"none"}},content:{bg:"background.100",border:"none",boxShadow:"0 0 4px rgba(0,0,0,0.5)",[It.variable]:"background.100",_dark:{bg:"background.100",[It.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:Sd,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 Lo=forwardRef(({input:e,field:t,inEditable:o},r)=>{let n=useRef(null);return useImperativeHandle(r,()=>({focus:()=>{n.current?.focus();},blur:()=>{n.current?.blur();}})),jsx(kd,{placeholder:t.placeholder,minRows:2,maxRows:5,ref:n,style:{resize:"none",width:"100%",color:Tt,background:"none",fontFamily:"fonts.body",boxSizing:"border-box",borderRadius:"4px",padding:o?0:"0.6rem 1rem",border:"none",outline:"none"},...e})});Lo.displayName="TextAreaComponent";var Mo=forwardRef(({input:e,inEditable:t,meta:o,field:r},n)=>{let{placeholder:a,type:i}=r,[l,s]=useState(i==="password"),{value:p}=e,d=useRef(null);useImperativeHandle(n,()=>({focus:()=>{d.current?.focus();},blur:()=>{d.current?.blur();}}));let u=i==="textarea"?jsx(Lo,{inEditable:t,field:r,input:e,meta:o}):jsx(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"?jsxs(Flex,{width:"100%",position:"relative",align:"center",children:[u,jsx(IconButton,{position:"absolute",right:2,onClick:()=>s(!l),variant:"ghost",icon:l?jsx(ViewIcon,{}):jsx(ViewOffIcon,{}),"aria-label":l?"show":"hide",title:l?"Show":"Hide",size:"xs"})]}):u});Mo.displayName="TextComponent";var Nd={text:Mo,file:Fo,boolean:hn,select:$n,multipleSelect:An,currency:En,number:Po,date:Ue,datetime:wo,time:Ye,socialMedia:ko,color:Fn},Gd=(e,t)=>{let{field:o,meta:{error:r,active:n,touched:a},input:i,inEditable:l}=e,{value:s}=i,p=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=useMemo(()=>d==="multipleSelect"||!!s&&d!=="file"&&d!=="boolean",[s,d]),f=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=useMemo(()=>Nd[d],[d]),h=useMemo(()=>l?0:r&&a?6:2,[l,r,a]);return jsxs(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?jsx(Text,{color:"gray.800",fontSize:"sm",px:2,children:c}):null,jsx(Flex,{width:"100%",borderRadius:4,py:.5,overflow:"hidden",...f,children:jsx(g,{ref:t,...e})}),l?null:jsxs(Fragment,{children:[jsx(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}),jsx(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?jsx(Hn,{field:o,value:s}):null]})},kt=forwardRef(Gd);var jd=({field:e,name:t},o)=>{let{control:r,getOnChange:n,meta:a,onFocus:i,onBlur:l}=useField(t,e);return jsx(Controller,{control:r,name:t,render:({field:{name:s,ref:p,onBlur:d,...u}})=>jsx(kt,{ref:o,field:e,input:{...u,onFocus:i,onBlur:()=>{l(),d();},onChange:n(u.onChange)},meta:a})})},Yn=forwardRef(jd);var Lt=({uploads:e})=>{let t=useMemo(()=>Object.values(e),[e]);return jsx(TransitionGroup,{component:Flex,width:"100%",flexFlow:"column",children:t.map(o=>jsx(j,{children:jsxs(Center,{px:2,height:"26px",position:"relative",w:"100%",flexDirection:"column",children:[jsx(Progress,{borderRadius:"full",value:o.percent*100,mx:2,my:1,size:"md",height:"100%",width:"100%"}),jsx(Text,{fontFamily:"fonts.heading",textShadow:"1px 1px 3px #000000aa",color:"white",position:"absolute",fontSize:"sm",fontWeight:500,children:o.label.toUpperCase()})]})},o.label))})};var cu=({onBack:e,children:t})=>jsx(Button,{flex:1,transition:"all 500ms",onClick:e,variant:"outline",border:"1px solid #cdcdcd",color:"#777",ml:"auto",children:t}),pu=({onSubmitClick:e,submitting:t,children:o,filter:r,opacity:n})=>jsx(Button,{isLoading:t,filter:r,flex:1,transition:"all 500ms",opacity:n,onClick:e,ml:"auto",variant:"solid",children:o}),du=()=>{let{formError:e}=useChempoForm();return jsx(Collapse,{in:!!e,children:jsx(Text,{color:"red",children:e??""})})},Kn=({isLoading:e,uploads:t,onSubmit:o,renderFooter:r,onBack:n,buttonText:a})=>{let{isSubmitting:i,isValid:l}=useFormState();return jsxs(Flex,{w:"100%",flexFlow:"column",children:[jsx(Collapse,{endingHeight:5,style:{width:"100%"},in:e,children:jsx(Progress,{w:"100%",h:"5px",isIndeterminate:true})}),jsx(Lt,{uploads:t}),jsx(du,{}),r?r({}):jsxs(HStack,{py:2,borderTop:"1px solid",borderColor:"background.200",px:3,w:"100%",children:[n?jsx(cu,{onBack:n,children:"Cancel"}):null,jsx(pu,{size:"sm",filter:`grayscale(${l?0:100}%)`,opacity:l?1:.5,onSubmitClick:o,submitting:i,children:a})]})]})};var Jn=({field:e,value:t,noLabel:o,style:r})=>{let{imageOptions:n,placeholder:a}=e,i=useMemo(()=>({height:150,...n}),[n]);return jsxs(Flex,{flexFlow:t?"column":"row",style:r,children:[o?null:jsx(Text,{pr:2,opacity:.7,fontWeight:600,children:a}),t?jsx(j,{children:jsx(Box,{p:1,children:jsx(Ft,{imageOptions:i,value:t})})}):jsx(Text,{opacity:.7,children:"None"})]})};var ei=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n,renderOption:a}=e,{colorMode:i}=useColorMode();return jsxs(Flex,{maxW:"100%",flexFlow:"row wrap",align:"center",style:r,children:[o?null:jsx(Text,{pr:2,opacity:.7,fontWeight:600,children:n}),t?t.map(l=>jsx(Box,{p:.5,children:a(l,i,true)},e.getOptionKey?e.getOptionKey(l):l)):jsx(Text,{opacity:.6,children:"None"})]})};var Cu=e=>jsx(Text,{children:typeof e=="string"?e:JSON.stringify(e)}),oi=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n,renderOption:a}=e,{colorMode:i}=useColorMode();return jsxs(Flex,{align:"center",style:r,children:[o?null:jsx(Text,{pr:2,opacity:.7,fontWeight:600,children:n}),t?(a??Cu)(t,i,true):"None"]})};var Tu=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n}=e,a=useMemo(()=>{let i=formatField[e._type];return i?i(e,t):t},[t,e]);return jsxs(Flex,{align:"center",style:r,children:[o?null:jsx(Text,{pr:2,opacity:.7,fontWeight:600,children:n}),jsx(Text,{opacity:t!=null?1:.6,children:a??"None"})]})},Ze=({field:e,value:t,noLabel:o,style:r})=>{switch(e._type){case "select":return jsx(oi,{style:r,field:e,value:t,noLabel:o});case "multipleSelect":return jsx(ei,{style:r,field:e,value:t,noLabel:o});case "file":return jsx(Jn,{style:r,field:e,value:t,noLabel:o});default:return jsx(Tu,{style:r,field:e,value:t,noLabel:o})}};var Mu=({onChange:e,value:t,field:o,onBlur:r,inEditable:n,onFocus:a,style:i},l)=>{let{inputProps:s,meta:p}=useStandaloneInput(o,t,e,a,r);return jsx(kt,{ref:l,field:o,inEditable:n,style:i,input:s,meta:p})},ii=forwardRef(Mu);var li=({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,parse:v}=useEditable({value:e,field:t,onSubmit:o,storagePath:r,onEditOpen:i,onEditClose:a}),C=useMemo(()=>t._type==="file"||t._type==="boolean",[t]);useEffect(()=>{g&&s.current?.focus();},[g,s]);let w=useColorModeValue$1("#00000055","#ffffff55");return jsx(ChempoFormProvider,{children:jsxs(Flex,{borderRadius:4,border:`1px dashed ${c&&!g?w:"transparent"}`,flexFlow:"column",w:"100%",children:[jsxs(Flex,{align:"center",px:1,position:"relative",w:"100%",children:[jsx(Flex,{opacity:d?0:1,transition:"all 300ms",mr:1,border:`1px dashed ${g?w:"transparent"}`,flex:1,minW:"0",children:g||C?jsx(ii,{ref:s,value:l,inEditable:true,field:t,style:{padding:0,...n},onChange:C?P=>x(v(P)):P=>p(v(P))}):jsx(Ze,{style:n,field:t,value:h})}),C?null:jsxs(Fragment,{children:[jsx(IconButton,{"aria-label":"Edit",size:"xs",icon:g?jsx(CloseIcon,{width:3}):jsx(EditIcon,{}),onMouseEnter:()=>b(true),onMouseLeave:()=>b(false),onClick:()=>{g?(p(h),f()):m();}}),jsx(Flex,{transition:"all 300ms",justify:"flex-end",opacity:g?1:0,overflow:"hidden",w:g?"30px":"0px",children:jsx(IconButton,{"aria-label":"Edit",size:"xs",bg:palette.cyan.light,_dark:{bg:palette.cyan.light,_hover:{bg:palette.cyan.lighter}},_hover:{bg:palette.cyan.medium},icon:jsx(CheckIcon,{filter:"drop-shadow(1px 1px 3px #000000aa)"}),onClick:()=>{x(h);}})})]}),jsx(Ie,{isLoading:d})]}),jsx(Lt,{uploads:u})]})})};var lm=e=>t=>{t.destination&&e(t.source.index,t.destination.index);},sm=({field:e,name:t})=>{let o=useMemo(()=>isField(e.itemField)?"":isListField(e.itemField)?[]:{},[e]),r=useColorModeValue("#efefef","#2b2b2b"),n=H(),{control:a}=useFormContext(),{fields:i,append:l,remove:s,move:p}=useFieldArray({control:a,name:t}),d=useMemo(()=>lm(p),[p]);return jsxs(Flex,{overflow:"hidden",gap:2,flexFlow:"column",w:"100%",px:2,py:1,children:[jsx(Text,{lineHeight:1,opacity:.7,fontSize:"sm",children:e.placeholder}),jsx(DragDropContext,{onDragEnd:d,children:jsx(Droppable,{droppableId:"droppable",children:(u,{draggingFromThisWith:c})=>jsxs(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)=>jsx(Draggable,{draggableId:m.id,index:f,children:({dragHandleProps:g,draggableProps:h,innerRef:b},{isDragging:x})=>jsx(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:jsx(j,{children:jsxs(Flex,{opacity:c&&!x?.5:1,gap:1,align:"center",w:"100%",children:[jsx(IconButton,{"aria-label":"drag",size:"xs",opacity:.8,variant:"ghost",icon:jsx(DragHandleIcon,{}),...g}),jsx(Box,{minW:"0",flex:1,children:jsx(Do,{name:m.id,field:e.itemField})}),jsx(IconButton,{"aria-label":"delete",size:"xs",bg:"red.600",color:"white",icon:jsx(DeleteIcon,{filter:"drop-shadow(1px 1px 3px #00000088)"}),onClick:v=>{v.stopPropagation(),s(f);}})]})})})},m.id)):jsx(Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"}),u.placeholder]})})}),jsx(Flex,{children:jsx(Button,{mr:"auto",width:"auto",size:"xs",onClick:()=>l(o),children:"+ NEW"})})]})},Do=({field:e,name:t})=>{let o=useMemo(()=>isField(e)||isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([r,n])=>({name:`${t?`${t}.`:""}${r}`,field:n})),[e,t]);return jsx(VStack,{spacing:1,w:"100%",children:o.map(r=>{if(isListField(r.field)){let a=jsx(sm,{name:r.name,field:r.field},r.name);return r.field.condition?jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}if(isField(r.field)){let a=jsx(Yn,{name:r.name,field:r.field},r.name);return r.field.condition?jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}let n=jsx(Do,{name:r.name,field:r.field},r.name);return r.field.condition?jsx(gt,{path:t,condition:r.field.condition,children:n},r.name):n})})},cm=({field:e,value:t,path:o})=>{let{itemField:r,placeholder:n}=e,a=H();return jsx(Box,{w:"100%",p:1,children:jsx(Xt,{border:`1px solid ${a}`,borderRadius:4,initExpanded:true,header:()=>jsx(Text,{py:1,children:n}),children:jsx(Flex,{flexFlow:"column",bg:"background.200",gap:2,px:2,py:1,children:t?.length?t.map((i,l)=>jsx(Box,{bg:"background.100",border:`1px solid ${a}`,borderRadius:3,children:jsx(si,{path:`${o}.${l}`,field:{...r,placeholder:`${n} ${l+1}`},value:i})},`${o}.${l}`)):jsx(Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"})})})})},si=({field:e,value:t,path:o,storagePath:r})=>{let{updateField:n}=useDataView();return isField(e)?n?jsx(li,{storagePath:r,field:e,value:t,onSubmit:a=>n(o,a)}):jsx(Ze,{field:e,value:t}):isListField(e)?jsx(cm,{path:o,field:e,value:t}):jsx(pm,{storagePath:r?`${r}.${o}`:void 0,path:o,field:e})},pm=({field:e,value:t,onClose:o,onDelete:r,onSubmit:n,itemName:a,storagePath:i,path:l=""})=>{let{name:s,children:p}=e,[d,u]=useState(false);return jsx(DataViewProvider,{value:t,onSubmit:n,children:jsx(Xt,{alwaysExpanded:true,header:()=>jsxs(Flex,{align:"center",px:2,w:"100%",children:[jsx(Text,{py:2,fontSize:"lg",fontFamily:"fonts.heading",children:s}),jsxs(Flex,{gap:2,align:"center",ml:"auto",children:[r?jsx(_r,{onDelete:r,itemName:a??"item"}):null,n?jsx(IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,ml:"auto","aria-label":"edit",icon:jsx(EditIcon,{}),onClick:()=>u(true)}):null,o?jsx(IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,variant:"ghost","aria-label":"close",icon:jsx(CloseIcon,{opacity:.8,w:3,h:3}),onClick:o}):null]})]}),children:d&&n?jsx(Eo,{storagePath:i,field:e,value:t,onSubmit:n,onBack:()=>u(false)}):jsx(Flex,{flexFlow:"column",px:4,py:2,children:Object.entries(p).map(([c,m])=>jsx(si,{storagePath:i?`${i}/${c}`:void 0,path:l?`${l}.${c}`:c,field:m,value:t?.[c]},c))})})})},ci=({onSubmit:e,onBack:t,field:o,value:r,buttonText:n="SUBMIT",renderFooter:a,storagePath:i})=>{let l=useMemo(()=>({field:o,value:r,onSubmit:e,storagePath:i}),[o,r,e,i]),{submit:s,uploads:p,isLoading:d}=useSubmitData(l),u=useFormSubmit(o,s);return jsx(Stack,{w:"100%",spacing:3,children:jsxs("form",{onSubmit:u,children:[jsx(Box,{pt:1,px:2,w:"100%",children:jsx(Do,{name:"",field:o})}),jsx(Kn,{isLoading:d,uploads:p,onSubmit:u,renderFooter:a,onBack:t,buttonText:n})]})})},dm=({onSubmit:e,field:t,value:o,...r})=>{let n=useMemo(()=>({children:{value:t}}),[t]);return jsx(ci,{field:n,value:{value:o},onSubmit:a=>e(a),...r})},Eo=({field:e,...t})=>{let o=isField(e)||isListField(e)?jsx(dm,{field:e,...t}):jsx(ci,{field:e,...t});return jsx(ChempoFormProvider,{children:o})};var di=e=>{let t=useMounted();return jsx(xr,{children:jsx(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?jsx(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}}=useDataList(),{data:{isLoading:r}}=usePaginatedList(),n=useMemo(()=>r||t!==o,[r,t,o]),{itemName:a,pluralItemName:i,noItemsMessage:l,searchRequired:s}=e;return jsx(Flex,{justify:"center",align:"flex-start",w:"100%",h:"100%",children:n?jsx(ge,{text:`Loading ${i??toPlural(a)}`}):jsx(Text,{textAlign:"center",flex:1,p:3,fontStyle:"italic",opacity:.7,children:!t&&s?`Search ${i??toPlural(a)}`:l??`No ${i??toPlural(a)}`})})};var oe=e=>typeof e=="function";var Cm=(e,t)=>{if(e.key!==t.key||e.operator!==t.operator)return false;if(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},ui=(e,{nativeFilter:t})=>(Array.isArray(t)?t:[t]).every(r=>Cm(r,e));var Pm=(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}},Im=(e,t,o)=>{let{rowHeight:r,columnWidth:n}=t,{numRows:a,numCols:i}=Pm(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}},Dt=(e,t)=>{let{data:{data:o}}=usePaginatedList();return useMemo(()=>Im(o,e,t),[o,e,t])};var xi=({height:e,options:t})=>{let{totalCount:o,data:{data:r},refetchItem:n,isItemLoaded:a,goNext:i}=usePaginatedList(),{list:l,onSelectItem:s,mobileLayout:p,query:d}=useDataList(),{width:u}=useFullSize(),{numCols:c,numRows:m,rowHeight:f,colWidth:g}=Dt(t,u),{previewHeight:h,mobile:b}=l,{colorMode:x}=useColorMode(),v=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]),C=useRef(null),w=useMemo(()=>p?b?.previewHeight??h:h,[b,h,p]);useEffect(()=>{let L=C.current;L&&(L.resetAfterColumnIndex(0),L.resetAfterRowIndex(0));},[d]);let P=useRef(null);useEffect(()=>{P.current&&P.current.resetloadMoreItemsCache(true);},[o]);let z=useMemo(()=>oe(w),[w]),A=useCallback(({columnIndex:L,rowIndex:_,data:B})=>{let W=_*c+L;return B.items[W]?._id||`${W}`},[c]),M=useCallback(({overscanColumnStartIndex:L,overscanColumnStopIndex:_,overscanRowStartIndex:B,overscanRowStopIndex:W,visibleColumnStartIndex:ne,visibleColumnStopIndex:Ce,visibleRowStartIndex:Fe,visibleRowStopIndex:ue},I)=>{let O=Fe*c+ne,T=ue*c+Ce,F=B*c+L,R=W*c+_;I({overscanStartIndex:F,overscanStopIndex:R,visibleStartIndex:O,visibleStopIndex:T});},[c]);return r.length?z?jsx(hi,{isItemLoaded:a,ref:P,itemCount:o??0,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsx(VariableSizeGrid,{height:e,width:u,rowCount:m,columnCount:c,rowHeight:f,columnWidth:g,itemData:v,style:{overflowX:"hidden"},itemKey:A,onItemsRendered:B=>M(B,L),ref:B=>{_(B),C.current=B;},children:De})}):jsx(hi,{isItemLoaded:a,itemCount:o??0,ref:P,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsx(FixedSizeGrid,{height:e,width:u,rowCount:m,columnCount:c,rowHeight:f,columnWidth:g,itemData:v,onItemsRendered:B=>M(B,L),style:{overflowX:"hidden"},ref:B=>{_(B),C.current=null;},children:De})}):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?jsx(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 vi=({height:e})=>{let{totalCount:t,data:{data:o},refetchItem:r,isItemLoaded:n,goNext:a}=usePaginatedList(),{list:i,onSelectItem:l,mobileLayout:s,query:p}=useDataList(),{previewHeight:d,mobile:u}=i,{colorMode:c}=useColorMode(),{width:m}=useFullSize(),f=useMemo(()=>({list:i,items:o,mobileLayout:s,colorMode:c,onSelect:C=>l(C._id),refetch:r}),[o,i,r,l,s,c]),g=useRef(null),h=useMemo(()=>s?u?.previewHeight??d:d,[u,d,s]),b=useRef(null);useEffect(()=>{b.current&&b.current.resetloadMoreItemsCache(true);},[t]),useEffect(()=>{let C=g.current;C&&(C.resetAfterRowIndex(0),C.resetAfterColumnIndex(0));},[p]);let x=useCallback(C=>typeof h=="function"?h(o[C]):h,[o,h]),v=useMemo(()=>oe(h),[h]);return o.length?v?jsx(hi,{ref:b,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:C,ref:w})=>jsx(VariableSizeList,{height:e,width:m,itemSize:x,itemCount:t??0,itemData:f,style:{overflowX:"hidden"},itemKey:P=>o[P]?._id||`${P}`,onItemsRendered:P=>{C(P);},ref:w,children:Ee})}):jsx(hi,{ref:b,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:C,ref:w})=>jsx(FixedSizeList,{height:e,width:m,itemSize:h,itemCount:t??0,itemData:f,itemKey:P=>o[P]?._id||`${P}`,style:{overflowX:"hidden"},onItemsRendered:C,ref:w,children:Ee})}):jsx(pe,{})};var jm=({height:e,options:t})=>{let{list:o,onSelectItem:r,mobileLayout:n,query:a}=useDataList(),{data:{data:i},pageIndex:l}=usePaginatedList(),s=useRef(null),p=useRef(null),{width:d}=useFullSize(),{numCols:u,numRows:c,rowHeight:m,colWidth:f}=Dt(t,d),{colorMode:g}=useColorMode(),h=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]);useEffect(()=>{let x=s.current;x&&(x.resetAfterColumnIndex(0),x.resetAfterRowIndex(0));},[a]),useEffect(()=>{let x=s.current,v=p.current;x&&x.scrollTo({scrollLeft:0,scrollTop:0}),v&&v.scrollTo({scrollLeft:0,scrollTop:0});},[l,a]);let b=useMemo(()=>oe(t.rowHeight)||oe(t.columnWidth),[t]);return i.length?b?jsx(VariableSizeGrid,{ref:s,height:e,width:d,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsx(FixedSizeGrid,{height:e,ref:p,width:d,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsx(pe,{})},Pi=memo(jm);var nf=({height:e})=>{let{list:t,onSelectItem:o,mobileLayout:r,query:n}=useDataList(),{data:{data:a},pageIndex:i}=usePaginatedList(),{width:l}=useFullSize(),{previewHeight:s,mobile:p}=t,d=useRef(null),u=useRef(null),{colorMode:c}=useColorMode(),m=useMemo(()=>({list:t,colorMode:c,items:a,onSelect:b=>o(b._id),mobileLayout:r}),[a,t,o,r,c]),f=useMemo(()=>r?p?.previewHeight??s:s,[p,s,r]);useEffect(()=>{let b=d.current;b&&b.resetAfterIndex(0);},[n]),useEffect(()=>{let b=d.current,x=u.current;b&&b.scrollTo(0),x&&x.scrollTo(0);},[n,i]);let g=useCallback(b=>typeof f=="function"?f(a[b]):f,[a,f]),h=useMemo(()=>oe(f),[f]);return a.length?h?jsx(FixedSizeList,{ref:u,height:e,width:l,itemSize:f,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsx(VariableSizeList,{ref:d,height:e,width:l,itemSize:g,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsx(pe,{})},ki=memo(nf);var Ri=({height:e})=>{let{infiniteScroll:t,gridLayout:o,list:r}=useDataList(),{grid:n}=r;return o&&n?t?jsx(xi,{options:n,height:e}):jsx(Pi,{options:n,height:e}):t?jsx(vi,{height:e}):jsx(ki,{height:e})};var zt=({children:e,isOpen:t,contentProps:o,...r})=>jsxs(Modal,{scrollBehavior:"inside",isCentered:true,isOpen:t,...r,children:[jsx(ModalOverlay,{}),jsx(ModalContent,{position:"relative",overflowY:"auto",bg:"background.100",...o,children:jsx(Box,{children:e})})]});var Mi=e=>{let{overlayRef:t}=useMobileFrame();return jsx(Portal,{containerRef:t,children:jsx(Flex,{justify:"center",align:"center",transition:"opacity 300ms",position:"absolute",left:0,top:0,height:"100%",width:"100%",...e})})};var bf=({onClick:e})=>jsx(Flex,{onClick:e,w:"100%",h:"100%",position:"absolute",bg:"blackAlpha.400",transition:"opacity 300ms"}),Di=({isOpen:e,onClose:t,children:o,contentProps:r,onContentMounted:n,closeOnOverlayClick:a})=>{let{height:i,width:l}=useMobileFrame(),s=useColorModeValue("gray.100","#454545"),[p,d]=useState(false),[u,c]=useState(false),m=useRef(null),f=useRef(null);return 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?jsxs(Mi,{opacity:u?1:0,pointerEvents:u?"auto":"none",children:[jsx(bf,{onClick:a!==false?t:void 0}),jsx(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 Ei=e=>{let t=useScreen(n=>n.isMobile),o=wr(),r=useMemo(()=>t||o?Di:zt,[t,o]);return jsx(r,{...e})};var zi=({field:e})=>{let{list:{baseQuery:t,itemName:o},newItemOpen:r,setNewItemOpen:n}=useDataList(),{adapter:{db:a}}=useBackendBase(),{refetch:i}=usePaginatedList(),l=useCallback(async s=>{await a.createItem(t.collection,s),n(false),i&&i();},[n,i,a,t]);return jsxs(zt,{isOpen:r,onClose:()=>n(false),children:[jsxs(Flex,{align:"center",pt:3,px:3,w:"100%",children:[jsxs(Text,{pl:1,opacity:.7,fontWeight:600,children:["NEW ",o.toUpperCase()]}),jsx(IconButton,{size:"sm",borderRadius:"full",ml:"auto",h:7,w:7,minW:0,onClick:()=>n(false),"aria-label":"Close",icon:jsx(CloseIcon,{opacity:.8,w:3,h:3})})]}),jsx(Eo,{field:e,onSubmit:l})]})};var _i=({goNext:e,canGoNext:t,mobileLayout:o})=>jsxs(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:[jsx(Text,{children:"Next"}),jsx(ChevronRightIcon,{w:5,h:5})]}),$i=({goPrev:e,canGoPrev:t,mobileLayout:o})=>jsxs(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:[jsx(ChevronLeftIcon,{w:5,h:5}),jsx(Text,{children:"Back"})]}),Gf=({progressBg:e,borderColor:t})=>{let{data:{isLoading:o,error:r}}=usePaginatedList();return jsxs(Box,{position:"absolute",bottom:"100%",w:"100%",left:0,children:[jsx(Collapse,{style:{width:"100%"},in:!!r,animateOpacity:true,children:jsx(Box,{borderTopRadius:6,bg:"red.600",maxW:"100%",p:1,children:jsx(Tooltip,{placement:"top",hasArrow:true,label:r?.message??"","aria-label":"error",children:jsx(Text,{textShadow:"1px 1px 3px #00000077",_dark:{textShadow:"none"},px:1,fontWeight:600,isTruncated:true,maxW:"100%",fontSize:"sm",color:"white",children:r?.message})})})}),jsx(j,{in:o,animateOpacity:true,children:jsx(Flex,{bg:e,borderTop:"1px solid",borderBottom:"1px solid",borderColor:t,w:"100%",children:jsx(Progress,{borderRadius:0,w:"100%",height:"8px",isIndeterminate:o})})})]})},Uf=(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,Vt=28,_t=24,Wi=({index:e,isActive:t,onClick:o,borderColor:r,isLoading:n,mobileLayout:a})=>jsx(Button,{onClick:o,variant:"unstyled",display:"flex",border:"1px solid",borderColor:t?"transparent":r,justifyContent:"center",alignItems:"center",width:`${a?_t:Vt}px`,height:`${a?_t:Vt}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),Yf=({group:{indicators:e,collapsed:t},mobileLayout:o})=>{let{data:{isLoading:r},goToPage:n}=usePaginatedList(),a=H();return t?jsx(Popover,{trigger:"hover",gutter:1,variant:"fixed",children:({onClose:i})=>jsxs(Fragment,{children:[jsx(PopoverTrigger,{children:jsx(IconButton,{variant:"unstyled",width:`${o?_t:Vt}px`,height:`${o?_t:Vt}px`,minW:"0",opacity:.7,_hover:{opacity:1},"aria-label":"more pages",icon:jsx(Text,{fontSize:"md",position:"relative",bottom:"2px",children:"..."})})}),jsx(PopoverContent,{bg:"background.200",w:"auto",border:"1px solid",borderColor:a,boxShadow:"none",children:jsx(PopoverBody,{w:"auto",maxW:"166px",p:.5,children:jsx(Flex,{align:"center",justify:"center",flexFlow:"row wrap",children:e.map(({index:l,isActive:s})=>jsx(Box,{m:.5,children:jsx(Wi,{mobileLayout:o,index:l,isActive:s,onClick:()=>{n(l),i();},borderColor:a,isLoading:r})},`ind-${l}`))})})})]})}):jsx(Fragment,{children:e.map(({index:i,isActive:l})=>jsx(Wi,{mobileLayout:o,index:i,isActive:l,onClick:()=>n(i),borderColor:a,isLoading:r},i))})},Xf=()=>{let{pageIndex:e,numPages:t}=usePaginatedList(),{mobileLayout:o}=useDataList(),r=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=Uf(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 jsx(Flex,{gap:1,align:"center",children:r.map((n,a)=>jsx(Yf,{mobileLayout:o,group:n},`group-${a}`))})},Qo=120,Gi=({onResize:e,flexProps:t,noFooter:o})=>{let r=useColorModeValue("#cdcdcd","#2d3748"),{list:n,mobileLayout:a,infiniteScroll:i,search:{search:l,debounced:s}}=useDataList(),{data:{data:p,isLoading:d},totalCount:u,pageIndex:c,limit:m,numFetched:f,goNext:g,goPrev:h,hasMoreData:b}=usePaginatedList(),{itemName:x,pluralItemName:v,searchRequired:C}=n,{itemsText:w,pageText:P}=useMemo(()=>d&&!i?{itemsText:a?"Loading...":"",pageText:""}:u===null?{itemsText:"Loading...",pageText:""}:u===0&&!d&&l===s?{itemsText:!l&&C?`Search ${v??toPlural(x)}`:`No ${v??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,v,m,c,l,C,a,s,p,i,f]),z=useMemo(()=>!i&&h,[i,h]),A=useMemo(()=>!i&&g,[i,g]),M=useColorModeValue("#efefef","#212121"),L=useRef(null),_=useCallback(B=>{let W=B.borderBoxSize[0].blockSize,ne=B.borderBoxSize[0].inlineSize;e({height:W,width:ne});},[e]);return fr(L,_),jsxs(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:jsxs(Flex,{align:"center",justify:a?"center":"space-between",position:"relative",w:"100%",children:[z&&!a?jsx($i,{goPrev:h,canGoPrev:!d&&!!c}):null,jsxs(Flex,{gap:1,align:"center",children:[i?null:jsxs(Fragment,{children:[a?null:jsx(Text,{fontFamily:"fonts.heading",whiteSpace:"nowrap",textAlign:"center",w:`${Qo}px`,fontSize:"sm",children:P}),jsx(Xf,{})]}),a?null:jsx(Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Qo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w})]}),A&&!a?jsx(_i,{goNext:g,canGoNext:!d&&b}):null]}),a&&!o?jsxs(Flex,{gap:2,w:"100%",justify:"space-between",align:"center",children:[z?jsx($i,{mobileLayout:true,goPrev:h,canGoPrev:!!c}):null,jsx(Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Qo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w}),A?jsx(_i,{mobileLayout:true,goNext:g,canGoNext:b}):null]}):null,jsx(Gf,{progressBg:M,borderColor:r})]})};var Xi=({filter:e,filters:t,GroupRender:o,toggleFilter:r})=>{let{label:n,Render:a}=e,i=useMemo(()=>t.some(u=>ui(u,e)),[t,e]),{colorMode:l}=useColorMode(),s=H(),p=useColorModeValue("gray.700","gray.100"),d=a??o;return jsx(Box,{p:.5,children:jsx(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?jsx(d,{active:i,colorMode:l,preset:e}):jsx(Text,{textShadow:i?"0 0 3px rgba(0,0,0,0.8)":"none",fontSize:"xs",children:n})})})},p0=({group:e,filters:t,toggleFilter:o})=>{let{label:r,filters:n}=e;return jsxs(Flex,{px:1,flexFlow:"column",w:"100%",children:[jsx(Text,{px:1,opacity:.8,fontSize:"sm",fontWeight:600,children:r}),jsx(Flex,{w:"100%",flexFlow:"row wrap",children:n.map(a=>jsx(Xi,{toggleFilter:o,GroupRender:e.RenderFilter,filters:t,filter:a},a.label))})]})},Zo=()=>{let{query:e,list:t,toggleFilter:o}=useDataList(),r=useScreen(l=>l.isMobile),{filters:n=[]}=e||{},{filterPresets:a}=t,i=H();return a?.length?jsx(HStack,{spacing:1,children:jsxs(Popover,{placement:"right-start",trigger:r?"click":"hover",strategy:"fixed",children:[jsx(PopoverTrigger,{children:jsx(IconButton,{size:"sm",variant:"ghost","aria-label":"Filters",icon:jsx(Image,{width:"24px",filter:`grayscale(${n.length?0:100}%)`,src:"/icons/tune.svg"})})}),jsx(Portal,{children:jsxs(PopoverContent,{borderRadius:6,w:"auto",children:[jsx(PopoverBody,{w:"240px",p:0,children:jsxs(Flex,{flexFlow:"column",w:"100%",children:[jsxs(HStack,{py:1.5,px:2,w:"100%",spacing:1,borderBottom:`1px solid ${i}`,children:[jsx(Image,{width:"18px",filter:"grayscale(100%)",src:"/icons/tune.svg"}),jsx(Text,{opacity:.8,fontSize:"sm",fontWeight:600,children:"FILTERS"})]}),jsx(Flex,{justify:"center",w:"100%",flexFlow:"row wrap",py:1,px:2,children:a.map(l=>isFilterGroup(l)?jsx(p0,{toggleFilter:o,filters:n,group:l},l.label):jsx(Xi,{toggleFilter:o,filters:n,filter:l},l.label))})]})}),jsx(PopoverArrow,{}),jsx(PopoverCloseButton,{})]})})]})}):null};var x0=({preset:e})=>{let{setSort:t,query:o}=useDataList(),{sort:r}=o,{label:n,key:a,Render:i}=e,l=useMemo(()=>r?.key===a?r.direction:null,[r,a]),{colorMode:s}=useColorMode(),p=useMemo(()=>l?"white":s==="light"?"gray.500":"gray.400",[l,s]),d=useMemo(()=>r?.direction==="asc"?jsx(ArrowUpIcon,{w:4,h:4}):jsx(ArrowDownIcon,{w:4,h:4}),[r]);return jsxs(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?jsx(i,{active:l,colorMode:s,preset:e}):jsx(Text,{fontWeight:600,fontSize:"sm",color:p,children:n}),jsx(ar,{active:!!l,h:"16px",width:20,children:d})]})},tr=()=>{let{list:{sortPresets:e}}=useDataList();return e?jsx(HStack,{spacing:2,children:e.map(t=>jsx(x0,{preset:t},t.label))}):null};var Ji=()=>{let{list:e,search:{search:t,update:o}}=useDataList(),{searchIcon:r,itemName:n,pluralItemName:a}=e,i=useColorModeValue("invert(0)","invert(1)");return jsx(Flex,{p:1,flex:1,minW:"0",children:jsxs(InputGroup,{children:[jsx(InputLeftElement,{pointerEvents:"none",children:r?jsx(Image,{filter:i,src:r,w:"24px"}):jsx(SearchIcon,{w:"24px",opacity:.5})}),jsx(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??toPlural(n)}`,onChange:l=>o(l.target.value)})]})})},Zi=({refetch:e})=>{let{list:t,setNewItemOpen:o}=useDataList(),r=useAuth(),{itemName:n,field:a,access:i}=t,l=useMemo(()=>getHasAccess(r,i?.create,null),[i,r]);return jsxs(Flex,{gap:2,ml:"auto",align:"center",children:[e?jsx(Tooltip,{placement:"left",hasArrow:true,label:"Refresh","aria-label":"Refresh",children:jsx(IconButton,{size:"xs",icon:jsx(RepeatIcon,{}),"aria-label":"Refresh",onClick:e})}):null,a&&l?jsx(Tooltip,{placement:"left",hasArrow:true,label:`Create new ${n}`,"aria-label":`Create new ${n}`,children:jsx(IconButton,{size:"xs",icon:jsx(AddIcon,{}),"aria-label":`Create new ${n}`,onClick:()=>o(true)})}):null]})},B0=[{id:"grid",label:"Grid View",Render:e=>jsx(Image,{w:5,opacity:e?1:.7,src:"/icons/grid_view.svg"})},{id:"list",label:"List View",Render:e=>jsx(Image,{w:6,opacity:e?1:.7,src:"/icons/list.svg"})}],ea=()=>{let{toggleGridLayout:e,gridLayout:t}=useDataList();return e?jsx($r,{onChange:e,options:B0,value:t?"grid":"list"}):null},oa=({onResize:e,refetch:t,boxProps:o})=>{let{list:r,mobileLayout:n,toggleGridLayout:a}=useDataList(),{searchPath:i,sortPresets:l,filterPresets:s,Header:p}=r,d=H(),u=useRef(null),c=useCallback(f=>{e({height:f.contentRect.height,width:f.contentRect.width});},[e]),m=useMemo(()=>!!Object.keys(i??{}).length,[i]);return fr(u,c),jsx(Box,{ref:u,bg:"background.200",borderBottom:`1px solid ${d}`,w:"100%",...o,children:jsx(Flex,{px:2,align:"center",w:"100%",children:l?.length||s?.length||m?jsxs(Flex,{w:"100%",flexFlow:n?"column":"row",children:[n&&!p?null:jsxs(Flex,{flex:1,px:2,py:n?0:1,gap:1,align:"center",children:[n?null:jsxs(Flex,{flex:1,minW:"0",align:"center",gap:2,children:[a?jsx(ea,{}):null,jsx(Zo,{}),jsx(tr,{}),m?jsx(Ji,{}):null]}),jsxs(Flex,{align:"center",minW:"0",gap:3,ml:"auto",children:[p?jsx(Box,{minW:"0",flex:1,children:jsx(p,{})}):null,n?null:jsx(Zi,{refetch:t})]})]}),m&&n?jsx(Ji,{}):null,n&&(l?.length||s?.length)?jsxs(Flex,{pl:1,py:1,gap:1.5,align:"center",w:"100%",children:[a?jsx(ea,{}):null,jsx(Zo,{}),jsx(tr,{}),jsx(Zi,{refetch:t})]}):null]}):null})})};var ia=()=>{let{selectedItemId:e,deselectItem:t,list:o}=useDataList(),{ItemView:r,itemName:n}=o||{},[a,i]=useState({x:0,y:0}),{data:{data:l}}=usePaginatedList(),s=useMemo(()=>l.find(m=>m._id===e)??null,[l,e]),{colorMode:p}=useColorMode(),d=useColorModeValue("red.600","red.300"),[u,c]=useState(null);return useEffect(()=>{s&&c(s);},[s]),jsx(Ei,{contentProps:{p:0,transition:"all 300ms",transform:`translate(${a.x}px, ${a.y}px)`},scrollBehavior:"inside",onClose:t,isOpen:!!r&&!!e,children:r&&u?jsx(r,{item:u,colorMode:p,clearContentOffset:()=>i({x:0,y:0}),updateContentOffset:(m,f)=>i({x:m,y:f})}):jsxs(Text,{color:d,p:4,children:["Error displaying ",n]})})};var ca=({modals:e,noFooter:t,headerProps:o,footerProps:r})=>{let{data:{isLoading:n,data:a}}=usePaginatedList(),{list:i}=useDataList(),{height:l}=useFullSize(),[s,p]=useState(0),[d,u]=useState(0),c=useMemo(()=>l-s-d,[l,s,d]),m=useCallback(b=>{p(b.height);},[]),f=useCallback(b=>{u(b.height);},[]),{ItemView:g,field:h}=i;return jsxs(Fragment,{children:[jsx(oa,{boxProps:o,onResize:m}),jsxs(Box,{h:`${c}px`,position:"relative",w:"100%",children:[jsx(Ri,{height:c}),t?jsx(Ie,{isLoading:!a.length&&n}):null]}),jsx(Gi,{noFooter:t,flexProps:r,onResize:f}),e??null,g?jsx(ia,{}):null,h?jsx(zi,{field:h}):null]})};var WI=({list:e,basePath:t,flexProps:o,infiniteScroll:r,...n})=>{let{adapter:{db:a}}=useBackendBase(),{baseQuery:i}=e,l=useDataListData(e,r,t),s=usePaginatedQuery(a,i,!!r);return jsx(PaginatedListProvider,{state:l,data:s,children:jsx(di,{...o,children:jsx(ca,{...n})})})};var nT=({value:e,duration:t=30})=>{let o=useRef(null),r=useRef(e),n=useRef(null);return 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]),jsx("span",{ref:o,children:e})};var ng=()=>{let{colorMode:e,toggleColorMode:t}=useColorMode(),o=useColorModeValue("gray.200","whiteAlpha.200"),r=useColorModeValue("blackAlpha.700","whiteAlpha.800"),n=useColorModeValue("gray.300","whiteAlpha.300"),a=useColorModeValue("gray.800","whiteAlpha.800");return jsx(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"?jsx(SunIcon,{w:4,h:4}):jsx(MoonIcon,{w:4,h:4,filter:"drop-shadow(1px 1px 2px #000000aa)"}),onClick:t,variant:"ghost"})},uT=e=>jsx(Flex,{position:"absolute",bottom:3,right:3,...e,children:jsx(ng,{})});var HT=()=>{if(typeof window<"u"){let e=()=>{let t=window.innerWidth,o=window.innerHeight;useScreen.setState({width:t,height:o,isMobile:t<769,isPortrait:t<o}),window.addEventListener("resize",e);};return e(),()=>{window.removeEventListener("resize",e);}}return ()=>{}};export{uT as AbsoluteDarkModeToggle,sg as AbsoluteLogin,pt as CircularProgress,ar as CollapseHorizontal,Se as ContentBox,ng as DarkModeToggle,WI as DataList,pm as DataView,Ei as DefaultModal,_r as DeleteButton,Ul as DeleteConfirmAlert,zt as DesktopModal,li as Editable,Cr as ErrorView,j as ExpandOnMount,Xt as Expandable,dm as FieldForm,ci as FieldMapForm,Ze as FieldView,Ft as FileView,Eo as Form,Do as FormElement,Zg as FullSizeContainer,xr as FullSizeProvider,Xr as ImageViewOverlay,di as ListContainer,ca as ListContent,sm as ListFieldInput,ge as Loading,Jr as LoadingImage,fe as LoadingLogo,Ie as LoadingOverlay,pb as LoadingSwitch,Tr as LottieLoadingLogo,cy as MediaFeed,sx as MobileFrame,Di as MobileModal,Mi as MobileOverlay,bf as MobileOverlayBackground,qt as NAV_BAR_HEIGHT,vr as NavBar,nT as NumberTicker,Rn as PlayButton,Mr as RedirectView,ga as SignIn,ii as StandaloneInput,$r as Toggle,lr as ViewButton,Ov as baseTheme,Tt as bodyFont,Nn as headingFont,HT as initializeScreen,Sd as switchTheme,H as useBorderColor,ts as useMediaFeed};//# sourceMappingURL=index.js.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:bo(t),time:t.toTimeString().substring(0,5)}},yo=forwardRef(({input:{value:e,onBlur:t,onChange:o,onFocus:r}},n)=>{let[{date:a,time:i},l]=useState(Xc(e)),[s,p]=useState(null),d=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]);useImperativeHandle(n,()=>({focus:()=>{},blur:()=>{}}));let u=useMemo(()=>({active:s==="date",error:void 0,touched:false}),[s]);return jsxs(HStack,{w:"100%",children:[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}),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=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 MotionValue(0),setMedia:()=>{},stop:()=>{},loop:()=>{}}})),In=()=>{let{media:e,playlist:t}=Xe();return 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}=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 jsx(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:jsxs(Center,{borderRadius:"full",height:`${t}px`,width:`${t}px`,children:[jsx(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})`}),jsx(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=useMemo(()=>({id:generateId(),title:t.filename||"Uploaded file",artistName:"",artistId:"",storageDir:"",producerId:"",songwriterId:""}),[t]);return jsxs(VStack,{children:[jsxs(HStack,{spacing:4,children:[jsx(kn,{withThumbnail:true,media:r}),e?jsx(IconButton,{w:"40px",h:"40px",p:2,borderRadius:"full",boxShadow:"0 0 4px black","aria-label":"upload",icon:jsx(Image,{filter:"invert(100%)",src:"/svg/upload.svg",opacity:.8})}):null]}),!o&&t.filename?jsx(Text,{fontSize:"md",children:t.filename||"Uploaded file"}):null]})},fp=({value:e,options:t,hasUpload:o,loading:r})=>{let[n,a]=useState(false),{url:i,loading:l}=useObjectUrl(e),[s,p]=useState({width:0,height:0}),{shape:d,placeholder:u,objectFit:c,noFullView:m,background:f}=t??{},{src:g,opacity:h,scale:b}=u??{},x=useImageSize(t,s),{width:C,height:F}=x??{},w=useMemo(()=>n?i?1:h??.8:0,[n,i,h]),I=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 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=useMemo(()=>{if(!e)return "";let n=e.filename.split(".");return n[n.length-1]},[e]),o=gp[t],r=useColorModeValue("invert(0)","invert(1)");return o?jsx(Image,{filter:t!=="pdf"?r:"none",h:"24px",src:o}):null},xp=({value:e,noLabel:t,imageOptions:o,loading:r,hasUpload:n})=>{switch(useMemo(()=>e.type?.split("/")?.[0],[e])){case "image":return jsx(fp,{hasUpload:n,loading:r,options:o,value:e});case "audio":return jsx(mp,{noLabel:t,value:e,hasUpload:n});case "pdf":return jsx(Image,{src:"/icons/pdf.svg"});default:return jsxs(Flex,{gap:2,children:[jsx(hp,{value:e}),jsx(Text,{children:e.filename})]})}},bp=({hasUpload:e,imageOptions:t})=>{let o=useImageSize(t),{shape:r,placeholder:n}=t??{},{src:a,scale:i,opacity:l}=n??{},{width:s,height:p}=o??{},d=useColorModeValue("invert(0)","invert(1)"),u=useColorModeValue("whiteAlpha.500","whiteAlpha.100"),c=H(),m=t?jsx(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:jsx(Image,{filter:d,opacity:l,height:typeof p=="number"?`${p*(i??.6)}px`:"50px",src:a??"/icons/image.svg"})}):jsx(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 jsx(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=useMemo(()=>!i&&!a,[i,a]);return !e||l?jsx(bp,{hasUpload:t,imageOptions:n}):jsx(xp,{loading:r,imageOptions:n,noLabel:o,hasUpload:t,value:e})},Co=forwardRef(({input:{value:e,onChange:t},field:o},r)=>{let{imageOptions:n}=o||{},a=useRef(null),i=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]);useImperativeHandle(r,()=>({focus:()=>{a.current?.click();},blur:()=>{a.current?.blur();}}));let l=useMemo(()=>o.accept&&o.accept.length===1&&o.accept[0]==="image",[o]),s=useMemo(()=>l||e?.type?.startsWith("image/")||e?.type?.startsWith("video/")?{height:120,...n,objectFit:"contain"}:void 0,[n,l,e]);return jsxs(Center,{flexFlow:"column",position:"relative",cursor:"pointer",onClick:()=>a.current?.click(),width:"100%",children:[jsx(Text,{fontSize:"sm",opacity:.8,mb:1,children:o.placeholder}),jsxs(Center,{width:"100%",position:"relative",p:2,overflow:"hidden",children:[jsx(Ft,{hasUpload:true,imageOptions:s,value:e}),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=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}=useColorMode();useImperativeHandle(r,()=>({focus:()=>{p();},blur:()=>{d();}}));let c=jsx(Flex,{w:"100%",flexFlow:"row wrap",children:n.map(m=>jsx(Box,{p:.5,children:jsx(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?jsxs(Flex,{py:.5,flexFlow:"column",w:"100%",children:[jsx(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=>useMemo(()=>({padding:Rp(e??"md"),fontSize:Lp[e??"md"]}),[e]);var So=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=useColorModeValue("number-input","number-input-dark"),m=An(n),f=ht(s),[g,h]=useState(""),b=typeof t=="number"&&!Number.isNaN(t)?`${t}${g}`:"";return p==="slider"?jsx(xt,{label:u,onChange:e,value:t,defaultValue:d}):jsx(Dp,{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=useRef(null);return useImperativeHandle(o,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}})),jsx(So,{prefix:"$",field:{...e,_type:"number"},...t})},Dn=forwardRef(Ep);var zn=({value:e,field:t})=>{let o=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 jsx(Flex,{transition:"top 300ms",top:o,position:"absolute",right:3,children:jsx(Text,{fontSize:"xs",opacity:.6,children:"OPTIONAL"})})};var qp=e=>jsx(Text,{children:typeof e=="string"?e:JSON.stringify(e)}),_n=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=useMemo(()=>p&&a.find(h=>h===p),[p,a]),{colorMode:f}=useColorMode();useImperativeHandle(r,()=>({focus:()=>{d();},blur:()=>{u();}}));let g=i??qp;return jsxs(Popover,{strategy:"fixed",placement:"bottom",matchWidth:true,isOpen:c,onClose:u,children:[jsx(PopoverTrigger,{children:jsx(Button,{fontWeight:500,w:"100%",opacity:p?1:.7,onClick:h=>{h.stopPropagation(),d();},variant:"unstyled",position:"relative",children:jsx(Box,{children:m?g(m,f,true):n})})}),jsxs(PopoverContent,{w:"100%",overflowY:"auto",maxH:"300px",children:[jsx(PopoverBody,{p:0,children:a.map(h=>jsx(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))}),jsx(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}=useMemo(()=>{try{return {handle:getHandle(e,t)}}catch(i){return {error:i?.message??"Error parsing handle"}}},[t,e]),a=useMemo(()=>r?`${e.toUpperCase()}: ${r}`:e.toUpperCase(),[e,r]);return jsxs(Popover,{trigger:"hover",children:[jsx(PopoverTrigger,{children:jsx(Center,{opacity:r?1:.6,borderRadius:"full",width:"34px",height:"34px",children:jsx(Image,{cursor:"pointer",filter:`grayscale(${r?0:100}%)`,height:"24px",width:"24px",objectFit:"contain",src:hd[e]})})}),jsx(PopoverContent,{w:"auto",children:jsx(PopoverBody,{overflow:"hidden",borderRadius:4,p:0,w:"auto",children:jsxs(VStack,{spacing:0,p:2,w:"300px",align:"flex-start",children:[jsx(Text,{fontSize:"md",children:a}),jsx(Collapse,{in:!!n,style:{width:"100%"},children:jsx(Text,{px:1,bg:"red.500",fontSize:"sm",color:"white",children:n})}),jsx(Input,{onChange:i=>o(i.target.value),placeholder:"Handle or URL",width:"100%",value:t,size:"md"})]})})})]})},To=forwardRef((e,t)=>{let{input:{value:o,onChange:r},field:{sites:n}}=e,a=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 useImperativeHandle(t,()=>({blur:()=>{},focus:()=>{}})),jsx(VStack,{w:"100%",p:1,children:jsxs(VStack,{borderRadius:4,p:2,spacing:0,w:"100%",children:[jsx(Text,{fontSize:"md",children:"Links"}),jsxs(HStack,{children:[!n||n.facebook?jsx(je,{onChange:i=>a("facebook",i),site:"facebook",value:o?.facebook}):null,!n||n.instagram?jsx(je,{onChange:i=>a("instagram",i),site:"instagram",value:o?.instagram}):null,!n||n.twitter?jsx(je,{onChange:i=>a("twitter",i),site:"twitter",value:o?.twitter}):null,!n||n.youtube?jsx(je,{onChange:i=>a("youtube",i),site:"youtube",value:o?.youtube}):null,!n||n.soundcloud?jsx(je,{onChange:i=>a("soundcloud",i),site:"soundcloud",value:o?.soundcloud}):null]})]})})});To.displayName="SocialMediaComponent";var ko=forwardRef(({input:e,field:t,inEditable:o},r)=>{let n=useTextColor(),a=useRef(null);return useImperativeHandle(r,()=>({focus:()=>{a.current?.focus();},blur:()=>{a.current?.blur();}})),jsx(vd,{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=forwardRef(({input:e,inEditable:t,meta:o,field:r},n)=>{let{placeholder:a,type:i}=r,[l,s]=useState(i==="password"),{value:p}=e,d=useRef(null);useImperativeHandle(n,()=>({focus:()=>{d.current?.focus();},blur:()=>{d.current?.blur();}}));let u=i==="textarea"?jsx(ko,{inEditable:t,field:r,input:e,meta:o}):jsx(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"?jsxs(Flex,{width:"100%",position:"relative",align:"center",children:[u,jsx(IconButton,{position:"absolute",right:2,onClick:()=>s(!l),variant:"ghost",icon:l?jsx(ViewIcon,{}):jsx(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=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=useMemo(()=>d==="multipleSelect"||!!s&&d!=="file"&&d!=="boolean",[s,d]),f=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=useMemo(()=>Ed[d],[d]),h=useMemo(()=>l?0:r&&a?6:2,[l,r,a]);return jsxs(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?jsx(Text,{color:"gray.800",fontSize:"sm",px:2,children:c}):null,jsx(Flex,{width:"100%",borderRadius:4,py:.5,overflow:"hidden",...f,children:jsx(g,{ref:t,...e})}),l?null:jsxs(Fragment,{children:[jsx(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}),jsx(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?jsx(zn,{field:o,value:s}):null]})},It=forwardRef(zd);var Wd=({field:e,name:t},o)=>{let{control:r,getOnChange:n,meta:a,onFocus:i,onBlur:l}=useField(t,e);return jsx(Controller,{control:r,name:t,render:({field:{name:s,ref:p,onBlur:d,...u}})=>jsx(It,{ref:o,field:e,input:{...u,onFocus:i,onBlur:()=>{l(),d();},onChange:n(u.onChange)},meta:a})})},Gn=forwardRef(Wd);var kt=({uploads:e})=>{let t=useMemo(()=>Object.values(e),[e]);return jsx(TransitionGroup,{component:Flex,width:"100%",flexFlow:"column",children:t.map(o=>jsx(j,{children:jsxs(Center,{px:2,height:"26px",position:"relative",w:"100%",flexDirection:"column",children:[jsx(Progress,{borderRadius:"full",value:o.percent*100,mx:2,my:1,size:"md",height:"100%",width:"100%"}),jsx(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})=>jsx(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})=>jsx(Button,{isLoading:t,filter:r,flex:1,transition:"all 500ms",opacity:n,onClick:()=>{e();},ml:"auto",variant:"solid",children:o}),nu=()=>{let{formError:e}=useChempoForm();return jsx(Collapse,{in:!!e,children:jsx(Text,{color:"red",children:e??""})})},Qn=({renderFooter:e,...t})=>{let{uploads:o,onBack:r,buttonText:n,onSubmit:a}=t,{isSubmitting:i,isValid:l}=useFormState();return jsxs(Flex,{w:"100%",flexFlow:"column",children:[jsx(Collapse,{endingHeight:5,style:{width:"100%"},in:i,children:jsx(Progress,{w:"100%",h:"5px",isIndeterminate:true})}),jsx(kt,{uploads:o}),jsx(nu,{}),e?e(t):jsxs(HStack,{py:2,borderTop:"1px solid",borderColor:"background.200",px:3,w:"100%",children:[r?jsx(ou,{onBack:r,children:"Cancel"}):null,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=useMemo(()=>({height:150,...n}),[n]);return jsxs(Flex,{flexFlow:t?"column":"row",style:r,children:[o?null:jsx(Text,{pr:2,opacity:.7,fontWeight:600,children:a}),t?jsx(j,{children:jsx(Box,{p:1,children:jsx(Ft,{imageOptions:i,value:t})})}):jsx(Text,{opacity:.7,children:"None"})]})};var Jn=({field:e,value:t,noLabel:o,style:r})=>{let{placeholder:n,renderOption:a}=e,{colorMode:i}=useColorMode();return jsxs(Flex,{maxW:"100%",flexFlow:"row wrap",align:"center",style:r,children:[o?null:jsx(Text,{pr:2,opacity:.7,fontWeight:600,children:n}),t?t.map(l=>jsx(Box,{p:.5,children:a(l,i,true)},e.getOptionKey?e.getOptionKey(l):l)):jsx(Text,{opacity:.6,children:"None"})]})};var gu=e=>jsx(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}=useColorMode();return jsxs(Flex,{align:"center",style:r,children:[o?null:jsx(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=useMemo(()=>{let i=formatField[e._type];return i?i(e,t):t},[t,e]);return jsxs(Flex,{align:"center",style:r,children:[o?null:jsx(Text,{pr:2,opacity:.7,fontWeight:600,children:n}),jsx(Text,{opacity:t!=null?1:.6,children:a??"None"})]})},Ze=({field:e,value:t,noLabel:o,style:r})=>{switch(e._type){case "select":return jsx(ei,{style:r,field:e,value:t,noLabel:o});case "multipleSelect":return jsx(Jn,{style:r,field:e,value:t,noLabel:o});case "file":return jsx(Kn,{style:r,field:e,value:t,noLabel:o});default:return 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}=useStandaloneInput(o,t,e,a,r);return jsx(It,{ref:l,field:o,inEditable:n,style:i,input:s,meta:p})},ri=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}=useEditable({value:e,field:t,onSubmit:o,storagePath:r,onEditOpen:i,onEditClose:a}),w=useMemo(()=>t._type==="file"||t._type==="boolean",[t]);useEffect(()=>{g&&s.current?.focus();},[g,s]);let I=useColorModeValue$1("#00000055","#ffffff55");return jsx(ChempoFormProvider,{children:jsxs(Flex,{borderRadius:4,border:`1px dashed ${c&&!g?I:"transparent"}`,flexFlow:"column",w:"100%",children:[jsxs(Flex,{align:"center",px:1,position:"relative",w:"100%",children:[jsx(Flex,{opacity:d?0:1,transition:"all 300ms",mr:1,border:`1px dashed ${g?I:"transparent"}`,flex:1,minW:"0",children:g||w?jsx(ri,{ref:s,value:l,inEditable:true,field:t,style:{padding:0,...n},onChange:w?A=>C(F(A)):A=>p(F(A))}):jsx(Ze,{style:n,field:t,value:h})}),w?null:jsxs(Fragment,{children:[jsx(IconButton,{"aria-label":"Edit",size:"xs",icon:g?jsx(CloseIcon,{width:3}):jsx(EditIcon,{}),onMouseEnter:()=>b(true),onMouseLeave:()=>b(false),onClick:()=>{g?(p(h),f()):m();}}),jsx(Flex,{transition:"all 300ms",justify:"flex-end",opacity:g?1:0,overflow:"hidden",w:g?"30px":"0px",children:jsx(IconButton,{"aria-label":"Edit",size:"xs",bg:palette.cyan.light,_dark:{bg:palette.cyan.light,_hover:{bg:palette.cyan.lighter}},_hover:{bg:palette.cyan.medium},icon:jsx(CheckIcon,{filter:"drop-shadow(1px 1px 3px #000000aa)"}),onClick:()=>{x();}})})]}),jsx(Ie,{isLoading:d})]}),jsx(kt,{uploads:u})]})})};var Zu=e=>t=>{t.destination&&e(t.source.index,t.destination.index);},em=({field:e,name:t})=>{let o=useMemo(()=>isField(e.itemField)?"":isListField(e.itemField)?[]:{},[e]),r=useColorModeValue("#efefef","#2b2b2b"),n=H(),{control:a}=useFormContext(),{fields:i,append:l,remove:s,move:p}=useFieldArray({control:a,name:t}),d=useMemo(()=>Zu(p),[p]);return jsxs(Flex,{overflow:"hidden",gap:2,flexFlow:"column",w:"100%",px:2,py:1,children:[jsx(Text,{lineHeight:1,opacity:.7,fontSize:"sm",children:e.placeholder}),jsx(DragDropContext,{onDragEnd:d,children:jsx(Droppable,{droppableId:"droppable",children:(u,{draggingFromThisWith:c})=>jsxs(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)=>jsx(Draggable,{draggableId:m.id,index:f,children:({dragHandleProps:g,draggableProps:h,innerRef:b},{isDragging:x})=>jsx(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:jsx(j,{children:jsxs(Flex,{opacity:c&&!x?.5:1,gap:1,align:"center",w:"100%",children:[jsx(IconButton,{"aria-label":"drag",size:"xs",opacity:.8,variant:"ghost",icon:jsx(DragHandleIcon,{}),...g}),jsx(Box,{minW:"0",flex:1,children:jsx(Ao,{name:m.id,field:e.itemField})}),jsx(IconButton,{"aria-label":"delete",size:"xs",bg:"red.600",color:"white",icon:jsx(DeleteIcon,{filter:"drop-shadow(1px 1px 3px #00000088)"}),onClick:C=>{C.stopPropagation(),s(f);}})]})})})},m.id)):jsx(Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"}),u.placeholder]})})}),jsx(Flex,{children:jsx(Button,{mr:"auto",width:"auto",size:"xs",onClick:()=>l(o),children:"+ NEW"})})]})},Ao=({field:e,name:t})=>{let o=useMemo(()=>isField(e)||isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([r,n])=>({name:`${t?`${t}.`:""}${r}`,field:n})),[e,t]);return jsx(VStack,{spacing:1,w:"100%",children:o.map(r=>{if(isListField(r.field)){let a=jsx(em,{name:r.name,field:r.field},r.name);return r.field.condition?jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}if(isField(r.field)){let a=jsx(Gn,{name:r.name,field:r.field},r.name);return r.field.condition?jsx(gt,{path:t,condition:r.field.condition,children:a},r.name):a}let n=jsx(Ao,{name:r.name,field:r.field},r.name);return r.field.condition?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 jsx(Box,{w:"100%",p:1,children:jsx(Yt,{border:`1px solid ${a}`,borderRadius:4,initExpanded:true,header:()=>jsx(Text,{py:1,children:n}),children:jsx(Flex,{flexFlow:"column",bg:"background.200",gap:2,px:2,py:1,children:t?.length?t.map((i,l)=>jsx(Box,{bg:"background.100",border:`1px solid ${a}`,borderRadius:3,children:jsx(ai,{path:`${o}.${l}`,field:{...r,placeholder:`${n} ${l+1}`},value:i})},`${o}.${l}`)):jsx(Text,{fontSize:"sm",opacity:.7,py:1,px:2,children:"No items"})})})})},ai=({field:e,value:t,path:o,storagePath:r})=>{let{updateField:n}=useDataView();return isField(e)?n?jsx(ii,{storagePath:r,field:e,value:t,onSubmit:a=>n(o,a)}):jsx(Ze,{field:e,value:t}):isListField(e)?jsx(tm,{path:o,field:e,value:t}):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]=useState(false);return jsx(DataViewProvider,{value:t,onSubmit:n,children:jsx(Yt,{alwaysExpanded:true,header:()=>jsxs(Flex,{align:"center",px:2,w:"100%",children:[jsx(Text,{py:2,fontSize:"lg",fontFamily:"fonts.heading",children:s}),jsxs(Flex,{gap:2,align:"center",ml:"auto",children:[r?jsx(Vr,{onDelete:r,itemName:a??"item"}):null,n?jsx(IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,ml:"auto","aria-label":"edit",icon:jsx(EditIcon,{}),onClick:()=>u(true)}):null,o?jsx(IconButton,{size:"sm",borderRadius:"full",minW:0,w:7,h:7,variant:"ghost","aria-label":"close",icon:jsx(CloseIcon,{opacity:.8,w:3,h:3}),onClick:o}):null]})]}),children:d&&n?jsx(Oo,{storagePath:i,field:e,value:t,onSubmit:n,onBack:()=>u(false)}):jsx(Flex,{flexFlow:"column",px:4,py:2,children:Object.entries(p).map(([c,m])=>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=useMemo(()=>({field:o,value:r,submit:e,storagePath:i}),[o,r,e,i]),{onSubmit:s,uploads:p}=useFormSubmit(l);return jsx(Stack,{w:"100%",spacing:3,children:jsxs("form",{children:[jsx(Box,{pt:1,px:2,w:"100%",children:jsx(Ao,{name:"",field:o})}),jsx(Qn,{uploads:p,onSubmit:s,renderFooter:a,onBack:t,buttonText:n})]})})},rm=({onSubmit:e,field:t,value:o,...r})=>{let n=useMemo(()=>({children:{value:t}}),[t]);return jsx(li,{field:n,value:{value:o},onSubmit:a=>e(a?.value),...r})},Oo=({field:e,...t})=>{let o=isField(e)||isListField(e)?jsx(rm,{field:e,...t}):jsx(li,{field:e,...t});return jsx(ChempoFormProvider,{children:o})};var ci=e=>{let t=useMounted();return jsx(hr,{children:jsx(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?jsx(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}}=useDataList(),{data:{isLoading:r}}=usePaginatedList(),n=useMemo(()=>r||t!==o,[r,t,o]),{itemName:a,pluralItemName:i,noItemsMessage:l,searchRequired:s}=e;return jsx(Flex,{justify:"center",align:"flex-start",w:"100%",h:"100%",children:n?jsx(ge,{text:`Loading ${i??toPlural(a)}`}):jsx(Text,{textAlign:"center",flex:1,p:3,fontStyle:"italic",opacity:.7,children:!t&&s?`Search ${i??toPlural(a)}`:l??`No ${i??toPlural(a)}`})})};var oe=e=>typeof e=="function";var fm=(e,t)=>{if(e.key!==t.key||e.operator!==t.operator)return false;if(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}}=usePaginatedList();return 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}=usePaginatedList(),{list:l,onSelectItem:s,mobileLayout:p,query:d}=useDataList(),{width:u}=useFullSize(),{numCols:c,numRows:m,rowHeight:f,colWidth:g}=At(t,u),{previewHeight:h,mobile:b}=l,{colorMode:x}=useColorMode(),C=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=useRef(null),w=useMemo(()=>p?b?.previewHeight??h:h,[b,h,p]);useEffect(()=>{let L=F.current;L&&(L.resetAfterColumnIndex(0),L.resetAfterRowIndex(0));},[d]);let I=useRef(null);useEffect(()=>{I.current&&I.current.resetloadMoreItemsCache(true);},[o]);let A=useMemo(()=>oe(w),[w]),O=useCallback(({columnIndex:L,rowIndex:_,data:B})=>{let W=_*c+L;return B.items[W]?._id||`${W}`},[c]),M=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?jsx(fi,{isItemLoaded:a,ref:I,itemCount:o??0,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsx(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})}):jsx(fi,{isItemLoaded:a,itemCount:o??0,ref:I,loadMoreItems:i,children:({onItemsRendered:L,ref:_})=>jsx(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})}):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?jsx(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}=usePaginatedList(),{list:i,onSelectItem:l,mobileLayout:s,query:p}=useDataList(),{previewHeight:d,mobile:u}=i,{colorMode:c}=useColorMode(),{width:m}=useFullSize(),f=useMemo(()=>({list:i,items:o,mobileLayout:s,colorMode:c,onSelect:F=>l(F._id),refetch:r}),[o,i,r,l,s,c]),g=useRef(null),h=useMemo(()=>s?u?.previewHeight??d:d,[u,d,s]),b=useRef(null);useEffect(()=>{b.current&&b.current.resetloadMoreItemsCache(true);},[t]),useEffect(()=>{let F=g.current;F&&(F.resetAfterRowIndex(0),F.resetAfterColumnIndex(0));},[p]);let x=useCallback(F=>typeof h=="function"?h(o[F]):h,[o,h]),C=useMemo(()=>oe(h),[h]);return o.length?C?jsx(fi,{ref:b,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:F,ref:w})=>jsx(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})}):jsx(fi,{ref:b,isItemLoaded:n,itemCount:t??0,loadMoreItems:a,children:({onItemsRendered:F,ref:w})=>jsx(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})}):jsx(pe,{})};var $m=({height:e,options:t})=>{let{list:o,onSelectItem:r,mobileLayout:n,query:a}=useDataList(),{data:{data:i},pageIndex:l}=usePaginatedList(),s=useRef(null),p=useRef(null),{width:d}=useFullSize(),{numCols:u,numRows:c,rowHeight:m,colWidth:f}=At(t,d),{colorMode:g}=useColorMode(),h=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]);useEffect(()=>{let x=s.current;x&&(x.resetAfterColumnIndex(0),x.resetAfterRowIndex(0));},[a]),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=useMemo(()=>oe(t.rowHeight)||oe(t.columnWidth),[t]);return i.length?b?jsx(VariableSizeGrid,{ref:s,height:e,width:d,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsx(FixedSizeGrid,{height:e,ref:p,width:d,rowCount:c,columnCount:u,rowHeight:m,columnWidth:f,itemData:h,style:{overflowX:"hidden"},children:De}):jsx(pe,{})},Fi=memo($m);var Km=({height:e})=>{let{list:t,onSelectItem:o,mobileLayout:r,query:n}=useDataList(),{data:{data:a},pageIndex:i}=usePaginatedList(),{width:l}=useFullSize(),{previewHeight:s,mobile:p}=t,d=useRef(null),u=useRef(null),{colorMode:c}=useColorMode(),m=useMemo(()=>({list:t,colorMode:c,items:a,onSelect:b=>o(b._id),mobileLayout:r}),[a,t,o,r,c]),f=useMemo(()=>r?p?.previewHeight??s:s,[p,s,r]);useEffect(()=>{let b=d.current;b&&b.resetAfterIndex(0);},[n]),useEffect(()=>{let b=d.current,x=u.current;b&&b.scrollTo(0),x&&x.scrollTo(0);},[n,i]);let g=useCallback(b=>typeof f=="function"?f(a[b]):f,[a,f]),h=useMemo(()=>oe(f),[f]);return a.length?h?jsx(FixedSizeList,{ref:u,height:e,width:l,itemSize:f,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsx(VariableSizeList,{ref:d,height:e,width:l,itemSize:g,itemCount:a.length,itemData:m,style:{overflowX:"hidden"},children:Ee}):jsx(pe,{})},Ii=memo(Km);var Ti=({height:e})=>{let{infiniteScroll:t,gridLayout:o,list:r}=useDataList(),{grid:n}=r;return o&&n?t?jsx(gi,{options:n,height:e}):jsx(Fi,{options:n,height:e}):t?jsx(yi,{height:e}):jsx(Ii,{height:e})};var Dt=({children:e,isOpen:t,contentProps:o,...r})=>jsxs(Modal,{scrollBehavior:"inside",isCentered:true,isOpen:t,...r,children:[jsx(ModalOverlay,{}),jsx(ModalContent,{position:"relative",overflowY:"auto",bg:"background.100",...o,children:jsx(Box,{children:e})})]});var Ri=e=>{let{overlayRef:t}=useMobileFrame();return jsx(Portal,{containerRef:t,children:jsx(Flex,{justify:"center",align:"center",transition:"opacity 300ms",position:"absolute",left:0,top:0,height:"100%",width:"100%",...e})})};var pf=({onClick:e})=>jsx(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}=useMobileFrame(),s=useColorModeValue("gray.100","#454545"),[p,d]=useState(false),[u,c]=useState(false),m=useRef(null),f=useRef(null);return 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?jsxs(Ri,{opacity:u?1:0,pointerEvents:u?"auto":"none",children:[jsx(pf,{onClick:a!==false?t:void 0}),jsx(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=useScreen(n=>n.isMobile),o=yr(),r=useMemo(()=>t||o?Ai:Dt,[t,o]);return jsx(r,{...e})};var Di=({field:e})=>{let{list:{baseQuery:t,itemName:o},newItemOpen:r,setNewItemOpen:n}=useDataList(),{adapter:{db:a}}=useBackendBase(),{refetch:i}=usePaginatedList(),l=useCallback(async s=>{await a.createItem(t.collection,s),n(false),i&&i();},[n,i,a,t]);return jsxs(Dt,{isOpen:r,onClose:()=>n(false),children:[jsxs(Flex,{align:"center",pt:3,px:3,w:"100%",children:[jsxs(Text,{pl:1,opacity:.7,fontWeight:600,children:["NEW ",o.toUpperCase()]}),jsx(IconButton,{size:"sm",borderRadius:"full",ml:"auto",h:7,w:7,minW:0,onClick:()=>n(false),"aria-label":"Close",icon:jsx(CloseIcon,{opacity:.8,w:3,h:3})})]}),jsx(Oo,{field:e,onSubmit:l})]})};var Hi=({goNext:e,canGoNext:t,mobileLayout:o})=>jsxs(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:[jsx(Text,{children:"Next"}),jsx(ChevronRightIcon,{w:5,h:5})]}),Vi=({goPrev:e,canGoPrev:t,mobileLayout:o})=>jsxs(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:[jsx(ChevronLeftIcon,{w:5,h:5}),jsx(Text,{children:"Back"})]}),Ef=({progressBg:e,borderColor:t})=>{let{data:{isLoading:o,error:r}}=usePaginatedList();return jsxs(Box,{position:"absolute",bottom:"100%",w:"100%",left:0,children:[jsx(Collapse,{style:{width:"100%"},in:!!r,animateOpacity:true,children:jsx(Box,{borderTopRadius:6,bg:"red.600",maxW:"100%",p:1,children:jsx(Tooltip,{placement:"top",hasArrow:true,label:r?.message??"","aria-label":"error",children:jsx(Text,{textShadow:"1px 1px 3px #00000077",_dark:{textShadow:"none"},px:1,fontWeight:600,isTruncated:true,maxW:"100%",fontSize:"sm",color:"white",children:r?.message})})})}),jsx(j,{in:o,animateOpacity:true,children:jsx(Flex,{bg:e,borderTop:"1px solid",borderBottom:"1px solid",borderColor:t,w:"100%",children:jsx(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})=>jsx(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}=usePaginatedList(),a=H();return t?jsx(Popover,{trigger:"hover",gutter:1,variant:"fixed",children:({onClose:i})=>jsxs(Fragment,{children:[jsx(PopoverTrigger,{children:jsx(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:jsx(Text,{fontSize:"md",position:"relative",bottom:"2px",children:"..."})})}),jsx(PopoverContent,{bg:"background.200",w:"auto",border:"1px solid",borderColor:a,boxShadow:"none",children:jsx(PopoverBody,{w:"auto",maxW:"166px",p:.5,children:jsx(Flex,{align:"center",justify:"center",flexFlow:"row wrap",children:e.map(({index:l,isActive:s})=>jsx(Box,{m:.5,children:jsx(_i,{mobileLayout:o,index:l,isActive:s,onClick:()=>{n(l),i();},borderColor:a,isLoading:r})},`ind-${l}`))})})})]})}):jsx(Fragment,{children:e.map(({index:i,isActive:l})=>jsx(_i,{mobileLayout:o,index:i,isActive:l,onClick:()=>n(i),borderColor:a,isLoading:r},i))})},Vf=()=>{let{pageIndex:e,numPages:t}=usePaginatedList(),{mobileLayout:o}=useDataList(),r=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 jsx(Flex,{gap:1,align:"center",children:r.map((n,a)=>jsx(Hf,{mobileLayout:o,group:n},`group-${a}`))})},Yo=120,Wi=({onResize:e,flexProps:t,noFooter:o})=>{let r=useColorModeValue("#cdcdcd","#2d3748"),{list:n,mobileLayout:a,infiniteScroll:i,search:{search:l,debounced:s}}=useDataList(),{data:{data:p,isLoading:d},totalCount:u,pageIndex:c,limit:m,numFetched:f,goNext:g,goPrev:h,hasMoreData:b}=usePaginatedList(),{itemName:x,pluralItemName:C,searchRequired:F}=n,{itemsText:w,pageText:I}=useMemo(()=>d&&!i?{itemsText:a?"Loading...":"",pageText:""}:u===null?{itemsText:"Loading...",pageText:""}:u===0&&!d&&l===s?{itemsText:!l&&F?`Search ${C??toPlural(x)}`:`No ${C??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=useMemo(()=>!i&&h,[i,h]),O=useMemo(()=>!i&&g,[i,g]),M=useColorModeValue("#efefef","#212121"),L=useRef(null),_=useCallback(B=>{let W=B.borderBoxSize[0].blockSize,ne=B.borderBoxSize[0].inlineSize;e({height:W,width:ne});},[e]);return mr(L,_),jsxs(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:jsxs(Flex,{align:"center",justify:a?"center":"space-between",position:"relative",w:"100%",children:[A&&!a?jsx(Vi,{goPrev:h,canGoPrev:!d&&!!c}):null,jsxs(Flex,{gap:1,align:"center",children:[i?null:jsxs(Fragment,{children:[a?null:jsx(Text,{fontFamily:"fonts.heading",whiteSpace:"nowrap",textAlign:"center",w:`${Yo}px`,fontSize:"sm",children:I}),jsx(Vf,{})]}),a?null:jsx(Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Yo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w})]}),O&&!a?jsx(Hi,{goNext:g,canGoNext:!d&&b}):null]}),a&&!o?jsxs(Flex,{gap:2,w:"100%",justify:"space-between",align:"center",children:[A?jsx(Vi,{mobileLayout:true,goPrev:h,canGoPrev:!!c}):null,jsx(Text,{fontFamily:"fonts.heading",textAlign:"center",w:a||i?"auto":`${Yo}px`,whiteSpace:"nowrap",fontSize:"sm",children:w}),O?jsx(Hi,{mobileLayout:true,goNext:g,canGoNext:b}):null]}):null,jsx(Ef,{progressBg:M,borderColor:r})]})};var Ui=({filter:e,filters:t,GroupRender:o,toggleFilter:r})=>{let{label:n,Render:a}=e,i=useMemo(()=>t.some(u=>pi(u,e)),[t,e]),{colorMode:l}=useColorMode(),s=H(),p=useColorModeValue("gray.700","gray.100"),d=a??o;return jsx(Box,{p:.5,children:jsx(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?jsx(d,{active:i,colorMode:l,preset:e}):jsx(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 jsxs(Flex,{px:1,flexFlow:"column",w:"100%",children:[jsx(Text,{px:1,opacity:.8,fontSize:"sm",fontWeight:600,children:r}),jsx(Flex,{w:"100%",flexFlow:"row wrap",children:n.map(a=>jsx(Ui,{toggleFilter:o,GroupRender:e.RenderFilter,filters:t,filter:a},a.label))})]})},qo=()=>{let{query:e,list:t,toggleFilter:o}=useDataList(),r=useScreen(l=>l.isMobile),{filters:n=[]}=e||{},{filterPresets:a}=t,i=H();return a?.length?jsx(HStack,{spacing:1,children:jsxs(Popover,{placement:"right-start",trigger:r?"click":"hover",strategy:"fixed",children:[jsx(PopoverTrigger,{children:jsx(IconButton,{size:"sm",variant:"ghost","aria-label":"Filters",icon:jsx(Image,{width:"24px",filter:`grayscale(${n.length?0:100}%)`,src:"/icons/tune.svg"})})}),jsx(Portal,{children:jsxs(PopoverContent,{borderRadius:6,w:"auto",children:[jsx(PopoverBody,{w:"240px",p:0,children:jsxs(Flex,{flexFlow:"column",w:"100%",children:[jsxs(HStack,{py:1.5,px:2,w:"100%",spacing:1,borderBottom:`1px solid ${i}`,children:[jsx(Image,{width:"18px",filter:"grayscale(100%)",src:"/icons/tune.svg"}),jsx(Text,{opacity:.8,fontSize:"sm",fontWeight:600,children:"FILTERS"})]}),jsx(Flex,{justify:"center",w:"100%",flexFlow:"row wrap",py:1,px:2,children:a.map(l=>isFilterGroup(l)?jsx(o0,{toggleFilter:o,filters:n,group:l},l.label):jsx(Ui,{toggleFilter:o,filters:n,filter:l},l.label))})]})}),jsx(PopoverArrow,{}),jsx(PopoverCloseButton,{})]})})]})}):null};var c0=({preset:e})=>{let{setSort:t,query:o}=useDataList(),{sort:r}=o,{label:n,key:a,Render:i}=e,l=useMemo(()=>r?.key===a?r.direction:null,[r,a]),{colorMode:s}=useColorMode(),p=useMemo(()=>l?"white":s==="light"?"gray.500":"gray.400",[l,s]),d=useMemo(()=>r?.direction==="asc"?jsx(ArrowUpIcon,{w:4,h:4}):jsx(ArrowDownIcon,{w:4,h:4}),[r]);return jsxs(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?jsx(i,{active:l,colorMode:s,preset:e}):jsx(Text,{fontWeight:600,fontSize:"sm",color:p,children:n}),jsx(ir,{active:!!l,h:"16px",width:20,children:d})]})},Zo=()=>{let{list:{sortPresets:e}}=useDataList();return e?jsx(HStack,{spacing:2,children:e.map(t=>jsx(c0,{preset:t},t.label))}):null};var Ki=()=>{let{list:e,search:{search:t,update:o}}=useDataList(),{searchIcon:r,itemName:n,pluralItemName:a}=e,i=useColorModeValue("invert(0)","invert(1)");return jsx(Flex,{p:1,flex:1,minW:"0",children:jsxs(InputGroup,{children:[jsx(InputLeftElement,{pointerEvents:"none",children:r?jsx(Image,{filter:i,src:r,w:"24px"}):jsx(SearchIcon,{w:"24px",opacity:.5})}),jsx(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??toPlural(n)}`,onChange:l=>o(l.target.value)})]})})},qi=({refetch:e})=>{let{list:t,setNewItemOpen:o}=useDataList(),r=useAuth(),{itemName:n,field:a,access:i}=t,l=useMemo(()=>getHasAccess(r,i?.create,null),[i,r]);return jsxs(Flex,{gap:2,ml:"auto",align:"center",children:[e?jsx(Tooltip,{placement:"left",hasArrow:true,label:"Refresh","aria-label":"Refresh",children:jsx(IconButton,{size:"xs",icon:jsx(RepeatIcon,{}),"aria-label":"Refresh",onClick:e})}):null,a&&l?jsx(Tooltip,{placement:"left",hasArrow:true,label:`Create new ${n}`,"aria-label":`Create new ${n}`,children:jsx(IconButton,{size:"xs",icon:jsx(AddIcon,{}),"aria-label":`Create new ${n}`,onClick:()=>o(true)})}):null]})},S0=[{id:"grid",label:"Grid View",Render:e=>jsx(Image,{w:5,opacity:e?1:.7,src:"/icons/grid_view.svg"})},{id:"list",label:"List View",Render:e=>jsx(Image,{w:6,opacity:e?1:.7,src:"/icons/list.svg"})}],Ji=()=>{let{toggleGridLayout:e,gridLayout:t}=useDataList();return e?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}=useDataList(),{searchPath:i,sortPresets:l,filterPresets:s,Header:p}=r,d=H(),u=useRef(null),c=useCallback(f=>{e({height:f.contentRect.height,width:f.contentRect.width});},[e]),m=useMemo(()=>!!Object.keys(i??{}).length,[i]);return mr(u,c),jsx(Box,{ref:u,bg:"background.200",borderBottom:`1px solid ${d}`,w:"100%",...o,children:jsx(Flex,{px:2,align:"center",w:"100%",children:l?.length||s?.length||m?jsxs(Flex,{w:"100%",flexFlow:n?"column":"row",children:[n&&!p?null:jsxs(Flex,{flex:1,px:2,py:n?0:1,gap:1,align:"center",children:[n?null:jsxs(Flex,{flex:1,minW:"0",align:"center",gap:2,children:[a?jsx(Ji,{}):null,jsx(qo,{}),jsx(Zo,{}),m?jsx(Ki,{}):null]}),jsxs(Flex,{align:"center",minW:"0",gap:3,ml:"auto",children:[p?jsx(Box,{minW:"0",flex:1,children:jsx(p,{})}):null,n?null:jsx(qi,{refetch:t})]})]}),m&&n?jsx(Ki,{}):null,n&&(l?.length||s?.length)?jsxs(Flex,{pl:1,py:1,gap:1.5,align:"center",w:"100%",children:[a?jsx(Ji,{}):null,jsx(qo,{}),jsx(Zo,{}),jsx(qi,{refetch:t})]}):null]}):null})})};var ra=()=>{let{selectedItemId:e,deselectItem:t,list:o}=useDataList(),{ItemView:r,itemName:n}=o||{},[a,i]=useState({x:0,y:0}),{data:{data:l}}=usePaginatedList(),s=useMemo(()=>l.find(m=>m._id===e)??null,[l,e]),{colorMode:p}=useColorMode(),d=useColorModeValue("red.600","red.300"),[u,c]=useState(null);return useEffect(()=>{s&&c(s);},[s]),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?jsx(r,{item:u,colorMode:p,clearContentOffset:()=>i({x:0,y:0}),updateContentOffset:(m,f)=>i({x:m,y:f})}):jsxs(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}}=usePaginatedList(),{list:i}=useDataList(),{height:l}=useFullSize(),[s,p]=useState(0),[d,u]=useState(0),c=useMemo(()=>l-s-d,[l,s,d]),m=useCallback(b=>{p(b.height);},[]),f=useCallback(b=>{u(b.height);},[]),{ItemView:g,field:h}=i;return jsxs(Fragment,{children:[jsx(ea,{boxProps:o,onResize:m}),jsxs(Box,{h:`${c}px`,position:"relative",w:"100%",children:[jsx(Ti,{height:c}),t?jsx(Ie,{isLoading:!a.length&&n}):null]}),jsx(Wi,{noFooter:t,flexProps:r,onResize:f}),e??null,g?jsx(ra,{}):null,h?jsx(Di,{field:h}):null]})};var EI=({list:e,basePath:t,flexProps:o,infiniteScroll:r,...n})=>{let{adapter:{db:a}}=useBackendBase(),{baseQuery:i}=e,l=useDataListData(e,r,t),s=usePaginatedQuery(a,i,!!r);return jsx(PaginatedListProvider,{state:l,data:s,children:jsx(ci,{...o,children:jsx(la,{...n})})})};var JI=({value:e,duration:t=30})=>{let o=useRef(null),r=useRef(e),n=useRef(null);return 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]),jsx("span",{ref:o,children:e})};var K0=()=>{let{colorMode:e,toggleColorMode:t}=useColorMode(),o=useColorModeValue("gray.200","whiteAlpha.200"),r=useColorModeValue("blackAlpha.700","whiteAlpha.800"),n=useColorModeValue("gray.300","whiteAlpha.300"),a=useColorModeValue("gray.800","whiteAlpha.800");return jsx(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"?jsx(SunIcon,{w:4,h:4}):jsx(MoonIcon,{w:4,h:4,filter:"drop-shadow(1px 1px 2px #000000aa)"}),onClick:t,variant:"ghost"})},aT=e=>jsx(Flex,{position:"absolute",bottom:3,right:3,...e,children:jsx(K0,{})});var {definePartsStyle:tg,defineMultiStyleConfig:og}=createMultiStyleConfigHelpers(switchAnatomy.keys),rg=tg({track:{_focusVisible:{boxShadow:"none"}}}),ng=og({baseStyle:rg}),Nt=cssVar("popper-arrow-bg"),sa="Encode Sans",ca="Noto Sans",DT=extendTheme({semanticTokens:{colors:{background:{50:{default:"white",_dark:palette.gray.darker},100:{default:"gray.100",_dark:palette.gray.dark},200:{default:"#efefef",_dark: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;useScreen.setState({width:t,height:o,isMobile:t<769,isPortrait:t<o}),window.addEventListener("resize",e);};return e(),()=>{window.removeEventListener("resize",e);}}return ()=>{}};export{aT as AbsoluteDarkModeToggle,sg as AbsoluteLogin,pt as CircularProgress,ir as CollapseHorizontal,Se as ContentBox,K0 as DarkModeToggle,EI as DataList,om as DataView,Oi as DefaultModal,Vr as DeleteButton,Ul as DeleteConfirmAlert,Dt as DesktopModal,ii as Editable,vr as ErrorView,j as ExpandOnMount,Yt as Expandable,rm as FieldForm,li as FieldMapForm,Ze as FieldView,Ft as FileView,Oo as Form,Ao as FormElement,Zg as FullSizeContainer,hr as FullSizeProvider,Yr as ImageViewOverlay,ci as ListContainer,la as ListContent,em as ListFieldInput,ge as Loading,qr as LoadingImage,fe as LoadingLogo,Ie as LoadingOverlay,pb as LoadingSwitch,Ir as LottieLoadingLogo,cy as MediaFeed,sx as MobileFrame,Ai as MobileModal,Ri as MobileOverlay,pf as MobileOverlayBackground,Kt as NAV_BAR_HEIGHT,wr as NavBar,JI as NumberTicker,kn as PlayButton,Lr as RedirectView,ga as SignIn,ri as StandaloneInput,_r as Toggle,ar as ViewButton,DT as baseTheme,ca as bodyFont,sa as headingFont,_T as initializeScreen,ng as switchTheme,H as useBorderColor,ts as useMediaFeed};//# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map