@munchi_oy/native-ui 0.1.8 → 0.1.10

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