@munchi_oy/native-ui 0.1.4 → 0.1.6

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