@munchi_oy/native-ui 0.1.8 → 0.1.9
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.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +6 -7
- package/src/MNumpad.tsx +8 -4
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var co=Object.create;var ze=Object.defineProperty;var mo=Object.getOwnPropertyDescriptor;var po=Object.getOwnPropertyNames;var uo=Object.getPrototypeOf,fo=Object.prototype.hasOwnProperty;var xo=(e,t)=>{for(var r in t)ze(e,r,{get:t[r],enumerable:!0})},wr=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of po(t))!fo.call(e,s)&&s!==r&&ze(e,s,{get:()=>t[s],enumerable:!(o=mo(t,s))||o.enumerable});return e};var g=(e,t,r)=>(r=e!=null?co(uo(e)):{},wr(t||!e||!e.__esModule?ze(r,"default",{value:e,enumerable:!0}):r,e)),bo=e=>wr(ze({},"__esModule",{value:!0}),e);var la={};xo(la,{MAlert:()=>Ct,MAnimation:()=>Vt,MAvatar:()=>At,MBadge:()=>Et,MButton:()=>Bt,MCard:()=>rt,MCardContent:()=>nt,MCardDescription:()=>st,MCardFooter:()=>it,MCardHeader:()=>ot,MCardTitle:()=>at,MChevron:()=>Ot,MConfirmation:()=>ar,MCountDown:()=>Qt,MDateTimePicker:()=>zt,MDivider:()=>$t,MDrawerRightPanel:()=>Xt,MDropdown:()=>Jt,MInput:()=>br,MLabel:()=>yt,MLucideIcon:()=>jt,MModal:()=>_e,MNativeAlert:()=>Yt,MNumpad:()=>mr,MPicker:()=>Gt,MPinPadKeys:()=>ir,MPortal:()=>Se.Portal,MPortalHost:()=>Se.PortalHost,MProgressBar:()=>Zt,MRadioGroup:()=>ht,MRadioGroupItem:()=>Pt,MRequiredLabel:()=>Or,MResponsiveContainer:()=>qt,MSearch:()=>tr,MSelector:()=>rr,MSkeleton:()=>fr,MSwitch:()=>xr,MTable:()=>ct,MTableBody:()=>mt,MTableCell:()=>xt,MTableFooter:()=>pt,MTableHead:()=>ft,MTableHeader:()=>dt,MTableRow:()=>ut,MTabs:()=>pr,MText:()=>I,MTimerUp:()=>ur,MToggle:()=>or,ModalContent:()=>Gr,ModalHeight:()=>Ut,ModalScrollContext:()=>Xe,NAV_THEME:()=>U,NumpadMode:()=>cr,buttonVariants:()=>Ft,cn:()=>a,darkVars:()=>Ne,getDecimalSeparator:()=>dr,lightVars:()=>Me,typography:()=>Cr,useColorScheme:()=>j,useIconColors:()=>L});module.exports=bo(la);var Mr=require("clsx"),Nr=require("tailwind-merge");function a(...e){return(0,Nr.twMerge)((0,Mr.clsx)(e))}function wt(e,t=4,r="0"){return e.toString().padStart(t,r)}var Tr=require("nativewind");function j(){let{colorScheme:e,setColorScheme:t,toggleColorScheme:r}=(0,Tr.useColorScheme)();return{colorScheme:e??"light",isDarkColorScheme:e==="dark",setColorScheme:t,toggleColorScheme:r}}var Me={"--background":"0 0% 95.7%","--foreground":"0 0% 7.8%","--card":"0 0% 100%","--card-foreground":"0 0% 7.8%","--popover":"0 0% 100%","--popover-foreground":"0 0% 7.8%","--primary":"0 0% 7.8%","--primary-foreground":"0 0% 100%","--secondary":"0 0% 93%","--secondary-foreground":"0 0% 7.8%","--muted":"0 0% 93%","--muted-foreground":"0 0% 45%","--accent":"0 0% 89.4%","--accent-foreground":"0 0% 7.8%","--destructive":"0 84.2% 60.2%","--destructive-foreground":"0 0% 100%","--border":"0 0% 78%","--input":"0 0% 78%","--ring":"0 0% 7.8%"},Ne={"--background":"0 0% 7.8%","--foreground":"0 0% 100%","--card":"0 0% 14.5%","--card-foreground":"0 0% 100%","--popover":"0 0% 14.5%","--popover-foreground":"0 0% 100%","--primary":"0 0% 100%","--primary-foreground":"0 0% 7.8%","--secondary":"0 0% 18%","--secondary-foreground":"0 0% 100%","--muted":"0 0% 11%","--muted-foreground":"0 0% 60%","--accent":"0 0% 21.2%","--accent-foreground":"0 0% 100%","--destructive":"0 72% 51%","--destructive-foreground":"0 0% 100%","--border":"0 0% 28%","--input":"0 0% 28%","--ring":"0 0% 60%"};var Te=(e,t)=>`hsl(${e[t]})`,vr=e=>({background:Te(e,"--background"),border:Te(e,"--border"),card:Te(e,"--card"),notification:Te(e,"--destructive"),primary:Te(e,"--primary"),text:Te(e,"--foreground")}),U={light:vr(Me),dark:vr(Ne)};function L(){let{colorScheme:e}=j(),t=e==="dark"?"dark":"light",r=U[t];return{foreground:r.text,muted:t==="dark"?"hsl(240 5% 64.9%)":"hsl(240 3.8% 46.1%)",primary:r.primary,destructive:r.notification,onDestructive:"hsl(0 0% 100%)",onPrimary:t==="dark"?"hsl(240 5.9% 10%)":"hsl(0 0% 98%)"}}var Cr={regular:"DMSans_400Regular",medium:"DMSans_500Medium",bold:"DMSans_700Bold"};var Sr=require("class-variance-authority"),Q=g(require("react")),Mt=require("react-native");var Rr=g(require("@rn-primitives/slot")),ne=g(require("react")),Vr=require("react-native");var Ie=ne.createContext(void 0),$e=ne.forwardRef(({className:e,asChild:t=!1,...r},o)=>{let s=ne.useContext(Ie);return ne.createElement(t?Rr.Text:Vr.Text,{className:a("text-base text-foreground web:select-text",s,e),ref:o,...r})});$e.displayName="Text";var go=(0,Sr.cva)("relative bg-background w-full rounded-lg border border-border p-4 shadow shadow-foreground/10",{variants:{variant:{default:"",destructive:"border-destructive"}},defaultVariants:{variant:"default"}}),yo={default:"hsl(240 10% 3.9%)",destructive:"hsl(0 84.2% 60.2%)"},Nt=Q.forwardRef(({className:e,variant:t,children:r,icon:o,iconSize:s=16,iconClassName:n,...c},l)=>{let i=yo[t??"default"];return Q.createElement(Mt.View,{ref:l,role:"alert",className:go({variant:t,className:e}),...c},Q.createElement(Mt.View,{className:"absolute left-3.5 top-4 -translate-y-0.5"},Q.createElement(o,{size:s,color:i})),r)});Nt.displayName="Alert";var Tt=Q.forwardRef(({className:e,...t},r)=>Q.createElement($e,{ref:r,className:a("pl-7 mb-1 font-medium text-base leading-none tracking-tight text-foreground",e),...t}));Tt.displayName="AlertTitle";var vt=Q.forwardRef(({className:e,...t},r)=>Q.createElement($e,{ref:r,className:a("pl-7 text-sm leading-relaxed text-foreground",e),...t}));vt.displayName="AlertDescription";var Ct=({title:e,description:t,icon:r,iconSize:o,iconClassName:s,variant:n="default",className:c})=>React.createElement(Nt,{icon:r,iconSize:o,iconClassName:s,variant:n,className:a(c)},React.createElement(Tt,null,e),t&&React.createElement(vt,null,t));Ct.displayName="MAlert";var Dr=g(require("lottie-react-native")),De=require("react-native");var kr=require("class-variance-authority"),Rt=g(require("react")),Ir=require("react-native");var ho=(0,kr.cva)("text-base text-foreground",{variants:{variant:{default:"font-munchi"},size:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl"}},defaultVariants:{variant:"default",size:"base"}}),I=Rt.default.forwardRef(({className:e,variant:t,size:r,children:o,...s},n)=>Rt.default.createElement(Ir.Text,{ref:n,className:a(ho({variant:t,size:r}),e),...s,allowFontScaling:!1},o));I.displayName="MText";var Vt=({children:e,animationSource:t,lottieViewProps:r,childrenClass:o,text:s,subText:n})=>React.createElement(De.View,{className:"w-full flex-1 flex-col gap-4"},React.createElement(De.View,{className:"flex-1 flex items-center justify-center"},React.createElement(Dr.default,{...r,source:t})),(s||n)&&React.createElement(De.View,{className:"items-center gap-1 px-4"},s&&React.createElement(I,{className:"text-center text-2xl font-munchi-semibold"},s),n&&React.createElement(I,{className:"text-center text-base text-muted-foreground"},n)),e&&React.createElement(De.View,{className:a("flex flex-col items-center",o)},e));Vt.displayName="MAnimation";var Dt=require("class-variance-authority"),ve=g(require("react")),je=require("react-native");var oe=g(require("@rn-primitives/avatar")),ie=g(require("react"));var St=ie.forwardRef(({className:e,...t},r)=>ie.createElement(oe.Root,{ref:r,className:a("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));St.displayName=oe.Root.displayName;var kt=ie.forwardRef(({className:e,...t},r)=>ie.createElement(oe.Image,{ref:r,className:a("aspect-square h-full w-full",e),...t}));kt.displayName=oe.Image.displayName;var It=ie.forwardRef(({className:e,...t},r)=>ie.createElement(oe.Fallback,{ref:r,className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));It.displayName=oe.Fallback.displayName;var Po=(0,Dt.cva)("relative flex shrink-0 overflow-hidden rounded-full",{variants:{size:{xs:"h-6 w-6",sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16",xxl:"h-20 w-20",full:"h-full w-full"}},defaultVariants:{size:"md"}}),wo=(0,Dt.cva)("font-munchi text-background",{variants:{size:{xs:"text-sm",sm:"text-sm",md:"text-base",lg:"text-xl",xl:"text-3xl",xxl:"text-4xl",full:"text-2xl"}},defaultVariants:{size:"md"}}),At=ve.default.forwardRef(({className:e,size:t,source:r,fallbackText:o,imageClassName:s,fallbackClassName:n,fallbackTextClassName:c,...l},i)=>ve.default.createElement(St,{ref:i,className:a(Po({size:t}),e),...l},r&&ve.default.createElement(kt,{source:r,className:a("aspect-square h-full w-full",s)}),ve.default.createElement(It,{className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",n)},ve.default.createElement(je.Text,{className:a(wo({size:t}),je.Platform.OS==="ios"&&"text-foreground",c)},o))));At.displayName="MAvatar";var _t=require("class-variance-authority"),Ge=require("react-native");var Mo=(0,_t.cva)("p-1 px-2 rounded-md border-0",{variants:{variant:{default:"bg-secondary",accent:"bg-accent",muted:"bg-muted text-muted-foreground",destructive:"bg-destructive",primary:"bg-primary text-primary-foreground mx-1",gray:"bg-muted text-muted-foreground",custom:""}},defaultVariants:{variant:"gray"}}),No=(0,_t.cva)("text-xs font-munchi",{variants:{variant:{default:"text-secondary-foreground",accent:"text-accent-foreground",muted:"text-muted-foreground",destructive:"text-destructive-foreground",primary:"text-primary-foreground",gray:"text-muted-foreground",custom:"text-foreground"}},defaultVariants:{variant:"gray"}}),Et=({variant:e="gray",text:t,show:r=!0,customBackgroundColor:o,className:s,textClassName:n})=>{if(!r)return null;let c=e==="custom";return React.createElement(Ge.View,{className:a(Mo({variant:e}),s),style:c?{backgroundColor:o}:void 0},React.createElement(Ge.Text,{className:a(No({variant:e}),n)},t))};Et.displayName="MBadge";var Ar=require("class-variance-authority"),We=g(require("react")),Lt=require("react-native");var Ft=(0,Ar.cva)("flex-row justify-center items-center rounded-full",{variants:{variant:{default:"bg-primary",primary:"bg-primary",white:"bg-card border border-border",destructive:"bg-destructive",outline:"bg-transparent border border-border",secondary:"bg-secondary",ghost:"bg-transparent",link:"bg-transparent",none:"none",custom:""},size:{none:"",default:"h-auto px-4 md:py-2",sm:"h-8 px-3 py-1.5",lg:"h-10 px-6 py-2.5",icon:"h-9 w-9 p-2 justify-center items-center"}},defaultVariants:{variant:"default",size:"default"}}),Bt=We.default.forwardRef((e,t)=>{let{onPress:r,variant:o="default",size:s="default",disabled:n=!1,children:c,className:l,...i}=e;return o==="custom"?We.default.createElement(Lt.Pressable,{ref:t,disabled:n,className:a(n&&"opacity-50",l),onPress:r,android_ripple:null,...i},c):We.default.createElement(Lt.Pressable,{ref:t,disabled:n,className:a(Ft({variant:o,size:s}),n&&"opacity-50",l),onPress:r,...i},c)});Bt.displayName="MButton";var Ze=require("react"),Ke=require("react-native"),qe=g(require("react-native-svg"));var Ot=({isOpen:e,size:t=11,color:r})=>{let{colorScheme:o}=j(),s=r??U[o].text,n=(0,Ze.useRef)(new Ke.Animated.Value(e?90:0)).current;(0,Ze.useEffect)(()=>{Ke.Animated.timing(n,{toValue:e?90:0,duration:200,useNativeDriver:!0}).start()},[e,n]);let c=n.interpolate({inputRange:[0,90],outputRange:["0deg","90deg"]});return React.createElement(Ke.Animated.View,{style:{transform:[{rotate:c}]}},React.createElement(qe.default,{width:t,height:t,viewBox:"0 0 11 11",fill:"none"},React.createElement(qe.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M3.80026 1.96823C3.97925 1.78924 4.26945 1.78924 4.44844 1.96823L7.65677 5.17656C7.83575 5.35554 7.83575 5.64576 7.65677 5.82474L4.44844 9.03307C4.26945 9.21205 3.97925 9.21205 3.80026 9.03307C3.62127 8.85409 3.62127 8.56388 3.80026 8.3849L6.68451 5.50065L3.80026 2.61641C3.62127 2.43742 3.62127 2.14722 3.80026 1.96823Z",fill:s})))};Ot.displayName="MChevron";var Ht=require("react-native"),Ue=g(require("react-native-ui-datepicker"));var zt=({className:e,classNames:t,showOutsideDays:r=!0,containerHeight:o=220,components:s,minDate:n,maxDate:c,...l})=>{let i=(0,Ue.useDefaultClassNames)(),u=n||(()=>{let m=new Date;return m.setFullYear(m.getFullYear()-1),m})(),P=c||(()=>{let m=new Date;return m.setDate(m.getDate()),m})(),y={IconPrev:React.createElement(Ht.Text,{className:"font-munchi text-lg text-foreground"},"<"),IconNext:React.createElement(Ht.Text,{className:"font-munchi text-lg text-foreground"},">")};return React.createElement(Ue.default,{showOutsideDays:r,className:a("bg-card w-full rounded-xl",e),containerHeight:o,minDate:u,maxDate:P,classNames:{...i,day_cell:"p-0.5",day:a(i.day,"font-munchi rounded-xl text-foreground w-10 h-10"),day_label:"font-munchi text-base text-foreground",outside_label:"font-munchi text-base text-foreground opacity-40",today_label:"text-destructive font-munchi-bold text-base",month_selector_label:a(i.month_selector_label,"text-base font-munchi-semibold text-foreground"),year_selector_label:a(i.year_selector_label,"text-base font-munchi-semibold text-foreground"),time_selector_label:a(i.time_selector_label,"text-base font-munchi text-foreground"),header:"font-munchi-semibold text-lg text-foreground pb-2",weekday_label:"font-munchi-semibold text-sm text-muted-foreground",selected:a(i.selected,"font-munchi bg-primary rounded-xl"),selected_label:"font-munchi-semibold text-primary-foreground text-base",range_end:a(i.range_end,"font-munchi bg-primary rounded-r-xl"),range_start:a(i.range_start,"font-munchi bg-primary rounded-l-xl"),range_end_label:a(i.range_end_label,"font-munchi-semibold text-primary-foreground text-base"),range_start_label:a(i.range_start_label,"font-munchi-semibold text-primary-foreground text-base"),range_fill:"bg-primary/20 my-1",range_fill_weekstart:"rounded-s-lg",range_fill_weekend:"rounded-e-lg",range_middle_label:"font-munchi text-base text-foreground",month:a(i.month,"font-munchi rounded-xl text-foreground"),month_label:"font-munchi text-base text-foreground",year:a(i.year,"font-munchi rounded-xl text-foreground"),year_label:"font-munchi text-base text-foreground",time_label:"font-munchi text-2xl text-foreground",...t},components:{...y,...s},...l})};zt.displayName="MDateTimePicker";var _r=require("class-variance-authority"),Er=require("react-native");var To=(0,_r.cva)("",{variants:{direction:{horizontal:"my-2",vertical:"mx-2"},variant:{sm:"",md:"",lg:""}},defaultVariants:{direction:"horizontal",variant:"md"}}),vo={sm:1,md:2,lg:4},$t=({className:e,direction:t="horizontal",variant:r="md",color:o,style:s})=>{let n=t==="horizontal",c=vo[r??"md"],l=o?{backgroundColor:o,[n?"height":"width"]:c,[n?"width":"height"]:"100%"}:{[n?"height":"width"]:c,[n?"width":"height"]:"100%"};return React.createElement(Er.View,{className:a(!o&&"bg-border",To({direction:t,variant:r}),e),style:[l,s]})};$t.displayName="MDivider";var Lr=g(require("react")),Co=g(require("lucide-react-native")),jt=({name:e,...t})=>{let r=Co[e];return r?Lr.default.createElement(r,{...t}):null};jt.displayName="MLucideIcon";var Ae=require("react"),G=require("react-native");var Gt=({data:e,onSelect:t,placeholder:r,selectedValue:o,className:s,textClassName:n,dropdownContainerClassName:c,itemContainerClassName:l,itemTextClassName:i})=>{let[u,P]=(0,Ae.useState)(!1),y=(0,Ae.useRef)(null),[m,p]=(0,Ae.useState)({x:0,y:0,width:0,height:0}),h=e.find(x=>x.value===o),w=x=>{t(x),P(!1)},T=({item:x})=>{let S=x.value===o;return React.createElement(G.Pressable,{className:a("p-3 rounded-md m-1",S?"bg-primary":"active:bg-muted",l),onPress:()=>w(x)},React.createElement(G.Text,{className:a(S?"text-primary-foreground":"text-foreground",i),numberOfLines:1},x.label))},C=()=>{u?P(!1):y.current?.measureInWindow((x,S,R,v)=>{p({x,y:S,width:R,height:v}),P(!0)})};return React.createElement(G.View,{className:"flex-col items-center justify-center"},React.createElement(G.Pressable,{ref:y,className:a("bg-primary rounded-full py-4 px-6 flex-row items-center",s),onPress:C},React.createElement(G.Text,{className:a("text-primary-foreground text-base",n),numberOfLines:1,ellipsizeMode:"tail"},h?h.label:r)),React.createElement(G.Modal,{animationType:"none",transparent:!0,visible:u,onRequestClose:()=>{P(!1)}},React.createElement(G.Pressable,{className:"absolute inset-0",onPress:()=>P(!1)}),React.createElement(G.View,{style:{position:"absolute",top:m.y+m.height,left:m.x},className:a("min-w-[100px] bg-background shadow-lg rounded-lg border border-border p-1 z-50 mt-2",c)},React.createElement(G.FlatList,{data:e,renderItem:T,keyExtractor:x=>String(x.value),className:"max-h-[200px]"}))))};Gt.displayName="MPicker";var Kt=require("class-variance-authority"),Wt=require("react-native");var Ro=(0,Kt.cva)("w-full h-2 rounded-full relative",{variants:{size:{sm:"h-1",md:"h-2",lg:"h-3"},variant:{default:"bg-muted",accent:"bg-accent/30",destructive:"bg-destructive/30",secondary:"bg-secondary",gray:"bg-gray",pink:"bg-pink",blue:"bg-blue-200",green:"bg-green-200"}},defaultVariants:{size:"md",variant:"default"}}),Vo=(0,Kt.cva)("h-full rounded-full absolute top-0 left-0",{variants:{variant:{default:"bg-foreground",accent:"bg-accent",destructive:"bg-destructive",secondary:"bg-secondary-foreground",gray:"bg-gray-600",pink:"bg-pink",blue:"bg-blue-600",green:"bg-green-600"}},defaultVariants:{variant:"default"}}),Zt=({progress:e,size:t="md",variant:r="default",className:o,fillClassName:s})=>{let n=Math.min(Math.max(e,0),100);return React.createElement(Wt.View,{className:a(Ro({size:t,variant:r}),o)},React.createElement(Wt.View,{style:{width:`${n}%`},className:a(Vo({variant:r}),s)}))};Zt.displayName="MProgressBar";var Fr=require("react-native");var qt=({children:e,className:t,style:r,padding:o,margin:s,...n})=>React.createElement(Fr.View,{className:a((()=>{let l=[];if(o)for(let[i,u]of Object.entries(o))u!==void 0&&l.push(`${i}:p-${u}`);if(s)for(let[i,u]of Object.entries(s))u!==void 0&&l.push(`${i}:m-${u}`);return l.join(" ")})(),t),style:r,...n},e);qt.displayName="MResponsiveContainer";var Br=require("react-native");var Or=({label:e,className:t,...r})=>React.createElement(Br.View,{className:a("flex-row items-center gap-1 mb-3",t),...r},React.createElement(I,{className:"font-munchi-bold text-xl"},e),React.createElement(I,{className:"font-munchi-bold text-xl text-destructive"},"*"));var Hr=require("class-variance-authority"),Ce=require("lucide-react-native"),J=require("react"),N=require("react-native");var Ut=(l=>(l.ExtraSmall="xs",l.Small="sm",l.Medium="md",l.Large="lg",l.ExtraLarge="xl",l.ExtraExtraLarge="xxl",l.Auto="auto",l))(Ut||{}),zr=(0,J.createContext)({isFixed:!1}),Xe=(0,J.createContext)(null),So=(0,Hr.cva)("rounded-2xl p-6 shadow-lg flex flex-col",{variants:{variant:{xs:"w-[40%]",sm:"w-[60%]",md:"w-[80%]",lg:"w-[95%]",auto:"w-auto self-center",fullscreen:"w-full h-full rounded-none"},height:{xs:"h-[30%]",sm:"h-[40%]",md:"h-[60%]",lg:"h-[80%]",xl:"h-[90%]",xxl:"h-[96%]",auto:"h-auto"},background:{white:"bg-card",dark:"bg-secondary",primary:"bg-muted",transparent:"bg-transparent"}},defaultVariants:{variant:"md",height:"auto",background:"white"}}),$r=({children:e,scrollable:t=!0})=>{let{isFixed:r}=(0,J.useContext)(zr),o=(0,J.useContext)(Xe);return t?React.createElement(N.View,{className:a(r&&"flex-1")},React.createElement(N.ScrollView,{ref:o,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},keyboardShouldPersistTaps:"handled",style:r?{flex:1}:void 0},React.createElement(N.Pressable,{style:{flex:1}},e))):React.createElement(N.View,{className:a(r&&"flex-1"),style:r?{flex:1}:void 0},React.createElement(N.Pressable,{style:{flex:1}},e))};$r.displayName="ModalBody";var jr=({children:e})=>React.createElement(N.View,{className:"mt-auto flex-shrink-0"},e),Gr=({body:e,footer:t})=>React.createElement(J.Fragment,null,React.createElement(_e.Body,null,e),t&&React.createElement(_e.Footer,null,t)),ko=e=>{let{isVisible:t,onClose:r,children:o,onBack:s,onDismiss:n,header:c,headingText:l,closable:i=!0,variant:u="sm",containerClassName:P,height:y,background:m="white",footer:p,onButtonClose:h,showCloseButton:w=!0,showBackButton:T=!0,keyboardAvoidingEnabled:C=!0}=e,S={isFixed:(y&&y!=="auto")??!1},R=(0,J.useRef)(null),{foreground:v}=L(),k=()=>s&&T?React.createElement(N.View,{className:"flex-row items-center justify-between"},React.createElement(N.Pressable,{onPress:s,className:"bg-muted rounded-full p-2"},React.createElement(Ce.ArrowLeft,{color:v,size:24})),l&&React.createElement(I,{className:"font-munchi-bold text-foreground flex-1 text-left mx-3",size:"2xl",numberOfLines:1},l),w&&React.createElement(N.Pressable,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(Ce.X,{color:v,size:24}))):c||(l?React.createElement(N.View,{className:"flex-row items-center justify-between"},React.createElement(I,{className:"font-munchi-bold text-foreground w-11/12",size:"2xl",numberOfLines:1},l),w&&React.createElement(N.Pressable,{onPress:h??r,className:"bg-muted rounded-full p-3"},React.createElement(Ce.X,{color:v,size:24}))):w?React.createElement(N.View,{className:"flex-row items-center justify-between"},React.createElement(N.View,{className:"flex-1"}),React.createElement(N.Pressable,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(Ce.X,{color:v,size:24}))):null);return React.createElement(N.Modal,{transparent:!0,visible:t,onRequestClose:i?r:void 0,animationType:"fade",onDismiss:n},React.createElement(N.KeyboardAvoidingView,{className:"flex-1",enabled:C,behavior:"padding"},React.createElement(N.Pressable,{className:"flex-1 items-center justify-center bg-black/50 p-4",onPress:D=>{D.target===D.currentTarget&&i&&r()}},React.createElement(N.View,{className:a("max-h-[95%]",So({variant:u,height:y,background:m}),P)},React.createElement(zr.Provider,{value:S},React.createElement(Xe.Provider,{value:R},k()!==null&&React.createElement(N.View,{className:"pb-4 flex-shrink-0"},k()),o,p&&React.createElement(jr,null,p)))))))},_e=Object.assign(ko,{Body:$r,Footer:jr});_e.displayName="MModal";var pe=require("react"),F=require("react-native"),O=g(require("react-native-reanimated")),Kr=require("react-native-safe-area-context");var Io={mass:.4,stiffness:110,damping:16,overshootClamping:!1},Do={mass:.4,stiffness:140,damping:22,overshootClamping:!0},Wr=340,Xt=({isVisible:e,onClose:t,header:r,footer:o,children:s,closable:n=!0,widthFraction:c=.45,className:l,scrollable:i=!0})=>{let{colorScheme:u}=j(),P=U[u],{width:y}=(0,F.useWindowDimensions)(),m=(0,Kr.useSafeAreaInsets)(),p=y*c,[h,w]=(0,pe.useState)(!1),T=(0,pe.useRef)(null),C=(0,pe.useRef)(!1),x=(0,O.useSharedValue)(p),S=(0,O.useSharedValue)(0),R=q=>{C.current||(C.current=!0,x.value=(0,O.withSpring)(p,Do),S.value=(0,O.withTiming)(0,{duration:Wr}),T.current=setTimeout(()=>{w(!1),C.current=!1,q?.()},Wr))};(0,pe.useEffect)(()=>(e?(T.current&&(clearTimeout(T.current),T.current=null,C.current=!1),w(!0),x.value=(0,O.withSpring)(0,Io),S.value=(0,O.withTiming)(1,{duration:300})):R(),()=>{T.current&&clearTimeout(T.current)}),[e]);let v=()=>{n&&R(t)},k=()=>{R(t)},E=(0,O.useAnimatedStyle)(()=>({transform:[{translateX:x.value}]})),D=(0,O.useAnimatedStyle)(()=>({opacity:S.value}));return React.createElement(F.Modal,{transparent:!0,visible:h,animationType:"none",onRequestClose:n?k:void 0},React.createElement(F.View,{className:"flex-1 flex-row justify-end",style:{paddingTop:m.top,paddingBottom:m.bottom}},React.createElement(F.TouchableWithoutFeedback,{onPress:v},React.createElement(O.default.View,{className:"absolute inset-0 bg-black/60",style:D})),React.createElement(O.default.View,{style:[E,{width:p}],className:a("h-full overflow-hidden border rounded-2xl border-border",l)},React.createElement(F.View,{className:"flex-1",style:{backgroundColor:P.background}},r&&React.createElement(F.View,{className:"px-6 pt-6 flex-shrink-0"},r),i?React.createElement(F.ScrollView,{className:"flex-1 px-6",showsVerticalScrollIndicator:!1,contentContainerStyle:{paddingTop:16,paddingBottom:24},keyboardShouldPersistTaps:"handled",automaticallyAdjustKeyboardInsets:F.Platform.OS==="ios",keyboardDismissMode:"interactive"},s):React.createElement(F.View,{className:"flex-1 overflow-hidden"},s),o&&React.createElement(F.View,{className:"px-6 pb-6 pt-4 border-t-2 border-border flex-shrink-0"},o)))))};Xt.displayName="MDrawerRightPanel";var Zr=require("react-native"),Yt=({title:e,description:t,onPress:r,onPressText:o,onCancel:s,onCancelText:n})=>{Zr.Alert.alert(e,t,[{text:o,onPress:r},{text:n,style:"cancel",onPress:s}])};Yt.displayName="MNativeAlert";var qr=require("react"),Ur=g(require("react-countdown")),Ye=require("react-native");var Qt=({warningThreshold:e=3,className:t="",textClassName:r="",showPrefix:o=!0,countUp:s=!1,renderer:n,onComplete:c,date:l,...i})=>{let u=(0,qr.useMemo)(()=>({minutes:y,seconds:m,completed:p})=>{let h,w,T="";if(p)if(s){let E=new Date(l),q=new Date().getTime()-E.getTime();h=Math.floor(q/6e4),w=Math.floor(q%6e4/1e3),o&&(T="-")}else h=0,w=0;else h=y,w=m;let C=!p||s?wt(Math.abs(h),2):"00",x=!p||s?wt(Math.abs(w),2):"00",S=!p&&y<e,R=p,v=S||R?"bg-destructive/15":"bg-green-500/15",k=S||R?"text-destructive":"text-green-600";return React.createElement(Ye.View,{className:a("rounded-md flex items-center justify-center",v,t)},React.createElement(Ye.Text,{className:a("font-munchi-semibold text-center",k,r)},T,C,":",x))},[e,s,l,o,t,r]);return React.createElement(Ur.default,{renderer:n??u,onComplete:c,overtime:s,date:l,...i})};Qt.displayName="MCountDown";var Xr=require("lucide-react-native"),Yr=require("react"),Re=require("react-native"),Qr=require("react-native-element-dropdown");function Ao(e){return{trigger:{width:"100%",paddingHorizontal:16,paddingVertical:12,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:6,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:3,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function _o(e){return{trigger:{width:"100%",paddingHorizontal:12,paddingVertical:8,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:4,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function Eo(e){return{trigger:{paddingHorizontal:16,paddingVertical:8,borderRadius:999,borderWidth:0,backgroundColor:e.bgColor,minWidth:160},containerStyle:{marginTop:4,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}var Jt=({data:e=[],placeholder:t="",value:r,onFocus:o,onBlur:s,onChange:n,customStyles:c,fieldFrame:l="none",style:i,containerStyle:u,itemContainerStyle:P,selectedTextStyle:y,placeholderStyle:m,activeColor:p,maxHeight:h=300,renderRightIcon:w,selectedTextProps:T,mode:C="auto",...x})=>{let{colorScheme:S}=j(),{foreground:R,muted:v}=L(),k=e.length===0,E=S==="dark",D=U[E?"dark":"light"],te=`hsl(${(E?Ne:Me)["--muted"]})`,re=(0,Yr.useMemo)(()=>{let he={cardColor:D.card,borderColor:D.border,textColor:D.text,mutedColor:te};return l==="mInputSm2xl"?Ao(he):l==="mInputCompact"?_o(he):l==="pill"?Eo({...he,bgColor:te}):null},[l,D.card,D.border,D.text,te]),d=Re.StyleSheet.flatten([re?.trigger,c,i]),f=Re.StyleSheet.flatten([re?.containerStyle,u]),b=Re.StyleSheet.flatten([re?.itemContainerStyle,P]),V=l==="mInputSm2xl"?18:l==="mInputCompact"?15:14,M=Re.StyleSheet.flatten([{fontSize:V,color:R},y]),$=Re.StyleSheet.flatten([{fontSize:V,color:k?v:R},m]),ye=re?re.activeColor:p??te,gr=l==="mInputCompact"?16:20;return React.createElement(Qr.Dropdown,{...x,mode:C,data:e,maxHeight:h,placeholder:t,value:r,onFocus:o,onBlur:s,onChange:n,style:d,containerStyle:f,itemContainerStyle:b,activeColor:ye,fontFamily:"DMSans_400Regular",selectedTextStyle:M,selectedTextProps:{numberOfLines:1,ellipsizeMode:"tail",...T??{}},placeholderStyle:$,renderRightIcon:w??(()=>React.createElement(Xr.ArrowDown,{color:k?v:R,size:gr}))})};Jt.displayName="MDropdown";var er=require("class-variance-authority"),Qe=require("lucide-react-native"),ae=g(require("react")),Y=require("react-native");var Lo=(0,er.cva)("flex-row items-center bg-card rounded-full border border-border",{variants:{size:{default:"",sm:"",lg:""}},defaultVariants:{size:"default"}}),Fo={default:18,sm:15,lg:21},Bo={default:36,sm:30,lg:52},Oo=(0,er.cva)("flex-1 min-w-0 px-2 font-munchi",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),tr=ae.default.forwardRef(({value:e,onChangeText:t,onClear:r,placeholder:o="Search...",size:s="default",className:n,containerClassName:c,inputClassName:l,iconSize:i=20,placeholderTextColor:u,...P},y)=>{let{foreground:m,muted:p}=L(),h=()=>{r?r():t(""),Y.Keyboard.isVisible()&&Y.Keyboard.dismiss()};return ae.default.createElement(Y.View,{className:a(Lo({size:s}),n,c)},ae.default.createElement(Y.View,{className:"pl-3 shrink-0"},ae.default.createElement(Qe.Search,{size:i,color:p})),ae.default.createElement(Y.TextInput,{ref:y,placeholder:o,placeholderTextColor:u??p,value:e,onChangeText:t,textAlignVertical:"center",style:{color:m,fontSize:Fo[s??"default"],height:Bo[s??"default"],paddingVertical:0,includeFontPadding:!1},className:a(Oo({size:s}),l),...P}),ae.default.createElement(Y.View,{className:"pr-2 shrink-0",style:{width:i+16}},e.length>0&&ae.default.createElement(Y.Pressable,{onPress:h,className:"items-center justify-center p-2"},ae.default.createElement(Qe.X,{size:i,color:p}))))});tr.displayName="MSearch";var ue=g(require("react")),le=require("react-native");var rr=ue.default.memo(({label:e,isSelected:t,onPress:r,description:o})=>ue.default.createElement(le.Pressable,{className:"flex flex-row justify-between items-center p-2",onPress:r},ue.default.createElement(le.Text,{className:a("font-munchi",t&&"font-munchi-semibold")},e),t&&o&&ue.default.createElement(le.Text,{className:"text-muted-foreground text-sm mx-2 flex-1 text-right"},o),ue.default.createElement(le.View,{className:a("w-6 h-6 rounded-full border-2 border-primary ml-2",!t&&"bg-card")},t&&ue.default.createElement(le.View,{className:"absolute inset-0 m-1 rounded-full bg-primary"}))));rr.displayName="MSelector";var Ve=require("react-native");var or=({options:e,selectedKey:t,onSelect:r})=>React.createElement(Ve.View,{className:"flex flex-row gap-4 w-full items-center justify-between"},e.map(o=>React.createElement(Ve.Pressable,{key:String(o.key),className:a("flex-1 rounded-lg py-4",t===o.key?"bg-primary":"bg-muted"),onPress:()=>r(o.key),disabled:o.disabled},React.createElement(Ve.Text,{className:a("text-center font-munchi",t===o.key?"text-primary-foreground":"text-muted-foreground")},o.label))));or.displayName="MToggle";var X=require("react-native");var ar=({message:e,onConfirm:t,onCancel:r,confirmText:o="Confirm",cancelText:s="Cancel",isLoading:n=!1})=>{let{onPrimary:c}=L();return React.createElement(X.View,{className:"p-4"},React.createElement(X.Text,{className:"font-munchi text-center mb-10 mt-4 text-foreground"},e),React.createElement(X.View,{className:"flex-row justify-between"},React.createElement(X.Pressable,{className:a("flex-1 mr-2 border border-border rounded-md py-3 bg-card",n&&"opacity-50"),onPress:r,disabled:n},React.createElement(X.Text,{className:"font-munchi text-center text-card-foreground"},s)),React.createElement(X.Pressable,{className:a("flex-1 ml-2 bg-primary rounded-md py-3",n&&"opacity-50"),onPress:t,disabled:n},n?React.createElement(X.ActivityIndicator,{color:c}):React.createElement(X.Text,{className:"font-munchi text-center text-primary-foreground"},o))))};ar.displayName="MConfirmation";var nr=require("lucide-react-native"),fe=require("react-native");var sr=({label:e,onPress:t,testID:r,icon:o,disabled:s,iconTint:n,labelClassName:c})=>React.createElement(fe.Pressable,{testID:r,onPress:t,className:"w-20 h-20 md:w-24 md:h-24 rounded-full items-center justify-center active:bg-accent",disabled:s},e?React.createElement(I,{className:a("text-3xl md:text-4xl font-light",c)},e):o??React.createElement(nr.Delete,{size:26,color:n})),ir=({onDigit:e,onBackspace:t,isLoading:r})=>{let{foreground:o}=L();return React.createElement(fe.View,{className:"w-full items-center gap-0"},[["1","2","3"],["4","5","6"],["7","8","9"]].map((n,c)=>React.createElement(fe.View,{key:c,className:"flex-row justify-center gap-24"},n.map(l=>React.createElement(sr,{key:l,label:l,onPress:()=>e(l),disabled:r,iconTint:o,labelClassName:"text-foreground"})))),React.createElement(fe.View,{className:"flex-row justify-center gap-24"},React.createElement(fe.View,{className:"w-20 h-20 md:w-24 md:h-24"}),React.createElement(sr,{label:"0",onPress:()=>e("0"),disabled:r,iconTint:o,labelClassName:"text-foreground"}),React.createElement(sr,{onPress:t,testID:"backspace",disabled:r,iconTint:o,labelClassName:"text-foreground",icon:React.createElement(nr.Delete,{size:26,color:o})})))};ir.displayName="MPinPadKeys";var to=require("class-variance-authority"),ro=require("lucide-react-native"),ee=require("react"),K=require("react-native");var cr=(l=>(l.Discount="discount",l.Table="table",l.Price="price",l.Cash="cash",l.Quantity="quantity",l.Phone="phone",l.GiftCard="giftcard",l))(cr||{}),dr=()=>new Intl.NumberFormat(void 0,{minimumFractionDigits:1,maximumFractionDigits:1}).format(1.1).match(/[^0-9]/)?.[0]||".";function lr(e,t){if(!e)return"";if(t==="."){let[o="",...s]=e.split(".");return s.length===0?o:`${o}.${s.join("")}`}if(e.includes("."))return e;let r=e.split(t);return r.length<=1?e.replace(/\./g,""):`${(r[0]??"").replace(/\./g,"")}.${r.slice(1).join("")}`}function Je(e,t){let r=e.replace(/\D/g,"");if(r===""||r==="0")return`0${t}00`;let o=r.padStart(3,"0"),s=o.slice(0,-2).replace(/^0+/,"")||"0",n=o.slice(-2);return`${s}${t}${n}`}function Jr(e,t){if(!e)return"";let r=t==="."?e:e.replace(t,"."),o=Number.parseFloat(r);return Number.isNaN(o)||o<=0?"":Math.round(o*100).toString()}var Ho=90,zo=118,$o=78,jo=106,Go=72,Wo=90,Ko=62,Zo=80,qo=24,Uo=36,Xo=22,Yo=32,Qo=6,Jo=5,Ee=3,et="00",eo=/^(\d+)\.00$/;function ea(e){switch(e){case"X":return"munchi.numpad.key.backspace";case et:return"munchi.numpad.key.double-zero";case"-":return"munchi.numpad.key.minus";case"+":return"munchi.numpad.key.plus";default:return`munchi.numpad.key.digit-${e}`}}var ta=(0,to.cva)("items-center justify-center rounded-2xl",{variants:{pressed:{true:"",false:"bg-muted"},scheme:{dark:"",light:""}},compoundVariants:[{pressed:!0,scheme:"dark",className:"bg-white/15 border-white/20"},{pressed:!0,scheme:"light",className:"bg-foreground/10 border-foreground/15"}],defaultVariants:{pressed:!1,scheme:"light"}}),mr=({customAmount:e,setCustomAmount:t,mode:r,maxDigits:o=6})=>{let s=dr(),n=r==="price"||r==="cash"||r==="discount",c=n,l=r==="phone",i=(0,ee.useRef)(e);i.current=e;let u=(0,ee.useRef)(0),{foreground:P}=L(),{colorScheme:y}=j(),{width:m}=(0,K.useWindowDimensions)(),p=m>=768,h=K.Platform.OS==="android",w=h?p?jo:$o:p?zo:Ho,T=h?p?Zo:Ko:p?Wo:Go,C=h?Jo:Qo,x=h?p?Yo:Xo:p?Uo:qo,S=y==="dark"?"dark":"light",R=(0,ee.useCallback)(d=>{if(n){let A=d===et;if(!A&&!/^\d$/.test(d))return;let B=Jr(i.current??"",s);if(A){let we=`${B}00`.replace(/^0+/,"")||"";if(we===""){u.current=0;return}if(we.length>o+2)return;u.current=2;let He=Je(we,s);i.current=He,t(He);return}if(u.current>0){let we=B.padStart(3,"0"),He=we.slice(0,-2),lo=(we.slice(-2)[1]??"0")+d,hr=(He+lo).replace(/^0+/,"")||"";if(hr.length>o+2)return;u.current-=1;let Pr=Je(hr,s);i.current=Pr,t(Pr);return}let Pe=(B+d).replace(/^0+/,"")||"";if(Pe.length>o+2)return;if(Pe===""){i.current=null,t(null);return}let ke=Je(Pe,s);i.current=ke,t(ke);return}let f=i.current??"",b=lr(f,s),[V="",M=""]=b.split("."),$=b.includes("."),ye=d===s;if(d===et&&c){if(!$){let B=V===""?"0.00":`${V}.00`;i.current=B,t(B);return}let A=eo.exec(b);if(A){let B=A[1]??"";i.current=B,t(B);return}return}if(ye){if($)return;t(f+s);return}let he=c?eo.exec(b):null;if(he&&/^\d$/.test(d)){let A=he[1]??"";if(d==="0"){let Pe=`${A}0`;if(Pe.length>o)return;let ke=`${Pe}.00`;i.current=ke,t(ke);return}let B=`${A}.${d}0`;i.current=B,t(B);return}if(c&&$){if(M.length===2&&M[0]!=="0"&&M[1]!=="0"&&/^\d$/.test(d)){let A=`${V}${d}`;if(A.length>o)return;let B=`${A}.${M}`;i.current=B,t(B);return}if(M.length===2&&M[1]==="0"){let A=`${V}.${M[0]}${d}`;i.current=A,t(A);return}if(M.length===1&&/^\d$/.test(M)){let A=`${V}.${M}${d}`;i.current=A,t(A);return}if(M.length>=2)return}if(c){if(!$&&V.length>=o)return}else if(V.length>=o)return;let io=f+d,yr=lr(io,s);i.current=yr,t(yr)},[s,n,c,o,t]),v=(0,ee.useCallback)(()=>{let d=i.current;if(n){if(u.current=0,d==null||d===""){i.current=null,t(null);return}let $=Jr(d,s).slice(0,-1).replace(/^0+/,"")||"";if($===""){i.current=null,t(null);return}let ye=Je($,s);i.current=ye,t(ye);return}if(d==null||d===""){i.current=null,t(null);return}let f=lr(d,s);if(!f.includes(".")){let M=f.slice(0,-1);if(M===""){i.current=null,t(null);return}i.current=M,t(M);return}let[b="",V=""]=f.split(".");if(V.length>0){let M=V.slice(0,-1);if(M===""){i.current=b===""?null:b,t(b===""?null:b);return}let $=`${b}.${M}`;i.current=$,t($);return}i.current=b===""?null:b,t(b===""?null:b)},[s,n,t]),k=(0,ee.useMemo)(()=>["1","2","3","4","5","6","7","8","9",r==="giftcard"?"-":c?et:l?"+":"","0","X"],[r,c,l]),[E,D]=(0,ee.useState)(0),q=E>0?Math.floor((E-C*(Ee-1))/Ee):w,te=Math.round(q*(T/w)),re=Math.round(x*(q/w));return React.createElement(K.View,{style:{width:"100%",gap:C},onLayout:d=>D(d.nativeEvent.layout.width)},[0,1,2,3].map(d=>React.createElement(K.View,{key:d,style:{flexDirection:"row",gap:C}},k.slice(d*Ee,d*Ee+Ee).map((f,b)=>{let V=`${d}-${b}`;return f===""?React.createElement(K.View,{key:V,style:{width:q,height:te}}):React.createElement(ra,{key:V,testID:ea(f),item:f,width:q,height:te,fontSize:re,foreground:P,scheme:S,onPress:f==="X"?v:()=>R(f)})}))))},ra=({testID:e,item:t,width:r,height:o,fontSize:s,foreground:n,scheme:c,onPress:l})=>React.createElement(K.Pressable,{testID:e,onPress:l,style:{width:r,height:o}},({pressed:i})=>React.createElement(K.View,{style:{width:r,height:o},className:a(ta({pressed:i,scheme:c}))},t==="X"?React.createElement(ro.Delete,{size:s,color:n}):React.createElement(K.Text,{style:{fontSize:s,lineHeight:s*1.4},className:"text-foreground font-munchi"},t)));mr.displayName="MNumpad";var be=require("react"),Le=require("react-native"),H=g(require("react-native-reanimated"));var xe={damping:20,stiffness:200,mass:.8},pr=({tabs:e,activeTab:t,onTabChange:r,className:o,style:s,disabled:n=!1,size:c="default",variant:l="default",stretch:i=!1,...u})=>{let{colorScheme:P}=j(),y=U[P==="dark"?"dark":"light"],m=c==="compact",p=l==="ghost",h=p?0:m?2:4,w=p?20:m?8:12,T=m?8:12,C=p?7:m?2:4,x=p?22:m?8:12,S=m?2:4,R=(0,be.useRef)({}),v=(0,H.useSharedValue)(0),k=(0,H.useSharedValue)(0),E=(0,be.useRef)(!1),[,D]=(0,be.useState)(0);(0,be.useEffect)(()=>{if(t==null){E.current=!1,k.value=(0,H.withSpring)(0,xe);return}let d=String(t),f=R.current[d];if(f){v.value=(0,H.withSpring)(f.x,xe),k.value=(0,H.withSpring)(f.width,xe),E.current=!0,D(b=>b+1);return}E.current=!1},[t,k,v]);let q=(0,H.useAnimatedStyle)(()=>({transform:[{translateX:v.value}],width:k.value})),te=(d,f)=>{R.current[d]=f;let b=String(t);if(d===b){if(!E.current){v.value=f.x,k.value=f.width,E.current=!0,D(V=>V+1);return}v.value=(0,H.withSpring)(f.x,xe),k.value=(0,H.withSpring)(f.width,xe)}},re=d=>{let f=String(d),b=R.current[f];b&&(v.value=(0,H.withSpring)(b.x,xe),k.value=(0,H.withSpring)(b.width,xe)),r(d)};return React.createElement(Le.View,{className:a("flex-row",!p&&"bg-accent",m?"gap-0.5 rounded-xl p-0.5":"gap-1 rounded-2xl p-1",i?"self-stretch":"self-start",o),style:s,...u},React.createElement(H.default.View,{pointerEvents:"none",style:[{position:"absolute",top:h,bottom:h,borderRadius:w,backgroundColor:y.card,shadowColor:y.text,shadowOpacity:p?0:P==="dark"?.08:.14,shadowRadius:m?4:6,shadowOffset:{width:0,height:m?1:2},elevation:m?2:3},q]}),e.map(({key:d,label:f,icon:b,disabled:V=!1})=>{let M=n||V;return React.createElement(Le.Pressable,{key:String(d),onPress:()=>re(d),disabled:M,onLayout:$=>te(String(d),$.nativeEvent.layout),style:{...i?{flex:1,minWidth:0}:{flexShrink:1,minWidth:0},alignItems:"center",justifyContent:"center",paddingHorizontal:T,paddingVertical:C,borderRadius:x,opacity:M?.5:1}},React.createElement(Le.View,{style:{flexDirection:"row",alignItems:"center",gap:S,flexShrink:1,overflow:"hidden"}},b,f&&React.createElement(I,{size:p?"lg":"xl",numberOfLines:1,style:{flexShrink:1}},f)))}))};pr.displayName="MTabs";var Fe=g(require("dayjs")),ge=require("react"),tt=require("react-native");var oa=(e,t)=>{let r=e.diff(t,"minute");if(r<1)return"0m";let o=Math.floor(r/1440),s=r%1440,n=Math.floor(s/60),c=s%60,l="";return o>0&&(l+=`${o}d `),(n>0||o>0)&&(l+=`${n}h `),l+=`${c}m`,l.trim()},ur=({date:e,className:t="",textClassName:r=""})=>{let o=(0,ge.useMemo)(()=>(0,Fe.default)(e),[e]),[s,n]=(0,ge.useState)(()=>(0,Fe.default)());(0,ge.useEffect)(()=>{let i=(()=>{let u=(0,Fe.default)(),y=u.add(1,"minute").startOf("minute").diff(u);return setTimeout(()=>{n((0,Fe.default)())},y>0?y:6e4)})();return()=>clearTimeout(i)},[s]);let c=(0,ge.useMemo)(()=>oa(s,o),[s,o]);return React.createElement(tt.View,{className:a("rounded-md flex items-center justify-center bg-muted border border-border/60","dark:border-white/20 dark:bg-white/12",t)},React.createElement(tt.Text,{className:a("font-munchi-semibold text-foreground dark:text-neutral-200",r)},c))};ur.displayName="MTimerUp";var z=g(require("react")),ce=require("react-native");var rt=z.forwardRef(({className:e,...t},r)=>z.createElement(ce.View,{ref:r,className:a("rounded-lg border border-border bg-card shadow-sm shadow-foreground/10",e),...t}));rt.displayName="Card";var ot=z.forwardRef(({className:e,...t},r)=>z.createElement(ce.View,{ref:r,className:a("flex flex-col space-y-1.5 p-6",e),...t}));ot.displayName="CardHeader";var at=z.forwardRef(({className:e,...t},r)=>z.createElement(ce.Text,{role:"heading","aria-level":3,ref:r,className:a("text-2xl text-card-foreground font-semibold leading-none tracking-tight",e),...t}));at.displayName="CardTitle";var st=z.forwardRef(({className:e,...t},r)=>z.createElement(ce.Text,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));st.displayName="CardDescription";var nt=z.forwardRef(({className:e,...t},r)=>z.createElement(Ie.Provider,{value:"text-card-foreground"},z.createElement(ce.View,{ref:r,className:a("p-6 pt-0",e),...t})));nt.displayName="CardContent";var it=z.forwardRef(({className:e,...t},r)=>z.createElement(ce.View,{ref:r,className:a("flex flex-row items-center p-6 pt-0",e),...t}));it.displayName="CardFooter";var lt=g(require("react")),Z=g(require("react-native-reanimated"));var oo=1e3;function fr({className:e,...t}){let r=(0,Z.useSharedValue)(1);lt.useEffect(()=>{r.value=(0,Z.withRepeat)((0,Z.withSequence)((0,Z.withTiming)(.5,{duration:oo}),(0,Z.withTiming)(1,{duration:oo})),-1)},[]);let o=(0,Z.useAnimatedStyle)(()=>({opacity:r.value}));return lt.createElement(Z.default.View,{style:o,className:a("rounded-md bg-secondary dark:bg-muted",e),...t})}var ao=require("react-native"),xr=e=>React.createElement(ao.Switch,{...e});xr.displayName="MSwitch";var W=g(require("@rn-primitives/table")),_=g(require("react"));var ct=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Root,{ref:r,className:a("w-full caption-bottom text-sm",e),...t}));ct.displayName="Table";var dt=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Header,{ref:r,className:a("border-border [&_tr]:border-b",e),...t}));dt.displayName="TableHeader";var mt=_.forwardRef(({className:e,style:t,...r},o)=>_.createElement(W.Body,{ref:o,className:a("flex-1 border-border [&_tr:last-child]:border-0",e),style:[{minHeight:2},t],...r}));mt.displayName="TableBody";var pt=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Footer,{ref:r,className:a("bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));pt.displayName="TableFooter";var ut=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Row,{ref:r,className:a("flex-row border-border border-b web:transition-colors web:hover:bg-muted/50 web:data-[state=selected]:bg-muted",e),...t}));ut.displayName="TableRow";var ft=_.forwardRef(({className:e,...t},r)=>_.createElement(Ie.Provider,{value:"text-muted-foreground"},_.createElement(W.Head,{ref:r,className:a("h-12 px-4 text-left justify-center font-medium [&:has([role=checkbox])]:pr-0",e),...t})));ft.displayName="TableHead";var xt=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Cell,{ref:r,className:a("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));xt.displayName="TableCell";var Se=require("@rn-primitives/portal");var bt=require("class-variance-authority"),so=require("lucide-react-native"),gt=require("react"),se=require("react-native");var aa=(0,bt.cva)("w-full",{variants:{size:{default:"gap-1.5",sm:"gap-1",lg:"gap-2"}},defaultVariants:{size:"default"}}),sa=(0,bt.cva)("flex-row items-center bg-card border border-border",{variants:{size:{default:"px-4 py-3",sm:"px-3 py-2",lg:"px-5 py-4"},radius:{xl:"rounded-xl","2xl":"rounded-2xl"},hasError:{true:"border border-destructive",false:""},focused:{true:"border border-primary",false:""}},compoundVariants:[{hasError:!0,focused:!0,class:"border border-destructive"}],defaultVariants:{size:"default",radius:"xl",hasError:!1,focused:!1}}),na=(0,bt.cva)("flex-1 min-w-0 font-munchi text-foreground p-0",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),ia={default:18,sm:16,lg:20},br=({label:e,errorMessage:t,rightIcon:r,size:o="default",radius:s="xl",className:n,inputClassName:c,onFocus:l,onBlur:i,placeholderTextColor:u,...P})=>{let{foreground:y,muted:m,destructive:p}=L(),[h,w]=(0,gt.useState)(!1),T=(0,gt.useRef)(null),C=!!t;return React.createElement(se.View,{className:a(aa({size:o}),n)},e&&React.createElement(I,{size:o==="lg"?"lg":o==="sm"?"sm":"base",className:"font-munchi-semibold text-foreground"},e),React.createElement(se.Pressable,{onPress:()=>T.current?.focus()},React.createElement(se.View,{className:sa({size:o,radius:s,hasError:C,focused:h})},React.createElement(se.TextInput,{ref:T,placeholderTextColor:u??m,onFocus:x=>{w(!0),l?.(x)},onBlur:x=>{w(!1),i?.(x)},style:{color:y,fontSize:ia[o??"default"],paddingVertical:0,includeFontPadding:!1},className:a(na({size:o}),c),...P}),r&&React.createElement(se.View,{className:"ml-2 shrink-0"},r))),C&&React.createElement(se.View,{className:"flex-row items-center gap-1.5"},React.createElement(so.AlertCircle,{size:14,color:p}),React.createElement(I,{size:"sm",className:"text-destructive flex-1"},t)))};br.displayName="MInput";var Oe=g(require("@rn-primitives/label")),Be=g(require("react"));var yt=Be.forwardRef(({className:e,onPress:t,onLongPress:r,onPressIn:o,onPressOut:s,...n},c)=>Be.createElement(Oe.Root,{className:"web:cursor-default",onPress:t,onLongPress:r,onPressIn:o,onPressOut:s},Be.createElement(Oe.Text,{ref:c,className:a("text-sm text-foreground native:text-base font-medium leading-none web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70",e),...n})));yt.displayName=Oe.Root.displayName;var me=g(require("@rn-primitives/radio-group")),de=g(require("react")),no=require("react-native");var ht=de.forwardRef(({className:e,...t},r)=>de.createElement(me.Root,{className:a("web:grid gap-2",e),...t,ref:r}));ht.displayName=me.Root.displayName;var Pt=de.forwardRef(({className:e,...t},r)=>de.createElement(me.Item,{ref:r,className:a("aspect-square h-4 w-4 native:h-5 native:w-5 rounded-full justify-center items-center border border-border web:ring-offset-background web:focus:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",t.disabled&&"web:cursor-not-allowed opacity-50",e),...t},de.createElement(me.Indicator,{className:"flex items-center justify-center"},de.createElement(no.View,{className:"aspect-square h-[9px] w-[9px] native:h-[10] native:w-[10] bg-primary rounded-full"}))));Pt.displayName=me.Item.displayName;0&&(module.exports={MAlert,MAnimation,MAvatar,MBadge,MButton,MCard,MCardContent,MCardDescription,MCardFooter,MCardHeader,MCardTitle,MChevron,MConfirmation,MCountDown,MDateTimePicker,MDivider,MDrawerRightPanel,MDropdown,MInput,MLabel,MLucideIcon,MModal,MNativeAlert,MNumpad,MPicker,MPinPadKeys,MPortal,MPortalHost,MProgressBar,MRadioGroup,MRadioGroupItem,MRequiredLabel,MResponsiveContainer,MSearch,MSelector,MSkeleton,MSwitch,MTable,MTableBody,MTableCell,MTableFooter,MTableHead,MTableHeader,MTableRow,MTabs,MText,MTimerUp,MToggle,ModalContent,ModalHeight,ModalScrollContext,NAV_THEME,NumpadMode,buttonVariants,cn,darkVars,getDecimalSeparator,lightVars,typography,useColorScheme,useIconColors});
|
|
1
|
+
"use strict";var po=Object.create;var $e=Object.defineProperty;var uo=Object.getOwnPropertyDescriptor;var fo=Object.getOwnPropertyNames;var xo=Object.getPrototypeOf,bo=Object.prototype.hasOwnProperty;var go=(e,t)=>{for(var r in t)$e(e,r,{get:t[r],enumerable:!0})},Mr=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fo(t))!bo.call(e,s)&&s!==r&&$e(e,s,{get:()=>t[s],enumerable:!(o=uo(t,s))||o.enumerable});return e};var b=(e,t,r)=>(r=e!=null?po(xo(e)):{},Mr(t||!e||!e.__esModule?$e(r,"default",{value:e,enumerable:!0}):r,e)),yo=e=>Mr($e({},"__esModule",{value:!0}),e);var da={};go(da,{MAlert:()=>Rt,MAnimation:()=>St,MAvatar:()=>_t,MBadge:()=>Lt,MButton:()=>Ot,MCard:()=>ot,MCardContent:()=>it,MCardDescription:()=>nt,MCardFooter:()=>lt,MCardHeader:()=>at,MCardTitle:()=>st,MChevron:()=>Ht,MConfirmation:()=>sr,MCountDown:()=>Jt,MDateTimePicker:()=>$t,MDivider:()=>jt,MDrawerRightPanel:()=>Yt,MDropdown:()=>er,MInput:()=>gr,MLabel:()=>ht,MLucideIcon:()=>Gt,MModal:()=>_e,MNativeAlert:()=>Qt,MNumpad:()=>pr,MPicker:()=>Wt,MPinPadKeys:()=>lr,MPortal:()=>Se.Portal,MPortalHost:()=>Se.PortalHost,MProgressBar:()=>qt,MRadioGroup:()=>Pt,MRadioGroupItem:()=>wt,MRequiredLabel:()=>Hr,MResponsiveContainer:()=>Ut,MSearch:()=>rr,MSelector:()=>or,MSkeleton:()=>xr,MSwitch:()=>br,MTable:()=>dt,MTableBody:()=>pt,MTableCell:()=>bt,MTableFooter:()=>ut,MTableHead:()=>xt,MTableHeader:()=>mt,MTableRow:()=>ft,MTabs:()=>ur,MText:()=>k,MTimerUp:()=>fr,MToggle:()=>ar,ModalContent:()=>Wr,ModalHeight:()=>Xt,ModalScrollContext:()=>Ye,NAV_THEME:()=>U,NumpadMode:()=>dr,buttonVariants:()=>Bt,cn:()=>a,darkVars:()=>Ne,getDecimalSeparator:()=>mr,lightVars:()=>Me,typography:()=>Rr,useColorScheme:()=>j,useIconColors:()=>E});module.exports=yo(da);var Nr=require("clsx"),Tr=require("tailwind-merge");function a(...e){return(0,Tr.twMerge)((0,Nr.clsx)(e))}function Mt(e,t=4,r="0"){return e.toString().padStart(t,r)}var vr=require("nativewind");function j(){let{colorScheme:e,setColorScheme:t,toggleColorScheme:r}=(0,vr.useColorScheme)();return{colorScheme:e??"light",isDarkColorScheme:e==="dark",setColorScheme:t,toggleColorScheme:r}}var Me={"--background":"0 0% 95.7%","--foreground":"0 0% 7.8%","--card":"0 0% 100%","--card-foreground":"0 0% 7.8%","--popover":"0 0% 100%","--popover-foreground":"0 0% 7.8%","--primary":"0 0% 7.8%","--primary-foreground":"0 0% 100%","--secondary":"0 0% 93%","--secondary-foreground":"0 0% 7.8%","--muted":"0 0% 93%","--muted-foreground":"0 0% 45%","--accent":"0 0% 89.4%","--accent-foreground":"0 0% 7.8%","--destructive":"0 84.2% 60.2%","--destructive-foreground":"0 0% 100%","--border":"0 0% 78%","--input":"0 0% 78%","--ring":"0 0% 7.8%"},Ne={"--background":"0 0% 7.8%","--foreground":"0 0% 100%","--card":"0 0% 14.5%","--card-foreground":"0 0% 100%","--popover":"0 0% 14.5%","--popover-foreground":"0 0% 100%","--primary":"0 0% 100%","--primary-foreground":"0 0% 7.8%","--secondary":"0 0% 18%","--secondary-foreground":"0 0% 100%","--muted":"0 0% 11%","--muted-foreground":"0 0% 60%","--accent":"0 0% 21.2%","--accent-foreground":"0 0% 100%","--destructive":"0 72% 51%","--destructive-foreground":"0 0% 100%","--border":"0 0% 28%","--input":"0 0% 28%","--ring":"0 0% 60%"};var Te=(e,t)=>`hsl(${e[t]})`,Cr=e=>({background:Te(e,"--background"),border:Te(e,"--border"),card:Te(e,"--card"),notification:Te(e,"--destructive"),primary:Te(e,"--primary"),text:Te(e,"--foreground")}),U={light:Cr(Me),dark:Cr(Ne)};function E(){let{colorScheme:e}=j(),t=e==="dark"?"dark":"light",r=U[t];return{foreground:r.text,muted:t==="dark"?"hsl(240 5% 64.9%)":"hsl(240 3.8% 46.1%)",primary:r.primary,destructive:r.notification,onDestructive:"hsl(0 0% 100%)",onPrimary:t==="dark"?"hsl(240 5.9% 10%)":"hsl(0 0% 98%)"}}var Rr={regular:"DMSans_400Regular",medium:"DMSans_500Medium",bold:"DMSans_700Bold"};var kr=require("class-variance-authority"),ee=b(require("react")),Nt=require("react-native");var Vr=b(require("@rn-primitives/slot")),ie=b(require("react")),Sr=require("react-native");var Ie=ie.createContext(void 0),je=ie.forwardRef(({className:e,asChild:t=!1,...r},o)=>{let s=ie.useContext(Ie);return ie.createElement(t?Vr.Text:Sr.Text,{className:a("text-base text-foreground web:select-text",s,e),ref:o,...r})});je.displayName="Text";var ho=(0,kr.cva)("relative bg-background w-full rounded-lg border border-border p-4 shadow shadow-foreground/10",{variants:{variant:{default:"",destructive:"border-destructive"}},defaultVariants:{variant:"default"}}),Po={default:"hsl(240 10% 3.9%)",destructive:"hsl(0 84.2% 60.2%)"},Tt=ee.forwardRef(({className:e,variant:t,children:r,icon:o,iconSize:s=16,iconClassName:n,...l},i)=>{let d=Po[t??"default"];return ee.createElement(Nt.View,{ref:i,role:"alert",className:ho({variant:t,className:e}),...l},ee.createElement(Nt.View,{className:"absolute left-3.5 top-4 -translate-y-0.5"},ee.createElement(o,{size:s,color:d})),r)});Tt.displayName="Alert";var vt=ee.forwardRef(({className:e,...t},r)=>ee.createElement(je,{ref:r,className:a("pl-7 mb-1 font-medium text-base leading-none tracking-tight text-foreground",e),...t}));vt.displayName="AlertTitle";var Ct=ee.forwardRef(({className:e,...t},r)=>ee.createElement(je,{ref:r,className:a("pl-7 text-sm leading-relaxed text-foreground",e),...t}));Ct.displayName="AlertDescription";var Rt=({title:e,description:t,icon:r,iconSize:o,iconClassName:s,variant:n="default",className:l})=>React.createElement(Tt,{icon:r,iconSize:o,iconClassName:s,variant:n,className:a(l)},React.createElement(vt,null,e),t&&React.createElement(Ct,null,t));Rt.displayName="MAlert";var Ar=b(require("lottie-react-native")),De=require("react-native");var Ir=require("class-variance-authority"),Vt=b(require("react")),Dr=require("react-native");var wo=(0,Ir.cva)("text-base text-foreground",{variants:{variant:{default:"font-munchi"},size:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl"}},defaultVariants:{variant:"default",size:"base"}}),k=Vt.default.forwardRef(({className:e,variant:t,size:r,children:o,...s},n)=>Vt.default.createElement(Dr.Text,{ref:n,className:a(wo({variant:t,size:r}),e),...s,allowFontScaling:!1},o));k.displayName="MText";var St=({children:e,animationSource:t,lottieViewProps:r,childrenClass:o,text:s,subText:n})=>React.createElement(De.View,{className:"w-full flex-1 flex-col gap-4"},React.createElement(De.View,{className:"flex-1 flex items-center justify-center"},React.createElement(Ar.default,{...r,source:t})),(s||n)&&React.createElement(De.View,{className:"items-center gap-1 px-4"},s&&React.createElement(k,{className:"text-center text-2xl font-munchi-semibold"},s),n&&React.createElement(k,{className:"text-center text-base text-muted-foreground"},n)),e&&React.createElement(De.View,{className:a("flex flex-col items-center",o)},e));St.displayName="MAnimation";var At=require("class-variance-authority"),ve=b(require("react")),Ge=require("react-native");var ae=b(require("@rn-primitives/avatar")),le=b(require("react"));var kt=le.forwardRef(({className:e,...t},r)=>le.createElement(ae.Root,{ref:r,className:a("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));kt.displayName=ae.Root.displayName;var It=le.forwardRef(({className:e,...t},r)=>le.createElement(ae.Image,{ref:r,className:a("aspect-square h-full w-full",e),...t}));It.displayName=ae.Image.displayName;var Dt=le.forwardRef(({className:e,...t},r)=>le.createElement(ae.Fallback,{ref:r,className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));Dt.displayName=ae.Fallback.displayName;var Mo=(0,At.cva)("relative flex shrink-0 overflow-hidden rounded-full",{variants:{size:{xs:"h-6 w-6",sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16",xxl:"h-20 w-20",full:"h-full w-full"}},defaultVariants:{size:"md"}}),No=(0,At.cva)("font-munchi text-background",{variants:{size:{xs:"text-sm",sm:"text-sm",md:"text-base",lg:"text-xl",xl:"text-3xl",xxl:"text-4xl",full:"text-2xl"}},defaultVariants:{size:"md"}}),_t=ve.default.forwardRef(({className:e,size:t,source:r,fallbackText:o,imageClassName:s,fallbackClassName:n,fallbackTextClassName:l,...i},d)=>ve.default.createElement(kt,{ref:d,className:a(Mo({size:t}),e),...i},r&&ve.default.createElement(It,{source:r,className:a("aspect-square h-full w-full",s)}),ve.default.createElement(Dt,{className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",n)},ve.default.createElement(Ge.Text,{className:a(No({size:t}),Ge.Platform.OS==="ios"&&"text-foreground",l)},o))));_t.displayName="MAvatar";var Et=require("class-variance-authority"),We=require("react-native");var To=(0,Et.cva)("p-1 px-2 rounded-md border-0",{variants:{variant:{default:"bg-secondary",accent:"bg-accent",muted:"bg-muted text-muted-foreground",destructive:"bg-destructive",primary:"bg-primary text-primary-foreground mx-1",gray:"bg-muted text-muted-foreground",custom:""}},defaultVariants:{variant:"gray"}}),vo=(0,Et.cva)("text-xs font-munchi",{variants:{variant:{default:"text-secondary-foreground",accent:"text-accent-foreground",muted:"text-muted-foreground",destructive:"text-destructive-foreground",primary:"text-primary-foreground",gray:"text-muted-foreground",custom:"text-foreground"}},defaultVariants:{variant:"gray"}}),Lt=({variant:e="gray",text:t,show:r=!0,customBackgroundColor:o,className:s,textClassName:n})=>{if(!r)return null;let l=e==="custom";return React.createElement(We.View,{className:a(To({variant:e}),s),style:l?{backgroundColor:o}:void 0},React.createElement(We.Text,{className:a(vo({variant:e}),n)},t))};Lt.displayName="MBadge";var _r=require("class-variance-authority"),Ke=b(require("react")),Ft=require("react-native");var Bt=(0,_r.cva)("flex-row justify-center items-center rounded-full",{variants:{variant:{default:"bg-primary",primary:"bg-primary",white:"bg-card border border-border",destructive:"bg-destructive",outline:"bg-transparent border border-border",secondary:"bg-secondary",ghost:"bg-transparent",link:"bg-transparent",none:"none",custom:""},size:{none:"",default:"h-auto px-4 md:py-2",sm:"h-8 px-3 py-1.5",lg:"h-10 px-6 py-2.5",icon:"h-9 w-9 p-2 justify-center items-center"}},defaultVariants:{variant:"default",size:"default"}}),Ot=Ke.default.forwardRef((e,t)=>{let{onPress:r,variant:o="default",size:s="default",disabled:n=!1,children:l,className:i,...d}=e;return o==="custom"?Ke.default.createElement(Ft.Pressable,{ref:t,disabled:n,className:a(n&&"opacity-50",i),onPress:r,android_ripple:null,...d},l):Ke.default.createElement(Ft.Pressable,{ref:t,disabled:n,className:a(Bt({variant:o,size:s}),n&&"opacity-50",i),onPress:r,...d},l)});Ot.displayName="MButton";var qe=require("react"),Ze=require("react-native"),Ue=b(require("react-native-svg"));var Ht=({isOpen:e,size:t=11,color:r})=>{let{colorScheme:o}=j(),s=r??U[o].text,n=(0,qe.useRef)(new Ze.Animated.Value(e?90:0)).current;(0,qe.useEffect)(()=>{Ze.Animated.timing(n,{toValue:e?90:0,duration:200,useNativeDriver:!0}).start()},[e,n]);let l=n.interpolate({inputRange:[0,90],outputRange:["0deg","90deg"]});return React.createElement(Ze.Animated.View,{style:{transform:[{rotate:l}]}},React.createElement(Ue.default,{width:t,height:t,viewBox:"0 0 11 11",fill:"none"},React.createElement(Ue.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M3.80026 1.96823C3.97925 1.78924 4.26945 1.78924 4.44844 1.96823L7.65677 5.17656C7.83575 5.35554 7.83575 5.64576 7.65677 5.82474L4.44844 9.03307C4.26945 9.21205 3.97925 9.21205 3.80026 9.03307C3.62127 8.85409 3.62127 8.56388 3.80026 8.3849L6.68451 5.50065L3.80026 2.61641C3.62127 2.43742 3.62127 2.14722 3.80026 1.96823Z",fill:s})))};Ht.displayName="MChevron";var zt=require("react-native"),Xe=b(require("react-native-ui-datepicker"));var $t=({className:e,classNames:t,showOutsideDays:r=!0,containerHeight:o=220,components:s,minDate:n,maxDate:l,...i})=>{let d=(0,Xe.useDefaultClassNames)(),c=n||(()=>{let p=new Date;return p.setFullYear(p.getFullYear()-1),p})(),x=l||(()=>{let p=new Date;return p.setDate(p.getDate()),p})(),g={IconPrev:React.createElement(zt.Text,{className:"font-munchi text-lg text-foreground"},"<"),IconNext:React.createElement(zt.Text,{className:"font-munchi text-lg text-foreground"},">")};return React.createElement(Xe.default,{showOutsideDays:r,className:a("bg-card w-full rounded-xl",e),containerHeight:o,minDate:c,maxDate:x,classNames:{...d,day_cell:"p-0.5",day:a(d.day,"font-munchi rounded-xl text-foreground w-10 h-10"),day_label:"font-munchi text-base text-foreground",outside_label:"font-munchi text-base text-foreground opacity-40",today_label:"text-destructive font-munchi-bold text-base",month_selector_label:a(d.month_selector_label,"text-base font-munchi-semibold text-foreground"),year_selector_label:a(d.year_selector_label,"text-base font-munchi-semibold text-foreground"),time_selector_label:a(d.time_selector_label,"text-base font-munchi text-foreground"),header:"font-munchi-semibold text-lg text-foreground pb-2",weekday_label:"font-munchi-semibold text-sm text-muted-foreground",selected:a(d.selected,"font-munchi bg-primary rounded-xl"),selected_label:"font-munchi-semibold text-primary-foreground text-base",range_end:a(d.range_end,"font-munchi bg-primary rounded-r-xl"),range_start:a(d.range_start,"font-munchi bg-primary rounded-l-xl"),range_end_label:a(d.range_end_label,"font-munchi-semibold text-primary-foreground text-base"),range_start_label:a(d.range_start_label,"font-munchi-semibold text-primary-foreground text-base"),range_fill:"bg-primary/20 my-1",range_fill_weekstart:"rounded-s-lg",range_fill_weekend:"rounded-e-lg",range_middle_label:"font-munchi text-base text-foreground",month:a(d.month,"font-munchi rounded-xl text-foreground"),month_label:"font-munchi text-base text-foreground",year:a(d.year,"font-munchi rounded-xl text-foreground"),year_label:"font-munchi text-base text-foreground",time_label:"font-munchi text-2xl text-foreground",...t},components:{...g,...s},...i})};$t.displayName="MDateTimePicker";var Er=require("class-variance-authority"),Lr=require("react-native");var Co=(0,Er.cva)("",{variants:{direction:{horizontal:"my-2",vertical:"mx-2"},variant:{sm:"",md:"",lg:""}},defaultVariants:{direction:"horizontal",variant:"md"}}),Ro={sm:1,md:2,lg:4},jt=({className:e,direction:t="horizontal",variant:r="md",color:o,style:s})=>{let n=t==="horizontal",l=Ro[r??"md"],i=o?{backgroundColor:o,[n?"height":"width"]:l,[n?"width":"height"]:"100%"}:{[n?"height":"width"]:l,[n?"width":"height"]:"100%"};return React.createElement(Lr.View,{className:a(!o&&"bg-border",Co({direction:t,variant:r}),e),style:[i,s]})};jt.displayName="MDivider";var Fr=b(require("react")),Vo=b(require("lucide-react-native")),Gt=({name:e,...t})=>{let r=Vo[e];return r?Fr.default.createElement(r,{...t}):null};Gt.displayName="MLucideIcon";var Ae=require("react"),G=require("react-native");var Wt=({data:e,onSelect:t,placeholder:r,selectedValue:o,className:s,textClassName:n,dropdownContainerClassName:l,itemContainerClassName:i,itemTextClassName:d})=>{let[c,x]=(0,Ae.useState)(!1),g=(0,Ae.useRef)(null),[p,u]=(0,Ae.useState)({x:0,y:0,width:0,height:0}),y=e.find(f=>f.value===o),h=f=>{t(f),x(!1)},w=({item:f})=>{let V=f.value===o;return React.createElement(G.Pressable,{className:a("p-3 rounded-md m-1",V?"bg-primary":"active:bg-muted",i),onPress:()=>h(f)},React.createElement(G.Text,{className:a(V?"text-primary-foreground":"text-foreground",d),numberOfLines:1},f.label))},R=()=>{c?x(!1):g.current?.measureInWindow((f,V,C,v)=>{u({x:f,y:V,width:C,height:v}),x(!0)})};return React.createElement(G.View,{className:"flex-col items-center justify-center"},React.createElement(G.Pressable,{ref:g,className:a("bg-primary rounded-full py-4 px-6 flex-row items-center",s),onPress:R},React.createElement(G.Text,{className:a("text-primary-foreground text-base",n),numberOfLines:1,ellipsizeMode:"tail"},y?y.label:r)),React.createElement(G.Modal,{animationType:"none",transparent:!0,visible:c,onRequestClose:()=>{x(!1)}},React.createElement(G.Pressable,{className:"absolute inset-0",onPress:()=>x(!1)}),React.createElement(G.View,{style:{position:"absolute",top:p.y+p.height,left:p.x},className:a("min-w-[100px] bg-background shadow-lg rounded-lg border border-border p-1 z-50 mt-2",l)},React.createElement(G.FlatList,{data:e,renderItem:w,keyExtractor:f=>String(f.value),className:"max-h-[200px]"}))))};Wt.displayName="MPicker";var Zt=require("class-variance-authority"),Kt=require("react-native");var So=(0,Zt.cva)("w-full h-2 rounded-full relative",{variants:{size:{sm:"h-1",md:"h-2",lg:"h-3"},variant:{default:"bg-muted",accent:"bg-accent/30",destructive:"bg-destructive/30",secondary:"bg-secondary",gray:"bg-gray",pink:"bg-pink",blue:"bg-blue-200",green:"bg-green-200"}},defaultVariants:{size:"md",variant:"default"}}),ko=(0,Zt.cva)("h-full rounded-full absolute top-0 left-0",{variants:{variant:{default:"bg-foreground",accent:"bg-accent",destructive:"bg-destructive",secondary:"bg-secondary-foreground",gray:"bg-gray-600",pink:"bg-pink",blue:"bg-blue-600",green:"bg-green-600"}},defaultVariants:{variant:"default"}}),qt=({progress:e,size:t="md",variant:r="default",className:o,fillClassName:s})=>{let n=Math.min(Math.max(e,0),100);return React.createElement(Kt.View,{className:a(So({size:t,variant:r}),o)},React.createElement(Kt.View,{style:{width:`${n}%`},className:a(ko({variant:r}),s)}))};qt.displayName="MProgressBar";var Br=require("react-native");var Ut=({children:e,className:t,style:r,padding:o,margin:s,...n})=>React.createElement(Br.View,{className:a((()=>{let i=[];if(o)for(let[d,c]of Object.entries(o))c!==void 0&&i.push(`${d}:p-${c}`);if(s)for(let[d,c]of Object.entries(s))c!==void 0&&i.push(`${d}:m-${c}`);return i.join(" ")})(),t),style:r,...n},e);Ut.displayName="MResponsiveContainer";var Or=require("react-native");var Hr=({label:e,className:t,...r})=>React.createElement(Or.View,{className:a("flex-row items-center gap-1 mb-3",t),...r},React.createElement(k,{className:"font-munchi-bold text-xl"},e),React.createElement(k,{className:"font-munchi-bold text-xl text-destructive"},"*"));var zr=require("class-variance-authority"),Ce=require("lucide-react-native"),te=require("react"),M=require("react-native");var Xt=(i=>(i.ExtraSmall="xs",i.Small="sm",i.Medium="md",i.Large="lg",i.ExtraLarge="xl",i.ExtraExtraLarge="xxl",i.Auto="auto",i))(Xt||{}),$r=(0,te.createContext)({isFixed:!1}),Ye=(0,te.createContext)(null),Io=(0,zr.cva)("rounded-2xl p-6 shadow-lg flex flex-col",{variants:{variant:{xs:"w-[40%]",sm:"w-[60%]",md:"w-[80%]",lg:"w-[95%]",auto:"w-auto self-center",fullscreen:"w-full h-full rounded-none"},height:{xs:"h-[30%]",sm:"h-[40%]",md:"h-[60%]",lg:"h-[80%]",xl:"h-[90%]",xxl:"h-[96%]",auto:"h-auto"},background:{white:"bg-card",dark:"bg-secondary",primary:"bg-muted",transparent:"bg-transparent"}},defaultVariants:{variant:"md",height:"auto",background:"white"}}),jr=({children:e,scrollable:t=!0})=>{let{isFixed:r}=(0,te.useContext)($r),o=(0,te.useContext)(Ye);return t?React.createElement(M.View,{className:a(r&&"flex-1")},React.createElement(M.ScrollView,{ref:o,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},keyboardShouldPersistTaps:"handled",style:r?{flex:1}:void 0},React.createElement(M.Pressable,{style:{flex:1}},e))):React.createElement(M.View,{className:a(r&&"flex-1"),style:r?{flex:1}:void 0},React.createElement(M.Pressable,{style:{flex:1}},e))};jr.displayName="ModalBody";var Gr=({children:e})=>React.createElement(M.View,{className:"mt-auto flex-shrink-0"},e),Wr=({body:e,footer:t})=>React.createElement(te.Fragment,null,React.createElement(_e.Body,null,e),t&&React.createElement(_e.Footer,null,t)),Do=e=>{let{isVisible:t,onClose:r,children:o,onBack:s,onDismiss:n,header:l,headingText:i,closable:d=!0,variant:c="sm",containerClassName:x,height:g,background:p="white",footer:u,onButtonClose:y,showCloseButton:h=!0,showBackButton:w=!0,keyboardAvoidingEnabled:R=!0}=e,V={isFixed:(g&&g!=="auto")??!1},C=(0,te.useRef)(null),{foreground:v}=E(),S=()=>s&&w?React.createElement(M.View,{className:"flex-row items-center justify-between"},React.createElement(M.Pressable,{onPress:s,className:"bg-muted rounded-full p-2"},React.createElement(Ce.ArrowLeft,{color:v,size:24})),i&&React.createElement(k,{className:"font-munchi-bold text-foreground flex-1 text-left mx-3",size:"2xl",numberOfLines:1},i),h&&React.createElement(M.Pressable,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(Ce.X,{color:v,size:24}))):l||(i?React.createElement(M.View,{className:"flex-row items-center justify-between"},React.createElement(k,{className:"font-munchi-bold text-foreground w-11/12",size:"2xl",numberOfLines:1},i),h&&React.createElement(M.Pressable,{onPress:y??r,className:"bg-muted rounded-full p-3"},React.createElement(Ce.X,{color:v,size:24}))):h?React.createElement(M.View,{className:"flex-row items-center justify-between"},React.createElement(M.View,{className:"flex-1"}),React.createElement(M.Pressable,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(Ce.X,{color:v,size:24}))):null);return React.createElement(M.Modal,{transparent:!0,visible:t,onRequestClose:d?r:void 0,animationType:"fade",onDismiss:n},React.createElement(M.KeyboardAvoidingView,{className:"flex-1",enabled:R,behavior:"padding"},React.createElement(M.Pressable,{className:"flex-1 items-center justify-center bg-black/50 p-4",onPress:I=>{I.target===I.currentTarget&&d&&r()}},React.createElement(M.View,{className:a("max-h-[95%]",Io({variant:c,height:g,background:p}),x)},React.createElement($r.Provider,{value:V},React.createElement(Ye.Provider,{value:C},S()!==null&&React.createElement(M.View,{className:"pb-4 flex-shrink-0"},S()),o,u&&React.createElement(Gr,null,u)))))))},_e=Object.assign(Do,{Body:jr,Footer:Gr});_e.displayName="MModal";var ue=require("react"),L=require("react-native"),H=b(require("react-native-reanimated")),Zr=require("react-native-safe-area-context");var Ao={mass:.4,stiffness:110,damping:16,overshootClamping:!1},_o={mass:.4,stiffness:140,damping:22,overshootClamping:!0},Kr=340,Yt=({isVisible:e,onClose:t,header:r,footer:o,children:s,closable:n=!0,widthFraction:l=.45,className:i,scrollable:d=!0})=>{let{colorScheme:c}=j(),x=U[c],{width:g}=(0,L.useWindowDimensions)(),p=(0,Zr.useSafeAreaInsets)(),u=g*l,[y,h]=(0,ue.useState)(!1),w=(0,ue.useRef)(null),R=(0,ue.useRef)(!1),f=(0,H.useSharedValue)(u),V=(0,H.useSharedValue)(0),C=oe=>{R.current||(R.current=!0,f.value=(0,H.withSpring)(u,_o),V.value=(0,H.withTiming)(0,{duration:Kr}),w.current=setTimeout(()=>{h(!1),R.current=!1,oe?.()},Kr))};(0,ue.useEffect)(()=>(e?(w.current&&(clearTimeout(w.current),w.current=null,R.current=!1),h(!0),f.value=(0,H.withSpring)(0,Ao),V.value=(0,H.withTiming)(1,{duration:300})):C(),()=>{w.current&&clearTimeout(w.current)}),[e]);let v=()=>{n&&C(t)},S=()=>{C(t)},F=(0,H.useAnimatedStyle)(()=>({transform:[{translateX:f.value}]})),I=(0,H.useAnimatedStyle)(()=>({opacity:V.value}));return React.createElement(L.Modal,{transparent:!0,visible:y,animationType:"none",onRequestClose:n?S:void 0},React.createElement(L.View,{className:"flex-1 flex-row justify-end",style:{paddingTop:p.top,paddingBottom:p.bottom}},React.createElement(L.TouchableWithoutFeedback,{onPress:v},React.createElement(H.default.View,{className:"absolute inset-0 bg-black/60",style:I})),React.createElement(H.default.View,{style:[F,{width:u}],className:a("h-full overflow-hidden border rounded-2xl border-border",i)},React.createElement(L.View,{className:"flex-1",style:{backgroundColor:x.background}},r&&React.createElement(L.View,{className:"px-6 pt-6 flex-shrink-0"},r),d?React.createElement(L.ScrollView,{className:"flex-1 px-6",showsVerticalScrollIndicator:!1,contentContainerStyle:{paddingTop:16,paddingBottom:24},keyboardShouldPersistTaps:"handled",automaticallyAdjustKeyboardInsets:L.Platform.OS==="ios",keyboardDismissMode:"interactive"},s):React.createElement(L.View,{className:"flex-1 overflow-hidden"},s),o&&React.createElement(L.View,{className:"px-6 pb-6 pt-4 border-t-2 border-border flex-shrink-0"},o)))))};Yt.displayName="MDrawerRightPanel";var qr=require("react-native"),Qt=({title:e,description:t,onPress:r,onPressText:o,onCancel:s,onCancelText:n})=>{qr.Alert.alert(e,t,[{text:o,onPress:r},{text:n,style:"cancel",onPress:s}])};Qt.displayName="MNativeAlert";var Ur=require("react"),Xr=b(require("react-countdown")),Qe=require("react-native");var Jt=({warningThreshold:e=3,className:t="",textClassName:r="",showPrefix:o=!0,countUp:s=!1,renderer:n,onComplete:l,date:i,...d})=>{let c=(0,Ur.useMemo)(()=>({minutes:g,seconds:p,completed:u})=>{let y,h,w="";if(u)if(s){let F=new Date(i),oe=new Date().getTime()-F.getTime();y=Math.floor(oe/6e4),h=Math.floor(oe%6e4/1e3),o&&(w="-")}else y=0,h=0;else y=g,h=p;let R=!u||s?Mt(Math.abs(y),2):"00",f=!u||s?Mt(Math.abs(h),2):"00",V=!u&&g<e,C=u,v=V||C?"bg-destructive/15":"bg-green-500/15",S=V||C?"text-destructive":"text-green-600";return React.createElement(Qe.View,{className:a("rounded-md flex items-center justify-center",v,t)},React.createElement(Qe.Text,{className:a("font-munchi-semibold text-center",S,r)},w,R,":",f))},[e,s,i,o,t,r]);return React.createElement(Xr.default,{renderer:n??c,onComplete:l,overtime:s,date:i,...d})};Jt.displayName="MCountDown";var Yr=require("lucide-react-native"),Qr=require("react"),Re=require("react-native"),Jr=require("react-native-element-dropdown");function Eo(e){return{trigger:{width:"100%",paddingHorizontal:16,paddingVertical:12,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:6,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:3,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function Lo(e){return{trigger:{width:"100%",paddingHorizontal:12,paddingVertical:8,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:4,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function Fo(e){return{trigger:{paddingHorizontal:16,paddingVertical:8,borderRadius:999,borderWidth:0,backgroundColor:e.bgColor,minWidth:160},containerStyle:{marginTop:4,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}var er=({data:e=[],placeholder:t="",value:r,onFocus:o,onBlur:s,onChange:n,customStyles:l,fieldFrame:i="none",style:d,containerStyle:c,itemContainerStyle:x,selectedTextStyle:g,placeholderStyle:p,activeColor:u,maxHeight:y=300,renderRightIcon:h,selectedTextProps:w,mode:R="auto",...f})=>{let{colorScheme:V}=j(),{foreground:C,muted:v}=E(),S=e.length===0,F=V==="dark",I=U[F?"dark":"light"],Y=`hsl(${(F?Ne:Me)["--muted"]})`,J=(0,Qr.useMemo)(()=>{let He={cardColor:I.card,borderColor:I.border,textColor:I.text,mutedColor:Y};return i==="mInputSm2xl"?Eo(He):i==="mInputCompact"?Lo(He):i==="pill"?Fo({...He,bgColor:Y}):null},[i,I.card,I.border,I.text,Y]),B=Re.StyleSheet.flatten([J?.trigger,l,d]),m=Re.StyleSheet.flatten([J?.containerStyle,c]),P=Re.StyleSheet.flatten([J?.itemContainerStyle,x]),N=i==="mInputSm2xl"?18:i==="mInputCompact"?15:14,D=Re.StyleSheet.flatten([{fontSize:N,color:C},g]),T=Re.StyleSheet.flatten([{fontSize:N,color:S?v:C},p]),q=J?J.activeColor:u??Y,he=i==="mInputCompact"?16:20;return React.createElement(Jr.Dropdown,{...f,mode:R,data:e,maxHeight:y,placeholder:t,value:r,onFocus:o,onBlur:s,onChange:n,style:B,containerStyle:m,itemContainerStyle:P,activeColor:q,fontFamily:"DMSans_400Regular",selectedTextStyle:D,selectedTextProps:{numberOfLines:1,ellipsizeMode:"tail",...w??{}},placeholderStyle:T,renderRightIcon:h??(()=>React.createElement(Yr.ArrowDown,{color:S?v:C,size:he}))})};er.displayName="MDropdown";var tr=require("class-variance-authority"),Je=require("lucide-react-native"),se=b(require("react")),Q=require("react-native");var Bo=(0,tr.cva)("flex-row items-center bg-card rounded-full border border-border",{variants:{size:{default:"",sm:"",lg:""}},defaultVariants:{size:"default"}}),Oo={default:18,sm:15,lg:21},Ho={default:36,sm:30,lg:52},zo=(0,tr.cva)("flex-1 min-w-0 px-2 font-munchi",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),rr=se.default.forwardRef(({value:e,onChangeText:t,onClear:r,placeholder:o="Search...",size:s="default",className:n,containerClassName:l,inputClassName:i,iconSize:d=20,placeholderTextColor:c,...x},g)=>{let{foreground:p,muted:u}=E(),y=()=>{r?r():t(""),Q.Keyboard.isVisible()&&Q.Keyboard.dismiss()};return se.default.createElement(Q.View,{className:a(Bo({size:s}),n,l)},se.default.createElement(Q.View,{className:"pl-3 shrink-0"},se.default.createElement(Je.Search,{size:d,color:u})),se.default.createElement(Q.TextInput,{ref:g,placeholder:o,placeholderTextColor:c??u,value:e,onChangeText:t,textAlignVertical:"center",style:{color:p,fontSize:Oo[s??"default"],height:Ho[s??"default"],paddingVertical:0,includeFontPadding:!1},className:a(zo({size:s}),i),...x}),se.default.createElement(Q.View,{className:"pr-2 shrink-0",style:{width:d+16}},e.length>0&&se.default.createElement(Q.Pressable,{onPress:y,className:"items-center justify-center p-2"},se.default.createElement(Je.X,{size:d,color:u}))))});rr.displayName="MSearch";var fe=b(require("react")),ce=require("react-native");var or=fe.default.memo(({label:e,isSelected:t,onPress:r,description:o})=>fe.default.createElement(ce.Pressable,{className:"flex flex-row justify-between items-center p-2",onPress:r},fe.default.createElement(ce.Text,{className:a("font-munchi",t&&"font-munchi-semibold")},e),t&&o&&fe.default.createElement(ce.Text,{className:"text-muted-foreground text-sm mx-2 flex-1 text-right"},o),fe.default.createElement(ce.View,{className:a("w-6 h-6 rounded-full border-2 border-primary ml-2",!t&&"bg-card")},t&&fe.default.createElement(ce.View,{className:"absolute inset-0 m-1 rounded-full bg-primary"}))));or.displayName="MSelector";var Ve=require("react-native");var ar=({options:e,selectedKey:t,onSelect:r})=>React.createElement(Ve.View,{className:"flex flex-row gap-4 w-full items-center justify-between"},e.map(o=>React.createElement(Ve.Pressable,{key:String(o.key),className:a("flex-1 rounded-lg py-4",t===o.key?"bg-primary":"bg-muted"),onPress:()=>r(o.key),disabled:o.disabled},React.createElement(Ve.Text,{className:a("text-center font-munchi",t===o.key?"text-primary-foreground":"text-muted-foreground")},o.label))));ar.displayName="MToggle";var X=require("react-native");var sr=({message:e,onConfirm:t,onCancel:r,confirmText:o="Confirm",cancelText:s="Cancel",isLoading:n=!1})=>{let{onPrimary:l}=E();return React.createElement(X.View,{className:"p-4"},React.createElement(X.Text,{className:"font-munchi text-center mb-10 mt-4 text-foreground"},e),React.createElement(X.View,{className:"flex-row justify-between"},React.createElement(X.Pressable,{className:a("flex-1 mr-2 border border-border rounded-md py-3 bg-card",n&&"opacity-50"),onPress:r,disabled:n},React.createElement(X.Text,{className:"font-munchi text-center text-card-foreground"},s)),React.createElement(X.Pressable,{className:a("flex-1 ml-2 bg-primary rounded-md py-3",n&&"opacity-50"),onPress:t,disabled:n},n?React.createElement(X.ActivityIndicator,{color:l}):React.createElement(X.Text,{className:"font-munchi text-center text-primary-foreground"},o))))};sr.displayName="MConfirmation";var ir=require("lucide-react-native"),xe=require("react-native");var nr=({label:e,onPress:t,testID:r,icon:o,disabled:s,iconTint:n,labelClassName:l})=>React.createElement(xe.Pressable,{testID:r,onPress:t,className:"w-20 h-20 md:w-24 md:h-24 rounded-full items-center justify-center active:bg-accent",disabled:s},e?React.createElement(k,{className:a("text-3xl md:text-4xl font-light",l)},e):o??React.createElement(ir.Delete,{size:26,color:n})),lr=({onDigit:e,onBackspace:t,isLoading:r})=>{let{foreground:o}=E();return React.createElement(xe.View,{className:"w-full items-center gap-0"},[["1","2","3"],["4","5","6"],["7","8","9"]].map((n,l)=>React.createElement(xe.View,{key:l,className:"flex-row justify-center gap-24"},n.map(i=>React.createElement(nr,{key:i,label:i,onPress:()=>e(i),disabled:r,iconTint:o,labelClassName:"text-foreground"})))),React.createElement(xe.View,{className:"flex-row justify-center gap-24"},React.createElement(xe.View,{className:"w-20 h-20 md:w-24 md:h-24"}),React.createElement(nr,{label:"0",onPress:()=>e("0"),disabled:r,iconTint:o,labelClassName:"text-foreground"}),React.createElement(nr,{onPress:t,testID:"backspace",disabled:r,iconTint:o,labelClassName:"text-foreground",icon:React.createElement(ir.Delete,{size:26,color:o})})))};lr.displayName="MPinPadKeys";var oo=require("class-variance-authority"),ao=require("lucide-react-native"),re=require("react"),K=require("react-native");var dr=(i=>(i.Discount="discount",i.Table="table",i.Price="price",i.Cash="cash",i.Quantity="quantity",i.Phone="phone",i.GiftCard="giftcard",i))(dr||{}),mr=()=>new Intl.NumberFormat(void 0,{minimumFractionDigits:1,maximumFractionDigits:1}).format(1.1).match(/[^0-9]/)?.[0]||".";function cr(e,t){if(!e)return"";if(t==="."){let[o="",...s]=e.split(".");return s.length===0?o:`${o}.${s.join("")}`}if(e.includes("."))return e;let r=e.split(t);return r.length<=1?e.replace(/\./g,""):`${(r[0]??"").replace(/\./g,"")}.${r.slice(1).join("")}`}function et(e,t){let r=e.replace(/\D/g,"");if(r===""||r==="0")return`0${t}00`;let o=r.padStart(3,"0"),s=o.slice(0,-2).replace(/^0+/,"")||"0",n=o.slice(-2);return`${s}${t}${n}`}function eo(e,t){if(!e)return"";let r=t==="."?e:e.replace(t,"."),o=Number.parseFloat(r);return Number.isNaN(o)||o<=0?"":Math.round(o*100).toString()}var $o=90,jo=118,Go=78,Wo=106,Ko=72,Zo=90,qo=62,Uo=80,Xo=24,Yo=36,Qo=22,Jo=32,ea=6,ta=5,Ee=3,to=4,tt="00",ro=/^(\d+)\.00$/;function ra(e){switch(e){case"X":return"munchi.numpad.key.backspace";case tt:return"munchi.numpad.key.double-zero";case"-":return"munchi.numpad.key.minus";case"+":return"munchi.numpad.key.plus";default:return`munchi.numpad.key.digit-${e}`}}var oa=(0,oo.cva)("items-center justify-center rounded-2xl",{variants:{pressed:{true:"",false:"bg-muted"},scheme:{dark:"",light:""}},compoundVariants:[{pressed:!0,scheme:"dark",className:"bg-white/15 border-white/20"},{pressed:!0,scheme:"light",className:"bg-foreground/10 border-foreground/15"}],defaultVariants:{pressed:!1,scheme:"light"}}),pr=({customAmount:e,setCustomAmount:t,mode:r,maxDigits:o=6,availableHeight:s})=>{let n=mr(),l=r==="price"||r==="cash"||r==="discount",i=l,d=r==="phone",c=(0,re.useRef)(e);c.current=e;let x=(0,re.useRef)(0),{foreground:g}=E(),{colorScheme:p}=j(),{width:u}=(0,K.useWindowDimensions)(),y=u>=768,h=K.Platform.OS==="android",w=h?y?Wo:Go:y?jo:$o,R=h?y?Uo:qo:y?Zo:Ko,f=h?ta:ea,V=h?y?Jo:Qo:y?Yo:Xo,C=p==="dark"?"dark":"light",v=(0,re.useCallback)(m=>{if(l){let A=m===tt;if(!A&&!/^\d$/.test(m))return;let O=eo(c.current??"",n);if(A){let we=`${O}00`.replace(/^0+/,"")||"";if(we===""){x.current=0;return}if(we.length>o+2)return;x.current=2;let ze=et(we,n);c.current=ze,t(ze);return}if(x.current>0){let we=O.padStart(3,"0"),ze=we.slice(0,-2),mo=(we.slice(-2)[1]??"0")+m,Pr=(ze+mo).replace(/^0+/,"")||"";if(Pr.length>o+2)return;x.current-=1;let wr=et(Pr,n);c.current=wr,t(wr);return}let Pe=(O+m).replace(/^0+/,"")||"";if(Pe.length>o+2)return;if(Pe===""){c.current=null,t(null);return}let ke=et(Pe,n);c.current=ke,t(ke);return}let P=c.current??"",N=cr(P,n),[D="",T=""]=N.split("."),q=N.includes("."),he=m===n;if(m===tt&&i){if(!q){let O=D===""?"0.00":`${D}.00`;c.current=O,t(O);return}let A=ro.exec(N);if(A){let O=A[1]??"";c.current=O,t(O);return}return}if(he){if(q)return;t(P+n);return}let yr=i?ro.exec(N):null;if(yr&&/^\d$/.test(m)){let A=yr[1]??"";if(m==="0"){let Pe=`${A}0`;if(Pe.length>o)return;let ke=`${Pe}.00`;c.current=ke,t(ke);return}let O=`${A}.${m}0`;c.current=O,t(O);return}if(i&&q){if(T.length===2&&T[0]!=="0"&&T[1]!=="0"&&/^\d$/.test(m)){let A=`${D}${m}`;if(A.length>o)return;let O=`${A}.${T}`;c.current=O,t(O);return}if(T.length===2&&T[1]==="0"){let A=`${D}.${T[0]}${m}`;c.current=A,t(A);return}if(T.length===1&&/^\d$/.test(T)){let A=`${D}.${T}${m}`;c.current=A,t(A);return}if(T.length>=2)return}if(i){if(!q&&D.length>=o)return}else if(D.length>=o)return;let co=P+m,hr=cr(co,n);c.current=hr,t(hr)},[n,l,i,o,t]),S=(0,re.useCallback)(()=>{let m=c.current;if(l){if(x.current=0,m==null||m===""){c.current=null,t(null);return}let q=eo(m,n).slice(0,-1).replace(/^0+/,"")||"";if(q===""){c.current=null,t(null);return}let he=et(q,n);c.current=he,t(he);return}if(m==null||m===""){c.current=null,t(null);return}let P=cr(m,n);if(!P.includes(".")){let T=P.slice(0,-1);if(T===""){c.current=null,t(null);return}c.current=T,t(T);return}let[N="",D=""]=P.split(".");if(D.length>0){let T=D.slice(0,-1);if(T===""){c.current=N===""?null:N,t(N===""?null:N);return}let q=`${N}.${T}`;c.current=q,t(q);return}c.current=N===""?null:N,t(N===""?null:N)},[n,l,t]),F=(0,re.useMemo)(()=>["1","2","3","4","5","6","7","8","9",r==="giftcard"?"-":i?tt:d?"+":"","0","X"],[r,i,d]),[I,oe]=(0,re.useState)(0),Y=I>0?Math.floor((I-f*(Ee-1))/Ee):w,J=s!=null&&s>0?Math.floor((s-f*(to-1))/to):Math.round(Y*(R/w)),B=Math.round(V*(Y/w));return React.createElement(K.View,{style:{width:"100%",gap:f},onLayout:m=>oe(m.nativeEvent.layout.width)},[0,1,2,3].map(m=>React.createElement(K.View,{key:m,style:{flexDirection:"row",gap:f}},F.slice(m*Ee,m*Ee+Ee).map((P,N)=>{let D=`${m}-${N}`;return P===""?React.createElement(K.View,{key:D,style:{width:Y,height:J}}):React.createElement(aa,{key:D,testID:ra(P),item:P,width:Y,height:J,fontSize:B,foreground:g,scheme:C,onPress:P==="X"?S:()=>v(P)})}))))},aa=({testID:e,item:t,width:r,height:o,fontSize:s,foreground:n,scheme:l,onPress:i})=>React.createElement(K.Pressable,{testID:e,onPress:i,style:{width:r,height:o}},({pressed:d})=>React.createElement(K.View,{style:{width:r,height:o},className:a(oa({pressed:d,scheme:l}))},t==="X"?React.createElement(ao.Delete,{size:s,color:n}):React.createElement(K.Text,{style:{fontSize:s,lineHeight:s*1.4},className:"text-foreground font-munchi"},t)));pr.displayName="MNumpad";var ge=require("react"),Le=require("react-native"),z=b(require("react-native-reanimated"));var be={damping:20,stiffness:200,mass:.8},ur=({tabs:e,activeTab:t,onTabChange:r,className:o,style:s,disabled:n=!1,size:l="default",variant:i="default",stretch:d=!1,...c})=>{let{colorScheme:x}=j(),g=U[x==="dark"?"dark":"light"],p=l==="compact",u=i==="ghost",y=u?0:p?2:4,h=u?20:p?8:12,w=p?8:12,R=u?7:p?2:4,f=u?22:p?8:12,V=p?2:4,C=(0,ge.useRef)({}),v=(0,z.useSharedValue)(0),S=(0,z.useSharedValue)(0),F=(0,ge.useRef)(!1),[,I]=(0,ge.useState)(0);(0,ge.useEffect)(()=>{if(t==null){F.current=!1,S.value=(0,z.withSpring)(0,be);return}let B=String(t),m=C.current[B];if(m){v.value=(0,z.withSpring)(m.x,be),S.value=(0,z.withSpring)(m.width,be),F.current=!0,I(P=>P+1);return}F.current=!1},[t,S,v]);let oe=(0,z.useAnimatedStyle)(()=>({transform:[{translateX:v.value}],width:S.value})),Y=(B,m)=>{C.current[B]=m;let P=String(t);if(B===P){if(!F.current){v.value=m.x,S.value=m.width,F.current=!0,I(N=>N+1);return}v.value=(0,z.withSpring)(m.x,be),S.value=(0,z.withSpring)(m.width,be)}},J=B=>{let m=String(B),P=C.current[m];P&&(v.value=(0,z.withSpring)(P.x,be),S.value=(0,z.withSpring)(P.width,be)),r(B)};return React.createElement(Le.View,{className:a("flex-row",!u&&"bg-accent",p?"gap-0.5 rounded-xl p-0.5":"gap-1 rounded-2xl p-1",d?"self-stretch":"self-start",o),style:s,...c},React.createElement(z.default.View,{pointerEvents:"none",style:[{position:"absolute",top:y,bottom:y,borderRadius:h,backgroundColor:g.card,shadowColor:g.text,shadowOpacity:u?0:x==="dark"?.08:.14,shadowRadius:p?4:6,shadowOffset:{width:0,height:p?1:2},elevation:p?2:3},oe]}),e.map(({key:B,label:m,icon:P,disabled:N=!1})=>{let D=n||N;return React.createElement(Le.Pressable,{key:String(B),onPress:()=>J(B),disabled:D,onLayout:T=>Y(String(B),T.nativeEvent.layout),style:{...d?{flex:1,minWidth:0}:{flexShrink:1,minWidth:0},alignItems:"center",justifyContent:"center",paddingHorizontal:w,paddingVertical:R,borderRadius:f,opacity:D?.5:1}},React.createElement(Le.View,{style:{flexDirection:"row",alignItems:"center",gap:V,flexShrink:1,overflow:"hidden"}},P,m&&React.createElement(k,{size:u?"lg":"xl",numberOfLines:1,style:{flexShrink:1}},m)))}))};ur.displayName="MTabs";var Fe=b(require("dayjs")),ye=require("react"),rt=require("react-native");var sa=(e,t)=>{let r=e.diff(t,"minute");if(r<1)return"0m";let o=Math.floor(r/1440),s=r%1440,n=Math.floor(s/60),l=s%60,i="";return o>0&&(i+=`${o}d `),(n>0||o>0)&&(i+=`${n}h `),i+=`${l}m`,i.trim()},fr=({date:e,className:t="",textClassName:r=""})=>{let o=(0,ye.useMemo)(()=>(0,Fe.default)(e),[e]),[s,n]=(0,ye.useState)(()=>(0,Fe.default)());(0,ye.useEffect)(()=>{let d=(()=>{let c=(0,Fe.default)(),g=c.add(1,"minute").startOf("minute").diff(c);return setTimeout(()=>{n((0,Fe.default)())},g>0?g:6e4)})();return()=>clearTimeout(d)},[s]);let l=(0,ye.useMemo)(()=>sa(s,o),[s,o]);return React.createElement(rt.View,{className:a("rounded-md flex items-center justify-center bg-muted border border-border/60","dark:border-white/20 dark:bg-white/12",t)},React.createElement(rt.Text,{className:a("font-munchi-semibold text-foreground dark:text-neutral-200",r)},l))};fr.displayName="MTimerUp";var $=b(require("react")),de=require("react-native");var ot=$.forwardRef(({className:e,...t},r)=>$.createElement(de.View,{ref:r,className:a("rounded-lg border border-border bg-card shadow-sm shadow-foreground/10",e),...t}));ot.displayName="Card";var at=$.forwardRef(({className:e,...t},r)=>$.createElement(de.View,{ref:r,className:a("flex flex-col space-y-1.5 p-6",e),...t}));at.displayName="CardHeader";var st=$.forwardRef(({className:e,...t},r)=>$.createElement(de.Text,{role:"heading","aria-level":3,ref:r,className:a("text-2xl text-card-foreground font-semibold leading-none tracking-tight",e),...t}));st.displayName="CardTitle";var nt=$.forwardRef(({className:e,...t},r)=>$.createElement(de.Text,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));nt.displayName="CardDescription";var it=$.forwardRef(({className:e,...t},r)=>$.createElement(Ie.Provider,{value:"text-card-foreground"},$.createElement(de.View,{ref:r,className:a("p-6 pt-0",e),...t})));it.displayName="CardContent";var lt=$.forwardRef(({className:e,...t},r)=>$.createElement(de.View,{ref:r,className:a("flex flex-row items-center p-6 pt-0",e),...t}));lt.displayName="CardFooter";var ct=b(require("react")),Z=b(require("react-native-reanimated"));var so=1e3;function xr({className:e,...t}){let r=(0,Z.useSharedValue)(1);ct.useEffect(()=>{r.value=(0,Z.withRepeat)((0,Z.withSequence)((0,Z.withTiming)(.5,{duration:so}),(0,Z.withTiming)(1,{duration:so})),-1)},[]);let o=(0,Z.useAnimatedStyle)(()=>({opacity:r.value}));return ct.createElement(Z.default.View,{style:o,className:a("rounded-md bg-secondary dark:bg-muted",e),...t})}var no=require("react-native"),br=e=>React.createElement(no.Switch,{...e});br.displayName="MSwitch";var W=b(require("@rn-primitives/table")),_=b(require("react"));var dt=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Root,{ref:r,className:a("w-full caption-bottom text-sm",e),...t}));dt.displayName="Table";var mt=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Header,{ref:r,className:a("border-border [&_tr]:border-b",e),...t}));mt.displayName="TableHeader";var pt=_.forwardRef(({className:e,style:t,...r},o)=>_.createElement(W.Body,{ref:o,className:a("flex-1 border-border [&_tr:last-child]:border-0",e),style:[{minHeight:2},t],...r}));pt.displayName="TableBody";var ut=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Footer,{ref:r,className:a("bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));ut.displayName="TableFooter";var ft=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Row,{ref:r,className:a("flex-row border-border border-b web:transition-colors web:hover:bg-muted/50 web:data-[state=selected]:bg-muted",e),...t}));ft.displayName="TableRow";var xt=_.forwardRef(({className:e,...t},r)=>_.createElement(Ie.Provider,{value:"text-muted-foreground"},_.createElement(W.Head,{ref:r,className:a("h-12 px-4 text-left justify-center font-medium [&:has([role=checkbox])]:pr-0",e),...t})));xt.displayName="TableHead";var bt=_.forwardRef(({className:e,...t},r)=>_.createElement(W.Cell,{ref:r,className:a("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));bt.displayName="TableCell";var Se=require("@rn-primitives/portal");var gt=require("class-variance-authority"),io=require("lucide-react-native"),yt=require("react"),ne=require("react-native");var na=(0,gt.cva)("w-full",{variants:{size:{default:"gap-1.5",sm:"gap-1",lg:"gap-2"}},defaultVariants:{size:"default"}}),ia=(0,gt.cva)("flex-row items-center bg-card border border-border",{variants:{size:{default:"px-4 py-3",sm:"px-3 py-2",lg:"px-5 py-4"},radius:{xl:"rounded-xl","2xl":"rounded-2xl"},hasError:{true:"border border-destructive",false:""},focused:{true:"border border-primary",false:""}},compoundVariants:[{hasError:!0,focused:!0,class:"border border-destructive"}],defaultVariants:{size:"default",radius:"xl",hasError:!1,focused:!1}}),la=(0,gt.cva)("flex-1 min-w-0 font-munchi text-foreground p-0",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),ca={default:18,sm:16,lg:20},gr=({label:e,errorMessage:t,rightIcon:r,size:o="default",radius:s="xl",className:n,inputClassName:l,onFocus:i,onBlur:d,placeholderTextColor:c,...x})=>{let{foreground:g,muted:p,destructive:u}=E(),[y,h]=(0,yt.useState)(!1),w=(0,yt.useRef)(null),R=!!t;return React.createElement(ne.View,{className:a(na({size:o}),n)},e&&React.createElement(k,{size:o==="lg"?"lg":o==="sm"?"sm":"base",className:"font-munchi-semibold text-foreground"},e),React.createElement(ne.Pressable,{onPress:()=>w.current?.focus()},React.createElement(ne.View,{className:ia({size:o,radius:s,hasError:R,focused:y})},React.createElement(ne.TextInput,{ref:w,placeholderTextColor:c??p,onFocus:f=>{h(!0),i?.(f)},onBlur:f=>{h(!1),d?.(f)},style:{color:g,fontSize:ca[o??"default"],paddingVertical:0,includeFontPadding:!1},className:a(la({size:o}),l),...x}),r&&React.createElement(ne.View,{className:"ml-2 shrink-0"},r))),R&&React.createElement(ne.View,{className:"flex-row items-center gap-1.5"},React.createElement(io.AlertCircle,{size:14,color:u}),React.createElement(k,{size:"sm",className:"text-destructive flex-1"},t)))};gr.displayName="MInput";var Oe=b(require("@rn-primitives/label")),Be=b(require("react"));var ht=Be.forwardRef(({className:e,onPress:t,onLongPress:r,onPressIn:o,onPressOut:s,...n},l)=>Be.createElement(Oe.Root,{className:"web:cursor-default",onPress:t,onLongPress:r,onPressIn:o,onPressOut:s},Be.createElement(Oe.Text,{ref:l,className:a("text-sm text-foreground native:text-base font-medium leading-none web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70",e),...n})));ht.displayName=Oe.Root.displayName;var pe=b(require("@rn-primitives/radio-group")),me=b(require("react")),lo=require("react-native");var Pt=me.forwardRef(({className:e,...t},r)=>me.createElement(pe.Root,{className:a("web:grid gap-2",e),...t,ref:r}));Pt.displayName=pe.Root.displayName;var wt=me.forwardRef(({className:e,...t},r)=>me.createElement(pe.Item,{ref:r,className:a("aspect-square h-4 w-4 native:h-5 native:w-5 rounded-full justify-center items-center border border-border web:ring-offset-background web:focus:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",t.disabled&&"web:cursor-not-allowed opacity-50",e),...t},me.createElement(pe.Indicator,{className:"flex items-center justify-center"},me.createElement(lo.View,{className:"aspect-square h-[9px] w-[9px] native:h-[10] native:w-[10] bg-primary rounded-full"}))));wt.displayName=pe.Item.displayName;0&&(module.exports={MAlert,MAnimation,MAvatar,MBadge,MButton,MCard,MCardContent,MCardDescription,MCardFooter,MCardHeader,MCardTitle,MChevron,MConfirmation,MCountDown,MDateTimePicker,MDivider,MDrawerRightPanel,MDropdown,MInput,MLabel,MLucideIcon,MModal,MNativeAlert,MNumpad,MPicker,MPinPadKeys,MPortal,MPortalHost,MProgressBar,MRadioGroup,MRadioGroupItem,MRequiredLabel,MResponsiveContainer,MSearch,MSelector,MSkeleton,MSwitch,MTable,MTableBody,MTableCell,MTableFooter,MTableHead,MTableHeader,MTableRow,MTabs,MText,MTimerUp,MToggle,ModalContent,ModalHeight,ModalScrollContext,NAV_THEME,NumpadMode,buttonVariants,cn,darkVars,getDecimalSeparator,lightVars,typography,useColorScheme,useIconColors});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{clsx as _r}from"clsx";import{twMerge as Er}from"tailwind-merge";function a(...e){return Er(_r(e))}function Se(e,t=4,r="0"){return e.toString().padStart(t,r)}import{useColorScheme as Lr}from"nativewind";function O(){let{colorScheme:e,setColorScheme:t,toggleColorScheme:r}=Lr();return{colorScheme:e??"light",isDarkColorScheme:e==="dark",setColorScheme:t,toggleColorScheme:r}}var le={"--background":"0 0% 95.7%","--foreground":"0 0% 7.8%","--card":"0 0% 100%","--card-foreground":"0 0% 7.8%","--popover":"0 0% 100%","--popover-foreground":"0 0% 7.8%","--primary":"0 0% 7.8%","--primary-foreground":"0 0% 100%","--secondary":"0 0% 93%","--secondary-foreground":"0 0% 7.8%","--muted":"0 0% 93%","--muted-foreground":"0 0% 45%","--accent":"0 0% 89.4%","--accent-foreground":"0 0% 7.8%","--destructive":"0 84.2% 60.2%","--destructive-foreground":"0 0% 100%","--border":"0 0% 78%","--input":"0 0% 78%","--ring":"0 0% 7.8%"},ce={"--background":"0 0% 7.8%","--foreground":"0 0% 100%","--card":"0 0% 14.5%","--card-foreground":"0 0% 100%","--popover":"0 0% 14.5%","--popover-foreground":"0 0% 100%","--primary":"0 0% 100%","--primary-foreground":"0 0% 7.8%","--secondary":"0 0% 18%","--secondary-foreground":"0 0% 100%","--muted":"0 0% 11%","--muted-foreground":"0 0% 60%","--accent":"0 0% 21.2%","--accent-foreground":"0 0% 100%","--destructive":"0 72% 51%","--destructive-foreground":"0 0% 100%","--border":"0 0% 28%","--input":"0 0% 28%","--ring":"0 0% 60%"};var se=(e,t)=>`hsl(${e[t]})`,pt=e=>({background:se(e,"--background"),border:se(e,"--border"),card:se(e,"--card"),notification:se(e,"--destructive"),primary:se(e,"--primary"),text:se(e,"--foreground")}),z={light:pt(le),dark:pt(ce)};function E(){let{colorScheme:e}=O(),t=e==="dark"?"dark":"light",r=z[t];return{foreground:r.text,muted:t==="dark"?"hsl(240 5% 64.9%)":"hsl(240 3.8% 46.1%)",primary:r.primary,destructive:r.notification,onDestructive:"hsl(0 0% 100%)",onPrimary:t==="dark"?"hsl(240 5.9% 10%)":"hsl(0 0% 98%)"}}var Fr={regular:"DMSans_400Regular",medium:"DMSans_500Medium",bold:"DMSans_700Bold"};import{cva as Or}from"class-variance-authority";import*as $ from"react";import{View as ft}from"react-native";import*as ut from"@rn-primitives/slot";import*as Z from"react";import{Text as Br}from"react-native";var de=Z.createContext(void 0),ye=Z.forwardRef(({className:e,asChild:t=!1,...r},o)=>{let s=Z.useContext(de);return Z.createElement(t?ut.Text:Br,{className:a("text-base text-foreground web:select-text",s,e),ref:o,...r})});ye.displayName="Text";var Hr=Or("relative bg-background w-full rounded-lg border border-border p-4 shadow shadow-foreground/10",{variants:{variant:{default:"",destructive:"border-destructive"}},defaultVariants:{variant:"default"}}),zr={default:"hsl(240 10% 3.9%)",destructive:"hsl(0 84.2% 60.2%)"},ke=$.forwardRef(({className:e,variant:t,children:r,icon:o,iconSize:s=16,iconClassName:n,...c},l)=>{let i=zr[t??"default"];return $.createElement(ft,{ref:l,role:"alert",className:Hr({variant:t,className:e}),...c},$.createElement(ft,{className:"absolute left-3.5 top-4 -translate-y-0.5"},$.createElement(o,{size:s,color:i})),r)});ke.displayName="Alert";var Ie=$.forwardRef(({className:e,...t},r)=>$.createElement(ye,{ref:r,className:a("pl-7 mb-1 font-medium text-base leading-none tracking-tight text-foreground",e),...t}));Ie.displayName="AlertTitle";var De=$.forwardRef(({className:e,...t},r)=>$.createElement(ye,{ref:r,className:a("pl-7 text-sm leading-relaxed text-foreground",e),...t}));De.displayName="AlertDescription";var xt=({title:e,description:t,icon:r,iconSize:o,iconClassName:s,variant:n="default",className:c})=>React.createElement(ke,{icon:r,iconSize:o,iconClassName:s,variant:n,className:a(c)},React.createElement(Ie,null,e),t&&React.createElement(De,null,t));xt.displayName="MAlert";import Wr from"lottie-react-native";import{View as he}from"react-native";import{cva as $r}from"class-variance-authority";import bt from"react";import{Text as jr}from"react-native";var Gr=$r("text-base text-foreground",{variants:{variant:{default:"font-munchi"},size:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl"}},defaultVariants:{variant:"default",size:"base"}}),S=bt.forwardRef(({className:e,variant:t,size:r,children:o,...s},n)=>bt.createElement(jr,{ref:n,className:a(Gr({variant:t,size:r}),e),...s,allowFontScaling:!1},o));S.displayName="MText";var gt=({children:e,animationSource:t,lottieViewProps:r,childrenClass:o,text:s,subText:n})=>React.createElement(he,{className:"w-full flex-1 flex-col gap-4"},React.createElement(he,{className:"flex-1 flex items-center justify-center"},React.createElement(Wr,{...r,source:t})),(s||n)&&React.createElement(he,{className:"items-center gap-1 px-4"},s&&React.createElement(S,{className:"text-center text-2xl font-munchi-semibold"},s),n&&React.createElement(S,{className:"text-center text-base text-muted-foreground"},n)),e&&React.createElement(he,{className:a("flex flex-col items-center",o)},e));gt.displayName="MAnimation";import{cva as yt}from"class-variance-authority";import me from"react";import{Platform as Kr,Text as Zr}from"react-native";import*as W from"@rn-primitives/avatar";import*as q from"react";var Ae=q.forwardRef(({className:e,...t},r)=>q.createElement(W.Root,{ref:r,className:a("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));Ae.displayName=W.Root.displayName;var _e=q.forwardRef(({className:e,...t},r)=>q.createElement(W.Image,{ref:r,className:a("aspect-square h-full w-full",e),...t}));_e.displayName=W.Image.displayName;var Ee=q.forwardRef(({className:e,...t},r)=>q.createElement(W.Fallback,{ref:r,className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));Ee.displayName=W.Fallback.displayName;var qr=yt("relative flex shrink-0 overflow-hidden rounded-full",{variants:{size:{xs:"h-6 w-6",sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16",xxl:"h-20 w-20",full:"h-full w-full"}},defaultVariants:{size:"md"}}),Ur=yt("font-munchi text-background",{variants:{size:{xs:"text-sm",sm:"text-sm",md:"text-base",lg:"text-xl",xl:"text-3xl",xxl:"text-4xl",full:"text-2xl"}},defaultVariants:{size:"md"}}),ht=me.forwardRef(({className:e,size:t,source:r,fallbackText:o,imageClassName:s,fallbackClassName:n,fallbackTextClassName:c,...l},i)=>me.createElement(Ae,{ref:i,className:a(qr({size:t}),e),...l},r&&me.createElement(_e,{source:r,className:a("aspect-square h-full w-full",s)}),me.createElement(Ee,{className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",n)},me.createElement(Zr,{className:a(Ur({size:t}),Kr.OS==="ios"&&"text-foreground",c)},o))));ht.displayName="MAvatar";import{cva as Pt}from"class-variance-authority";import{Text as Xr,View as Yr}from"react-native";var Qr=Pt("p-1 px-2 rounded-md border-0",{variants:{variant:{default:"bg-secondary",accent:"bg-accent",muted:"bg-muted text-muted-foreground",destructive:"bg-destructive",primary:"bg-primary text-primary-foreground mx-1",gray:"bg-muted text-muted-foreground",custom:""}},defaultVariants:{variant:"gray"}}),Jr=Pt("text-xs font-munchi",{variants:{variant:{default:"text-secondary-foreground",accent:"text-accent-foreground",muted:"text-muted-foreground",destructive:"text-destructive-foreground",primary:"text-primary-foreground",gray:"text-muted-foreground",custom:"text-foreground"}},defaultVariants:{variant:"gray"}}),wt=({variant:e="gray",text:t,show:r=!0,customBackgroundColor:o,className:s,textClassName:n})=>{if(!r)return null;let c=e==="custom";return React.createElement(Yr,{className:a(Qr({variant:e}),s),style:c?{backgroundColor:o}:void 0},React.createElement(Xr,{className:a(Jr({variant:e}),n)},t))};wt.displayName="MBadge";import{cva as eo}from"class-variance-authority";import Le from"react";import{Pressable as Mt}from"react-native";var Nt=eo("flex-row justify-center items-center rounded-full",{variants:{variant:{default:"bg-primary",primary:"bg-primary",white:"bg-card border border-border",destructive:"bg-destructive",outline:"bg-transparent border border-border",secondary:"bg-secondary",ghost:"bg-transparent",link:"bg-transparent",none:"none",custom:""},size:{none:"",default:"h-auto px-4 md:py-2",sm:"h-8 px-3 py-1.5",lg:"h-10 px-6 py-2.5",icon:"h-9 w-9 p-2 justify-center items-center"}},defaultVariants:{variant:"default",size:"default"}}),Tt=Le.forwardRef((e,t)=>{let{onPress:r,variant:o="default",size:s="default",disabled:n=!1,children:c,className:l,...i}=e;return o==="custom"?Le.createElement(Mt,{ref:t,disabled:n,className:a(n&&"opacity-50",l),onPress:r,android_ripple:null,...i},c):Le.createElement(Mt,{ref:t,disabled:n,className:a(Nt({variant:o,size:s}),n&&"opacity-50",l),onPress:r,...i},c)});Tt.displayName="MButton";import{useEffect as to,useRef as ro}from"react";import{Animated as Fe}from"react-native";import oo,{Path as ao}from"react-native-svg";var vt=({isOpen:e,size:t=11,color:r})=>{let{colorScheme:o}=O(),s=r??z[o].text,n=ro(new Fe.Value(e?90:0)).current;to(()=>{Fe.timing(n,{toValue:e?90:0,duration:200,useNativeDriver:!0}).start()},[e,n]);let c=n.interpolate({inputRange:[0,90],outputRange:["0deg","90deg"]});return React.createElement(Fe.View,{style:{transform:[{rotate:c}]}},React.createElement(oo,{width:t,height:t,viewBox:"0 0 11 11",fill:"none"},React.createElement(ao,{fillRule:"evenodd",clipRule:"evenodd",d:"M3.80026 1.96823C3.97925 1.78924 4.26945 1.78924 4.44844 1.96823L7.65677 5.17656C7.83575 5.35554 7.83575 5.64576 7.65677 5.82474L4.44844 9.03307C4.26945 9.21205 3.97925 9.21205 3.80026 9.03307C3.62127 8.85409 3.62127 8.56388 3.80026 8.3849L6.68451 5.50065L3.80026 2.61641C3.62127 2.43742 3.62127 2.14722 3.80026 1.96823Z",fill:s})))};vt.displayName="MChevron";import{Text as Ct}from"react-native";import so,{useDefaultClassNames as no}from"react-native-ui-datepicker";var Rt=({className:e,classNames:t,showOutsideDays:r=!0,containerHeight:o=220,components:s,minDate:n,maxDate:c,...l})=>{let i=no(),u=n||(()=>{let m=new Date;return m.setFullYear(m.getFullYear()-1),m})(),h=c||(()=>{let m=new Date;return m.setDate(m.getDate()),m})(),g={IconPrev:React.createElement(Ct,{className:"font-munchi text-lg text-foreground"},"<"),IconNext:React.createElement(Ct,{className:"font-munchi text-lg text-foreground"},">")};return React.createElement(so,{showOutsideDays:r,className:a("bg-card w-full rounded-xl",e),containerHeight:o,minDate:u,maxDate:h,classNames:{...i,day_cell:"p-0.5",day:a(i.day,"font-munchi rounded-xl text-foreground w-10 h-10"),day_label:"font-munchi text-base text-foreground",outside_label:"font-munchi text-base text-foreground opacity-40",today_label:"text-destructive font-munchi-bold text-base",month_selector_label:a(i.month_selector_label,"text-base font-munchi-semibold text-foreground"),year_selector_label:a(i.year_selector_label,"text-base font-munchi-semibold text-foreground"),time_selector_label:a(i.time_selector_label,"text-base font-munchi text-foreground"),header:"font-munchi-semibold text-lg text-foreground pb-2",weekday_label:"font-munchi-semibold text-sm text-muted-foreground",selected:a(i.selected,"font-munchi bg-primary rounded-xl"),selected_label:"font-munchi-semibold text-primary-foreground text-base",range_end:a(i.range_end,"font-munchi bg-primary rounded-r-xl"),range_start:a(i.range_start,"font-munchi bg-primary rounded-l-xl"),range_end_label:a(i.range_end_label,"font-munchi-semibold text-primary-foreground text-base"),range_start_label:a(i.range_start_label,"font-munchi-semibold text-primary-foreground text-base"),range_fill:"bg-primary/20 my-1",range_fill_weekstart:"rounded-s-lg",range_fill_weekend:"rounded-e-lg",range_middle_label:"font-munchi text-base text-foreground",month:a(i.month,"font-munchi rounded-xl text-foreground"),month_label:"font-munchi text-base text-foreground",year:a(i.year,"font-munchi rounded-xl text-foreground"),year_label:"font-munchi text-base text-foreground",time_label:"font-munchi text-2xl text-foreground",...t},components:{...g,...s},...l})};Rt.displayName="MDateTimePicker";import{cva as io}from"class-variance-authority";import{View as lo}from"react-native";var co=io("",{variants:{direction:{horizontal:"my-2",vertical:"mx-2"},variant:{sm:"",md:"",lg:""}},defaultVariants:{direction:"horizontal",variant:"md"}}),mo={sm:1,md:2,lg:4},Vt=({className:e,direction:t="horizontal",variant:r="md",color:o,style:s})=>{let n=t==="horizontal",c=mo[r??"md"],l=o?{backgroundColor:o,[n?"height":"width"]:c,[n?"width":"height"]:"100%"}:{[n?"height":"width"]:c,[n?"width":"height"]:"100%"};return React.createElement(lo,{className:a(!o&&"bg-border",co({direction:t,variant:r}),e),style:[l,s]})};Vt.displayName="MDivider";import po from"react";import*as uo from"lucide-react-native";var St=({name:e,...t})=>{let r=uo[e];return r?po.createElement(r,{...t}):null};St.displayName="MLucideIcon";import{useRef as fo,useState as kt}from"react";import{FlatList as xo,Modal as bo,Pressable as Be,Text as It,View as Dt}from"react-native";var At=({data:e,onSelect:t,placeholder:r,selectedValue:o,className:s,textClassName:n,dropdownContainerClassName:c,itemContainerClassName:l,itemTextClassName:i})=>{let[u,h]=kt(!1),g=fo(null),[m,p]=kt({x:0,y:0,width:0,height:0}),y=e.find(x=>x.value===o),P=x=>{t(x),h(!1)},M=({item:x})=>{let R=x.value===o;return React.createElement(Be,{className:a("p-3 rounded-md m-1",R?"bg-primary":"active:bg-muted",l),onPress:()=>P(x)},React.createElement(It,{className:a(R?"text-primary-foreground":"text-foreground",i),numberOfLines:1},x.label))},T=()=>{u?h(!1):g.current?.measureInWindow((x,R,v,N)=>{p({x,y:R,width:v,height:N}),h(!0)})};return React.createElement(Dt,{className:"flex-col items-center justify-center"},React.createElement(Be,{ref:g,className:a("bg-primary rounded-full py-4 px-6 flex-row items-center",s),onPress:T},React.createElement(It,{className:a("text-primary-foreground text-base",n),numberOfLines:1,ellipsizeMode:"tail"},y?y.label:r)),React.createElement(bo,{animationType:"none",transparent:!0,visible:u,onRequestClose:()=>{h(!1)}},React.createElement(Be,{className:"absolute inset-0",onPress:()=>h(!1)}),React.createElement(Dt,{style:{position:"absolute",top:m.y+m.height,left:m.x},className:a("min-w-[100px] bg-background shadow-lg rounded-lg border border-border p-1 z-50 mt-2",c)},React.createElement(xo,{data:e,renderItem:M,keyExtractor:x=>String(x.value),className:"max-h-[200px]"}))))};At.displayName="MPicker";import{cva as Et}from"class-variance-authority";import{View as _t}from"react-native";var go=Et("w-full h-2 rounded-full relative",{variants:{size:{sm:"h-1",md:"h-2",lg:"h-3"},variant:{default:"bg-muted",accent:"bg-accent/30",destructive:"bg-destructive/30",secondary:"bg-secondary",gray:"bg-gray",pink:"bg-pink",blue:"bg-blue-200",green:"bg-green-200"}},defaultVariants:{size:"md",variant:"default"}}),yo=Et("h-full rounded-full absolute top-0 left-0",{variants:{variant:{default:"bg-foreground",accent:"bg-accent",destructive:"bg-destructive",secondary:"bg-secondary-foreground",gray:"bg-gray-600",pink:"bg-pink",blue:"bg-blue-600",green:"bg-green-600"}},defaultVariants:{variant:"default"}}),Lt=({progress:e,size:t="md",variant:r="default",className:o,fillClassName:s})=>{let n=Math.min(Math.max(e,0),100);return React.createElement(_t,{className:a(go({size:t,variant:r}),o)},React.createElement(_t,{style:{width:`${n}%`},className:a(yo({variant:r}),s)}))};Lt.displayName="MProgressBar";import{View as ho}from"react-native";var Ft=({children:e,className:t,style:r,padding:o,margin:s,...n})=>React.createElement(ho,{className:a((()=>{let l=[];if(o)for(let[i,u]of Object.entries(o))u!==void 0&&l.push(`${i}:p-${u}`);if(s)for(let[i,u]of Object.entries(s))u!==void 0&&l.push(`${i}:m-${u}`);return l.join(" ")})(),t),style:r,...n},e);Ft.displayName="MResponsiveContainer";import{View as Po}from"react-native";var wo=({label:e,className:t,...r})=>React.createElement(Po,{className:a("flex-row items-center gap-1 mb-3",t),...r},React.createElement(S,{className:"font-munchi-bold text-xl"},e),React.createElement(S,{className:"font-munchi-bold text-xl text-destructive"},"*"));import{cva as Mo}from"class-variance-authority";import{ArrowLeft as No,X as Oe}from"lucide-react-native";import{Fragment as To,createContext as Ot,useContext as Bt,useRef as vo}from"react";import{KeyboardAvoidingView as Co,Modal as Ro,Pressable as Q,ScrollView as Vo,View as K}from"react-native";var Ht=(l=>(l.ExtraSmall="xs",l.Small="sm",l.Medium="md",l.Large="lg",l.ExtraLarge="xl",l.ExtraExtraLarge="xxl",l.Auto="auto",l))(Ht||{}),zt=Ot({isFixed:!1}),He=Ot(null),So=Mo("rounded-2xl p-6 shadow-lg flex flex-col",{variants:{variant:{xs:"w-[40%]",sm:"w-[60%]",md:"w-[80%]",lg:"w-[95%]",auto:"w-auto self-center",fullscreen:"w-full h-full rounded-none"},height:{xs:"h-[30%]",sm:"h-[40%]",md:"h-[60%]",lg:"h-[80%]",xl:"h-[90%]",xxl:"h-[96%]",auto:"h-auto"},background:{white:"bg-card",dark:"bg-secondary",primary:"bg-muted",transparent:"bg-transparent"}},defaultVariants:{variant:"md",height:"auto",background:"white"}}),$t=({children:e,scrollable:t=!0})=>{let{isFixed:r}=Bt(zt),o=Bt(He);return t?React.createElement(K,{className:a(r&&"flex-1")},React.createElement(Vo,{ref:o,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},keyboardShouldPersistTaps:"handled",style:r?{flex:1}:void 0},React.createElement(Q,{style:{flex:1}},e))):React.createElement(K,{className:a(r&&"flex-1"),style:r?{flex:1}:void 0},React.createElement(Q,{style:{flex:1}},e))};$t.displayName="ModalBody";var jt=({children:e})=>React.createElement(K,{className:"mt-auto flex-shrink-0"},e),ko=({body:e,footer:t})=>React.createElement(To,null,React.createElement(Pe.Body,null,e),t&&React.createElement(Pe.Footer,null,t)),Io=e=>{let{isVisible:t,onClose:r,children:o,onBack:s,onDismiss:n,header:c,headingText:l,closable:i=!0,variant:u="sm",containerClassName:h,height:g,background:m="white",footer:p,onButtonClose:y,showCloseButton:P=!0,showBackButton:M=!0,keyboardAvoidingEnabled:T=!0}=e,R={isFixed:(g&&g!=="auto")??!1},v=vo(null),{foreground:N}=E(),V=()=>s&&M?React.createElement(K,{className:"flex-row items-center justify-between"},React.createElement(Q,{onPress:s,className:"bg-muted rounded-full p-2"},React.createElement(No,{color:N,size:24})),l&&React.createElement(S,{className:"font-munchi-bold text-foreground flex-1 text-left mx-3",size:"2xl",numberOfLines:1},l),P&&React.createElement(Q,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(Oe,{color:N,size:24}))):c||(l?React.createElement(K,{className:"flex-row items-center justify-between"},React.createElement(S,{className:"font-munchi-bold text-foreground w-11/12",size:"2xl",numberOfLines:1},l),P&&React.createElement(Q,{onPress:y??r,className:"bg-muted rounded-full p-3"},React.createElement(Oe,{color:N,size:24}))):P?React.createElement(K,{className:"flex-row items-center justify-between"},React.createElement(K,{className:"flex-1"}),React.createElement(Q,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(Oe,{color:N,size:24}))):null);return React.createElement(Ro,{transparent:!0,visible:t,onRequestClose:i?r:void 0,animationType:"fade",onDismiss:n},React.createElement(Co,{className:"flex-1",enabled:T,behavior:"padding"},React.createElement(Q,{className:"flex-1 items-center justify-center bg-black/50 p-4",onPress:k=>{k.target===k.currentTarget&&i&&r()}},React.createElement(K,{className:a("max-h-[95%]",So({variant:u,height:g,background:m}),h)},React.createElement(zt.Provider,{value:R},React.createElement(He.Provider,{value:v},V()!==null&&React.createElement(K,{className:"pb-4 flex-shrink-0"},V()),o,p&&React.createElement(jt,null,p)))))))},Pe=Object.assign(Io,{Body:$t,Footer:jt});Pe.displayName="MModal";import{useEffect as Do,useRef as Gt,useState as Ao}from"react";import{Modal as _o,Platform as Eo,ScrollView as Lo,TouchableWithoutFeedback as Fo,View as pe,useWindowDimensions as Bo}from"react-native";import Wt,{useAnimatedStyle as Kt,useSharedValue as Zt,withSpring as qt,withTiming as Ut}from"react-native-reanimated";import{useSafeAreaInsets as Oo}from"react-native-safe-area-context";var Ho={mass:.4,stiffness:110,damping:16,overshootClamping:!1},zo={mass:.4,stiffness:140,damping:22,overshootClamping:!0},Xt=340,Yt=({isVisible:e,onClose:t,header:r,footer:o,children:s,closable:n=!0,widthFraction:c=.45,className:l,scrollable:i=!0})=>{let{colorScheme:u}=O(),h=z[u],{width:g}=Bo(),m=Oo(),p=g*c,[y,P]=Ao(!1),M=Gt(null),T=Gt(!1),x=Zt(p),R=Zt(0),v=H=>{T.current||(T.current=!0,x.value=qt(p,zo),R.value=Ut(0,{duration:Xt}),M.current=setTimeout(()=>{P(!1),T.current=!1,H?.()},Xt))};Do(()=>(e?(M.current&&(clearTimeout(M.current),M.current=null,T.current=!1),P(!0),x.value=qt(0,Ho),R.value=Ut(1,{duration:300})):v(),()=>{M.current&&clearTimeout(M.current)}),[e]);let N=()=>{n&&v(t)},V=()=>{v(t)},A=Kt(()=>({transform:[{translateX:x.value}]})),k=Kt(()=>({opacity:R.value}));return React.createElement(_o,{transparent:!0,visible:y,animationType:"none",onRequestClose:n?V:void 0},React.createElement(pe,{className:"flex-1 flex-row justify-end",style:{paddingTop:m.top,paddingBottom:m.bottom}},React.createElement(Fo,{onPress:N},React.createElement(Wt.View,{className:"absolute inset-0 bg-black/60",style:k})),React.createElement(Wt.View,{style:[A,{width:p}],className:a("h-full overflow-hidden border rounded-2xl border-border",l)},React.createElement(pe,{className:"flex-1",style:{backgroundColor:h.background}},r&&React.createElement(pe,{className:"px-6 pt-6 flex-shrink-0"},r),i?React.createElement(Lo,{className:"flex-1 px-6",showsVerticalScrollIndicator:!1,contentContainerStyle:{paddingTop:16,paddingBottom:24},keyboardShouldPersistTaps:"handled",automaticallyAdjustKeyboardInsets:Eo.OS==="ios",keyboardDismissMode:"interactive"},s):React.createElement(pe,{className:"flex-1 overflow-hidden"},s),o&&React.createElement(pe,{className:"px-6 pb-6 pt-4 border-t-2 border-border flex-shrink-0"},o)))))};Yt.displayName="MDrawerRightPanel";import{Alert as $o}from"react-native";var Qt=({title:e,description:t,onPress:r,onPressText:o,onCancel:s,onCancelText:n})=>{$o.alert(e,t,[{text:o,onPress:r},{text:n,style:"cancel",onPress:s}])};Qt.displayName="MNativeAlert";import{useMemo as jo}from"react";import Go from"react-countdown";import{Text as Wo,View as Ko}from"react-native";var Jt=({warningThreshold:e=3,className:t="",textClassName:r="",showPrefix:o=!0,countUp:s=!1,renderer:n,onComplete:c,date:l,...i})=>{let u=jo(()=>({minutes:g,seconds:m,completed:p})=>{let y,P,M="";if(p)if(s){let A=new Date(l),H=new Date().getTime()-A.getTime();y=Math.floor(H/6e4),P=Math.floor(H%6e4/1e3),o&&(M="-")}else y=0,P=0;else y=g,P=m;let T=!p||s?Se(Math.abs(y),2):"00",x=!p||s?Se(Math.abs(P),2):"00",R=!p&&g<e,v=p,N=R||v?"bg-destructive/15":"bg-green-500/15",V=R||v?"text-destructive":"text-green-600";return React.createElement(Ko,{className:a("rounded-md flex items-center justify-center",N,t)},React.createElement(Wo,{className:a("font-munchi-semibold text-center",V,r)},M,T,":",x))},[e,s,l,o,t,r]);return React.createElement(Go,{renderer:n??u,onComplete:c,overtime:s,date:l,...i})};Jt.displayName="MCountDown";import{ArrowDown as Zo}from"lucide-react-native";import{useMemo as qo}from"react";import{StyleSheet as ue}from"react-native";import{Dropdown as Uo}from"react-native-element-dropdown";function Xo(e){return{trigger:{width:"100%",paddingHorizontal:16,paddingVertical:12,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:6,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:3,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function Yo(e){return{trigger:{width:"100%",paddingHorizontal:12,paddingVertical:8,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:4,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function Qo(e){return{trigger:{paddingHorizontal:16,paddingVertical:8,borderRadius:999,borderWidth:0,backgroundColor:e.bgColor,minWidth:160},containerStyle:{marginTop:4,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}var er=({data:e=[],placeholder:t="",value:r,onFocus:o,onBlur:s,onChange:n,customStyles:c,fieldFrame:l="none",style:i,containerStyle:u,itemContainerStyle:h,selectedTextStyle:g,placeholderStyle:m,activeColor:p,maxHeight:y=300,renderRightIcon:P,selectedTextProps:M,mode:T="auto",...x})=>{let{colorScheme:R}=O(),{foreground:v,muted:N}=E(),V=e.length===0,A=R==="dark",k=z[A?"dark":"light"],j=`hsl(${(A?ce:le)["--muted"]})`,G=qo(()=>{let re={cardColor:k.card,borderColor:k.border,textColor:k.text,mutedColor:j};return l==="mInputSm2xl"?Xo(re):l==="mInputCompact"?Yo(re):l==="pill"?Qo({...re,bgColor:j}):null},[l,k.card,k.border,k.text,j]),d=ue.flatten([G?.trigger,c,i]),f=ue.flatten([G?.containerStyle,u]),b=ue.flatten([G?.itemContainerStyle,h]),C=l==="mInputSm2xl"?18:l==="mInputCompact"?15:14,w=ue.flatten([{fontSize:C,color:v},g]),F=ue.flatten([{fontSize:C,color:V?N:v},m]),te=G?G.activeColor:p??j,lt=l==="mInputCompact"?16:20;return React.createElement(Uo,{...x,mode:T,data:e,maxHeight:y,placeholder:t,value:r,onFocus:o,onBlur:s,onChange:n,style:d,containerStyle:f,itemContainerStyle:b,activeColor:te,fontFamily:"DMSans_400Regular",selectedTextStyle:w,selectedTextProps:{numberOfLines:1,ellipsizeMode:"tail",...M??{}},placeholderStyle:F,renderRightIcon:P??(()=>React.createElement(Zo,{color:V?N:v,size:lt}))})};er.displayName="MDropdown";import{cva as rr}from"class-variance-authority";import{Search as Jo,X as ea}from"lucide-react-native";import U from"react";import{Keyboard as tr,Pressable as ta,TextInput as ra,View as ze}from"react-native";var oa=rr("flex-row items-center bg-card rounded-full border border-border",{variants:{size:{default:"",sm:"",lg:""}},defaultVariants:{size:"default"}}),aa={default:18,sm:15,lg:21},sa={default:36,sm:30,lg:52},na=rr("flex-1 min-w-0 px-2 font-munchi",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),or=U.forwardRef(({value:e,onChangeText:t,onClear:r,placeholder:o="Search...",size:s="default",className:n,containerClassName:c,inputClassName:l,iconSize:i=20,placeholderTextColor:u,...h},g)=>{let{foreground:m,muted:p}=E(),y=()=>{r?r():t(""),tr.isVisible()&&tr.dismiss()};return U.createElement(ze,{className:a(oa({size:s}),n,c)},U.createElement(ze,{className:"pl-3 shrink-0"},U.createElement(Jo,{size:i,color:p})),U.createElement(ra,{ref:g,placeholder:o,placeholderTextColor:u??p,value:e,onChangeText:t,textAlignVertical:"center",style:{color:m,fontSize:aa[s??"default"],height:sa[s??"default"],paddingVertical:0,includeFontPadding:!1},className:a(na({size:s}),l),...h}),U.createElement(ze,{className:"pr-2 shrink-0",style:{width:i+16}},e.length>0&&U.createElement(ta,{onPress:y,className:"items-center justify-center p-2"},U.createElement(ea,{size:i,color:p}))))});or.displayName="MSearch";import ne from"react";import{Pressable as ia,Text as ar,View as sr}from"react-native";var nr=ne.memo(({label:e,isSelected:t,onPress:r,description:o})=>ne.createElement(ia,{className:"flex flex-row justify-between items-center p-2",onPress:r},ne.createElement(ar,{className:a("font-munchi",t&&"font-munchi-semibold")},e),t&&o&&ne.createElement(ar,{className:"text-muted-foreground text-sm mx-2 flex-1 text-right"},o),ne.createElement(sr,{className:a("w-6 h-6 rounded-full border-2 border-primary ml-2",!t&&"bg-card")},t&&ne.createElement(sr,{className:"absolute inset-0 m-1 rounded-full bg-primary"}))));nr.displayName="MSelector";import{Pressable as la,Text as ca,View as da}from"react-native";var ir=({options:e,selectedKey:t,onSelect:r})=>React.createElement(da,{className:"flex flex-row gap-4 w-full items-center justify-between"},e.map(o=>React.createElement(la,{key:String(o.key),className:a("flex-1 rounded-lg py-4",t===o.key?"bg-primary":"bg-muted"),onPress:()=>r(o.key),disabled:o.disabled},React.createElement(ca,{className:a("text-center font-munchi",t===o.key?"text-primary-foreground":"text-muted-foreground")},o.label))));ir.displayName="MToggle";import{ActivityIndicator as ma,Pressable as lr,Text as $e,View as cr}from"react-native";var dr=({message:e,onConfirm:t,onCancel:r,confirmText:o="Confirm",cancelText:s="Cancel",isLoading:n=!1})=>{let{onPrimary:c}=E();return React.createElement(cr,{className:"p-4"},React.createElement($e,{className:"font-munchi text-center mb-10 mt-4 text-foreground"},e),React.createElement(cr,{className:"flex-row justify-between"},React.createElement(lr,{className:a("flex-1 mr-2 border border-border rounded-md py-3 bg-card",n&&"opacity-50"),onPress:r,disabled:n},React.createElement($e,{className:"font-munchi text-center text-card-foreground"},s)),React.createElement(lr,{className:a("flex-1 ml-2 bg-primary rounded-md py-3",n&&"opacity-50"),onPress:t,disabled:n},n?React.createElement(ma,{color:c}):React.createElement($e,{className:"font-munchi text-center text-primary-foreground"},o))))};dr.displayName="MConfirmation";import{Delete as mr}from"lucide-react-native";import{Pressable as pa,View as we}from"react-native";var je=({label:e,onPress:t,testID:r,icon:o,disabled:s,iconTint:n,labelClassName:c})=>React.createElement(pa,{testID:r,onPress:t,className:"w-20 h-20 md:w-24 md:h-24 rounded-full items-center justify-center active:bg-accent",disabled:s},e?React.createElement(S,{className:a("text-3xl md:text-4xl font-light",c)},e):o??React.createElement(mr,{size:26,color:n})),pr=({onDigit:e,onBackspace:t,isLoading:r})=>{let{foreground:o}=E();return React.createElement(we,{className:"w-full items-center gap-0"},[["1","2","3"],["4","5","6"],["7","8","9"]].map((n,c)=>React.createElement(we,{key:c,className:"flex-row justify-center gap-24"},n.map(l=>React.createElement(je,{key:l,label:l,onPress:()=>e(l),disabled:r,iconTint:o,labelClassName:"text-foreground"})))),React.createElement(we,{className:"flex-row justify-center gap-24"},React.createElement(we,{className:"w-20 h-20 md:w-24 md:h-24"}),React.createElement(je,{label:"0",onPress:()=>e("0"),disabled:r,iconTint:o,labelClassName:"text-foreground"}),React.createElement(je,{onPress:t,testID:"backspace",disabled:r,iconTint:o,labelClassName:"text-foreground",icon:React.createElement(mr,{size:26,color:o})})))};pr.displayName="MPinPadKeys";import{cva as ua}from"class-variance-authority";import{Delete as fa}from"lucide-react-native";import{useCallback as ur,useMemo as xa,useRef as fr,useState as ba}from"react";import{Platform as ga,Pressable as ya,Text as ha,View as Ne,useWindowDimensions as Pa}from"react-native";var gr=(l=>(l.Discount="discount",l.Table="table",l.Price="price",l.Cash="cash",l.Quantity="quantity",l.Phone="phone",l.GiftCard="giftcard",l))(gr||{}),yr=()=>new Intl.NumberFormat(void 0,{minimumFractionDigits:1,maximumFractionDigits:1}).format(1.1).match(/[^0-9]/)?.[0]||".";function Ge(e,t){if(!e)return"";if(t==="."){let[o="",...s]=e.split(".");return s.length===0?o:`${o}.${s.join("")}`}if(e.includes("."))return e;let r=e.split(t);return r.length<=1?e.replace(/\./g,""):`${(r[0]??"").replace(/\./g,"")}.${r.slice(1).join("")}`}function Me(e,t){let r=e.replace(/\D/g,"");if(r===""||r==="0")return`0${t}00`;let o=r.padStart(3,"0"),s=o.slice(0,-2).replace(/^0+/,"")||"0",n=o.slice(-2);return`${s}${t}${n}`}function xr(e,t){if(!e)return"";let r=t==="."?e:e.replace(t,"."),o=Number.parseFloat(r);return Number.isNaN(o)||o<=0?"":Math.round(o*100).toString()}var wa=90,Ma=118,Na=78,Ta=106,va=72,Ca=90,Ra=62,Va=80,Sa=24,ka=36,Ia=22,Da=32,Aa=6,_a=5,fe=3,Te="00",br=/^(\d+)\.00$/;function Ea(e){switch(e){case"X":return"munchi.numpad.key.backspace";case Te:return"munchi.numpad.key.double-zero";case"-":return"munchi.numpad.key.minus";case"+":return"munchi.numpad.key.plus";default:return`munchi.numpad.key.digit-${e}`}}var La=ua("items-center justify-center rounded-2xl",{variants:{pressed:{true:"",false:"bg-muted"},scheme:{dark:"",light:""}},compoundVariants:[{pressed:!0,scheme:"dark",className:"bg-white/15 border-white/20"},{pressed:!0,scheme:"light",className:"bg-foreground/10 border-foreground/15"}],defaultVariants:{pressed:!1,scheme:"light"}}),hr=({customAmount:e,setCustomAmount:t,mode:r,maxDigits:o=6})=>{let s=yr(),n=r==="price"||r==="cash"||r==="discount",c=n,l=r==="phone",i=fr(e);i.current=e;let u=fr(0),{foreground:h}=E(),{colorScheme:g}=O(),{width:m}=Pa(),p=m>=768,y=ga.OS==="android",P=y?p?Ta:Na:p?Ma:wa,M=y?p?Va:Ra:p?Ca:va,T=y?_a:Aa,x=y?p?Da:Ia:p?ka:Sa,R=g==="dark"?"dark":"light",v=ur(d=>{if(n){let I=d===Te;if(!I&&!/^\d$/.test(d))return;let _=xr(i.current??"",s);if(I){let ae=`${_}00`.replace(/^0+/,"")||"";if(ae===""){u.current=0;return}if(ae.length>o+2)return;u.current=2;let ge=Me(ae,s);i.current=ge,t(ge);return}if(u.current>0){let ae=_.padStart(3,"0"),ge=ae.slice(0,-2),Ar=(ae.slice(-2)[1]??"0")+d,dt=(ge+Ar).replace(/^0+/,"")||"";if(dt.length>o+2)return;u.current-=1;let mt=Me(dt,s);i.current=mt,t(mt);return}let oe=(_+d).replace(/^0+/,"")||"";if(oe.length>o+2)return;if(oe===""){i.current=null,t(null);return}let ie=Me(oe,s);i.current=ie,t(ie);return}let f=i.current??"",b=Ge(f,s),[C="",w=""]=b.split("."),F=b.includes("."),te=d===s;if(d===Te&&c){if(!F){let _=C===""?"0.00":`${C}.00`;i.current=_,t(_);return}let I=br.exec(b);if(I){let _=I[1]??"";i.current=_,t(_);return}return}if(te){if(F)return;t(f+s);return}let re=c?br.exec(b):null;if(re&&/^\d$/.test(d)){let I=re[1]??"";if(d==="0"){let oe=`${I}0`;if(oe.length>o)return;let ie=`${oe}.00`;i.current=ie,t(ie);return}let _=`${I}.${d}0`;i.current=_,t(_);return}if(c&&F){if(w.length===2&&w[0]!=="0"&&w[1]!=="0"&&/^\d$/.test(d)){let I=`${C}${d}`;if(I.length>o)return;let _=`${I}.${w}`;i.current=_,t(_);return}if(w.length===2&&w[1]==="0"){let I=`${C}.${w[0]}${d}`;i.current=I,t(I);return}if(w.length===1&&/^\d$/.test(w)){let I=`${C}.${w}${d}`;i.current=I,t(I);return}if(w.length>=2)return}if(c){if(!F&&C.length>=o)return}else if(C.length>=o)return;let Dr=f+d,ct=Ge(Dr,s);i.current=ct,t(ct)},[s,n,c,o,t]),N=ur(()=>{let d=i.current;if(n){if(u.current=0,d==null||d===""){i.current=null,t(null);return}let F=xr(d,s).slice(0,-1).replace(/^0+/,"")||"";if(F===""){i.current=null,t(null);return}let te=Me(F,s);i.current=te,t(te);return}if(d==null||d===""){i.current=null,t(null);return}let f=Ge(d,s);if(!f.includes(".")){let w=f.slice(0,-1);if(w===""){i.current=null,t(null);return}i.current=w,t(w);return}let[b="",C=""]=f.split(".");if(C.length>0){let w=C.slice(0,-1);if(w===""){i.current=b===""?null:b,t(b===""?null:b);return}let F=`${b}.${w}`;i.current=F,t(F);return}i.current=b===""?null:b,t(b===""?null:b)},[s,n,t]),V=xa(()=>["1","2","3","4","5","6","7","8","9",r==="giftcard"?"-":c?Te:l?"+":"","0","X"],[r,c,l]),[A,k]=ba(0),H=A>0?Math.floor((A-T*(fe-1))/fe):P,j=Math.round(H*(M/P)),G=Math.round(x*(H/P));return React.createElement(Ne,{style:{width:"100%",gap:T},onLayout:d=>k(d.nativeEvent.layout.width)},[0,1,2,3].map(d=>React.createElement(Ne,{key:d,style:{flexDirection:"row",gap:T}},V.slice(d*fe,d*fe+fe).map((f,b)=>{let C=`${d}-${b}`;return f===""?React.createElement(Ne,{key:C,style:{width:H,height:j}}):React.createElement(Fa,{key:C,testID:Ea(f),item:f,width:H,height:j,fontSize:G,foreground:h,scheme:R,onPress:f==="X"?N:()=>v(f)})}))))},Fa=({testID:e,item:t,width:r,height:o,fontSize:s,foreground:n,scheme:c,onPress:l})=>React.createElement(ya,{testID:e,onPress:l,style:{width:r,height:o}},({pressed:i})=>React.createElement(Ne,{style:{width:r,height:o},className:a(La({pressed:i,scheme:c}))},t==="X"?React.createElement(fa,{size:s,color:n}):React.createElement(ha,{style:{fontSize:s,lineHeight:s*1.4},className:"text-foreground font-munchi"},t)));hr.displayName="MNumpad";import{useEffect as Ba,useRef as Pr,useState as Oa}from"react";import{Pressable as Ha,View as wr}from"react-native";import za,{useAnimatedStyle as $a,useSharedValue as Mr,withSpring as J}from"react-native-reanimated";var ee={damping:20,stiffness:200,mass:.8},Nr=({tabs:e,activeTab:t,onTabChange:r,className:o,style:s,disabled:n=!1,size:c="default",variant:l="default",stretch:i=!1,...u})=>{let{colorScheme:h}=O(),g=z[h==="dark"?"dark":"light"],m=c==="compact",p=l==="ghost",y=p?0:m?2:4,P=p?20:m?8:12,M=m?8:12,T=p?7:m?2:4,x=p?22:m?8:12,R=m?2:4,v=Pr({}),N=Mr(0),V=Mr(0),A=Pr(!1),[,k]=Oa(0);Ba(()=>{if(t==null){A.current=!1,V.value=J(0,ee);return}let d=String(t),f=v.current[d];if(f){N.value=J(f.x,ee),V.value=J(f.width,ee),A.current=!0,k(b=>b+1);return}A.current=!1},[t,V,N]);let H=$a(()=>({transform:[{translateX:N.value}],width:V.value})),j=(d,f)=>{v.current[d]=f;let b=String(t);if(d===b){if(!A.current){N.value=f.x,V.value=f.width,A.current=!0,k(C=>C+1);return}N.value=J(f.x,ee),V.value=J(f.width,ee)}},G=d=>{let f=String(d),b=v.current[f];b&&(N.value=J(b.x,ee),V.value=J(b.width,ee)),r(d)};return React.createElement(wr,{className:a("flex-row",!p&&"bg-accent",m?"gap-0.5 rounded-xl p-0.5":"gap-1 rounded-2xl p-1",i?"self-stretch":"self-start",o),style:s,...u},React.createElement(za.View,{pointerEvents:"none",style:[{position:"absolute",top:y,bottom:y,borderRadius:P,backgroundColor:g.card,shadowColor:g.text,shadowOpacity:p?0:h==="dark"?.08:.14,shadowRadius:m?4:6,shadowOffset:{width:0,height:m?1:2},elevation:m?2:3},H]}),e.map(({key:d,label:f,icon:b,disabled:C=!1})=>{let w=n||C;return React.createElement(Ha,{key:String(d),onPress:()=>G(d),disabled:w,onLayout:F=>j(String(d),F.nativeEvent.layout),style:{...i?{flex:1,minWidth:0}:{flexShrink:1,minWidth:0},alignItems:"center",justifyContent:"center",paddingHorizontal:M,paddingVertical:T,borderRadius:x,opacity:w?.5:1}},React.createElement(wr,{style:{flexDirection:"row",alignItems:"center",gap:R,flexShrink:1,overflow:"hidden"}},b,f&&React.createElement(S,{size:p?"lg":"xl",numberOfLines:1,style:{flexShrink:1}},f)))}))};Nr.displayName="MTabs";import ve from"dayjs";import{useEffect as ja,useMemo as Tr,useState as Ga}from"react";import{Text as Wa,View as Ka}from"react-native";var Za=(e,t)=>{let r=e.diff(t,"minute");if(r<1)return"0m";let o=Math.floor(r/1440),s=r%1440,n=Math.floor(s/60),c=s%60,l="";return o>0&&(l+=`${o}d `),(n>0||o>0)&&(l+=`${n}h `),l+=`${c}m`,l.trim()},vr=({date:e,className:t="",textClassName:r=""})=>{let o=Tr(()=>ve(e),[e]),[s,n]=Ga(()=>ve());ja(()=>{let i=(()=>{let u=ve(),g=u.add(1,"minute").startOf("minute").diff(u);return setTimeout(()=>{n(ve())},g>0?g:6e4)})();return()=>clearTimeout(i)},[s]);let c=Tr(()=>Za(s,o),[s,o]);return React.createElement(Ka,{className:a("rounded-md flex items-center justify-center bg-muted border border-border/60","dark:border-white/20 dark:bg-white/12",t)},React.createElement(Wa,{className:a("font-munchi-semibold text-foreground dark:text-neutral-200",r)},c))};vr.displayName="MTimerUp";import*as L from"react";import{Text as Cr,View as Ce}from"react-native";var We=L.forwardRef(({className:e,...t},r)=>L.createElement(Ce,{ref:r,className:a("rounded-lg border border-border bg-card shadow-sm shadow-foreground/10",e),...t}));We.displayName="Card";var Ke=L.forwardRef(({className:e,...t},r)=>L.createElement(Ce,{ref:r,className:a("flex flex-col space-y-1.5 p-6",e),...t}));Ke.displayName="CardHeader";var Ze=L.forwardRef(({className:e,...t},r)=>L.createElement(Cr,{role:"heading","aria-level":3,ref:r,className:a("text-2xl text-card-foreground font-semibold leading-none tracking-tight",e),...t}));Ze.displayName="CardTitle";var qe=L.forwardRef(({className:e,...t},r)=>L.createElement(Cr,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));qe.displayName="CardDescription";var Ue=L.forwardRef(({className:e,...t},r)=>L.createElement(de.Provider,{value:"text-card-foreground"},L.createElement(Ce,{ref:r,className:a("p-6 pt-0",e),...t})));Ue.displayName="CardContent";var Xe=L.forwardRef(({className:e,...t},r)=>L.createElement(Ce,{ref:r,className:a("flex flex-row items-center p-6 pt-0",e),...t}));Xe.displayName="CardFooter";import*as Re from"react";import qa,{useAnimatedStyle as Ua,useSharedValue as Xa,withRepeat as Ya,withSequence as Qa,withTiming as Rr}from"react-native-reanimated";var Vr=1e3;function Sr({className:e,...t}){let r=Xa(1);Re.useEffect(()=>{r.value=Ya(Qa(Rr(.5,{duration:Vr}),Rr(1,{duration:Vr})),-1)},[]);let o=Ua(()=>({opacity:r.value}));return Re.createElement(qa.View,{style:o,className:a("rounded-md bg-secondary dark:bg-muted",e),...t})}import{Switch as Ja}from"react-native";var kr=e=>React.createElement(Ja,{...e});kr.displayName="MSwitch";import*as B from"@rn-primitives/table";import*as D from"react";var Ye=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Root,{ref:r,className:a("w-full caption-bottom text-sm",e),...t}));Ye.displayName="Table";var Qe=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Header,{ref:r,className:a("border-border [&_tr]:border-b",e),...t}));Qe.displayName="TableHeader";var Je=D.forwardRef(({className:e,style:t,...r},o)=>D.createElement(B.Body,{ref:o,className:a("flex-1 border-border [&_tr:last-child]:border-0",e),style:[{minHeight:2},t],...r}));Je.displayName="TableBody";var et=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Footer,{ref:r,className:a("bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));et.displayName="TableFooter";var tt=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Row,{ref:r,className:a("flex-row border-border border-b web:transition-colors web:hover:bg-muted/50 web:data-[state=selected]:bg-muted",e),...t}));tt.displayName="TableRow";var rt=D.forwardRef(({className:e,...t},r)=>D.createElement(de.Provider,{value:"text-muted-foreground"},D.createElement(B.Head,{ref:r,className:a("h-12 px-4 text-left justify-center font-medium [&:has([role=checkbox])]:pr-0",e),...t})));rt.displayName="TableHead";var ot=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Cell,{ref:r,className:a("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));ot.displayName="TableCell";import{Portal as es,PortalHost as ts}from"@rn-primitives/portal";import{cva as at}from"class-variance-authority";import{AlertCircle as rs}from"lucide-react-native";import{useRef as os,useState as as}from"react";import{Pressable as ss,TextInput as ns,View as Ve}from"react-native";var is=at("w-full",{variants:{size:{default:"gap-1.5",sm:"gap-1",lg:"gap-2"}},defaultVariants:{size:"default"}}),ls=at("flex-row items-center bg-card border border-border",{variants:{size:{default:"px-4 py-3",sm:"px-3 py-2",lg:"px-5 py-4"},radius:{xl:"rounded-xl","2xl":"rounded-2xl"},hasError:{true:"border border-destructive",false:""},focused:{true:"border border-primary",false:""}},compoundVariants:[{hasError:!0,focused:!0,class:"border border-destructive"}],defaultVariants:{size:"default",radius:"xl",hasError:!1,focused:!1}}),cs=at("flex-1 min-w-0 font-munchi text-foreground p-0",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),ds={default:18,sm:16,lg:20},Ir=({label:e,errorMessage:t,rightIcon:r,size:o="default",radius:s="xl",className:n,inputClassName:c,onFocus:l,onBlur:i,placeholderTextColor:u,...h})=>{let{foreground:g,muted:m,destructive:p}=E(),[y,P]=as(!1),M=os(null),T=!!t;return React.createElement(Ve,{className:a(is({size:o}),n)},e&&React.createElement(S,{size:o==="lg"?"lg":o==="sm"?"sm":"base",className:"font-munchi-semibold text-foreground"},e),React.createElement(ss,{onPress:()=>M.current?.focus()},React.createElement(Ve,{className:ls({size:o,radius:s,hasError:T,focused:y})},React.createElement(ns,{ref:M,placeholderTextColor:u??m,onFocus:x=>{P(!0),l?.(x)},onBlur:x=>{P(!1),i?.(x)},style:{color:g,fontSize:ds[o??"default"],paddingVertical:0,includeFontPadding:!1},className:a(cs({size:o}),c),...h}),r&&React.createElement(Ve,{className:"ml-2 shrink-0"},r))),T&&React.createElement(Ve,{className:"flex-row items-center gap-1.5"},React.createElement(rs,{size:14,color:p}),React.createElement(S,{size:"sm",className:"text-destructive flex-1"},t)))};Ir.displayName="MInput";import*as be from"@rn-primitives/label";import*as xe from"react";var st=xe.forwardRef(({className:e,onPress:t,onLongPress:r,onPressIn:o,onPressOut:s,...n},c)=>xe.createElement(be.Root,{className:"web:cursor-default",onPress:t,onLongPress:r,onPressIn:o,onPressOut:s},xe.createElement(be.Text,{ref:c,className:a("text-sm text-foreground native:text-base font-medium leading-none web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70",e),...n})));st.displayName=be.Root.displayName;import*as Y from"@rn-primitives/radio-group";import*as X from"react";import{View as ms}from"react-native";var nt=X.forwardRef(({className:e,...t},r)=>X.createElement(Y.Root,{className:a("web:grid gap-2",e),...t,ref:r}));nt.displayName=Y.Root.displayName;var it=X.forwardRef(({className:e,...t},r)=>X.createElement(Y.Item,{ref:r,className:a("aspect-square h-4 w-4 native:h-5 native:w-5 rounded-full justify-center items-center border border-border web:ring-offset-background web:focus:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",t.disabled&&"web:cursor-not-allowed opacity-50",e),...t},X.createElement(Y.Indicator,{className:"flex items-center justify-center"},X.createElement(ms,{className:"aspect-square h-[9px] w-[9px] native:h-[10] native:w-[10] bg-primary rounded-full"}))));it.displayName=Y.Item.displayName;export{xt as MAlert,gt as MAnimation,ht as MAvatar,wt as MBadge,Tt as MButton,We as MCard,Ue as MCardContent,qe as MCardDescription,Xe as MCardFooter,Ke as MCardHeader,Ze as MCardTitle,vt as MChevron,dr as MConfirmation,Jt as MCountDown,Rt as MDateTimePicker,Vt as MDivider,Yt as MDrawerRightPanel,er as MDropdown,Ir as MInput,st as MLabel,St as MLucideIcon,Pe as MModal,Qt as MNativeAlert,hr as MNumpad,At as MPicker,pr as MPinPadKeys,es as MPortal,ts as MPortalHost,Lt as MProgressBar,nt as MRadioGroup,it as MRadioGroupItem,wo as MRequiredLabel,Ft as MResponsiveContainer,or as MSearch,nr as MSelector,Sr as MSkeleton,kr as MSwitch,Ye as MTable,Je as MTableBody,ot as MTableCell,et as MTableFooter,rt as MTableHead,Qe as MTableHeader,tt as MTableRow,Nr as MTabs,S as MText,vr as MTimerUp,ir as MToggle,ko as ModalContent,Ht as ModalHeight,He as ModalScrollContext,z as NAV_THEME,gr as NumpadMode,Nt as buttonVariants,a as cn,ce as darkVars,yr as getDecimalSeparator,le as lightVars,Fr as typography,O as useColorScheme,E as useIconColors};
|
|
1
|
+
import{clsx as Lr}from"clsx";import{twMerge as Fr}from"tailwind-merge";function a(...e){return Fr(Lr(e))}function ke(e,t=4,r="0"){return e.toString().padStart(t,r)}import{useColorScheme as Br}from"nativewind";function O(){let{colorScheme:e,setColorScheme:t,toggleColorScheme:r}=Br();return{colorScheme:e??"light",isDarkColorScheme:e==="dark",setColorScheme:t,toggleColorScheme:r}}var le={"--background":"0 0% 95.7%","--foreground":"0 0% 7.8%","--card":"0 0% 100%","--card-foreground":"0 0% 7.8%","--popover":"0 0% 100%","--popover-foreground":"0 0% 7.8%","--primary":"0 0% 7.8%","--primary-foreground":"0 0% 100%","--secondary":"0 0% 93%","--secondary-foreground":"0 0% 7.8%","--muted":"0 0% 93%","--muted-foreground":"0 0% 45%","--accent":"0 0% 89.4%","--accent-foreground":"0 0% 7.8%","--destructive":"0 84.2% 60.2%","--destructive-foreground":"0 0% 100%","--border":"0 0% 78%","--input":"0 0% 78%","--ring":"0 0% 7.8%"},ce={"--background":"0 0% 7.8%","--foreground":"0 0% 100%","--card":"0 0% 14.5%","--card-foreground":"0 0% 100%","--popover":"0 0% 14.5%","--popover-foreground":"0 0% 100%","--primary":"0 0% 100%","--primary-foreground":"0 0% 7.8%","--secondary":"0 0% 18%","--secondary-foreground":"0 0% 100%","--muted":"0 0% 11%","--muted-foreground":"0 0% 60%","--accent":"0 0% 21.2%","--accent-foreground":"0 0% 100%","--destructive":"0 72% 51%","--destructive-foreground":"0 0% 100%","--border":"0 0% 28%","--input":"0 0% 28%","--ring":"0 0% 60%"};var se=(e,t)=>`hsl(${e[t]})`,ut=e=>({background:se(e,"--background"),border:se(e,"--border"),card:se(e,"--card"),notification:se(e,"--destructive"),primary:se(e,"--primary"),text:se(e,"--foreground")}),$={light:ut(le),dark:ut(ce)};function L(){let{colorScheme:e}=O(),t=e==="dark"?"dark":"light",r=$[t];return{foreground:r.text,muted:t==="dark"?"hsl(240 5% 64.9%)":"hsl(240 3.8% 46.1%)",primary:r.primary,destructive:r.notification,onDestructive:"hsl(0 0% 100%)",onPrimary:t==="dark"?"hsl(240 5.9% 10%)":"hsl(0 0% 98%)"}}var Or={regular:"DMSans_400Regular",medium:"DMSans_500Medium",bold:"DMSans_700Bold"};import{cva as zr}from"class-variance-authority";import*as G from"react";import{View as xt}from"react-native";import*as ft from"@rn-primitives/slot";import*as q from"react";import{Text as Hr}from"react-native";var de=q.createContext(void 0),he=q.forwardRef(({className:e,asChild:t=!1,...r},o)=>{let n=q.useContext(de);return q.createElement(t?ft.Text:Hr,{className:a("text-base text-foreground web:select-text",n,e),ref:o,...r})});he.displayName="Text";var $r=zr("relative bg-background w-full rounded-lg border border-border p-4 shadow shadow-foreground/10",{variants:{variant:{default:"",destructive:"border-destructive"}},defaultVariants:{variant:"default"}}),jr={default:"hsl(240 10% 3.9%)",destructive:"hsl(0 84.2% 60.2%)"},Ie=G.forwardRef(({className:e,variant:t,children:r,icon:o,iconSize:n=16,iconClassName:s,...l},i)=>{let d=jr[t??"default"];return G.createElement(xt,{ref:i,role:"alert",className:$r({variant:t,className:e}),...l},G.createElement(xt,{className:"absolute left-3.5 top-4 -translate-y-0.5"},G.createElement(o,{size:n,color:d})),r)});Ie.displayName="Alert";var De=G.forwardRef(({className:e,...t},r)=>G.createElement(he,{ref:r,className:a("pl-7 mb-1 font-medium text-base leading-none tracking-tight text-foreground",e),...t}));De.displayName="AlertTitle";var Ae=G.forwardRef(({className:e,...t},r)=>G.createElement(he,{ref:r,className:a("pl-7 text-sm leading-relaxed text-foreground",e),...t}));Ae.displayName="AlertDescription";var bt=({title:e,description:t,icon:r,iconSize:o,iconClassName:n,variant:s="default",className:l})=>React.createElement(Ie,{icon:r,iconSize:o,iconClassName:n,variant:s,className:a(l)},React.createElement(De,null,e),t&&React.createElement(Ae,null,t));bt.displayName="MAlert";import Zr from"lottie-react-native";import{View as Pe}from"react-native";import{cva as Gr}from"class-variance-authority";import gt from"react";import{Text as Wr}from"react-native";var Kr=Gr("text-base text-foreground",{variants:{variant:{default:"font-munchi"},size:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl"}},defaultVariants:{variant:"default",size:"base"}}),k=gt.forwardRef(({className:e,variant:t,size:r,children:o,...n},s)=>gt.createElement(Wr,{ref:s,className:a(Kr({variant:t,size:r}),e),...n,allowFontScaling:!1},o));k.displayName="MText";var yt=({children:e,animationSource:t,lottieViewProps:r,childrenClass:o,text:n,subText:s})=>React.createElement(Pe,{className:"w-full flex-1 flex-col gap-4"},React.createElement(Pe,{className:"flex-1 flex items-center justify-center"},React.createElement(Zr,{...r,source:t})),(n||s)&&React.createElement(Pe,{className:"items-center gap-1 px-4"},n&&React.createElement(k,{className:"text-center text-2xl font-munchi-semibold"},n),s&&React.createElement(k,{className:"text-center text-base text-muted-foreground"},s)),e&&React.createElement(Pe,{className:a("flex flex-col items-center",o)},e));yt.displayName="MAnimation";import{cva as ht}from"class-variance-authority";import me from"react";import{Platform as qr,Text as Ur}from"react-native";import*as K from"@rn-primitives/avatar";import*as U from"react";var _e=U.forwardRef(({className:e,...t},r)=>U.createElement(K.Root,{ref:r,className:a("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));_e.displayName=K.Root.displayName;var Ee=U.forwardRef(({className:e,...t},r)=>U.createElement(K.Image,{ref:r,className:a("aspect-square h-full w-full",e),...t}));Ee.displayName=K.Image.displayName;var Le=U.forwardRef(({className:e,...t},r)=>U.createElement(K.Fallback,{ref:r,className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));Le.displayName=K.Fallback.displayName;var Xr=ht("relative flex shrink-0 overflow-hidden rounded-full",{variants:{size:{xs:"h-6 w-6",sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16",xxl:"h-20 w-20",full:"h-full w-full"}},defaultVariants:{size:"md"}}),Yr=ht("font-munchi text-background",{variants:{size:{xs:"text-sm",sm:"text-sm",md:"text-base",lg:"text-xl",xl:"text-3xl",xxl:"text-4xl",full:"text-2xl"}},defaultVariants:{size:"md"}}),Pt=me.forwardRef(({className:e,size:t,source:r,fallbackText:o,imageClassName:n,fallbackClassName:s,fallbackTextClassName:l,...i},d)=>me.createElement(_e,{ref:d,className:a(Xr({size:t}),e),...i},r&&me.createElement(Ee,{source:r,className:a("aspect-square h-full w-full",n)}),me.createElement(Le,{className:a("flex h-full w-full items-center justify-center rounded-full bg-muted",s)},me.createElement(Ur,{className:a(Yr({size:t}),qr.OS==="ios"&&"text-foreground",l)},o))));Pt.displayName="MAvatar";import{cva as wt}from"class-variance-authority";import{Text as Qr,View as Jr}from"react-native";var eo=wt("p-1 px-2 rounded-md border-0",{variants:{variant:{default:"bg-secondary",accent:"bg-accent",muted:"bg-muted text-muted-foreground",destructive:"bg-destructive",primary:"bg-primary text-primary-foreground mx-1",gray:"bg-muted text-muted-foreground",custom:""}},defaultVariants:{variant:"gray"}}),to=wt("text-xs font-munchi",{variants:{variant:{default:"text-secondary-foreground",accent:"text-accent-foreground",muted:"text-muted-foreground",destructive:"text-destructive-foreground",primary:"text-primary-foreground",gray:"text-muted-foreground",custom:"text-foreground"}},defaultVariants:{variant:"gray"}}),Mt=({variant:e="gray",text:t,show:r=!0,customBackgroundColor:o,className:n,textClassName:s})=>{if(!r)return null;let l=e==="custom";return React.createElement(Jr,{className:a(eo({variant:e}),n),style:l?{backgroundColor:o}:void 0},React.createElement(Qr,{className:a(to({variant:e}),s)},t))};Mt.displayName="MBadge";import{cva as ro}from"class-variance-authority";import Fe from"react";import{Pressable as Nt}from"react-native";var Tt=ro("flex-row justify-center items-center rounded-full",{variants:{variant:{default:"bg-primary",primary:"bg-primary",white:"bg-card border border-border",destructive:"bg-destructive",outline:"bg-transparent border border-border",secondary:"bg-secondary",ghost:"bg-transparent",link:"bg-transparent",none:"none",custom:""},size:{none:"",default:"h-auto px-4 md:py-2",sm:"h-8 px-3 py-1.5",lg:"h-10 px-6 py-2.5",icon:"h-9 w-9 p-2 justify-center items-center"}},defaultVariants:{variant:"default",size:"default"}}),vt=Fe.forwardRef((e,t)=>{let{onPress:r,variant:o="default",size:n="default",disabled:s=!1,children:l,className:i,...d}=e;return o==="custom"?Fe.createElement(Nt,{ref:t,disabled:s,className:a(s&&"opacity-50",i),onPress:r,android_ripple:null,...d},l):Fe.createElement(Nt,{ref:t,disabled:s,className:a(Tt({variant:o,size:n}),s&&"opacity-50",i),onPress:r,...d},l)});vt.displayName="MButton";import{useEffect as oo,useRef as ao}from"react";import{Animated as Be}from"react-native";import so,{Path as no}from"react-native-svg";var Ct=({isOpen:e,size:t=11,color:r})=>{let{colorScheme:o}=O(),n=r??$[o].text,s=ao(new Be.Value(e?90:0)).current;oo(()=>{Be.timing(s,{toValue:e?90:0,duration:200,useNativeDriver:!0}).start()},[e,s]);let l=s.interpolate({inputRange:[0,90],outputRange:["0deg","90deg"]});return React.createElement(Be.View,{style:{transform:[{rotate:l}]}},React.createElement(so,{width:t,height:t,viewBox:"0 0 11 11",fill:"none"},React.createElement(no,{fillRule:"evenodd",clipRule:"evenodd",d:"M3.80026 1.96823C3.97925 1.78924 4.26945 1.78924 4.44844 1.96823L7.65677 5.17656C7.83575 5.35554 7.83575 5.64576 7.65677 5.82474L4.44844 9.03307C4.26945 9.21205 3.97925 9.21205 3.80026 9.03307C3.62127 8.85409 3.62127 8.56388 3.80026 8.3849L6.68451 5.50065L3.80026 2.61641C3.62127 2.43742 3.62127 2.14722 3.80026 1.96823Z",fill:n})))};Ct.displayName="MChevron";import{Text as Rt}from"react-native";import io,{useDefaultClassNames as lo}from"react-native-ui-datepicker";var Vt=({className:e,classNames:t,showOutsideDays:r=!0,containerHeight:o=220,components:n,minDate:s,maxDate:l,...i})=>{let d=lo(),c=s||(()=>{let p=new Date;return p.setFullYear(p.getFullYear()-1),p})(),x=l||(()=>{let p=new Date;return p.setDate(p.getDate()),p})(),b={IconPrev:React.createElement(Rt,{className:"font-munchi text-lg text-foreground"},"<"),IconNext:React.createElement(Rt,{className:"font-munchi text-lg text-foreground"},">")};return React.createElement(io,{showOutsideDays:r,className:a("bg-card w-full rounded-xl",e),containerHeight:o,minDate:c,maxDate:x,classNames:{...d,day_cell:"p-0.5",day:a(d.day,"font-munchi rounded-xl text-foreground w-10 h-10"),day_label:"font-munchi text-base text-foreground",outside_label:"font-munchi text-base text-foreground opacity-40",today_label:"text-destructive font-munchi-bold text-base",month_selector_label:a(d.month_selector_label,"text-base font-munchi-semibold text-foreground"),year_selector_label:a(d.year_selector_label,"text-base font-munchi-semibold text-foreground"),time_selector_label:a(d.time_selector_label,"text-base font-munchi text-foreground"),header:"font-munchi-semibold text-lg text-foreground pb-2",weekday_label:"font-munchi-semibold text-sm text-muted-foreground",selected:a(d.selected,"font-munchi bg-primary rounded-xl"),selected_label:"font-munchi-semibold text-primary-foreground text-base",range_end:a(d.range_end,"font-munchi bg-primary rounded-r-xl"),range_start:a(d.range_start,"font-munchi bg-primary rounded-l-xl"),range_end_label:a(d.range_end_label,"font-munchi-semibold text-primary-foreground text-base"),range_start_label:a(d.range_start_label,"font-munchi-semibold text-primary-foreground text-base"),range_fill:"bg-primary/20 my-1",range_fill_weekstart:"rounded-s-lg",range_fill_weekend:"rounded-e-lg",range_middle_label:"font-munchi text-base text-foreground",month:a(d.month,"font-munchi rounded-xl text-foreground"),month_label:"font-munchi text-base text-foreground",year:a(d.year,"font-munchi rounded-xl text-foreground"),year_label:"font-munchi text-base text-foreground",time_label:"font-munchi text-2xl text-foreground",...t},components:{...b,...n},...i})};Vt.displayName="MDateTimePicker";import{cva as co}from"class-variance-authority";import{View as mo}from"react-native";var po=co("",{variants:{direction:{horizontal:"my-2",vertical:"mx-2"},variant:{sm:"",md:"",lg:""}},defaultVariants:{direction:"horizontal",variant:"md"}}),uo={sm:1,md:2,lg:4},St=({className:e,direction:t="horizontal",variant:r="md",color:o,style:n})=>{let s=t==="horizontal",l=uo[r??"md"],i=o?{backgroundColor:o,[s?"height":"width"]:l,[s?"width":"height"]:"100%"}:{[s?"height":"width"]:l,[s?"width":"height"]:"100%"};return React.createElement(mo,{className:a(!o&&"bg-border",po({direction:t,variant:r}),e),style:[i,n]})};St.displayName="MDivider";import fo from"react";import*as xo from"lucide-react-native";var kt=({name:e,...t})=>{let r=xo[e];return r?fo.createElement(r,{...t}):null};kt.displayName="MLucideIcon";import{useRef as bo,useState as It}from"react";import{FlatList as go,Modal as yo,Pressable as Oe,Text as Dt,View as At}from"react-native";var _t=({data:e,onSelect:t,placeholder:r,selectedValue:o,className:n,textClassName:s,dropdownContainerClassName:l,itemContainerClassName:i,itemTextClassName:d})=>{let[c,x]=It(!1),b=bo(null),[p,u]=It({x:0,y:0,width:0,height:0}),g=e.find(f=>f.value===o),y=f=>{t(f),x(!1)},P=({item:f})=>{let C=f.value===o;return React.createElement(Oe,{className:a("p-3 rounded-md m-1",C?"bg-primary":"active:bg-muted",i),onPress:()=>y(f)},React.createElement(Dt,{className:a(C?"text-primary-foreground":"text-foreground",d),numberOfLines:1},f.label))},v=()=>{c?x(!1):b.current?.measureInWindow((f,C,T,N)=>{u({x:f,y:C,width:T,height:N}),x(!0)})};return React.createElement(At,{className:"flex-col items-center justify-center"},React.createElement(Oe,{ref:b,className:a("bg-primary rounded-full py-4 px-6 flex-row items-center",n),onPress:v},React.createElement(Dt,{className:a("text-primary-foreground text-base",s),numberOfLines:1,ellipsizeMode:"tail"},g?g.label:r)),React.createElement(yo,{animationType:"none",transparent:!0,visible:c,onRequestClose:()=>{x(!1)}},React.createElement(Oe,{className:"absolute inset-0",onPress:()=>x(!1)}),React.createElement(At,{style:{position:"absolute",top:p.y+p.height,left:p.x},className:a("min-w-[100px] bg-background shadow-lg rounded-lg border border-border p-1 z-50 mt-2",l)},React.createElement(go,{data:e,renderItem:P,keyExtractor:f=>String(f.value),className:"max-h-[200px]"}))))};_t.displayName="MPicker";import{cva as Lt}from"class-variance-authority";import{View as Et}from"react-native";var ho=Lt("w-full h-2 rounded-full relative",{variants:{size:{sm:"h-1",md:"h-2",lg:"h-3"},variant:{default:"bg-muted",accent:"bg-accent/30",destructive:"bg-destructive/30",secondary:"bg-secondary",gray:"bg-gray",pink:"bg-pink",blue:"bg-blue-200",green:"bg-green-200"}},defaultVariants:{size:"md",variant:"default"}}),Po=Lt("h-full rounded-full absolute top-0 left-0",{variants:{variant:{default:"bg-foreground",accent:"bg-accent",destructive:"bg-destructive",secondary:"bg-secondary-foreground",gray:"bg-gray-600",pink:"bg-pink",blue:"bg-blue-600",green:"bg-green-600"}},defaultVariants:{variant:"default"}}),Ft=({progress:e,size:t="md",variant:r="default",className:o,fillClassName:n})=>{let s=Math.min(Math.max(e,0),100);return React.createElement(Et,{className:a(ho({size:t,variant:r}),o)},React.createElement(Et,{style:{width:`${s}%`},className:a(Po({variant:r}),n)}))};Ft.displayName="MProgressBar";import{View as wo}from"react-native";var Bt=({children:e,className:t,style:r,padding:o,margin:n,...s})=>React.createElement(wo,{className:a((()=>{let i=[];if(o)for(let[d,c]of Object.entries(o))c!==void 0&&i.push(`${d}:p-${c}`);if(n)for(let[d,c]of Object.entries(n))c!==void 0&&i.push(`${d}:m-${c}`);return i.join(" ")})(),t),style:r,...s},e);Bt.displayName="MResponsiveContainer";import{View as Mo}from"react-native";var No=({label:e,className:t,...r})=>React.createElement(Mo,{className:a("flex-row items-center gap-1 mb-3",t),...r},React.createElement(k,{className:"font-munchi-bold text-xl"},e),React.createElement(k,{className:"font-munchi-bold text-xl text-destructive"},"*"));import{cva as To}from"class-variance-authority";import{ArrowLeft as vo,X as He}from"lucide-react-native";import{Fragment as Co,createContext as Ht,useContext as Ot,useRef as Ro}from"react";import{KeyboardAvoidingView as Vo,Modal as So,Pressable as J,ScrollView as ko,View as Z}from"react-native";var zt=(i=>(i.ExtraSmall="xs",i.Small="sm",i.Medium="md",i.Large="lg",i.ExtraLarge="xl",i.ExtraExtraLarge="xxl",i.Auto="auto",i))(zt||{}),$t=Ht({isFixed:!1}),ze=Ht(null),Io=To("rounded-2xl p-6 shadow-lg flex flex-col",{variants:{variant:{xs:"w-[40%]",sm:"w-[60%]",md:"w-[80%]",lg:"w-[95%]",auto:"w-auto self-center",fullscreen:"w-full h-full rounded-none"},height:{xs:"h-[30%]",sm:"h-[40%]",md:"h-[60%]",lg:"h-[80%]",xl:"h-[90%]",xxl:"h-[96%]",auto:"h-auto"},background:{white:"bg-card",dark:"bg-secondary",primary:"bg-muted",transparent:"bg-transparent"}},defaultVariants:{variant:"md",height:"auto",background:"white"}}),jt=({children:e,scrollable:t=!0})=>{let{isFixed:r}=Ot($t),o=Ot(ze);return t?React.createElement(Z,{className:a(r&&"flex-1")},React.createElement(ko,{ref:o,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},keyboardShouldPersistTaps:"handled",style:r?{flex:1}:void 0},React.createElement(J,{style:{flex:1}},e))):React.createElement(Z,{className:a(r&&"flex-1"),style:r?{flex:1}:void 0},React.createElement(J,{style:{flex:1}},e))};jt.displayName="ModalBody";var Gt=({children:e})=>React.createElement(Z,{className:"mt-auto flex-shrink-0"},e),Do=({body:e,footer:t})=>React.createElement(Co,null,React.createElement(we.Body,null,e),t&&React.createElement(we.Footer,null,t)),Ao=e=>{let{isVisible:t,onClose:r,children:o,onBack:n,onDismiss:s,header:l,headingText:i,closable:d=!0,variant:c="sm",containerClassName:x,height:b,background:p="white",footer:u,onButtonClose:g,showCloseButton:y=!0,showBackButton:P=!0,keyboardAvoidingEnabled:v=!0}=e,C={isFixed:(b&&b!=="auto")??!1},T=Ro(null),{foreground:N}=L(),R=()=>n&&P?React.createElement(Z,{className:"flex-row items-center justify-between"},React.createElement(J,{onPress:n,className:"bg-muted rounded-full p-2"},React.createElement(vo,{color:N,size:24})),i&&React.createElement(k,{className:"font-munchi-bold text-foreground flex-1 text-left mx-3",size:"2xl",numberOfLines:1},i),y&&React.createElement(J,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(He,{color:N,size:24}))):l||(i?React.createElement(Z,{className:"flex-row items-center justify-between"},React.createElement(k,{className:"font-munchi-bold text-foreground w-11/12",size:"2xl",numberOfLines:1},i),y&&React.createElement(J,{onPress:g??r,className:"bg-muted rounded-full p-3"},React.createElement(He,{color:N,size:24}))):y?React.createElement(Z,{className:"flex-row items-center justify-between"},React.createElement(Z,{className:"flex-1"}),React.createElement(J,{onPress:r,className:"bg-muted rounded-full p-3"},React.createElement(He,{color:N,size:24}))):null);return React.createElement(So,{transparent:!0,visible:t,onRequestClose:d?r:void 0,animationType:"fade",onDismiss:s},React.createElement(Vo,{className:"flex-1",enabled:v,behavior:"padding"},React.createElement(J,{className:"flex-1 items-center justify-center bg-black/50 p-4",onPress:V=>{V.target===V.currentTarget&&d&&r()}},React.createElement(Z,{className:a("max-h-[95%]",Io({variant:c,height:b,background:p}),x)},React.createElement($t.Provider,{value:C},React.createElement(ze.Provider,{value:T},R()!==null&&React.createElement(Z,{className:"pb-4 flex-shrink-0"},R()),o,u&&React.createElement(Gt,null,u)))))))},we=Object.assign(Ao,{Body:jt,Footer:Gt});we.displayName="MModal";import{useEffect as _o,useRef as Wt,useState as Eo}from"react";import{Modal as Lo,Platform as Fo,ScrollView as Bo,TouchableWithoutFeedback as Oo,View as pe,useWindowDimensions as Ho}from"react-native";import Kt,{useAnimatedStyle as Zt,useSharedValue as qt,withSpring as Ut,withTiming as Xt}from"react-native-reanimated";import{useSafeAreaInsets as zo}from"react-native-safe-area-context";var $o={mass:.4,stiffness:110,damping:16,overshootClamping:!1},jo={mass:.4,stiffness:140,damping:22,overshootClamping:!0},Yt=340,Qt=({isVisible:e,onClose:t,header:r,footer:o,children:n,closable:s=!0,widthFraction:l=.45,className:i,scrollable:d=!0})=>{let{colorScheme:c}=O(),x=$[c],{width:b}=Ho(),p=zo(),u=b*l,[g,y]=Eo(!1),P=Wt(null),v=Wt(!1),f=qt(u),C=qt(0),T=W=>{v.current||(v.current=!0,f.value=Ut(u,jo),C.value=Xt(0,{duration:Yt}),P.current=setTimeout(()=>{y(!1),v.current=!1,W?.()},Yt))};_o(()=>(e?(P.current&&(clearTimeout(P.current),P.current=null,v.current=!1),y(!0),f.value=Ut(0,$o),C.value=Xt(1,{duration:300})):T(),()=>{P.current&&clearTimeout(P.current)}),[e]);let N=()=>{s&&T(t)},R=()=>{T(t)},A=Zt(()=>({transform:[{translateX:f.value}]})),V=Zt(()=>({opacity:C.value}));return React.createElement(Lo,{transparent:!0,visible:g,animationType:"none",onRequestClose:s?R:void 0},React.createElement(pe,{className:"flex-1 flex-row justify-end",style:{paddingTop:p.top,paddingBottom:p.bottom}},React.createElement(Oo,{onPress:N},React.createElement(Kt.View,{className:"absolute inset-0 bg-black/60",style:V})),React.createElement(Kt.View,{style:[A,{width:u}],className:a("h-full overflow-hidden border rounded-2xl border-border",i)},React.createElement(pe,{className:"flex-1",style:{backgroundColor:x.background}},r&&React.createElement(pe,{className:"px-6 pt-6 flex-shrink-0"},r),d?React.createElement(Bo,{className:"flex-1 px-6",showsVerticalScrollIndicator:!1,contentContainerStyle:{paddingTop:16,paddingBottom:24},keyboardShouldPersistTaps:"handled",automaticallyAdjustKeyboardInsets:Fo.OS==="ios",keyboardDismissMode:"interactive"},n):React.createElement(pe,{className:"flex-1 overflow-hidden"},n),o&&React.createElement(pe,{className:"px-6 pb-6 pt-4 border-t-2 border-border flex-shrink-0"},o)))))};Qt.displayName="MDrawerRightPanel";import{Alert as Go}from"react-native";var Jt=({title:e,description:t,onPress:r,onPressText:o,onCancel:n,onCancelText:s})=>{Go.alert(e,t,[{text:o,onPress:r},{text:s,style:"cancel",onPress:n}])};Jt.displayName="MNativeAlert";import{useMemo as Wo}from"react";import Ko from"react-countdown";import{Text as Zo,View as qo}from"react-native";var er=({warningThreshold:e=3,className:t="",textClassName:r="",showPrefix:o=!0,countUp:n=!1,renderer:s,onComplete:l,date:i,...d})=>{let c=Wo(()=>({minutes:b,seconds:p,completed:u})=>{let g,y,P="";if(u)if(n){let A=new Date(i),W=new Date().getTime()-A.getTime();g=Math.floor(W/6e4),y=Math.floor(W%6e4/1e3),o&&(P="-")}else g=0,y=0;else g=b,y=p;let v=!u||n?ke(Math.abs(g),2):"00",f=!u||n?ke(Math.abs(y),2):"00",C=!u&&b<e,T=u,N=C||T?"bg-destructive/15":"bg-green-500/15",R=C||T?"text-destructive":"text-green-600";return React.createElement(qo,{className:a("rounded-md flex items-center justify-center",N,t)},React.createElement(Zo,{className:a("font-munchi-semibold text-center",R,r)},P,v,":",f))},[e,n,i,o,t,r]);return React.createElement(Ko,{renderer:s??c,onComplete:l,overtime:n,date:i,...d})};er.displayName="MCountDown";import{ArrowDown as Uo}from"lucide-react-native";import{useMemo as Xo}from"react";import{StyleSheet as ue}from"react-native";import{Dropdown as Yo}from"react-native-element-dropdown";function Qo(e){return{trigger:{width:"100%",paddingHorizontal:16,paddingVertical:12,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:6,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:3,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function Jo(e){return{trigger:{width:"100%",paddingHorizontal:12,paddingVertical:8,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor},containerStyle:{marginTop:4,borderRadius:12,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}function ea(e){return{trigger:{paddingHorizontal:16,paddingVertical:8,borderRadius:999,borderWidth:0,backgroundColor:e.bgColor,minWidth:160},containerStyle:{marginTop:4,borderRadius:16,borderWidth:1,borderColor:e.borderColor,backgroundColor:e.cardColor,shadowColor:e.textColor,shadowOpacity:.06,shadowRadius:6,shadowOffset:{width:0,height:1},elevation:2,overflow:"hidden"},itemContainerStyle:{backgroundColor:e.cardColor,padding:0},activeColor:e.mutedColor}}var tr=({data:e=[],placeholder:t="",value:r,onFocus:o,onBlur:n,onChange:s,customStyles:l,fieldFrame:i="none",style:d,containerStyle:c,itemContainerStyle:x,selectedTextStyle:b,placeholderStyle:p,activeColor:u,maxHeight:g=300,renderRightIcon:y,selectedTextProps:P,mode:v="auto",...f})=>{let{colorScheme:C}=O(),{foreground:T,muted:N}=L(),R=e.length===0,A=C==="dark",V=$[A?"dark":"light"],z=`hsl(${(A?ce:le)["--muted"]})`,j=Xo(()=>{let ge={cardColor:V.card,borderColor:V.border,textColor:V.text,mutedColor:z};return i==="mInputSm2xl"?Qo(ge):i==="mInputCompact"?Jo(ge):i==="pill"?ea({...ge,bgColor:z}):null},[i,V.card,V.border,V.text,z]),_=ue.flatten([j?.trigger,l,d]),m=ue.flatten([j?.containerStyle,c]),h=ue.flatten([j?.itemContainerStyle,x]),w=i==="mInputSm2xl"?18:i==="mInputCompact"?15:14,S=ue.flatten([{fontSize:w,color:T},b]),M=ue.flatten([{fontSize:w,color:R?N:T},p]),H=j?j.activeColor:u??z,re=i==="mInputCompact"?16:20;return React.createElement(Yo,{...f,mode:v,data:e,maxHeight:g,placeholder:t,value:r,onFocus:o,onBlur:n,onChange:s,style:_,containerStyle:m,itemContainerStyle:h,activeColor:H,fontFamily:"DMSans_400Regular",selectedTextStyle:S,selectedTextProps:{numberOfLines:1,ellipsizeMode:"tail",...P??{}},placeholderStyle:M,renderRightIcon:y??(()=>React.createElement(Uo,{color:R?N:T,size:re}))})};tr.displayName="MDropdown";import{cva as or}from"class-variance-authority";import{Search as ta,X as ra}from"lucide-react-native";import X from"react";import{Keyboard as rr,Pressable as oa,TextInput as aa,View as $e}from"react-native";var sa=or("flex-row items-center bg-card rounded-full border border-border",{variants:{size:{default:"",sm:"",lg:""}},defaultVariants:{size:"default"}}),na={default:18,sm:15,lg:21},ia={default:36,sm:30,lg:52},la=or("flex-1 min-w-0 px-2 font-munchi",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),ar=X.forwardRef(({value:e,onChangeText:t,onClear:r,placeholder:o="Search...",size:n="default",className:s,containerClassName:l,inputClassName:i,iconSize:d=20,placeholderTextColor:c,...x},b)=>{let{foreground:p,muted:u}=L(),g=()=>{r?r():t(""),rr.isVisible()&&rr.dismiss()};return X.createElement($e,{className:a(sa({size:n}),s,l)},X.createElement($e,{className:"pl-3 shrink-0"},X.createElement(ta,{size:d,color:u})),X.createElement(aa,{ref:b,placeholder:o,placeholderTextColor:c??u,value:e,onChangeText:t,textAlignVertical:"center",style:{color:p,fontSize:na[n??"default"],height:ia[n??"default"],paddingVertical:0,includeFontPadding:!1},className:a(la({size:n}),i),...x}),X.createElement($e,{className:"pr-2 shrink-0",style:{width:d+16}},e.length>0&&X.createElement(oa,{onPress:g,className:"items-center justify-center p-2"},X.createElement(ra,{size:d,color:u}))))});ar.displayName="MSearch";import ne from"react";import{Pressable as ca,Text as sr,View as nr}from"react-native";var ir=ne.memo(({label:e,isSelected:t,onPress:r,description:o})=>ne.createElement(ca,{className:"flex flex-row justify-between items-center p-2",onPress:r},ne.createElement(sr,{className:a("font-munchi",t&&"font-munchi-semibold")},e),t&&o&&ne.createElement(sr,{className:"text-muted-foreground text-sm mx-2 flex-1 text-right"},o),ne.createElement(nr,{className:a("w-6 h-6 rounded-full border-2 border-primary ml-2",!t&&"bg-card")},t&&ne.createElement(nr,{className:"absolute inset-0 m-1 rounded-full bg-primary"}))));ir.displayName="MSelector";import{Pressable as da,Text as ma,View as pa}from"react-native";var lr=({options:e,selectedKey:t,onSelect:r})=>React.createElement(pa,{className:"flex flex-row gap-4 w-full items-center justify-between"},e.map(o=>React.createElement(da,{key:String(o.key),className:a("flex-1 rounded-lg py-4",t===o.key?"bg-primary":"bg-muted"),onPress:()=>r(o.key),disabled:o.disabled},React.createElement(ma,{className:a("text-center font-munchi",t===o.key?"text-primary-foreground":"text-muted-foreground")},o.label))));lr.displayName="MToggle";import{ActivityIndicator as ua,Pressable as cr,Text as je,View as dr}from"react-native";var mr=({message:e,onConfirm:t,onCancel:r,confirmText:o="Confirm",cancelText:n="Cancel",isLoading:s=!1})=>{let{onPrimary:l}=L();return React.createElement(dr,{className:"p-4"},React.createElement(je,{className:"font-munchi text-center mb-10 mt-4 text-foreground"},e),React.createElement(dr,{className:"flex-row justify-between"},React.createElement(cr,{className:a("flex-1 mr-2 border border-border rounded-md py-3 bg-card",s&&"opacity-50"),onPress:r,disabled:s},React.createElement(je,{className:"font-munchi text-center text-card-foreground"},n)),React.createElement(cr,{className:a("flex-1 ml-2 bg-primary rounded-md py-3",s&&"opacity-50"),onPress:t,disabled:s},s?React.createElement(ua,{color:l}):React.createElement(je,{className:"font-munchi text-center text-primary-foreground"},o))))};mr.displayName="MConfirmation";import{Delete as pr}from"lucide-react-native";import{Pressable as fa,View as Me}from"react-native";var Ge=({label:e,onPress:t,testID:r,icon:o,disabled:n,iconTint:s,labelClassName:l})=>React.createElement(fa,{testID:r,onPress:t,className:"w-20 h-20 md:w-24 md:h-24 rounded-full items-center justify-center active:bg-accent",disabled:n},e?React.createElement(k,{className:a("text-3xl md:text-4xl font-light",l)},e):o??React.createElement(pr,{size:26,color:s})),ur=({onDigit:e,onBackspace:t,isLoading:r})=>{let{foreground:o}=L();return React.createElement(Me,{className:"w-full items-center gap-0"},[["1","2","3"],["4","5","6"],["7","8","9"]].map((s,l)=>React.createElement(Me,{key:l,className:"flex-row justify-center gap-24"},s.map(i=>React.createElement(Ge,{key:i,label:i,onPress:()=>e(i),disabled:r,iconTint:o,labelClassName:"text-foreground"})))),React.createElement(Me,{className:"flex-row justify-center gap-24"},React.createElement(Me,{className:"w-20 h-20 md:w-24 md:h-24"}),React.createElement(Ge,{label:"0",onPress:()=>e("0"),disabled:r,iconTint:o,labelClassName:"text-foreground"}),React.createElement(Ge,{onPress:t,testID:"backspace",disabled:r,iconTint:o,labelClassName:"text-foreground",icon:React.createElement(pr,{size:26,color:o})})))};ur.displayName="MPinPadKeys";import{cva as xa}from"class-variance-authority";import{Delete as ba}from"lucide-react-native";import{useCallback as fr,useMemo as ga,useRef as xr,useState as ya}from"react";import{Platform as ha,Pressable as Pa,Text as wa,View as Te,useWindowDimensions as Ma}from"react-native";var hr=(i=>(i.Discount="discount",i.Table="table",i.Price="price",i.Cash="cash",i.Quantity="quantity",i.Phone="phone",i.GiftCard="giftcard",i))(hr||{}),Pr=()=>new Intl.NumberFormat(void 0,{minimumFractionDigits:1,maximumFractionDigits:1}).format(1.1).match(/[^0-9]/)?.[0]||".";function We(e,t){if(!e)return"";if(t==="."){let[o="",...n]=e.split(".");return n.length===0?o:`${o}.${n.join("")}`}if(e.includes("."))return e;let r=e.split(t);return r.length<=1?e.replace(/\./g,""):`${(r[0]??"").replace(/\./g,"")}.${r.slice(1).join("")}`}function Ne(e,t){let r=e.replace(/\D/g,"");if(r===""||r==="0")return`0${t}00`;let o=r.padStart(3,"0"),n=o.slice(0,-2).replace(/^0+/,"")||"0",s=o.slice(-2);return`${n}${t}${s}`}function br(e,t){if(!e)return"";let r=t==="."?e:e.replace(t,"."),o=Number.parseFloat(r);return Number.isNaN(o)||o<=0?"":Math.round(o*100).toString()}var Na=90,Ta=118,va=78,Ca=106,Ra=72,Va=90,Sa=62,ka=80,Ia=24,Da=36,Aa=22,_a=32,Ea=6,La=5,fe=3,gr=4,ve="00",yr=/^(\d+)\.00$/;function Fa(e){switch(e){case"X":return"munchi.numpad.key.backspace";case ve:return"munchi.numpad.key.double-zero";case"-":return"munchi.numpad.key.minus";case"+":return"munchi.numpad.key.plus";default:return`munchi.numpad.key.digit-${e}`}}var Ba=xa("items-center justify-center rounded-2xl",{variants:{pressed:{true:"",false:"bg-muted"},scheme:{dark:"",light:""}},compoundVariants:[{pressed:!0,scheme:"dark",className:"bg-white/15 border-white/20"},{pressed:!0,scheme:"light",className:"bg-foreground/10 border-foreground/15"}],defaultVariants:{pressed:!1,scheme:"light"}}),wr=({customAmount:e,setCustomAmount:t,mode:r,maxDigits:o=6,availableHeight:n})=>{let s=Pr(),l=r==="price"||r==="cash"||r==="discount",i=l,d=r==="phone",c=xr(e);c.current=e;let x=xr(0),{foreground:b}=L(),{colorScheme:p}=O(),{width:u}=Ma(),g=u>=768,y=ha.OS==="android",P=y?g?Ca:va:g?Ta:Na,v=y?g?ka:Sa:g?Va:Ra,f=y?La:Ea,C=y?g?_a:Aa:g?Da:Ia,T=p==="dark"?"dark":"light",N=fr(m=>{if(l){let I=m===ve;if(!I&&!/^\d$/.test(m))return;let E=br(c.current??"",s);if(I){let ae=`${E}00`.replace(/^0+/,"")||"";if(ae===""){x.current=0;return}if(ae.length>o+2)return;x.current=2;let ye=Ne(ae,s);c.current=ye,t(ye);return}if(x.current>0){let ae=E.padStart(3,"0"),ye=ae.slice(0,-2),Er=(ae.slice(-2)[1]??"0")+m,mt=(ye+Er).replace(/^0+/,"")||"";if(mt.length>o+2)return;x.current-=1;let pt=Ne(mt,s);c.current=pt,t(pt);return}let oe=(E+m).replace(/^0+/,"")||"";if(oe.length>o+2)return;if(oe===""){c.current=null,t(null);return}let ie=Ne(oe,s);c.current=ie,t(ie);return}let h=c.current??"",w=We(h,s),[S="",M=""]=w.split("."),H=w.includes("."),re=m===s;if(m===ve&&i){if(!H){let E=S===""?"0.00":`${S}.00`;c.current=E,t(E);return}let I=yr.exec(w);if(I){let E=I[1]??"";c.current=E,t(E);return}return}if(re){if(H)return;t(h+s);return}let ct=i?yr.exec(w):null;if(ct&&/^\d$/.test(m)){let I=ct[1]??"";if(m==="0"){let oe=`${I}0`;if(oe.length>o)return;let ie=`${oe}.00`;c.current=ie,t(ie);return}let E=`${I}.${m}0`;c.current=E,t(E);return}if(i&&H){if(M.length===2&&M[0]!=="0"&&M[1]!=="0"&&/^\d$/.test(m)){let I=`${S}${m}`;if(I.length>o)return;let E=`${I}.${M}`;c.current=E,t(E);return}if(M.length===2&&M[1]==="0"){let I=`${S}.${M[0]}${m}`;c.current=I,t(I);return}if(M.length===1&&/^\d$/.test(M)){let I=`${S}.${M}${m}`;c.current=I,t(I);return}if(M.length>=2)return}if(i){if(!H&&S.length>=o)return}else if(S.length>=o)return;let _r=h+m,dt=We(_r,s);c.current=dt,t(dt)},[s,l,i,o,t]),R=fr(()=>{let m=c.current;if(l){if(x.current=0,m==null||m===""){c.current=null,t(null);return}let H=br(m,s).slice(0,-1).replace(/^0+/,"")||"";if(H===""){c.current=null,t(null);return}let re=Ne(H,s);c.current=re,t(re);return}if(m==null||m===""){c.current=null,t(null);return}let h=We(m,s);if(!h.includes(".")){let M=h.slice(0,-1);if(M===""){c.current=null,t(null);return}c.current=M,t(M);return}let[w="",S=""]=h.split(".");if(S.length>0){let M=S.slice(0,-1);if(M===""){c.current=w===""?null:w,t(w===""?null:w);return}let H=`${w}.${M}`;c.current=H,t(H);return}c.current=w===""?null:w,t(w===""?null:w)},[s,l,t]),A=ga(()=>["1","2","3","4","5","6","7","8","9",r==="giftcard"?"-":i?ve:d?"+":"","0","X"],[r,i,d]),[V,W]=ya(0),z=V>0?Math.floor((V-f*(fe-1))/fe):P,j=n!=null&&n>0?Math.floor((n-f*(gr-1))/gr):Math.round(z*(v/P)),_=Math.round(C*(z/P));return React.createElement(Te,{style:{width:"100%",gap:f},onLayout:m=>W(m.nativeEvent.layout.width)},[0,1,2,3].map(m=>React.createElement(Te,{key:m,style:{flexDirection:"row",gap:f}},A.slice(m*fe,m*fe+fe).map((h,w)=>{let S=`${m}-${w}`;return h===""?React.createElement(Te,{key:S,style:{width:z,height:j}}):React.createElement(Oa,{key:S,testID:Fa(h),item:h,width:z,height:j,fontSize:_,foreground:b,scheme:T,onPress:h==="X"?R:()=>N(h)})}))))},Oa=({testID:e,item:t,width:r,height:o,fontSize:n,foreground:s,scheme:l,onPress:i})=>React.createElement(Pa,{testID:e,onPress:i,style:{width:r,height:o}},({pressed:d})=>React.createElement(Te,{style:{width:r,height:o},className:a(Ba({pressed:d,scheme:l}))},t==="X"?React.createElement(ba,{size:n,color:s}):React.createElement(wa,{style:{fontSize:n,lineHeight:n*1.4},className:"text-foreground font-munchi"},t)));wr.displayName="MNumpad";import{useEffect as Ha,useRef as Mr,useState as za}from"react";import{Pressable as $a,View as Nr}from"react-native";import ja,{useAnimatedStyle as Ga,useSharedValue as Tr,withSpring as ee}from"react-native-reanimated";var te={damping:20,stiffness:200,mass:.8},vr=({tabs:e,activeTab:t,onTabChange:r,className:o,style:n,disabled:s=!1,size:l="default",variant:i="default",stretch:d=!1,...c})=>{let{colorScheme:x}=O(),b=$[x==="dark"?"dark":"light"],p=l==="compact",u=i==="ghost",g=u?0:p?2:4,y=u?20:p?8:12,P=p?8:12,v=u?7:p?2:4,f=u?22:p?8:12,C=p?2:4,T=Mr({}),N=Tr(0),R=Tr(0),A=Mr(!1),[,V]=za(0);Ha(()=>{if(t==null){A.current=!1,R.value=ee(0,te);return}let _=String(t),m=T.current[_];if(m){N.value=ee(m.x,te),R.value=ee(m.width,te),A.current=!0,V(h=>h+1);return}A.current=!1},[t,R,N]);let W=Ga(()=>({transform:[{translateX:N.value}],width:R.value})),z=(_,m)=>{T.current[_]=m;let h=String(t);if(_===h){if(!A.current){N.value=m.x,R.value=m.width,A.current=!0,V(w=>w+1);return}N.value=ee(m.x,te),R.value=ee(m.width,te)}},j=_=>{let m=String(_),h=T.current[m];h&&(N.value=ee(h.x,te),R.value=ee(h.width,te)),r(_)};return React.createElement(Nr,{className:a("flex-row",!u&&"bg-accent",p?"gap-0.5 rounded-xl p-0.5":"gap-1 rounded-2xl p-1",d?"self-stretch":"self-start",o),style:n,...c},React.createElement(ja.View,{pointerEvents:"none",style:[{position:"absolute",top:g,bottom:g,borderRadius:y,backgroundColor:b.card,shadowColor:b.text,shadowOpacity:u?0:x==="dark"?.08:.14,shadowRadius:p?4:6,shadowOffset:{width:0,height:p?1:2},elevation:p?2:3},W]}),e.map(({key:_,label:m,icon:h,disabled:w=!1})=>{let S=s||w;return React.createElement($a,{key:String(_),onPress:()=>j(_),disabled:S,onLayout:M=>z(String(_),M.nativeEvent.layout),style:{...d?{flex:1,minWidth:0}:{flexShrink:1,minWidth:0},alignItems:"center",justifyContent:"center",paddingHorizontal:P,paddingVertical:v,borderRadius:f,opacity:S?.5:1}},React.createElement(Nr,{style:{flexDirection:"row",alignItems:"center",gap:C,flexShrink:1,overflow:"hidden"}},h,m&&React.createElement(k,{size:u?"lg":"xl",numberOfLines:1,style:{flexShrink:1}},m)))}))};vr.displayName="MTabs";import Ce from"dayjs";import{useEffect as Wa,useMemo as Cr,useState as Ka}from"react";import{Text as Za,View as qa}from"react-native";var Ua=(e,t)=>{let r=e.diff(t,"minute");if(r<1)return"0m";let o=Math.floor(r/1440),n=r%1440,s=Math.floor(n/60),l=n%60,i="";return o>0&&(i+=`${o}d `),(s>0||o>0)&&(i+=`${s}h `),i+=`${l}m`,i.trim()},Rr=({date:e,className:t="",textClassName:r=""})=>{let o=Cr(()=>Ce(e),[e]),[n,s]=Ka(()=>Ce());Wa(()=>{let d=(()=>{let c=Ce(),b=c.add(1,"minute").startOf("minute").diff(c);return setTimeout(()=>{s(Ce())},b>0?b:6e4)})();return()=>clearTimeout(d)},[n]);let l=Cr(()=>Ua(n,o),[n,o]);return React.createElement(qa,{className:a("rounded-md flex items-center justify-center bg-muted border border-border/60","dark:border-white/20 dark:bg-white/12",t)},React.createElement(Za,{className:a("font-munchi-semibold text-foreground dark:text-neutral-200",r)},l))};Rr.displayName="MTimerUp";import*as F from"react";import{Text as Vr,View as Re}from"react-native";var Ke=F.forwardRef(({className:e,...t},r)=>F.createElement(Re,{ref:r,className:a("rounded-lg border border-border bg-card shadow-sm shadow-foreground/10",e),...t}));Ke.displayName="Card";var Ze=F.forwardRef(({className:e,...t},r)=>F.createElement(Re,{ref:r,className:a("flex flex-col space-y-1.5 p-6",e),...t}));Ze.displayName="CardHeader";var qe=F.forwardRef(({className:e,...t},r)=>F.createElement(Vr,{role:"heading","aria-level":3,ref:r,className:a("text-2xl text-card-foreground font-semibold leading-none tracking-tight",e),...t}));qe.displayName="CardTitle";var Ue=F.forwardRef(({className:e,...t},r)=>F.createElement(Vr,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));Ue.displayName="CardDescription";var Xe=F.forwardRef(({className:e,...t},r)=>F.createElement(de.Provider,{value:"text-card-foreground"},F.createElement(Re,{ref:r,className:a("p-6 pt-0",e),...t})));Xe.displayName="CardContent";var Ye=F.forwardRef(({className:e,...t},r)=>F.createElement(Re,{ref:r,className:a("flex flex-row items-center p-6 pt-0",e),...t}));Ye.displayName="CardFooter";import*as Ve from"react";import Xa,{useAnimatedStyle as Ya,useSharedValue as Qa,withRepeat as Ja,withSequence as es,withTiming as Sr}from"react-native-reanimated";var kr=1e3;function Ir({className:e,...t}){let r=Qa(1);Ve.useEffect(()=>{r.value=Ja(es(Sr(.5,{duration:kr}),Sr(1,{duration:kr})),-1)},[]);let o=Ya(()=>({opacity:r.value}));return Ve.createElement(Xa.View,{style:o,className:a("rounded-md bg-secondary dark:bg-muted",e),...t})}import{Switch as ts}from"react-native";var Dr=e=>React.createElement(ts,{...e});Dr.displayName="MSwitch";import*as B from"@rn-primitives/table";import*as D from"react";var Qe=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Root,{ref:r,className:a("w-full caption-bottom text-sm",e),...t}));Qe.displayName="Table";var Je=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Header,{ref:r,className:a("border-border [&_tr]:border-b",e),...t}));Je.displayName="TableHeader";var et=D.forwardRef(({className:e,style:t,...r},o)=>D.createElement(B.Body,{ref:o,className:a("flex-1 border-border [&_tr:last-child]:border-0",e),style:[{minHeight:2},t],...r}));et.displayName="TableBody";var tt=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Footer,{ref:r,className:a("bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));tt.displayName="TableFooter";var rt=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Row,{ref:r,className:a("flex-row border-border border-b web:transition-colors web:hover:bg-muted/50 web:data-[state=selected]:bg-muted",e),...t}));rt.displayName="TableRow";var ot=D.forwardRef(({className:e,...t},r)=>D.createElement(de.Provider,{value:"text-muted-foreground"},D.createElement(B.Head,{ref:r,className:a("h-12 px-4 text-left justify-center font-medium [&:has([role=checkbox])]:pr-0",e),...t})));ot.displayName="TableHead";var at=D.forwardRef(({className:e,...t},r)=>D.createElement(B.Cell,{ref:r,className:a("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));at.displayName="TableCell";import{Portal as rs,PortalHost as os}from"@rn-primitives/portal";import{cva as st}from"class-variance-authority";import{AlertCircle as as}from"lucide-react-native";import{useRef as ss,useState as ns}from"react";import{Pressable as is,TextInput as ls,View as Se}from"react-native";var cs=st("w-full",{variants:{size:{default:"gap-1.5",sm:"gap-1",lg:"gap-2"}},defaultVariants:{size:"default"}}),ds=st("flex-row items-center bg-card border border-border",{variants:{size:{default:"px-4 py-3",sm:"px-3 py-2",lg:"px-5 py-4"},radius:{xl:"rounded-xl","2xl":"rounded-2xl"},hasError:{true:"border border-destructive",false:""},focused:{true:"border border-primary",false:""}},compoundVariants:[{hasError:!0,focused:!0,class:"border border-destructive"}],defaultVariants:{size:"default",radius:"xl",hasError:!1,focused:!1}}),ms=st("flex-1 min-w-0 font-munchi text-foreground p-0",{variants:{size:{default:"text-lg",sm:"text-base",lg:"text-xl"}},defaultVariants:{size:"default"}}),ps={default:18,sm:16,lg:20},Ar=({label:e,errorMessage:t,rightIcon:r,size:o="default",radius:n="xl",className:s,inputClassName:l,onFocus:i,onBlur:d,placeholderTextColor:c,...x})=>{let{foreground:b,muted:p,destructive:u}=L(),[g,y]=ns(!1),P=ss(null),v=!!t;return React.createElement(Se,{className:a(cs({size:o}),s)},e&&React.createElement(k,{size:o==="lg"?"lg":o==="sm"?"sm":"base",className:"font-munchi-semibold text-foreground"},e),React.createElement(is,{onPress:()=>P.current?.focus()},React.createElement(Se,{className:ds({size:o,radius:n,hasError:v,focused:g})},React.createElement(ls,{ref:P,placeholderTextColor:c??p,onFocus:f=>{y(!0),i?.(f)},onBlur:f=>{y(!1),d?.(f)},style:{color:b,fontSize:ps[o??"default"],paddingVertical:0,includeFontPadding:!1},className:a(ms({size:o}),l),...x}),r&&React.createElement(Se,{className:"ml-2 shrink-0"},r))),v&&React.createElement(Se,{className:"flex-row items-center gap-1.5"},React.createElement(as,{size:14,color:u}),React.createElement(k,{size:"sm",className:"text-destructive flex-1"},t)))};Ar.displayName="MInput";import*as be from"@rn-primitives/label";import*as xe from"react";var nt=xe.forwardRef(({className:e,onPress:t,onLongPress:r,onPressIn:o,onPressOut:n,...s},l)=>xe.createElement(be.Root,{className:"web:cursor-default",onPress:t,onLongPress:r,onPressIn:o,onPressOut:n},xe.createElement(be.Text,{ref:l,className:a("text-sm text-foreground native:text-base font-medium leading-none web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70",e),...s})));nt.displayName=be.Root.displayName;import*as Q from"@rn-primitives/radio-group";import*as Y from"react";import{View as us}from"react-native";var it=Y.forwardRef(({className:e,...t},r)=>Y.createElement(Q.Root,{className:a("web:grid gap-2",e),...t,ref:r}));it.displayName=Q.Root.displayName;var lt=Y.forwardRef(({className:e,...t},r)=>Y.createElement(Q.Item,{ref:r,className:a("aspect-square h-4 w-4 native:h-5 native:w-5 rounded-full justify-center items-center border border-border web:ring-offset-background web:focus:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",t.disabled&&"web:cursor-not-allowed opacity-50",e),...t},Y.createElement(Q.Indicator,{className:"flex items-center justify-center"},Y.createElement(us,{className:"aspect-square h-[9px] w-[9px] native:h-[10] native:w-[10] bg-primary rounded-full"}))));lt.displayName=Q.Item.displayName;export{bt as MAlert,yt as MAnimation,Pt as MAvatar,Mt as MBadge,vt as MButton,Ke as MCard,Xe as MCardContent,Ue as MCardDescription,Ye as MCardFooter,Ze as MCardHeader,qe as MCardTitle,Ct as MChevron,mr as MConfirmation,er as MCountDown,Vt as MDateTimePicker,St as MDivider,Qt as MDrawerRightPanel,tr as MDropdown,Ar as MInput,nt as MLabel,kt as MLucideIcon,we as MModal,Jt as MNativeAlert,wr as MNumpad,_t as MPicker,ur as MPinPadKeys,rs as MPortal,os as MPortalHost,Ft as MProgressBar,it as MRadioGroup,lt as MRadioGroupItem,No as MRequiredLabel,Bt as MResponsiveContainer,ar as MSearch,ir as MSelector,Ir as MSkeleton,Dr as MSwitch,Qe as MTable,et as MTableBody,at as MTableCell,tt as MTableFooter,ot as MTableHead,Je as MTableHeader,rt as MTableRow,vr as MTabs,k as MText,Rr as MTimerUp,lr as MToggle,Do as ModalContent,zt as ModalHeight,ze as ModalScrollContext,$ as NAV_THEME,hr as NumpadMode,Tt as buttonVariants,a as cn,ce as darkVars,Pr as getDecimalSeparator,le as lightVars,Or as typography,O as useColorScheme,L as useIconColors};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@munchi_oy/native-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "Munchi design system for React Native",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"publishConfig": {
|
|
@@ -29,11 +29,6 @@
|
|
|
29
29
|
"tailwind.config.ts",
|
|
30
30
|
"nativewind-env.d.ts"
|
|
31
31
|
],
|
|
32
|
-
"scripts": {
|
|
33
|
-
"build": "tsup",
|
|
34
|
-
"prepublishOnly": "pnpm build",
|
|
35
|
-
"typecheck": "tsc --noEmit"
|
|
36
|
-
},
|
|
37
32
|
"devDependencies": {
|
|
38
33
|
"@types/react": "~19.2.14",
|
|
39
34
|
"@types/react-native": "~0.70.19",
|
|
@@ -88,5 +83,9 @@
|
|
|
88
83
|
"dayjs": "*",
|
|
89
84
|
"react-countdown": "*",
|
|
90
85
|
"react-native-element-dropdown": "*"
|
|
86
|
+
},
|
|
87
|
+
"scripts": {
|
|
88
|
+
"build": "tsup",
|
|
89
|
+
"typecheck": "tsc --noEmit"
|
|
91
90
|
}
|
|
92
|
-
}
|
|
91
|
+
}
|
package/src/MNumpad.tsx
CHANGED
|
@@ -71,6 +71,7 @@ export interface MNumpadProps {
|
|
|
71
71
|
setCustomAmount: (amount: string | null) => void;
|
|
72
72
|
mode: NumpadMode;
|
|
73
73
|
maxDigits?: number;
|
|
74
|
+
availableHeight?: number;
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
const CELL_SIZE_PHONE = 90;
|
|
@@ -88,6 +89,7 @@ const FONT_SIZE_TABLET_ANDROID = 32;
|
|
|
88
89
|
const GAP = 6;
|
|
89
90
|
const GAP_ANDROID = 5;
|
|
90
91
|
const COLS = 3;
|
|
92
|
+
const ROWS = 4;
|
|
91
93
|
const DOUBLE_ZERO = "00";
|
|
92
94
|
|
|
93
95
|
const PLACEHOLDER_CENTS = /^(\d+)\.00$/;
|
|
@@ -131,7 +133,8 @@ export const MNumpad: React.FC<MNumpadProps> = ({
|
|
|
131
133
|
customAmount,
|
|
132
134
|
setCustomAmount,
|
|
133
135
|
mode,
|
|
134
|
-
maxDigits = 6
|
|
136
|
+
maxDigits = 6,
|
|
137
|
+
availableHeight
|
|
135
138
|
}) => {
|
|
136
139
|
const decimalSeparator = getDecimalSeparator();
|
|
137
140
|
const isCashRegisterMode =
|
|
@@ -417,9 +420,10 @@ export const MNumpad: React.FC<MNumpadProps> = ({
|
|
|
417
420
|
? Math.floor((containerWidth - gap * (COLS - 1)) / COLS)
|
|
418
421
|
: cellSize;
|
|
419
422
|
|
|
420
|
-
const derivedCellHeight =
|
|
421
|
-
|
|
422
|
-
|
|
423
|
+
const derivedCellHeight =
|
|
424
|
+
availableHeight != null && availableHeight > 0
|
|
425
|
+
? Math.floor((availableHeight - gap * (ROWS - 1)) / ROWS)
|
|
426
|
+
: Math.round(effectiveCellSize * (cellHeight / cellSize));
|
|
423
427
|
const derivedFontSize = Math.round(fontSize * (effectiveCellSize / cellSize));
|
|
424
428
|
|
|
425
429
|
return (
|