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